|
|
| OctreeBinaryCell (char Level=ROOT_LEVEL) |
| Default constructor. More...
|
|
virtual | ~OctreeBinaryCell () |
| Destructor. More...
|
|
void | DeleteChildren () |
|
void | DeleteData () |
|
|
std::size_t | GetChildIndex (key_type x_key, key_type y_key, key_type z_key) const |
|
int | SubdivideCell () |
|
void | GetMinPointNormalized (double *min_point) const |
|
void | GetMaxPointNormalized (double *max_point) const |
|
int | GetLeftKey (key_type *keys) const |
|
int | GetRightKey (key_type *keys) const |
|
int | GetBackKey (key_type *keys) const |
|
int | GetFrontKey (key_type *keys) const |
|
int | GetBottomKey (key_type *keys) const |
|
int | GetTopKey (key_type *keys) const |
|
int | GetKey (std::size_t position, key_type *keys) const |
|
int | GetNeighbourKey (std::size_t direction, key_type *keys) const |
|
int | GetNeighbourKey (std::size_t position, std::size_t direction, key_type *keys) const |
|
std::size_t | GetLocalPosition (key_type *keys) |
|
void | Insert (pointer_type object) |
|
void | TransferObjectsToSonsNormalized () |
|
|
unsigned char | GetLevel () const |
|
char | SetLevel (char level) |
|
void | GetMinKey (key_type &min_key_x, key_type &min_key_y, key_type &min_key_z) const |
|
void | SetMinKey (key_type min_key_x, key_type min_key_y, key_type min_key_z) |
|
OctreeBinaryCell & | rGetChild (std::size_t pos) const |
|
OctreeBinaryCell * | pGetChild (std::size_t pos) const |
|
OctreeBinaryCell * | pGetChild (key_type x_key, key_type y_key, key_type z_key) const |
|
OctreeBinaryCell * | GetChildren () |
|
OctreeBinaryCell const * | GetChildren () const |
|
data_type * | pGetData () const |
|
data_type ** | pGetDataPointer () |
|
const std::vector< pointer_type > * | pGetObjects () const |
|
std::vector< pointer_type > * | pGetObjects () |
|
void | EmptyObjects () |
|
|
bool | IsLeaf () const |
|
bool | HasChildren () const |
|
|
virtual std::string | Info () const |
| Turn back information as a string. More...
|
|
virtual void | PrintInfo (std::ostream &rOStream) const |
| Print information about this object. More...
|
|
virtual void | PrintData (std::ostream &rOStream) const |
| Print object's data. More...
|
|
template<class TConfiguration>
class Kratos::OctreeBinaryCell< TConfiguration >
This class represents a cell in an octree to be used with Octree class.
This class represents a cell in an octree and holds its level, min_key ,the children of the cell and pointer to a data class defined by configuration class. The level_ start from ROOT_LEVEL and each children has 1 level less than its parents but more than MIN_LEVEL. The keys are the binary bisection pattern in each dimension for the min point of the cell. The children are stored in in an array of 8 in following order
Top
________________
/ 6 / 7 /|
/_______/_______/ |
/ 4 / 5 /| |
/_______/_______/ | / Front
| | | |/
| | | /
|_______|_______|/
________________
Left / 2 / 3 /| Right /_______/_______/ | / 0 / 1 /| | /_______/_______/ | / | | | |/ | | | / |_______|_______|/ z Back | y Bottom |/__x