pub struct SnapPlane {
pub point: Vec3,
pub normal: Vec3,
pub label: String,
}Expand description
A snap-plane recorded during derivation.
Snap planes are emitted by the RegSnap("label") op (which records all six
face planes of the current scope) and consumed by the snap-aware variant
of Split (Split(axis, snap="label") { … }). They give downstream
elements a way to align to landmarks established earlier in the derivation
— e.g. ground-floor bay edges become snap planes that upper-floor bays
align to.
The plane is defined in world-space by point (a point on the plane) and
normal (a unit-length plane normal). label groups planes for selective
querying.
Fields§
§point: Vec3§normal: Vec3§label: StringTrait Implementations§
Source§impl<'de> Deserialize<'de> for SnapPlane
impl<'de> Deserialize<'de> for SnapPlane
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl StructuralPartialEq for SnapPlane
Auto Trait Implementations§
impl Freeze for SnapPlane
impl RefUnwindSafe for SnapPlane
impl Send for SnapPlane
impl Sync for SnapPlane
impl Unpin for SnapPlane
impl UnsafeUnpin for SnapPlane
impl UnwindSafe for SnapPlane
Blanket Implementations§
Source§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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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> ⓘ
Converts
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> ⓘ
Converts
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