|
EBGeometry
Compact, header-only C++ library for fast evaluation of signed distance functions
|
The tape's arrays as offsets into its pool, with no location (see PoolHandle). More...
#include <EBGeometry_Tape.hpp>

Public Attributes | |
| TapeDetail::StoreOf< Primitives >::type | m_primitives |
| One array per primitive type. | |
| PODVector< TapeDetail::Clause > | m_clauses |
| The clauses of every sub-program, one after another. | |
| PODVector< TapeDetail::Program > | m_programs |
| Each sub-program's clause range; sub-program 0 is the whole object. After the m_numPrograms sub-programs come the clause ranges a ray marches (see TapeDetail::RayOp::Marched), then from m_rayPrograms on each sub-program's ray program, whose clauses (TapeDetail::RayClause, stored as clauses) follow the sub-programs' in m_clauses, and after those each sub-program's parent, the sub-program it was compiled for, in m_begin (UINT32_MAX for sub-program 0; m_end unused). The ray programs begin in program order, which rayLeafHit() relies on to find a clause's by bisection. | |
| PODVector< T > | m_params |
| Constant parameters the clauses refer to. | |
| PODVector< TapeDetail::UnionBVH< T, BranchingRatio > > | m_unions |
| The BVH unions. | |
| BV | m_boundingVolume |
| A box enclosing the object. | |
| DistanceQuality | m_quality = DistanceQuality::NotADistance |
| How far the value can be trusted as a distance. | |
| uint32_t | m_callDepth = 0 |
| How deep sub-program calls nest from sub-program 0. | |
| uint32_t | m_numPrograms = 0 |
| How many sub-programs there are (the first entries of m_programs). | |
| uint32_t | m_rayPrograms = 0 |
| Where in m_programs the ray programs begin: sub-program i's is entry m_rayPrograms + i (an empty range for one a ray never follows). | |
The tape's arrays as offsets into its pool, with no location (see PoolHandle).