pub struct PlaneTag {
pub n: [f64; 3],
pub d: f64,
}Expand description
The kernel’s f64 supporting plane for one output triangle, carried forward
from kernel::mesh_bridge::tris_to_mesh (issue #3914). consolidate_coplanar
buckets triangles into coplanar groups by re-deriving a plane from each
triangle’s f32-ROUNDED vertices; on a rotated/tilted face this can straddle
the bucket’s quantization boundary and split one physical plane into two
adjacent buckets that its cross-bucket seam-conform pass (tangential-only)
cannot stitch back together, tearing the mesh. The kernel already computes
each output triangle’s plane in f64, BEFORE that f32 cast — carrying it
forward gives consolidate_coplanar the same plane identity for both
triangles without inventing a new tolerance or clustering pass.
Fields§
§n: [f64; 3]Unit plane normal (f64), oriented to match the triangle’s winding.
d: f64Plane offset: n . v for any vertex v of the triangle.
Trait Implementations§
impl Copy for PlaneTag
impl StructuralPartialEq for PlaneTag
Auto Trait Implementations§
impl Freeze for PlaneTag
impl RefUnwindSafe for PlaneTag
impl Send for PlaneTag
impl Sync for PlaneTag
impl Unpin for PlaneTag
impl UnwindSafe for PlaneTag
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read moreSource§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.