|
EBGeometry
Compact, header-only C++ library for fast evaluation of signed distance functions
|
A fused composition: an operation applied to its operands, itself a shape (isShape). More...
#include <EBGeometry_Fused.hpp>


Classes | |
| struct | Layout |
| Everything the node holds: the operation's parameters and its operands (their layouts for pool-resident ones). It holds only offsets into a pool, so it is right in every mirror of the pool. More... | |
Public Types | |
| using | T = ShapePrecision< typename Detail::TypeAt< 0, Cs... >::type > |
| Floating-point precision. | |
Public Member Functions | |
| Node ()=delete | |
| Disallowed: build a node with a Fused:: function. | |
| template<bool H = isHandle, std::enable_if_t<!H, int > = 0> | |
| Node (const Layout &a_layout) noexcept | |
| A node from its layout, for a node with no pool-resident operand. | |
| template<bool H = isHandle, std::enable_if_t< H, int > = 0> | |
| Node (const Layout &a_layout, const PoolLocation &a_location) noexcept | |
| A node from its layout and the location its pool-resident operands resolve against. | |
| const Layout & | layout () const noexcept |
| The node's layout. | |
| T | signedDistance (const Vec3T< T > &a_point) const noexcept |
| The composition's value at a point. | |
| BoundingVolumes::AABBT< T > | computeBoundingVolume () const |
| The composition's bounding box, by the rules of the expression builder. | |
| Node | rebasedView (const Pool &a_pool) const noexcept |
| The same node resolving against a mirror of its pool (see Pool::mirror()); a node with no pool-resident operand is returned as is. | |
| Node | deepCopy (Pool &a_dstPool) const |
| A copy of the node whose pool-resident operands are copied into another pool; a node with no pool-resident operand is returned as is. | |
Public Member Functions inherited from EBGeometry::Fused::Detail::Base< Detail::anyPoolHandle< Cs... > > | |
| PoolLocation | location () const noexcept |
| An unset location: a value node resolves nothing against a pool. | |
Static Public Attributes | |
| static constexpr bool | isHandle = Detail::anyPoolHandle<Cs...> |
| Whether the node lives in a pool: whether one of its operands does. | |
| static constexpr DistanceQuality | distanceQuality = Op::template quality<Cs...>() |
| How far signedDistance() can be trusted as a distance (see DistanceQuality). | |
A fused composition: an operation applied to its operands, itself a shape (isShape).
The type every Fused:: function returns. Op holds the operation's parameters and its arithmetic; the operands are stored as they are, or as their layouts if they live in a pool, in which case the node is a pool handle itself (see EBGeometry_Fused.hpp).
| Op | Operation (Fused::UnionOp, Fused::AffineOp, ...). |
| Cs | Operand types, all shapes of one precision. |
|
inlineexplicitnoexcept |
A node from its layout, for a node with no pool-resident operand.
| [in] | a_layout | Layout. |
|
inlinenoexcept |
A node from its layout and the location its pool-resident operands resolve against.
| [in] | a_layout | Layout. |
| [in] | a_location | Location. |
|
inline |
The composition's bounding box, by the rules of the expression builder.
|
inline |
A copy of the node whose pool-resident operands are copied into another pool; a node with no pool-resident operand is returned as is.
| [in,out] | a_dstPool | Pool to copy into. |
|
inlinenoexcept |
The node's layout.
|
inlinenoexcept |
The same node resolving against a mirror of its pool (see Pool::mirror()); a node with no pool-resident operand is returned as is.
| [in] | a_pool | Mirror of the pool the node's operands live in. |
|
inlinenoexcept |
The composition's value at a point.
| [in] | a_point | Point. |