SWMMVis  6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
meshkit::cdt_detail Namespace Reference

Functions

std::uint64_t mortonKey (std::uint32_t x, std::uint32_t y)
 Interleave two unsigned 32-bit coordinates into a Morton ordering key.
 
std::uint64_t edgeKey64 (int a, int b)
 Pack a normalized integer vertex pair into a 64-bit undirected edge identity.
 
int keyLo (std::uint64_t k)
 Recover the smaller endpoint word from an edgeKey64 key.
 
int keyHi (std::uint64_t k)
 Recover the larger endpoint word from an edgeKey64 key.
 
template<class Point >
double orientPts (const Point &a, const Point &b, const Point &c)
 Evaluate adaptive orientation on three borrowed Cartesian points after predicate initialization.
 
template<class Point >
double dist2 (const Point &a, const Point &b)
 Compute ordinary squared Cartesian distance without overflow/finite checking.
 
template<class Point >
bool refinementCoincident (const Point &a, const Point &b)
 

Variables

std::once_flag gPredicatesInit
 
constexpr double kEquilateralArea = 0.4330127018922193
 

Function Documentation

◆ dist2()

template<class Point >
double meshkit::cdt_detail::dist2 ( const Point &  a,
const Point &  b 
)
inline

Compute ordinary squared Cartesian distance without overflow/finite checking.

Parameters
[in]aBorrowed point, unchanged.
[in]bBorrowed point in same XY frame, unchanged.
Returns
Nonnegative squared horizontal units for ordinary finite inputs, no square root, allocation or mutation.
Here is the caller graph for this function:

◆ edgeKey64()

std::uint64_t meshkit::cdt_detail::edgeKey64 ( int  a,
int  b 
)
inline

Pack a normalized integer vertex pair into a 64-bit undirected edge identity.

Parameters
[in]aEndpoint ID, intended nonnegative valid index, not dereferenced or checked.
[in]bEndpoint ID, sorted numerically with a before unsigned packing.
Returns
Smaller signed ID's 32-bit representation in high word, larger in low. No allocation/mutation.

Undirected edge key: (min << 32) | max.

Here is the caller graph for this function:

◆ keyHi()

int meshkit::cdt_detail::keyHi ( std::uint64_t  k)
inline

Recover the larger endpoint word from an edgeKey64 key.

Parameters
[in]kPacked key, expected valid nonnegative int endpoints.
Returns
Low 32-bit word cast to int, no validation, allocation or state mutation.
Here is the caller graph for this function:

◆ keyLo()

int meshkit::cdt_detail::keyLo ( std::uint64_t  k)
inline

Recover the smaller endpoint word from an edgeKey64 key.

Parameters
[in]kPacked key, expected valid nonnegative int endpoints.
Returns
High 32-bit word cast to int (name refers to endpoint ordering, not bit position). No validation, allocation or state mutation.
Here is the caller graph for this function:

◆ mortonKey()

std::uint64_t meshkit::cdt_detail::mortonKey ( std::uint32_t  x,
std::uint32_t  y 
)
inline

Interleave two unsigned 32-bit coordinates into a Morton ordering key.

Parameters
[in]xQuantized x coordinate, even output bit positions.
[in]yQuantized y coordinate, odd output bit positions.
Returns
Lossless 64-bit bit interleave, not a distance metric. No allocation, mutation or input retention.
Here is the caller graph for this function:

◆ orientPts()

template<class Point >
double meshkit::cdt_detail::orientPts ( const Point &  a,
const Point &  b,
const Point &  c 
)

Evaluate adaptive orientation on three borrowed Cartesian points after predicate initialization.

Parameters
[in]aBorrowed finite origin, unchanged.
[in]bBorrowed finite second point, unchanged.
[in]cBorrowed finite query, unchanged, common predicate-safe coordinate frame.
Returns
Signed determinant-like orientation, positive CCW/negative CW/exact zero collinear. Caller must initialize exactinit through build/orientExact first; no initialization guard here. No allocation/mutation.
Here is the caller graph for this function:

◆ refinementCoincident()

template<class Point >
bool meshkit::cdt_detail::refinementCoincident ( const Point &  a,
const Point &  b 
)
Here is the caller graph for this function:

Variable Documentation

◆ gPredicatesInit

std::once_flag meshkit::cdt_detail::gPredicatesInit
inline

◆ kEquilateralArea

constexpr double meshkit::cdt_detail::kEquilateralArea = 0.4330127018922193
constexpr