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.
More...
|
| Voxel_OctBoolDS () |
| An empty constructor. More...
|
|
| 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. More...
|
|
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. More...
|
|
void | Destroy () |
| A destructor of the voxel model. More...
|
|
| ~Voxel_OctBoolDS () |
|
void | SetZero () |
| The method sets all values equal to 0 (false) and releases the memory. More...
|
|
void | OptimizeMemory () |
| The method searches voxels with equal-value of sub-voxels and removes them (remaining the value for the voxel). More...
|
|
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). More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
| Voxel_DS () |
| An empty constructor. More...
|
|
| Voxel_DS (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. More...
|
|
Standard_Real | GetX () const |
|
Standard_Real | GetY () const |
|
Standard_Real | GetZ () const |
|
Standard_Real | GetXLen () const |
|
Standard_Real | GetYLen () const |
|
Standard_Real | GetZLen () const |
|
Standard_Integer | GetNbX () const |
|
Standard_Integer | GetNbY () const |
|
Standard_Integer | GetNbZ () const |
|
void | GetCenter (const Standard_Integer ix, const Standard_Integer iy, const Standard_Integer iz, Standard_Real &xc, Standard_Real &yc, Standard_Real &zc) const |
| Returns the center point of a voxel with co-ordinates (ix, iy, iz). More...
|
|
void | GetOrigin (const Standard_Integer ix, const Standard_Integer iy, const Standard_Integer iz, Standard_Real &x0, Standard_Real &y0, Standard_Real &z0) const |
| Returns the origin point of a voxel with co-ordinates (ix, iy, iz). More...
|
|
Standard_Boolean | GetVoxel (const Standard_Real x, const Standard_Real y, const Standard_Real z, Standard_Integer &ix, Standard_Integer &iy, Standard_Integer &iz) const |
| Finds a voxel corresponding to a 3D point. Returns true if it is found. More...
|
|
Standard_Boolean | GetVoxelX (const Standard_Real x, Standard_Integer &ix) const |
| Returns x-index of a voxel corresponding to x-coordinate. More...
|
|
Standard_Boolean | GetVoxelY (const Standard_Real y, Standard_Integer &iy) const |
| Returns y-index of a voxel corresponding to y-coordinate. More...
|
|
Standard_Boolean | GetVoxelZ (const Standard_Real z, Standard_Integer &iz) const |
| Returns z-index of a voxel corresponding to z-coordinate. More...
|
|
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.