5 #ifndef CNOID_COLDET_MODEL_H_INCLUDED
6 #define CNOID_COLDET_MODEL_H_INCLUDED
10 #include <cnoid/EigenTypes>
11 #include <cnoid/Referenced>
20 class ColdetModelSharedDataSet;
48 inline void setName(
const std::string& name) { name_ = name; }
54 inline const std::string&
name()
const {
return name_; }
60 void setNumVertices(
int n);
66 int getNumVertices()
const;
72 void setNumTriangles(
int n);
74 int getNumTriangles()
const;
83 void setVertex(
int index,
float x,
float y,
float z);
88 void addVertex(
float x,
float y,
float z);
97 void getVertex(
int index,
float& out_x,
float& out_y,
float& out_z)
const;
106 void setTriangle(
int index,
int v1,
int v2,
int v3);
111 void addTriangle(
int v1,
int v2,
int v3);
113 void getTriangle(
int index,
int& out_v1,
int& out_v2,
int& out_v3)
const;
126 inline bool isValid()
const {
return isValid_; }
140 void setPosition(
const double* R,
const double* p);
146 void setPrimitiveType(PrimitiveType ptype);
152 PrimitiveType getPrimitiveType()
const;
158 void setNumPrimitiveParams(
unsigned int nparam);
166 bool setPrimitiveParam(
unsigned int index,
float value);
174 bool getPrimitiveParam(
unsigned int index,
float &value)
const;
181 void setPrimitivePosition(
const double* R,
const double* p);
189 double computeDistanceWithRay(
const double *point,
const double *dir);
197 bool checkCollisionWithPointCloud(
const std::vector<Vector3> &i_cloud,
200 void getBoundingBoxData(
const int depth, std::vector<Vector3>& out_boxes);
202 int getAABBTreeDepth();
204 int numofBBtoDepth(
int minNumofBB);
213 IceMaths::Matrix4x4* transform;
214 IceMaths::Matrix4x4* pTransform;
PrimitiveType
Definition: ColdetModel.h:25
boost::intrusive_ptr< ColdetModel > ColdetModelPtr
Definition: ColdetModel.h:221
Definition: Referenced.h:21
Definition: ColdetModel.h:25
Definition: ColdetModel.h:22
Definition: ColdetModelPair.h:17
bool isValid() const
check if build() is already called or not
Definition: ColdetModel.h:126
Definition: EasyScanner.h:16
Definition: ColdetModelSharedDataSet.h:17
void setName(const std::string &name)
set name of this model
Definition: ColdetModel.h:48
Eigen::Vector3d Vector3
Definition: EigenTypes.h:26
Definition: ColdetModel.h:14
#define CNOID_EXPORT
Definition: Util/exportdecl.h:13
const std::string & name() const
get name of this model
Definition: ColdetModel.h:54
Eigen::Matrix3d Matrix3
Definition: EigenTypes.h:25