pub struct And<A, B>(pub A, pub B);Expand description
Intersection of two regions: inside iff BOTH are inside.
Signed distance uses max (outside dominates — chain-rule selects the
larger component’s gradient).
Tuple Fields§
§0: A§1: BTrait Implementations§
impl<A: Copy, B: Copy> Copy for And<A, B>
Source§impl<A: Region, B: Region> Region for And<A, B>
impl<A: Region, B: Region> Region for And<A, B>
Source§fn contains(&self, x: &[F; 3]) -> bool
fn contains(&self, x: &[F; 3]) -> bool
Membership test. Must be consistent with
signed_distance(x) <= 0.Source§fn bounding_box(&self) -> Option<Aabb>
fn bounding_box(&self) -> Option<Aabb>
Axis-aligned bounding box of the region. Used as an initialization
hint; default
None is always safe.Auto Trait Implementations§
impl<A, B> Freeze for And<A, B>
impl<A, B> RefUnwindSafe for And<A, B>where
A: RefUnwindSafe,
B: RefUnwindSafe,
impl<A, B> Send for And<A, B>
impl<A, B> Sync for And<A, B>
impl<A, B> Unpin for And<A, B>
impl<A, B> UnsafeUnpin for And<A, B>where
A: UnsafeUnpin,
B: UnsafeUnpin,
impl<A, B> UnwindSafe for And<A, B>where
A: UnwindSafe,
B: UnwindSafe,
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> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<R> RegionExt for Rwhere
R: Region,
impl<R> RegionExt for Rwhere
R: Region,
fn and<B: Region>(self, other: B) -> And<Self, B>
fn or<B: Region>(self, other: B) -> Or<Self, B>
fn not(self) -> Not<Self>
Source§fn into_restraint(self) -> RegionRestraint<Self>
fn into_restraint(self) -> RegionRestraint<Self>
Lift this region into a soft-penalty
AtomRestraint. Equivalent
to wrapping in RegionRestraint manually.