pub struct Admission {
pub min_extent: f32,
pub world: Option<Aabb>,
}Expand description
An admission policy for an artefact: how far it may be compressed, and where it may exist.
Fields§
§min_extent: f32Minimum permitted per-axis extent (material incompressibility floor). A scale that takes any
axis below this is refused. 0.0 disables the contraction check.
world: Option<Aabb>Optional world bound the transformed artefact must stay within. None = unbounded.
Implementations§
Source§impl Admission
impl Admission
pub fn new(min_extent: f32, world: Option<Aabb>) -> Self
Sourcepub fn admit(
&self,
artefact: &Aabb,
motor: Motor,
scale: [f32; 3],
) -> Result<Aabb, Refusal>
pub fn admit( &self, artefact: &Aabb, motor: Motor, scale: [f32; 3], ) -> Result<Aabb, Refusal>
Deterministically admit (returning the resulting AABB) or refuse the proposed transform.
Contraction is judged on the scale against the artefact’s own extent (not the post- rotation AABB), so a pure rotation — which enlarges the axis-aligned box but does not compress the artefact — is never mistaken for contraction. Out-of-bounds is judged on the actual transformed enclosure.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Admission
impl RefUnwindSafe for Admission
impl Send for Admission
impl Sync for Admission
impl Unpin for Admission
impl UnsafeUnpin for Admission
impl UnwindSafe for Admission
Blanket Implementations§
§impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
Aggregate shares in an MPC protocol.
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
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>
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