/usr/include/oce/Voxel_ROctBoolDS.hxx is in liboce-visualization-dev 0.17.2-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | // This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to
// this header file considered to be the "object code" form of the original source.
#ifndef _Voxel_ROctBoolDS_HeaderFile
#define _Voxel_ROctBoolDS_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Macro.hxx>
#include <Voxel_DS.hxx>
#include <Standard_Real.hxx>
#include <Standard_Integer.hxx>
#include <Standard_Boolean.hxx>
//! 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 recursively.
class Voxel_ROctBoolDS : public Voxel_DS
{
public:
DEFINE_STANDARD_ALLOC
//! An empty constructor.
Standard_EXPORT Voxel_ROctBoolDS();
//! 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.
Standard_EXPORT Voxel_ROctBoolDS(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.
Standard_EXPORT 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) ;
//! A destructor of the voxel model.
Standard_EXPORT void Destroy() ;
~Voxel_ROctBoolDS()
{
Destroy();
}
//! The method sets all values equal to 0 (false) and
//! releases the memory.
Standard_EXPORT void SetZero() ;
//! The method searches voxels with equal-value of sub-voxels
//! and removes them (remaining the value for the voxel).
Standard_EXPORT void OptimizeMemory() ;
//! 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).
Standard_EXPORT void Set (const Standard_Integer ix, const Standard_Integer iy, const Standard_Integer iz, 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_EXPORT void Set (const Standard_Integer ix, const Standard_Integer iy, const Standard_Integer iz, const Standard_Integer ioct1, const Standard_Boolean data) ;
//! Defines a value for a sub-voxel of 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_EXPORT void Set (const Standard_Integer ix, const Standard_Integer iy, const Standard_Integer iz, const Standard_Integer ioct1, const Standard_Integer ioct2, const Standard_Boolean data) ;
//! Returns true if the voxel is split into 8 sub-voxels.
Standard_EXPORT Standard_Boolean IsSplit (const Standard_Integer ix, const Standard_Integer iy, const Standard_Integer iz) const;
//! Returns the deepness of splits of a voxel.
//! 0 - no splits (::IsSplit() being called would return false).
//! 1 - the voxel is split into 8 sub-voxels.
//! 2 - the voxels is split into 8 sub-voxels,
//! and each of the sub-voxels is split into 8 sub-sub-voxels.
//! 3 - ...
Standard_EXPORT Standard_Integer Deepness (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_EXPORT Standard_Boolean Get (const Standard_Integer ix, const Standard_Integer iy, const Standard_Integer iz) 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_EXPORT Standard_Boolean Get (const Standard_Integer ix, const Standard_Integer iy, const Standard_Integer iz, const Standard_Integer ioct1) const;
//! Returns the value of a sub-voxel 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_EXPORT Standard_Boolean Get (const Standard_Integer ix, const Standard_Integer iy, const Standard_Integer iz, const Standard_Integer ioct1, const Standard_Integer ioct2) const;
//! Returns the center point of a sub-voxel with co-ordinates (ix, iy, iz, i).
Standard_EXPORT void GetCenter (const Standard_Integer ix, const Standard_Integer iy, const Standard_Integer iz, const Standard_Integer i, Standard_Real& xc, Standard_Real& yc, Standard_Real& zc) const;
//! Returns the center point of a sub-voxel with co-ordinates (ix, iy, iz, i, j).
Standard_EXPORT void GetCenter (const Standard_Integer ix, const Standard_Integer iy, const Standard_Integer iz, const Standard_Integer i, const Standard_Integer j, Standard_Real& xc, Standard_Real& yc, Standard_Real& zc) const;
protected:
private:
};
#endif // _Voxel_ROctBoolDS_HeaderFile
|