EBGeometry
Compact, header-only C++ library for fast evaluation of signed distance functions
Loading...
Searching...
No Matches
Public Attributes | List of all members
EBGeometry::Tape< T, UserPrimitives >::Layout Struct Reference

The tape's arrays as offsets into its pool, with no location (see PoolHandle). More...

#include <EBGeometry_Tape.hpp>

Collaboration diagram for EBGeometry::Tape< T, UserPrimitives >::Layout:
Collaboration graph
[legend]

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).
 

Detailed Description

template<class T, class... UserPrimitives>
struct EBGeometry::Tape< T, UserPrimitives >::Layout

The tape's arrays as offsets into its pool, with no location (see PoolHandle).


The documentation for this struct was generated from the following file: