Attribute

Enum Attribute 

Source
pub enum Attribute {
    DataArray(DataArrayBase<ElementType>),
    Field {
        name: String,
        data_array: Vec<DataArrayBase<u32>>,
    },
}
Expand description

Data structure that stores a VTK attribute.

Variants§

§

DataArray(DataArrayBase<ElementType>)

A data array with any number of components.

This is the standard way to represent data in XML formats.

It is also used to represent VECTORS, NORMALS, TEXTURE_COORDINATES, LOOKUP_TABLEs, COLOR_SCALARS and TENSORS in the legacy VTK format, each of which are identified by the elem field in the DataArray struct.

§

Field

Field attribute.

Essentially an array of arrays of any size. This can be used to represent data for alternative topologies that don’t correspond to the current data set, like UV coordinate topology with seams.

This is a Legacy only attribute type.

Fields

§name: String
§data_array: Vec<DataArrayBase<u32>>

Implementations§

Source§

impl Attribute

Source

pub fn name(&self) -> &str

Get the name of this attribute.

Source

pub fn scalars_with_lookup( name: impl Into<String>, num_comp: u32, lookup_table: impl Into<String>, ) -> Attribute

Constructs a new scalars attribute with an associated lookup table.

Source

pub fn scalars(name: impl Into<String>, num_comp: u32) -> Attribute

Constructs a new scalars attribute.

Source

pub fn color_scalars(name: impl Into<String>, num_comp: u32) -> Attribute

Constructs a new color scalars attribute.

Source

pub fn lookup_table(name: impl Into<String>) -> Attribute

Constructs a new lookup table attribute.

Source

pub fn vectors(name: impl Into<String>) -> Attribute

Constructs a new vectors attribute.

Source

pub fn normals(name: impl Into<String>) -> Attribute

Constructs a new normals attribute.

Source

pub fn tensors(name: impl Into<String>) -> Attribute

Constructs a new tensors attribute.

Source

pub fn tcoords(name: impl Into<String>, num_comp: u32) -> Attribute

Constructs a new texture coordinates attribute with the given dimensionality.

Source

pub fn generic(name: impl Into<String>, num_comp: u32) -> Attribute

Constructs a new generic attribute with the given number of components.

Source

pub fn field(name: impl Into<String>) -> Attribute

Constructs a new field attribute with the given name.

Source

pub fn with_data(self, new_data: impl Into<IOBuffer>) -> Attribute

Sets the data of this attribute to the given buffer.

If this attribute is a Field, then nothing is changed.

If the data was previously already set, it will be overwritten with the one given in this function.

Source

pub fn with_field_data( self, arrays: impl IntoIterator<Item = DataArrayBase<u32>>, ) -> Attribute

Adds a vector of FieldArrays to this field attribute.

If this attribute is not a Field, then nothing is changed.

§Examples

If it is more convenient to construct all field arrays individually, one can collect them all at once as follows

use vtkio::model::{Attribute, FieldArray};

let field_arrays = vec![
    FieldArray::new("A", 1),
    FieldArray::new("B", 2),
    FieldArray::new("C", 5),
];

let field = Attribute::field("Data").with_field_data(field_arrays);
Source

pub fn add_field_data(self, data: impl Into<DataArrayBase<u32>>) -> Attribute

Adds a field array to the field attribute.

If this attribute is not a Field, then nothing is changed.

§Examples

One can collect a number of field arrays into a field attribute using with a sequence of calls to add_field_data.

use vtkio::model::{Attribute, FieldArray};

let field = Attribute::field("Data")
    .add_field_data(FieldArray::new("A", 1))
    .add_field_data(FieldArray::new("B", 2))
    .add_field_data(FieldArray::new("C", 5));

Trait Implementations§

Source§

impl Clone for Attribute

Source§

fn clone(&self) -> Attribute

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 Attribute

Source§

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

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

impl PartialEq for Attribute

Source§

fn eq(&self, other: &Attribute) -> 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 StructuralPartialEq for Attribute

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> Bytes for T

Source§

fn as_bytes(&self) -> &[u8]

Get a slice of bytes representing Self.
Source§

fn interpret_bytes(bytes: &[u8]) -> &Self

Panics if the size of the given bytes slice is not equal to the size of Self.
Source§

impl<T> CloneBytes for T
where T: Clone + 'static,

Source§

unsafe fn clone_bytes(src: &[MaybeUninit<u8>]) -> Box<[MaybeUninit<u8>]>

Source§

unsafe fn clone_from_bytes(dst: &mut [MaybeUninit<u8>], src: &[MaybeUninit<u8>])

Source§

unsafe fn clone_into_raw_bytes( src: &[MaybeUninit<u8>], dst: &mut [MaybeUninit<u8>], )

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> DebugBytes for T
where T: Debug + 'static,

Source§

unsafe fn fmt_bytes( bytes: &[MaybeUninit<u8>], f: &mut Formatter<'_>, ) -> Result<(), Error>

Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Converts Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Converts Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Converts &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Converts &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> DowncastSend for T
where T: Any + Send,

Source§

fn into_any_send(self: Box<T>) -> Box<dyn Any + Send>

Converts Box<Trait> (where Trait: DowncastSend) to Box<dyn Any + Send>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_sync(self: Box<T>) -> Box<dyn Any + Sync + Send>

Converts Box<Trait> (where Trait: DowncastSync) to Box<dyn Any + Send + Sync>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Converts Arc<Trait> (where Trait: DowncastSync) to Arc<Any>, which can then be downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> DropBytes for T
where T: 'static,

Source§

unsafe fn drop_bytes(bytes: &mut [MaybeUninit<u8>])

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<'a, S, I> Get<'a, I> for S
where I: GetIndex<'a, S>,

Source§

type Output = <I as GetIndex<'a, S>>::Output

Source§

fn get(&self, idx: I) -> Option<<I as GetIndex<'a, S>>::Output>

Source§

fn at(&self, idx: I) -> Self::Output

Return a value at the given index. This is provided as the checked version of get that will panic if the equivalent get call is None, which typically means that the given index is out of bounds. Read more
Source§

unsafe fn at_unchecked(&self, idx: I) -> Self::Output

Return a value at the given index. Read more
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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<S, I> Isolate<I> for S
where I: IsolateIndex<S>,

Source§

type Output = <I as IsolateIndex<S>>::Output

Source§

unsafe fn isolate_unchecked(self, idx: I) -> <S as Isolate<I>>::Output

Unchecked version of isolate. Read more
Source§

fn try_isolate(self, idx: I) -> Option<<S as Isolate<I>>::Output>

Source§

fn isolate(self, idx: I) -> Self::Output
where Self: Sized,

Return a value at the given index. This is provided as the checked version of try_isolate that will panic if the equivalent try_isolate call is None, which typically means that the given index is out of bounds. Read more
Source§

impl<T> PartialEqBytes for T
where T: PartialEq + 'static,

Source§

unsafe fn eq_bytes(a: &[MaybeUninit<u8>], b: &[MaybeUninit<u8>]) -> bool

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T, N> PushArrayToVec<N> for T
where T: Clone, N: Array<T>,

Source§

fn push_to_vec(element: <N as Array<T>>::Array, set: &mut Vec<T>)

This method tells this type how it can be pushed to a Vec as an array.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

Source§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
Source§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
Source§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
Source§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
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> AttributeValue for T
where T: Clone + PartialEq + Debug + Send + Sync + 'static,

Source§

impl<T> Elem for T
where T: Any + DropBytes,

Source§

impl<T> Scalar for T
where T: 'static + Clone + PartialEq + Debug,