Internal helpers shared by BVHUnion and BVHSmoothUnion.
More...
|
| struct | StoredAs |
| | How a BVH union stores a primitive of type P: as is, or, for a pool-resident handle, as the handle's layout. More...
|
| |
| struct | StoredAs< P, true > |
| | How a BVH union stores a pool-resident handle: as its layout. More...
|
| |
| struct | UnionParts |
| | What a BVH union is built into: a BVH over the primitives whose bounding box is bounded, and a single leaf (or nothing) holding those whose box is unbounded in some direction. More...
|
| |
|
| template<class P > |
| using | Stored = typename StoredAs< P >::type |
| | Shorthand for the type a BVH union stores for a primitive of type P.
|
| |
|
| template<class P > |
| Stored< P > | toStored (const P &a_primitive) noexcept |
| | Convert a primitive to the form a BVH union stores.
|
| |
| template<class P > |
| P | fromStored (const Stored< P > &a_stored, const PoolLocation &a_location) noexcept |
| | The primitive a stored entry stands for, resolving against a_location.
|
| |
Internal helpers shared by BVHUnion and BVHSmoothUnion.
◆ Stored
Shorthand for the type a BVH union stores for a primitive of type P.
- Template Parameters
-
◆ fromStored()
template<class P >
| P EBGeometry::CSGDetail::fromStored |
( |
const Stored< P > & |
a_stored, |
|
|
const PoolLocation & |
a_location |
|
) |
| |
|
inlinenoexcept |
The primitive a stored entry stands for, resolving against a_location.
A pool-resident primitive is rebuilt from its layout and the union's own location, so it resolves against the same pool the union does: the host pool, a host mirror or a device mirror. Any other primitive is returned as stored.
- Template Parameters
-
- Parameters
-
| [in] | a_stored | Primitive as stored in the union's BVH. |
| [in] | a_location | The union's pool location. |
- Returns
- The primitive.
◆ toStored()
template<class P >
| Stored< P > EBGeometry::CSGDetail::toStored |
( |
const P & |
a_primitive | ) |
|
|
inlinenoexcept |
Convert a primitive to the form a BVH union stores.
- Template Parameters
-
- Parameters
-
| [in] | a_primitive | Primitive. |
- Returns
- The primitive, or its layout if it is a pool-resident handle.