Struct kiss3d::scene::PlanarSceneNodeData
source · [−]pub struct PlanarSceneNodeData { /* private fields */ }
Expand description
The datas contained by a PlanarSceneNode
.
Implementations
sourceimpl PlanarSceneNodeData
impl PlanarSceneNodeData
sourcepub fn has_object(&self) -> bool
pub fn has_object(&self) -> bool
Whether this node contains an PlanarObject
.
sourcepub fn render(&mut self, camera: &mut dyn PlanarCamera)
pub fn render(&mut self, camera: &mut dyn PlanarCamera)
Render the scene graph rooted by this node.
sourcepub fn object(&self) -> Option<&PlanarObject>
pub fn object(&self) -> Option<&PlanarObject>
A reference to the object possibly contained by this node.
sourcepub fn object_mut(&mut self) -> Option<&mut PlanarObject>
pub fn object_mut(&mut self) -> Option<&mut PlanarObject>
A mutable reference to the object possibly contained by this node.
sourcepub fn get_object(&self) -> &PlanarObject
pub fn get_object(&self) -> &PlanarObject
A reference to the object possibly contained by this node.
Failure
Fails of this node does not contains an object.
sourcepub fn get_object_mut(&mut self) -> &mut PlanarObject
pub fn get_object_mut(&mut self) -> &mut PlanarObject
A mutable reference to the object possibly contained by this node.
Failure
Fails of this node does not contains an object.
sourcepub fn set_material(
&mut self,
material: Rc<RefCell<Box<dyn PlanarMaterial + 'static>>>
)
pub fn set_material(
&mut self,
material: Rc<RefCell<Box<dyn PlanarMaterial + 'static>>>
)
Sets the material of the objects contained by this node and its children.
sourcepub fn set_material_with_name(&mut self, name: &str)
pub fn set_material_with_name(&mut self, name: &str)
Sets the material of the objects contained by this node and its children.
The material must already have been registered as name
.
sourcepub fn set_lines_width(&mut self, width: f32)
pub fn set_lines_width(&mut self, width: f32)
Sets the width of the lines drawn for the objects contained by this node and its children.
sourcepub fn set_lines_color(&mut self, color: Option<Point3<f32>>)
pub fn set_lines_color(&mut self, color: Option<Point3<f32>>)
Sets the color of the lines drawn for the objects contained by this node and its children.
sourcepub fn set_points_size(&mut self, size: f32)
pub fn set_points_size(&mut self, size: f32)
Sets the size of the points drawn for the objects contained by this node and its children.
sourcepub fn set_surface_rendering_activation(&mut self, active: bool)
pub fn set_surface_rendering_activation(&mut self, active: bool)
Activates or deactivates the rendering of the surfaces of the objects contained by this node and its children.
sourcepub fn enable_backface_culling(&mut self, active: bool)
pub fn enable_backface_culling(&mut self, active: bool)
Activates or deactivates backface culling for the objects contained by this node and its children.
sourcepub fn modify_vertices<F: FnMut(&mut Vec<Point2<f32>>)>(&mut self, f: &mut F)
pub fn modify_vertices<F: FnMut(&mut Vec<Point2<f32>>)>(&mut self, f: &mut F)
Mutably accesses the vertices of the objects contained by this node and its children.
The provided closure is called once per object.
sourcepub fn read_vertices<F: FnMut(&[Point2<f32>])>(&self, f: &mut F)
pub fn read_vertices<F: FnMut(&[Point2<f32>])>(&self, f: &mut F)
Accesses the vertices of the objects contained by this node and its children.
The provided closure is called once per object.
sourcepub fn modify_faces<F: FnMut(&mut Vec<Point3<u16>>)>(&mut self, f: &mut F)
pub fn modify_faces<F: FnMut(&mut Vec<Point3<u16>>)>(&mut self, f: &mut F)
Mutably accesses the faces of the objects contained by this node and its children.
The provided closure is called once per object.
sourcepub fn read_faces<F: FnMut(&[Point3<u16>])>(&self, f: &mut F)
pub fn read_faces<F: FnMut(&[Point3<u16>])>(&self, f: &mut F)
Accesses the faces of the objects contained by this node and its children.
The provided closure is called once per object.
sourcepub fn modify_uvs<F: FnMut(&mut Vec<Point2<f32>>)>(&mut self, f: &mut F)
pub fn modify_uvs<F: FnMut(&mut Vec<Point2<f32>>)>(&mut self, f: &mut F)
Mutably accesses the texture coordinates of the objects contained by this node and its children.
The provided closure is called once per object.
sourcepub fn read_uvs<F: FnMut(&[Point2<f32>])>(&self, f: &mut F)
pub fn read_uvs<F: FnMut(&[Point2<f32>])>(&self, f: &mut F)
Accesses the texture coordinates of the objects contained by this node and its children.
The provided closure is called once per object.
sourcepub fn is_visible(&self) -> bool
pub fn is_visible(&self) -> bool
Get the visibility status of node.
sourcepub fn set_visible(&mut self, visible: bool)
pub fn set_visible(&mut self, visible: bool)
Sets the visibility of this node.
The node and its children are not rendered if it is not visible.
sourcepub fn set_color(&mut self, r: f32, g: f32, b: f32)
pub fn set_color(&mut self, r: f32, g: f32, b: f32)
Sets the color of the objects contained by this node and its children.
Colors components must be on the range [0.0, 1.0]
.
sourcepub fn set_texture_from_file(&mut self, path: &Path, name: &str)
pub fn set_texture_from_file(&mut self, path: &Path, name: &str)
Sets the texture of the objects contained by this node and its children.
The texture is loaded from a file and registered by the global TextureManager
.
Arguments
path
- relative path of the texture on the diskname
- &str identifier to store this texture under
sourcepub fn set_texture_from_memory(&mut self, image_data: &[u8], name: &str)
pub fn set_texture_from_memory(&mut self, image_data: &[u8], name: &str)
Sets the texture of the objects contained by this node and its children.
The texture is loaded from a byte slice and registered by the global TextureManager
.
Arguments
path
- relative path of the texture on the diskimage_data
- slice of bytes containing encoded imagename
- &str identifier to store this texture under
sourcepub fn set_texture_with_name(&mut self, name: &str)
pub fn set_texture_with_name(&mut self, name: &str)
Sets the texture of the objects contained by this node and its children.
The texture must already have been registered as name
.
sourcepub fn set_texture(&mut self, texture: Rc<Texture>)
pub fn set_texture(&mut self, texture: Rc<Texture>)
Sets the texture of the objects contained by this node and its children.
sourcepub fn apply_to_objects_mut<F: FnMut(&mut PlanarObject)>(&mut self, f: &mut F)
pub fn apply_to_objects_mut<F: FnMut(&mut PlanarObject)>(&mut self, f: &mut F)
Applies a closure to each object contained by this node and its children.
sourcepub fn apply_to_objects<F: FnMut(&PlanarObject)>(&self, f: &mut F)
pub fn apply_to_objects<F: FnMut(&PlanarObject)>(&self, f: &mut F)
Applies a closure to each object contained by this node and its children.
sourcepub fn set_local_scale(&mut self, sx: f32, sy: f32)
pub fn set_local_scale(&mut self, sx: f32, sy: f32)
Sets the local scaling factors of the object.
sourcepub fn local_scale(&self) -> Vector2<f32>
pub fn local_scale(&self) -> Vector2<f32>
Returns the scaling factors of the object.
sourcepub fn local_transformation(&self) -> Isometry2<f32>
pub fn local_transformation(&self) -> Isometry2<f32>
This node local transformation.
sourcepub fn inverse_local_transformation(&self) -> Isometry2<f32>
pub fn inverse_local_transformation(&self) -> Isometry2<f32>
Inverse of this node local transformation.
sourcepub fn world_transformation(&self) -> Isometry2<f32>
pub fn world_transformation(&self) -> Isometry2<f32>
This node world transformation.
This will force an update of the world transformation of its parents if they have been invalidated.
sourcepub fn inverse_world_transformation(&self) -> Isometry2<f32>
pub fn inverse_world_transformation(&self) -> Isometry2<f32>
The inverse of this node world transformation.
This will force an update of the world transformation of its parents if they have been invalidated.
sourcepub fn append_transformation(&mut self, t: &Isometry2<f32>)
pub fn append_transformation(&mut self, t: &Isometry2<f32>)
Appends a transformation to this node local transformation.
sourcepub fn prepend_to_local_transformation(&mut self, t: &Isometry2<f32>)
pub fn prepend_to_local_transformation(&mut self, t: &Isometry2<f32>)
Prepends a transformation to this node local transformation.
sourcepub fn set_local_transformation(&mut self, t: Isometry2<f32>)
pub fn set_local_transformation(&mut self, t: Isometry2<f32>)
Set this node local transformation.
sourcepub fn local_translation(&self) -> Translation2<f32>
pub fn local_translation(&self) -> Translation2<f32>
This node local translation.
sourcepub fn inverse_local_translation(&self) -> Translation2<f32>
pub fn inverse_local_translation(&self) -> Translation2<f32>
The inverse of this node local translation.
sourcepub fn append_translation(&mut self, t: &Translation2<f32>)
pub fn append_translation(&mut self, t: &Translation2<f32>)
Appends a translation to this node local transformation.
sourcepub fn prepend_to_local_translation(&mut self, t: &Translation2<f32>)
pub fn prepend_to_local_translation(&mut self, t: &Translation2<f32>)
Prepends a translation to this node local transformation.
sourcepub fn set_local_translation(&mut self, t: Translation2<f32>)
pub fn set_local_translation(&mut self, t: Translation2<f32>)
Sets the local translation of this node.
sourcepub fn local_rotation(&self) -> UnitComplex<f32>
pub fn local_rotation(&self) -> UnitComplex<f32>
This node local rotation.
sourcepub fn inverse_local_rotation(&self) -> UnitComplex<f32>
pub fn inverse_local_rotation(&self) -> UnitComplex<f32>
The inverse of this node local rotation.
sourcepub fn append_rotation(&mut self, r: &UnitComplex<f32>)
pub fn append_rotation(&mut self, r: &UnitComplex<f32>)
Appends a rotation to this node local transformation.
sourcepub fn append_rotation_wrt_center(&mut self, r: &UnitComplex<f32>)
pub fn append_rotation_wrt_center(&mut self, r: &UnitComplex<f32>)
Appends a rotation to this node local transformation.
sourcepub fn prepend_to_local_rotation(&mut self, r: &UnitComplex<f32>)
pub fn prepend_to_local_rotation(&mut self, r: &UnitComplex<f32>)
Prepends a rotation to this node local transformation.
sourcepub fn set_local_rotation(&mut self, r: UnitComplex<f32>)
pub fn set_local_rotation(&mut self, r: UnitComplex<f32>)
Sets the local rotation of this node.
Auto Trait Implementations
impl !RefUnwindSafe for PlanarSceneNodeData
impl !Send for PlanarSceneNodeData
impl !Sync for PlanarSceneNodeData
impl Unpin for PlanarSceneNodeData
impl !UnwindSafe for PlanarSceneNodeData
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
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
. Read more
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
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. Read more
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. Read more
impl<T> Pointable for T
impl<T> Pointable for T
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
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 more
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).
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.
fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts self
to the equivalent element of its superset.