Biorbd
MeshFace.h
1 #ifndef BIORBD_RIGIDBODY_MESH_FACE_H
2 #define BIORBD_RIGIDBODY_MESH_FACE_H
3 
4 #include <memory>
5 #include <vector>
6 #include "biorbdConfig.h"
7 
8 namespace biorbd {
9 namespace utils {
10 class Vector3d;
11 }
12 
13 namespace rigidbody {
14 
18 class BIORBD_API MeshFace
19 {
20 public:
25  MeshFace(
26  const std::vector<int>& vertex= std::vector<int>(3));
27 
32  biorbd::rigidbody::MeshFace DeepCopy() const;
33 
38  void DeepCopy(
39  const biorbd::rigidbody::MeshFace& other);
40 
45  int &operator() (unsigned int idx);
46 
51  void setFace(const std::vector<int>& pts);
52 
57  void setFace(
58  const biorbd::rigidbody::MeshFace& other);
59 
64  biorbd::utils::Vector3d faceAsDouble();
65 
70  std::vector<int> face();
71 
72 protected:
73  std::shared_ptr<std::vector<int>> m_face;
74 
75 };
76 
77 }}
78 
79 #endif // BIORBD_RIGIDBODY_MESH_FACE_H
biorbd::rigidbody::MeshFace::m_face
std::shared_ptr< std::vector< int > > m_face
The face.
Definition: MeshFace.h:73
biorbd::utils::Vector3d
Wrapper around Eigen Vector3d and attach it to a parent.
Definition: Vector3d.h:24
biorbd::rigidbody::MeshFace
The face of the mesh.
Definition: MeshFace.h:19