Skip to main content

Strip

Struct Strip 

Source
pub struct Strip<'a> {
    pub namer: &'a Namer,
    pub joint_names: &'a [String],
    pub curve_names: &'a [String],
    pub station_names: &'a [String],
    pub span_names: &'a [Option<String>],
    pub closed: bool,
    pub poles: &'a [bool],
    pub on_axis: &'a [bool],
    pub apex: &'a [bool],
    pub glued: Vec<Glue>,
    pub geometry: &'a dyn StripGeometry,
}
Expand description

One strip of a skinned body (see the module docs): a loop of joints and the curves between them — curve i from joint i to the next, around to the first for a closed loop, which has as many curves as joints; an open chain has one fewer — through stations and the spans between consecutive ones, around to the first again on a closed path, which has as many spans as stations; an open one has one fewer.

Everything is named by namer, after the joints, curves, stations and spans:

entityname
vertex of joint P at station sN(P,s); N(P) for a pole
curve X at station sN(X,s); N(X) for a curve on the axis
lateral edge of P through span qN(P,q), or N(P) for an unnamed span
wall swept by X through span qN(X,q), or N(X)

Fields§

§namer: &'a Namer§joint_names: &'a [String]§curve_names: &'a [String]§station_names: &'a [String]§span_names: &'a [Option<String>]§closed: bool§poles: &'a [bool]

Per joint: whether it is a pole.

§on_axis: &'a [bool]

Per curve: whether it lies on the axis, between two poles.

§apex: &'a [bool]

Per station, or none for no station: whether the whole loop collapses to a point there — an apex, as a loft to a point has.

§glued: Vec<Glue>§geometry: &'a dyn StripGeometry

Auto Trait Implementations§

§

impl<'a> !RefUnwindSafe for Strip<'a>

§

impl<'a> !Send for Strip<'a>

§

impl<'a> !Sync for Strip<'a>

§

impl<'a> !UnwindSafe for Strip<'a>

§

impl<'a> Freeze for Strip<'a>

§

impl<'a> Unpin for Strip<'a>

§

impl<'a> UnsafeUnpin for Strip<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.