MTLCurveBasis

Struct MTLCurveBasis 

Source
#[repr(transparent)]
pub struct MTLCurveBasis(pub NSInteger);
Available on crate feature MTLAccelerationStructure only.
Expand description

Basis function to use to interpolate curve control points

See also Apple’s documentation

Tuple Fields§

§0: NSInteger

Implementations§

Source§

impl MTLCurveBasis

Source

pub const BSpline: Self

B-Spline basis. Each curve segment must have 3 or 4 control points. Curve segments join with C^(N - 2) continuity, where N is the number of control points. The curve does not necessarily pass through the control points without additional control points at the beginning and end of the curve. Each curve segment can overlap N-1 control points.

Source

pub const CatmullRom: Self

Catmull-Rom basis. Curves represented in this basis can also be easily converted to and from the Bézier basis. Each curve segment must have 4 control points. Each index in the control point index buffer points to the first of 4 consecutive control points in the control point buffer.

The tangent at each control point is given by (P_(i+1) - P_(i-1)) / 2. Therefore, the curve does not pass through the first and last control point of each connected sequence of curve segments. Instead, the first and last control point are used to control the tangent vector at the beginning and end of the curve.

Curve segments join with C^1 continuity and the curve passes through the control points. Each curve segment can overlap 3 control points.

Source

pub const Linear: Self

Linear basis. The curve is made of a sequence of connected line segments each with 2 control points.

Source

pub const Bezier: Self

Bezier basis

Trait Implementations§

Source§

impl Clone for MTLCurveBasis

Source§

fn clone(&self) -> MTLCurveBasis

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MTLCurveBasis

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Encode for MTLCurveBasis

Source§

const ENCODING: Encoding = NSInteger::ENCODING

The Objective-C type-encoding for this type.
Source§

impl Hash for MTLCurveBasis

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Ord for MTLCurveBasis

Source§

fn cmp(&self, other: &MTLCurveBasis) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq for MTLCurveBasis

Source§

fn eq(&self, other: &MTLCurveBasis) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialOrd for MTLCurveBasis

Source§

fn partial_cmp(&self, other: &MTLCurveBasis) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl RefEncode for MTLCurveBasis

Source§

const ENCODING_REF: Encoding

The Objective-C type-encoding for a reference of this type. Read more
Source§

impl Copy for MTLCurveBasis

Source§

impl Eq for MTLCurveBasis

Source§

impl StructuralPartialEq for MTLCurveBasis

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> EncodeArgument for T
where T: Encode,

Source§

const ENCODING_ARGUMENT: Encoding = T::ENCODING

The Objective-C type-encoding for this type.
Source§

impl<T> EncodeReturn for T
where T: Encode,

Source§

const ENCODING_RETURN: Encoding = T::ENCODING

The Objective-C type-encoding for this type.
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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.
Source§

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