MeshLib Java Docs
Loading...
Searching...
No Matches
meshlib.InSphereTesterSoS Class Reference
Inheritance diagram for meshlib.InSphereTesterSoS:

Public Member Functions

 InSphereTesterSoS (java.lang.foreign.MemorySegment ptr, boolean owned, java.lang.Object owner)
 InSphereTesterSoS ()
 InSphereTesterSoS (meshlib.InSphereTesterSoS _other)
meshlib.InSphereTesterSoS assignFromAnother (meshlib.InSphereTesterSoS _other)
boolean reset (meshlib.PreciseVertCoords a, meshlib.PreciseVertCoords b, meshlib.PreciseVertCoords c, long rSq)
boolean sphereExists (meshlib.PreciseVertCoords a, meshlib.PreciseVertCoords b, meshlib.PreciseVertCoords c, long rSq)
void flip ()
meshlib.InSphereResult call (meshlib.PreciseVertCoords d)
boolean degenerateTriangle ()
meshlib.InSphereTester_int upcastToInSphereTester_int ()
Public Member Functions inherited from meshlib.CppObject
final java.lang.foreign.MemorySegment rawPointer ()
final boolean isOwned ()
final void close ()
final java.lang.foreign.MemorySegment release ()

Static Public Member Functions

static meshlib.InSphereTesterSoS staticDowncastFromInSphereTester_int (meshlib.InSphereTester_int object)

Additional Inherited Members

Protected Member Functions inherited from meshlib.CppObject
 CppObject (java.lang.foreign.MemorySegment ptr, java.util.function.Consumer< java.lang.foreign.MemorySegment > destroy, java.lang.Object owner)

Detailed Description

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 Generated from class MR::InSphereTesterSoS. Base classes: Direct: (non-virtual) MR::InSphereTester<int> Derived classes: Direct: (non-virtual) MR::FastInSphereTesterSoS

Instances created here own their C++ objects, see CppObject.

Constructor & Destructor Documentation

◆ InSphereTesterSoS() [1/3]

meshlib.InSphereTesterSoS.InSphereTesterSoS ( java.lang.foreign.MemorySegment ptr,
boolean owned,
java.lang.Object owner )

Wraps a pointer from the C bindings. If owned, the object is destroyed when the wrapper dies. owner is kept alive as long as this wrapper is. Not for normal use.

◆ InSphereTesterSoS() [2/3]

meshlib.InSphereTesterSoS.InSphereTesterSoS ( )

Constructs an empty (default-constructed) instance.

Calls MR_InSphereTesterSoS_DefaultConstruct().

◆ InSphereTesterSoS() [3/3]

meshlib.InSphereTesterSoS.InSphereTesterSoS ( meshlib.InSphereTesterSoS _other)

Generated from constructor MR::InSphereTesterSoS::InSphereTesterSoS. The reference to things referred to by the parameter _other (if any) might be preserved in the constructed object.

Calls MR_InSphereTesterSoS_ConstructFromAnother().

Member Function Documentation

◆ assignFromAnother()

meshlib.InSphereTesterSoS meshlib.InSphereTesterSoS.assignFromAnother ( meshlib.InSphereTesterSoS _other)

Generated from method MR::InSphereTesterSoS::operator=. The reference to things referred to by the parameter _other (if any) might be preserved in this object.

Calls MR_InSphereTesterSoS_AssignFromAnother().

◆ call()

meshlib.InSphereResult meshlib.InSphereTesterSoS.call ( meshlib.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 Generated from method MR::InSphereTesterSoS::operator().

Calls MR_InSphereTesterSoS_call().

◆ degenerateTriangle()

boolean meshlib.InSphereTesterSoS.degenerateTriangle ( )

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 Generated from method MR::InSphereTesterSoS::degenerateTriangle.

Calls MR_InSphereTesterSoS_degenerateTriangle().

◆ flip()

void meshlib.InSphereTesterSoS.flip ( )

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 Generated from method MR::InSphereTesterSoS::flip.

Calls MR_InSphereTesterSoS_flip().

◆ reset()

boolean meshlib.InSphereTesterSoS.reset ( meshlib.PreciseVertCoords a,
meshlib.PreciseVertCoords b,
meshlib.PreciseVertCoords c,
long 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 Generated from method MR::InSphereTesterSoS::reset.

Calls MR_InSphereTesterSoS_reset().

◆ sphereExists()

boolean meshlib.InSphereTesterSoS.sphereExists ( meshlib.PreciseVertCoords a,
meshlib.PreciseVertCoords b,
meshlib.PreciseVertCoords c,
long rSq )

returns exactly what reset( a, b, c, rSq ) would, without changing the tester: only the squared circumradius of the triangle is compared with rSq, and the sphere itself is not computed, which is much cheaper where just the existence of a sphere is needed Generated from method MR::InSphereTesterSoS::sphereExists.

Calls MR_InSphereTesterSoS_sphereExists().

◆ staticDowncastFromInSphereTester_int()

meshlib.InSphereTesterSoS meshlib.InSphereTesterSoS.staticDowncastFromInSphereTester_int ( meshlib.InSphereTester_int object)
static

Static downcast from the base class MR::InSphereTester<int>. Undefined behavior if the object isn't actually a InSphereTesterSoS. The result refers to object.

Calls MR_InSphereTesterSoS_MutableStaticDowncastFrom_MR_InSphereTester_int().

◆ upcastToInSphereTester_int()

meshlib.InSphereTester_int meshlib.InSphereTesterSoS.upcastToInSphereTester_int ( )

Upcasts to the base class MR::InSphereTester<int>. The result refers to this object.

Calls MR_InSphereTesterSoS_MutableUpcastTo_MR_InSphereTester_int().


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