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

Public Member Functions

 FastInSphereTesterSoS (java.lang.foreign.MemorySegment ptr, boolean owned, java.lang.Object owner)
 FastInSphereTesterSoS ()
 FastInSphereTesterSoS (meshlib.FastInSphereTesterSoS _other)
meshlib.FastInSphereTesterSoS assignFromAnother (meshlib.FastInSphereTesterSoS _other)
boolean reset (meshlib.PreciseVertCoords a, meshlib.PreciseVertCoords b, meshlib.PreciseVertCoords c, long rSq)
void flip ()
meshlib.InSphereResult call (meshlib.PreciseVertCoords d)
boolean outsideBothSpheres (meshlib.Vector3i d)
boolean sphereExists (meshlib.PreciseVertCoords a, meshlib.PreciseVertCoords b, meshlib.PreciseVertCoords c, long rSq)
boolean degenerateTriangle ()
meshlib.InSphereTester_int upcastToInSphereTester_int ()
meshlib.InSphereTesterSoS upcastToInSphereTesterSoS ()
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.FastInSphereTesterSoS staticDowncastFromInSphereTester_int (meshlib.InSphereTester_int object)
static meshlib.FastInSphereTesterSoS staticDowncastFromInSphereTesterSoS (meshlib.InSphereTesterSoS 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

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

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

Constructor & Destructor Documentation

◆ FastInSphereTesterSoS() [1/3]

meshlib.FastInSphereTesterSoS.FastInSphereTesterSoS ( 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.

◆ FastInSphereTesterSoS() [2/3]

meshlib.FastInSphereTesterSoS.FastInSphereTesterSoS ( )

Constructs an empty (default-constructed) instance.

Calls MR_FastInSphereTesterSoS_DefaultConstruct().

◆ FastInSphereTesterSoS() [3/3]

meshlib.FastInSphereTesterSoS.FastInSphereTesterSoS ( meshlib.FastInSphereTesterSoS _other)

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

Calls MR_FastInSphereTesterSoS_ConstructFromAnother().

Member Function Documentation

◆ assignFromAnother()

meshlib.FastInSphereTesterSoS meshlib.FastInSphereTesterSoS.assignFromAnother ( meshlib.FastInSphereTesterSoS _other)

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

Calls MR_FastInSphereTesterSoS_AssignFromAnother().

◆ call()

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

Calls MR_FastInSphereTesterSoS_call().

◆ degenerateTriangle()

boolean meshlib.FastInSphereTesterSoS.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::FastInSphereTesterSoS::degenerateTriangle.

Calls MR_FastInSphereTesterSoS_degenerateTriangle().

◆ flip()

void meshlib.FastInSphereTesterSoS.flip ( )

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

Calls MR_FastInSphereTesterSoS_flip().

◆ outsideBothSpheres()

boolean meshlib.FastInSphereTesterSoS.outsideBothSpheres ( meshlib.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) Generated from method MR::FastInSphereTesterSoS::outsideBothSpheres.

Calls MR_FastInSphereTesterSoS_outsideBothSpheres().

◆ reset()

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

Calls MR_FastInSphereTesterSoS_reset().

◆ sphereExists()

boolean meshlib.FastInSphereTesterSoS.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::FastInSphereTesterSoS::sphereExists.

Calls MR_FastInSphereTesterSoS_sphereExists().

◆ staticDowncastFromInSphereTester_int()

meshlib.FastInSphereTesterSoS meshlib.FastInSphereTesterSoS.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 FastInSphereTesterSoS. The result refers to object.

Calls MR_FastInSphereTesterSoS_MutableStaticDowncastFrom_MR_InSphereTester_int().

◆ staticDowncastFromInSphereTesterSoS()

meshlib.FastInSphereTesterSoS meshlib.FastInSphereTesterSoS.staticDowncastFromInSphereTesterSoS ( meshlib.InSphereTesterSoS object)
static

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

Calls MR_FastInSphereTesterSoS_MutableStaticDowncastFrom_MR_InSphereTesterSoS().

◆ upcastToInSphereTester_int()

meshlib.InSphereTester_int meshlib.FastInSphereTesterSoS.upcastToInSphereTester_int ( )

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

Calls MR_FastInSphereTesterSoS_MutableUpcastTo_MR_InSphereTester_int().

◆ upcastToInSphereTesterSoS()

meshlib.InSphereTesterSoS meshlib.FastInSphereTesterSoS.upcastToInSphereTesterSoS ( )

Upcasts to the base class MR::InSphereTesterSoS. The result refers to this object.

Calls MR_FastInSphereTesterSoS_MutableUpcastTo_MR_InSphereTesterSoS().


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