MeshLib C++ Docs
Loading...
Searching...
No Matches
MR::FastInSphereTesterSoS Class Reference

#include <MRMesh/MRInSphere.h>

Inheritance diagram for MR::FastInSphereTesterSoS:

Public Member Functions

bool reset (const PreciseVertCoords &a, const PreciseVertCoords &b, const PreciseVertCoords &c, std::int64_t rSq)
void flip ()
InSphereResult operator() (const PreciseVertCoords &d) const
bool outsideBothSpheres (const Vector3i &d) const
Public Member Functions inherited from MR::InSphereTesterSoS
bool reset (const PreciseVertCoords &a, const PreciseVertCoords &b, const PreciseVertCoords &c, std::int64_t rSq)
void flip ()
InSphereResult operator() (const PreciseVertCoords &d) const
bool degenerateTriangle () const
MR_BIND_IGNORE const Vector3i64 & normal () const
 doubled normal cross( b - a, c - a ) of the triangle, directed at the sphere's center
MR_BIND_IGNORE const FastInt< 192 > & normalSq () const
 squared length of normal()
MR_BIND_IGNORE const FastInt< 384 > & heightSq () const
Public Member Functions inherited from MR::InSphereTester< T >
bool reset (const Vector3< T > &va, const Vector3< T > &vb, const Vector3< T > &vc, T sqRadius)
void flip ()
InSphereResult operator() (const Vector3< T > &d) const

Additional Inherited Members

Protected Attributes inherited from MR::InSphereTesterSoS
Vector3i64 pairV_
 the fields are ordered by descending alignment to minimize the padding
Vector3i pairPt_
 the position of the coincident pair
VertId va_
VertId vb_
VertId vc_
 the ids of the sphere points given in reset()
int pairSigma_ = 0
 the side of the limit sphere's center: +1 along ( -Vy, Vx, 0 ), -1 the opposite
bool degenerateTriangle_ = false
 reset() got W == 0 with two coincident points and an existing perturbed sphere

Detailed Description

gives exactly the same answers as InSphereTesterSoS, only faster: the sphere's center is also computed in floating point during reset(), and every query point far enough from the sphere's surface is answered by it alone, leaving the exact predicates for the points close to it


The documentation for this class was generated from the following file: