48 #include <pcl/pcl_exports.h>
55 template<
typename NodeData,
typename NodeDataCreator,
typename Scalar =
float>
67 setCenter (
const Scalar *c);
70 setBounds (
const Scalar *b);
79 getBounds (Scalar b[6])
const { memcpy (b, bounds_, 6*
sizeof (Scalar));}
88 setData (
const NodeData& src){ *data_ = src;}
93 inline const NodeData&
103 hasData (){
return static_cast<bool> (data_);}
108 inline const std::set<Node*>&
121 setData (NodeData* data){
delete data_; data_ = data;}
129 makeNeighbors (
Node* node);
140 Scalar center_[3], bounds_[6];
157 build (
const Scalar* bounds, Scalar voxel_size, NodeDataCreator* node_data_creator);
165 createLeaf (Scalar x, Scalar y, Scalar z);
170 getFullLeaf (
int i,
int j,
int k);
174 getFullLeaf (Scalar x, Scalar y, Scalar z);
176 inline std::vector<Node*>&
179 inline const std::vector<Node*>&
189 getBounds (Scalar b[6])
const { memcpy (b, bounds_, 6*
sizeof (Scalar));}
196 insertNeighbors (Node* node);
208 #include <pcl/recognition/impl/ransac_based/simple_octree.hpp>