#include <MRMesh/MRInSphere.h>
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 | |
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