QUAOAR STUDIO // Mobius API
31 #ifndef poly_SVO_HeaderFile
32 #define poly_SVO_HeaderFile
35 #include <mobius/poly_ScalarMembership.h>
38 #include <mobius/core_XYZ.h>
63 mobiusPoly_EXPORT
void
68 mobiusPoly_EXPORT
void
69 Dump(std::ostream& oss)
const;
73 mobiusPoly_EXPORT
void
82 mobiusPoly_EXPORT
static bool
123 mobiusPoly_EXPORT
static size_t
165 mobiusPoly_EXPORT
static void
182 const t_xyz& cornerMax);
192 mobiusPoly_EXPORT
void
199 mobiusPoly_EXPORT
bool
205 mobiusPoly_EXPORT
void
212 mobiusPoly_EXPORT
double
217 mobiusPoly_EXPORT
bool
224 mobiusPoly_EXPORT
void
225 GetLeaves(std::vector<const poly_SVO*>& leaves,
226 const int sm = ScalarMembership_OnInOut)
const;
230 mobiusPoly_EXPORT
bool
235 mobiusPoly_EXPORT
bool
240 mobiusPoly_EXPORT
bool
245 mobiusPoly_EXPORT
bool
254 mobiusPoly_EXPORT
void
270 FindChild(
const std::vector<size_t>& path)
const;
276 mobiusPoly_EXPORT
unsigned
289 mobiusPoly_EXPORT
double
291 const bool bndOnly =
false)
const;
297 mobiusPoly_EXPORT
unsigned long long
311 mobiusPoly_EXPORT
void
313 Summary& summary)
const;
404 mobiusPoly_EXPORT
void
407 std::vector<const poly_SVO*>& leaves,
408 std::vector<long long>& depths,
409 const long long depth)
const;
416 mobiusPoly_EXPORT
void
419 std::vector<const poly_SVO*>& leaves)
const;
mobiusPoly_EXPORT poly_SVO * GetChild(const size_t id) const
Defines an exception class C1 that inherits an exception class C2.
Definition: bspl_Decompose.h:41
Definition: core_XYZ.h:45
const t_xyz & GetCornerMax() const
Definition: poly_SVO.h:330
mobiusPoly_EXPORT double Eval(const t_xyz &P, const bool bndOnly=false) const
t_xyz GetP3() const
Definition: poly_SVO.h:360
mobiusPoly_EXPORT bool IsPositive() const
mobiusPoly_EXPORT double GetScalar(const size_t id) const
mobiusPoly_EXPORT bool IsZeroCrossing() const
const t_xyz & GetCornerMin() const
Definition: poly_SVO.h:318
const t_xyz & GetP7() const
Definition: poly_SVO.h:384
double Y() const
Definition: core_XYZ.h:129
static mobiusPoly_EXPORT size_t GetCornerID(const size_t nx, const size_t ny, const size_t nz)
void SetCornerMax(const t_xyz &P)
Sets new coordinates for the max corner point.
Definition: poly_SVO.h:336
mobiusPoly_EXPORT void SetScalar(const size_t id, const double s)
mobiusPoly_EXPORT bool Split()
static mobiusPoly_EXPORT void GetCornerLocation(const size_t id, size_t &nx, size_t &ny, size_t &nz)
int membership
Membership qualifier.
Definition: poly_SVO.h:56
std::map< double, int > grains
Voxelization grains <size, count>.
Definition: poly_SVO.h:57
poly_SVO ** m_pChildren
Child octree nodes (8 bytes).
Definition: poly_SVO.h:423
mobiusPoly_EXPORT unsigned long long GetMemoryInBytes(int &numNodes) const
const t_xyz & GetP0() const
Definition: poly_SVO.h:342
double Z() const
Definition: core_XYZ.h:143
core_XYZ t_xyz
Definition: core_XYZ.h:356
t_xyz m_cornerMax
Max corner of the SVO box.
Definition: poly_SVO.h:436
void SetCornerMin(const t_xyz &P)
Sets new coordinates for the min corner point.
Definition: poly_SVO.h:324
mobiusPoly_EXPORT void Dump(std::ostream &oss) const
mobiusPoly_EXPORT void DumpJSON(std::ostream &oss) const
Definition: poly_SVO.h:49
mobiusPoly_EXPORT bool IsNegative() const
t_xyz m_cornerMin
Min corner of the SVO box.
Definition: poly_SVO.h:435
mobiusPoly_EXPORT bool HasScalars()
double m_scalars[8]
Stored scalar values (64 bytes).
Definition: poly_SVO.h:424
mobiusPoly_EXPORT void AddCell(const double size)
double GetCellSize() const
Definition: poly_SVO.h:390
t_xyz GetP5() const
Definition: poly_SVO.h:372
mobiusPoly_EXPORT ~poly_SVO()
Dtor. It is not virtual to save 8 bytes of memory.
mobiusPoly_EXPORT void getLeaves(const poly_SVO *pNode, const int sm, std::vector< const poly_SVO * > &leaves, std::vector< long long > &depths, const long long depth) const
t_xyz GetP4() const
Definition: poly_SVO.h:366
t_xyz GetP2() const
Definition: poly_SVO.h:354
mobiusPoly_EXPORT void SetChild(const size_t id, poly_SVO *pChild)
mobiusPoly_EXPORT poly_SVO * FindChild(const std::vector< size_t > &path) const
mobiusPoly_EXPORT unsigned GetDepth0() const
static mobiusPoly_EXPORT bool IsValidCornerId(const size_t id)
mobiusPoly_EXPORT void CollectSummary(const int sm, Summary &summary) const
t_xyz GetP6() const
Definition: poly_SVO.h:378
t_xyz GetP1() const
Definition: poly_SVO.h:348
mobiusPoly_EXPORT poly_SVO()
Default ctor.
mobiusPoly_EXPORT bool IsLeaf() const
mobiusPoly_EXPORT void GetLeaves(std::vector< const poly_SVO * > &leaves, const int sm=ScalarMembership_OnInOut) const
Voxelization summary.
Definition: poly_SVO.h:54
mobiusPoly_EXPORT void Release()
double X() const
Definition: core_XYZ.h:115