pub struct Surface {
pub vertex_weights: Vec<VertexWeightSet>,
pub bones: Vec<Handle<Node>>,
/* private fields */
}Expand description
See module docs.
Fields§
§vertex_weights: Vec<VertexWeightSet>Temporal array for FBX conversion needs, it holds skinning data (weight + bone handle)
and will be used to fill actual bone indices and weight in vertices that will be
sent to GPU. The idea is very simple: GPU needs to know only indices of matrices of
bones so we can use bones array as reference to get those indices. This could be done
like so: iterate over all vertices and weight data and calculate index of node handle that
associated with vertex in bones array and store it as bone index in vertex.
bones: Vec<Handle<Node>>Array of handle to scene nodes which are used as bones.
Implementations§
Source§impl Surface
impl Surface
Sourcepub fn new(data: Arc<Mutex<SurfaceData>>) -> Self
pub fn new(data: Arc<Mutex<SurfaceData>>) -> Self
Creates new surface instance with given data and without any texture.
Sourcepub fn material_id(&self) -> u64
pub fn material_id(&self) -> u64
Calculates material id.
Sourcepub fn data(&self) -> Arc<Mutex<SurfaceData>>
pub fn data(&self) -> Arc<Mutex<SurfaceData>>
Returns current data used by surface.
Sourcepub fn set_material(&mut self, material: Arc<Mutex<Material>>)
pub fn set_material(&mut self, material: Arc<Mutex<Material>>)
Sets new material for the surface.
Trait Implementations§
Source§impl Inspect for Surface
impl Inspect for Surface
Source§fn properties(&self) -> Vec<PropertyInfo<'_>>
fn properties(&self) -> Vec<PropertyInfo<'_>>
Returns information about “public” properties.
Auto Trait Implementations§
impl Freeze for Surface
impl !RefUnwindSafe for Surface
impl Send for Surface
impl Sync for Surface
impl Unpin for Surface
impl !UnwindSafe for Surface
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&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)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&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> DowncastSync for T
impl<T> DowncastSync for T
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PropertyValue for Twhere
T: Debug + 'static,
impl<T> PropertyValue for Twhere
T: Debug + 'static,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
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
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
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.