Public Member Functions | |
| auto | assign_from_another (_other:&meshlib::InSphereTesterSoS) -> &mut meshlib::InSphereTesterSoS |
| auto | reset (a:&meshlib::PreciseVertCoords, b:&meshlib::PreciseVertCoords, c:&meshlib::PreciseVertCoords, rSq:i64) -> bool |
| auto | sphere_exists (a:&meshlib::PreciseVertCoords, b:&meshlib::PreciseVertCoords, c:&meshlib::PreciseVertCoords, rSq:i64) const -> bool |
| void | flip () |
| auto | call (d:&meshlib::PreciseVertCoords) const -> meshlib::InSphereResult |
| auto | degenerate_triangle () const -> bool |
| auto | upcast_to_in_sphere_tester_int () const -> &meshlib::InSphereTester_int |
| auto | upcast_to_in_sphere_tester_int_mut () -> &mut meshlib::InSphereTester_int |
Static Public Member Functions | |
| static auto | new () -> meshlib::Owned< meshlib::InSphereTesterSoS > |
| static auto | construct_from_another (_other:&meshlib::InSphereTesterSoS) -> meshlib::Owned< meshlib::InSphereTesterSoS > |
| static auto | static_downcast_from_in_sphere_tester_int (object:&meshlib::InSphereTester_int) -> &Self |
| static auto | static_downcast_from_in_sphere_tester_int_mut (object:&mut meshlib::InSphereTester_int) -> &mut Self |
| Static Public Member Functions inherited from meshlib::CppClass | |
| static void | destroy (ptr:*mut Self) |
| Static Public Member Functions inherited from meshlib::CppCopy | |
| static auto | copy (ptr:*const Self) -> *mut Self |
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
Generated from class MR::InSphereTesterSoS. Heap-allocated instances are held in Owned<InSphereTesterSoS>.
| auto meshlib::InSphereTesterSoS::assign_from_another | ( | _other:&meshlib::InSphereTesterSoS | ) | -> &mut meshlib::InSphereTesterSoS |
Generated from method MR::InSphereTesterSoS::operator=.
Calls MR_InSphereTesterSoS_AssignFromAnother(). The reference to things referred to by the parameter _other (if any) might be preserved in this object.
| auto meshlib::InSphereTesterSoS::call | ( | d:&meshlib::PreciseVertCoords | ) | const -> meshlib::InSphereResult |
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().
|
static |
Generated from constructor MR::InSphereTesterSoS::InSphereTesterSoS.
Calls MR_InSphereTesterSoS_ConstructFromAnother(). The reference to things referred to by the parameter _other (if any) might be preserved in the constructed object.
| auto meshlib::InSphereTesterSoS::degenerate_triangle | ( | ) | const -> bool |
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().
| 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().
|
static |
Constructs an empty (default-constructed) instance.
Calls MR_InSphereTesterSoS_DefaultConstruct().
| auto meshlib::InSphereTesterSoS::reset | ( | a:&meshlib::PreciseVertCoords | , |
| b:&meshlib::PreciseVertCoords | , | ||
| c:&meshlib::PreciseVertCoords | , | ||
| rSq:i64 | ) -> bool |
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().
| auto meshlib::InSphereTesterSoS::sphere_exists | ( | a:&meshlib::PreciseVertCoords | , |
| b:&meshlib::PreciseVertCoords | , | ||
| c:&meshlib::PreciseVertCoords | , | ||
| rSq:i64 | ) const -> bool |
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().
|
static |
Static downcast from the base class MR::InSphereTester<int>.
Calls MR_InSphereTesterSoS_StaticDowncastFrom_MR_InSphereTester_int(). Undefined behavior if the object isn't actually a InSphereTesterSoS.
|
static |
Static downcast from the base class MR::InSphereTester<int>.
Calls MR_InSphereTesterSoS_MutableStaticDowncastFrom_MR_InSphereTester_int(). Undefined behavior if the object isn't actually a InSphereTesterSoS.
| auto meshlib::InSphereTesterSoS::upcast_to_in_sphere_tester_int | ( | ) | const -> &meshlib::InSphereTester_int |
Upcasts to the base class MR::InSphereTester<int>.
Calls MR_InSphereTesterSoS_UpcastTo_MR_InSphereTester_int().
| auto meshlib::InSphereTesterSoS::upcast_to_in_sphere_tester_int_mut | ( | ) | -> &mut meshlib::InSphereTester_int |
Upcasts to the base class MR::InSphereTester<int>.
Calls MR_InSphereTesterSoS_MutableUpcastTo_MR_InSphereTester_int().