|
| static const Vec3T< T > & | center (const Item &a_item) noexcept |
| | The point a primitive's Morton key is taken at.
|
| |
| static void | grow (Vec3T< T > &a_lo, Vec3T< T > &a_hi, const Item &a_item) noexcept |
| | Grow a box to hold a primitive.
|
| |
| static void | requireValid (const char *a_who, const std::vector< Item > &a_items) noexcept |
| | Abort with a message unless the primitives of a host array can be built over.
|
| |
| template<class Source > |
| static void | requireValidWhereBuilt (const Source &, uint32_t, bool, Vec3T< T > *, const char *) noexcept |
| | Check, where the build runs, what the box of the centers does not: nothing for a point.
|
| |
|
|
static constexpr const char * | ClassName = "PointCloudBVH" |
| | The class built over these primitives, for the messages.
|
| |
|
static constexpr const char * | Singular = "point" |
| | One primitive, for the messages.
|
| |
|
static constexpr const char * | Plural = "points" |
| | Primitives, for the messages.
|
| |
|
static constexpr const char * | MaxParameter = "a_maxPoints" |
| | build()'s parameter giving the room for a rebuild, for the messages.
|
| |
template<class T, size_t W>
struct EBGeometry::PointCloudDetail::PointPrimitive< T, W >
The primitive of PointCloudBVH: a point, packed into PointAoSoA groups.
Internal; not part of the public API. A cloud BVH's primitive type gives what its source returns (Item), the leaf group it is packed into (Group), the source reading an array of them (FromArray), the class built over it (ClassName), the point its Morton key is taken at (center()), how it grows a box (grow()), the check of what the center's finiteness does not cover (requireValid() on the host, and requireValidWhereBuilt() where the build runs), and the words for the messages.
- Template Parameters
-
| T | Floating-point precision. |
| W | Points per group. |