|
Open CASCADE Technology 6.5.2
|
A 3D voxel model keeping a boolean flag (1 or 0)
value for each voxel, and having an opportunity to split each voxel
into 8 sub-voxels.
#include <Voxel_OctBoolDS.hxx>

Public Member Functions | |
| void * | operator new (size_t, void *anAddress) |
| void * | operator new (size_t size) |
| void | operator delete (void *anAddress) |
| Voxel_OctBoolDS () | |
| An empty constructor. | |
| Voxel_OctBoolDS (const Standard_Real x, const Standard_Real y, const Standard_Real z, const Standard_Real x_len, const Standard_Real y_len, const Standard_Real z_len, const Standard_Integer nb_x, const Standard_Integer nb_y, const Standard_Integer nb_z) | |
| A constructor initializing the voxel model. (x, y, z) - the start point of the box. (x_len, y_len, z_len) - lengths in x, y and z directions along axes of a co-ordinate system. (nb_x, nb_y, nb_z) - number of splits (voxels) along x, y and z directions. | |
| virtual void | Init (const Standard_Real x, const Standard_Real y, const Standard_Real z, const Standard_Real x_len, const Standard_Real y_len, const Standard_Real z_len, const Standard_Integer nb_x, const Standard_Integer nb_y, const Standard_Integer nb_z) |
| Initialization of the voxel model. (x, y, z) - the start point of the box. (x_len, y_len, z_len) - lengths in x, y and z directions along axes of a co-ordinate system. (nb_x, nb_y, nb_z) - number of splits (voxels) along x, y and z directions. | |
| void | Destroy () |
| A destructor of the voxel model. | |
| ~Voxel_OctBoolDS () | |
| void | SetZero () |
| The method sets all values equal to 0 (false) and releases the memory. | |
| void | OptimizeMemory () |
| The method searches voxels with equal-value of sub-voxels and removes them (remaining the value for the voxel). | |
| void | Set (const Standard_Integer ix, const Standard_Integer iy, const Standard_Integer iz, const Standard_Boolean data) |
| Defines a value for voxel with co-ordinates (ix, iy, iz). If the voxel is split into 8 sub-voxels, the split disappears. Initial state of the model is so that all voxels have value 0 (false), and this data doesn't occupy memory. Memory for data is allocating during setting non-zero values (true). | |
| void | Set (const Standard_Integer ix, const Standard_Integer iy, const Standard_Integer iz, const Standard_Integer ioct, const Standard_Boolean data) |
| Defines a value for a sub-voxel of a voxel with co-ordinates (ix, iy, iz). If the voxel is not split into 8 sub-voxels yet, this method splits the voxel. Range of sub-voxels is 0 - 7. | |
| Standard_Boolean | Get (const Standard_Integer ix, const Standard_Integer iy, const Standard_Integer iz) const |
| Returns the value of voxel with co-ordinates (ix, iy, iz). Warning!: the returned value may not coincide with the value of its 8 sub-voxels. Use the method ::IsSplit() to check whether a voxel has sub-voxels. | |
| Standard_Boolean | Get (const Standard_Integer ix, const Standard_Integer iy, const Standard_Integer iz, const Standard_Integer ioct) const |
| Returns the value of a sub-voxel of a voxel with co-ordinates (ix, iy, iz). If the voxel is not split, it returns the value of the voxel. Range of sub-voxels is 0 - 7. | |
| Standard_Boolean | IsSplit (const Standard_Integer ix, const Standard_Integer iy, const Standard_Integer iz) const |
| Returns true if the voxel is split into 8 sub-voxels. | |
| Voxel_OctBoolDS::Voxel_OctBoolDS | ( | ) |
| Voxel_OctBoolDS::Voxel_OctBoolDS | ( | const Standard_Real | x, |
| const Standard_Real | y, | ||
| const Standard_Real | z, | ||
| const Standard_Real | x_len, | ||
| const Standard_Real | y_len, | ||
| const Standard_Real | z_len, | ||
| const Standard_Integer | nb_x, | ||
| const Standard_Integer | nb_y, | ||
| const Standard_Integer | nb_z | ||
| ) |
| Voxel_OctBoolDS::~Voxel_OctBoolDS | ( | ) | [inline] |
| void Voxel_OctBoolDS::Destroy | ( | ) |
| Standard_Boolean Voxel_OctBoolDS::Get | ( | const Standard_Integer | ix, |
| const Standard_Integer | iy, | ||
| const Standard_Integer | iz | ||
| ) | const |
| Standard_Boolean Voxel_OctBoolDS::Get | ( | const Standard_Integer | ix, |
| const Standard_Integer | iy, | ||
| const Standard_Integer | iz, | ||
| const Standard_Integer | ioct | ||
| ) | const |
| virtual void Voxel_OctBoolDS::Init | ( | const Standard_Real | x, |
| const Standard_Real | y, | ||
| const Standard_Real | z, | ||
| const Standard_Real | x_len, | ||
| const Standard_Real | y_len, | ||
| const Standard_Real | z_len, | ||
| const Standard_Integer | nb_x, | ||
| const Standard_Integer | nb_y, | ||
| const Standard_Integer | nb_z | ||
| ) | [virtual] |
Reimplemented from Voxel_DS.
| Standard_Boolean Voxel_OctBoolDS::IsSplit | ( | const Standard_Integer | ix, |
| const Standard_Integer | iy, | ||
| const Standard_Integer | iz | ||
| ) | const |
| void Voxel_OctBoolDS::operator delete | ( | void * | anAddress | ) | [inline] |
Reimplemented from Voxel_DS.
| void* Voxel_OctBoolDS::operator new | ( | size_t | size | ) | [inline] |
Reimplemented from Voxel_DS.
| void* Voxel_OctBoolDS::operator new | ( | size_t | , |
| void * | anAddress | ||
| ) | [inline] |
Reimplemented from Voxel_DS.
| void Voxel_OctBoolDS::OptimizeMemory | ( | ) |
| void Voxel_OctBoolDS::Set | ( | const Standard_Integer | ix, |
| const Standard_Integer | iy, | ||
| const Standard_Integer | iz, | ||
| const Standard_Boolean | data | ||
| ) |
| void Voxel_OctBoolDS::Set | ( | const Standard_Integer | ix, |
| const Standard_Integer | iy, | ||
| const Standard_Integer | iz, | ||
| const Standard_Integer | ioct, | ||
| const Standard_Boolean | data | ||
| ) |
| void Voxel_OctBoolDS::SetZero | ( | ) |
1.7.4