MeshLib Python Docs
Loading...
Searching...
No Matches
mrmeshpy.FastInSphereTesterSoS Class Reference
Inheritance diagram for mrmeshpy.FastInSphereTesterSoS:

Public Member Functions

InSphereResult __call__ (self, PreciseVertCoords d)
None __init__ (self)
None __init__ (self, FastInSphereTesterSoS arg0)
None flip (self)
bool outsideBothSpheres (self, Vector3i d)
bool reset (self, PreciseVertCoords a, PreciseVertCoords b, PreciseVertCoords c, int rSq)
Public Member Functions inherited from mrmeshpy.InSphereTesterSoS
InSphereResult __call__ (self, PreciseVertCoords d)
None __init__ (self)
None __init__ (self, InSphereTesterSoS arg0)
bool degenerateTriangle (self)
Public Member Functions inherited from mrmeshpy.InSphereTester_int
InSphereResult __call__ (self, Vector3i d)
None __init__ (self)
None __init__ (self, InSphereTester_int arg0)

Static Public Member Functions

None __init__ (*args, **kwargs)
FastInSphereTesterSoS operator (*args, **kwargs)
FastInSphereTesterSoS operator (*args, **kwargs)
Static Public Member Functions inherited from mrmeshpy.InSphereTesterSoS
None __init__ (*args, **kwargs)
Static Public Member Functions inherited from mrmeshpy.InSphereTester_int
None __init__ (*args, **kwargs)

Detailed Description

Generated from:  MR::FastInSphereTesterSoS

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

Constructor & Destructor Documentation

◆ __init__() [1/3]

None mrmeshpy.FastInSphereTesterSoS.__init__ ( * args,
** kwargs )
static

◆ __init__() [2/3]

None mrmeshpy.FastInSphereTesterSoS.__init__ ( self)

◆ __init__() [3/3]

None mrmeshpy.FastInSphereTesterSoS.__init__ ( self,
FastInSphereTesterSoS arg0 )
Implicit copy constructor.

Member Function Documentation

◆ __call__()

InSphereResult mrmeshpy.FastInSphereTesterSoS.__call__ ( self,
PreciseVertCoords d )
returns the position of the point d.pt relative to the sphere, with the ties resolved by
simulation-of-simplicity exactly as InSphereTesterSoS does (never OnSphere or NoSphere);
shall be called only after reset() returned true, and all four ids must be distinct

◆ flip()

None mrmeshpy.FastInSphereTesterSoS.flip ( self)
selects the mirror sphere as the base class does, moving the floating-point center as well;
this hides the flip of the base class, which would leave the center on the wrong side

Reimplemented from mrmeshpy.InSphereTesterSoS.

◆ operator() [1/2]

FastInSphereTesterSoS mrmeshpy.FastInSphereTesterSoS.operator ( * args,
** kwargs )
static

Reimplemented from mrmeshpy.InSphereTesterSoS.

◆ operator() [2/2]

FastInSphereTesterSoS mrmeshpy.FastInSphereTesterSoS.operator ( * args,
** kwargs )
static

Reimplemented from mrmeshpy.InSphereTesterSoS.

◆ outsideBothSpheres()

bool mrmeshpy.FastInSphereTesterSoS.outsideBothSpheres ( self,
Vector3i d )
whether d is strictly outside both spheres of the given radius passing via the three points
of reset(): the selected one and its mirror in the plane of the triangle;
the answer is exact, and a point lying on either of them is not strictly outside, so no tie
arises and no simulation-of-simplicity is involved;
filtered in floating point as the query above, and equally exact;
for a degenerate triangle, where only the perturbed spheres exist and the answer would need
the id of d, returns false conservatively (never prunes)

◆ reset()

bool mrmeshpy.FastInSphereTesterSoS.reset ( self,
PreciseVertCoords a,
PreciseVertCoords b,
PreciseVertCoords c,
int rSq )
prepares the tester as InSphereTesterSoS::reset does, and additionally computes the
floating-point center of the sphere and the tolerance of the tests below;
this hides the reset of the base class, which would leave the center stale

Reimplemented from mrmeshpy.InSphereTesterSoS.


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