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

Public Member Functions

InSphereResult __call__ (self, PreciseVertCoords d)
None __init__ (self)
None __init__ (self, InSphereTesterSoS arg0)
bool degenerateTriangle (self)
None flip (self)
bool reset (self, PreciseVertCoords a, PreciseVertCoords b, PreciseVertCoords c, int rSq)
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)
InSphereTesterSoS operator (*args, **kwargs)
InSphereTesterSoS operator (*args, **kwargs)
Static Public Member Functions inherited from mrmeshpy.InSphereTester_int
None __init__ (*args, **kwargs)

Detailed Description

Generated from:  MR::InSphereTesterSoS

the precise tester with simulation-of-simplicity resolution of "exactly on the sphere" ties,
which reuses all the geometric machinery of InSphereTester<int> and adds only the vertex ids

Constructor & Destructor Documentation

◆ __init__() [1/3]

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

◆ __init__() [2/3]

None mrmeshpy.InSphereTesterSoS.__init__ ( self)

◆ __init__() [3/3]

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

Member Function Documentation

◆ __call__()

InSphereResult mrmeshpy.InSphereTesterSoS.__call__ ( self,
PreciseVertCoords d )
returns the position of the point d.pt relative to the sphere, resolving "exactly on the
sphere" ties into Inside or Outside by simulation-of-simplicity as described at the inSphere
overload above, using the ids of d and of the points given in reset()
(never returns OnSphere or NoSphere);
shall be called only after reset() returned true, and all four ids must be distinct

◆ degenerateTriangle()

bool mrmeshpy.InSphereTesterSoS.degenerateTriangle ( self)
whether the last successful reset() got a degenerate triangle (two coincident points), where
only the symbolically perturbed sphere exists; the exact sphere quantities of the base class
are not valid then

◆ flip()

None mrmeshpy.InSphereTesterSoS.flip ( self)
swaps the points b and c together with their ids, which selects the mirror sphere as in the
base class, and gives exactly the state of reset( a, c, b, rSq );
this hides the id-less flip of the base class, which would leave stale ids

Reimplemented from mrmeshpy.InSphereTester_int.

Reimplemented in mrmeshpy.FastInSphereTesterSoS.

◆ operator() [1/2]

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

◆ operator() [2/2]

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

◆ reset()

bool mrmeshpy.InSphereTesterSoS.reset ( self,
PreciseVertCoords a,
PreciseVertCoords b,
PreciseVertCoords c,
int rSq )
prepares the tester for the sphere of radius sqrt(rSq) passing via points a.pt, b.pt, c.pt,
with the center located on the positive side of their plane (in the half-space pointed at by
cross( b.pt - a.pt, c.pt - a.pt ) from the plane), remembering the ids for the queries;
returns false if no such sphere exists for the symbolically perturbed points (see the
simulation-of-simplicity inSphere above): in particular, coincident and collinear triangle
points are resolved by the perturbation here, and rSq exactly equal to the squared
circumradius gives false whenever the perturbation of these ids breaks the existence;
this hides the id-less reset of the base class, which would leave stale ids

Reimplemented from mrmeshpy.InSphereTester_int.

Reimplemented in mrmeshpy.FastInSphereTesterSoS.


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