EBGeometry
Compact, header-only C++ library for fast evaluation of signed distance functions
Loading...
Searching...
No Matches
Functions
EBGeometry::PointCloudDetail Namespace Reference

Internal helpers shared by the point-cloud search structures; not part of the public API. More...

Functions

template<class T >
void requireValidCloud (const char *a_who, const std::vector< Vec3T< T > > &a_positions) noexcept
 Abort with a message unless a point cloud can be indexed.
 

Detailed Description

Internal helpers shared by the point-cloud search structures; not part of the public API.

Function Documentation

◆ requireValidCloud()

template<class T >
void EBGeometry::PointCloudDetail::requireValidCloud ( const char *  a_who,
const std::vector< Vec3T< T > > &  a_positions 
)
inlinenoexcept

Abort with a message unless a point cloud can be indexed.

Checks, once per construction, that the number of points fits the uint32 cloud indices the structures store and report (with PointCloud::InvalidIndex left over as the "no point" sentinel), and that every coordinate is finite. Always on rather than an EBGEOMETRY_EXPECT: each would otherwise be a silently truncated cloud or a poisoned build in a Release build.

Template Parameters
TFloating-point precision.
Parameters
[in]a_whoClass being built, for the message.
[in]a_positionsPoint positions.