48 #include <pcl/pcl_exports.h>
57 template<
typename NodeData,
typename NodeDataCreator,
typename Scalar =
float>
69 setCenter (
const Scalar *c);
72 setBounds (
const Scalar *b);
81 getBounds (Scalar b[6])
const { memcpy (b, bounds_, 6*
sizeof (Scalar));}
90 setData (
const NodeData& src){ *data_ = src;}
95 inline const NodeData&
105 hasData (){
return static_cast<bool> (data_);}
110 inline const std::set<Node*>&
123 setData (NodeData* data){
delete data_; data_ = data;}
131 makeNeighbors (
Node* node);
142 Scalar center_[3], bounds_[6];
159 build (
const Scalar* bounds, Scalar voxel_size, NodeDataCreator* node_data_creator);
167 createLeaf (Scalar x, Scalar y, Scalar z);
172 getFullLeaf (
int i,
int j,
int k);
176 getFullLeaf (Scalar x, Scalar y, Scalar z);
178 inline std::vector<Node*>&
181 inline const std::vector<Node*>&
191 getBounds (Scalar b[6])
const { memcpy (b, bounds_, 6*
sizeof (Scalar));}
198 insertNeighbors (Node* node);
210 #include <pcl/recognition/impl/ransac_based/simple_octree.hpp>