38 #ifndef HPP_FCL_DATA_TYPES_H
39 #define HPP_FCL_DATA_TYPES_H
42 #include <Eigen/Geometry>
49 #ifdef HPP_FCL_HAS_OCTOMAP
50 #define OCTOMAP_VERSION_AT_LEAST(x,y,z) \
51 (OCTOMAP_MAJOR_VERSION > x || (OCTOMAP_MAJOR_VERSION >= x && \
52 (OCTOMAP_MINOR_VERSION > y || (OCTOMAP_MINOR_VERSION >= y && \
53 OCTOMAP_PATCH_VERSION >= z))))
55 #define OCTOMAP_VERSION_AT_MOST(x,y,z) \
56 (OCTOMAP_MAJOR_VERSION < x || (OCTOMAP_MAJOR_VERSION <= x && \
57 (OCTOMAP_MINOR_VERSION < y || (OCTOMAP_MINOR_VERSION <= y && \
58 OCTOMAP_PATCH_VERSION <= z))))
67 typedef Eigen::Matrix<FCL_REAL, 3, 1>
Vec3f;
68 typedef Eigen::Matrix<FCL_REAL, Eigen::Dynamic, 1>
VecXf;
69 typedef Eigen::Matrix<FCL_REAL, 3, 3>
Matrix3f;
70 typedef Eigen::Matrix<FCL_REAL, Eigen::Dynamic, 3>
Matrixx3f;
71 typedef Eigen::Matrix<Eigen::DenseIndex, Eigen::Dynamic, 3>
Matrixx3i;
72 typedef Eigen::Matrix<FCL_REAL, Eigen::Dynamic, Eigen::Dynamic>
MatrixXf;
94 vids[0] = p1; vids[1] = p2; vids[2] = p3;
106 return vids[0] == other.vids[0]
107 && vids[1] == other.vids[1]
108 && vids[2] == other.vids[2];
113 return !(*
this == other);
137 vids[0] = p0; vids[1] = p1; vids[2] = p2; vids[3] = p3;
149 return vids[0] == other.vids[0]
150 && vids[1] == other.vids[1]
151 && vids[2] == other.vids[2]
152 && vids[3] == other.vids[3];
157 return !(*
this == other);
Triangle with 3 indices for points.
Definition: data_types.h:77
void set(index_type p1, index_type p2, index_type p3)
Set the vertex indices of the triangle.
Definition: data_types.h:92
int size_type
Definition: data_types.h:80
Triangle(index_type p1, index_type p2, index_type p3)
Create a triangle with given vertex indices.
Definition: data_types.h:86
static size_type size()
Definition: data_types.h:102
index_type operator[](int i) const
Access the triangle index.
Definition: data_types.h:98
bool operator==(const Triangle &other) const
Definition: data_types.h:104
std::size_t index_type
Definition: data_types.h:79
Triangle()
Default constructor.
Definition: data_types.h:83
index_type & operator[](int i)
Definition: data_types.h:100
bool operator!=(const Triangle &other) const
Definition: data_types.h:111
#define HPP_FCL_DLLAPI
Definition: config.hh:64
Eigen::Matrix< Eigen::DenseIndex, Eigen::Dynamic, 3 > Matrixx3i
Definition: data_types.h:71
Eigen::Matrix< FCL_REAL, 3, 3 > Matrix3f
Definition: data_types.h:69
Eigen::Matrix< FCL_REAL, 3, 1 > Vec3f
Definition: data_types.h:67
Eigen::Matrix< FCL_REAL, Eigen::Dynamic, 3 > Matrixx3f
Definition: data_types.h:70
Eigen::Matrix< FCL_REAL, Eigen::Dynamic, Eigen::Dynamic > MatrixXf
Definition: data_types.h:72
Eigen::Matrix< FCL_REAL, Eigen::Dynamic, 1 > VecXf
Definition: data_types.h:68
double FCL_REAL
Definition: data_types.h:66
Eigen::Vector2i support_func_guess_t
Definition: data_types.h:73
Main namespace.
Definition: AABB.h:44
Quadrilateral with 4 indices for points.
Definition: data_types.h:123
bool operator!=(const Quadrilateral &other) const
Definition: data_types.h:155
Quadrilateral(index_type p0, index_type p1, index_type p2, index_type p3)
Definition: data_types.h:129
Quadrilateral()
Definition: data_types.h:127
void set(index_type p0, index_type p1, index_type p2, index_type p3)
Set the vertex indices of the quadrilateral.
Definition: data_types.h:135
int size_type
Definition: data_types.h:125
bool operator==(const Quadrilateral &other) const
Definition: data_types.h:147
index_type & operator[](unsigned int i)
Definition: data_types.h:143
index_type operator[](unsigned int i) const
@access the quadrilatere index
Definition: data_types.h:141
std::size_t index_type
Definition: data_types.h:124
static size_type size()
Definition: data_types.h:145