[−][src]Struct kiss3d::scene::SceneNode
A node of the scene graph.
This may represent a group of other nodes, and/or contain an object that can be rendered.
Methods
impl SceneNode
[src]
pub fn new(
local_scale: Vector3<f32>,
local_transform: Isometry3<f32>,
object: Option<Object>
) -> SceneNode
[src]
local_scale: Vector3<f32>,
local_transform: Isometry3<f32>,
object: Option<Object>
) -> SceneNode
Creates a new scene node that is not rooted.
pub fn new_empty() -> SceneNode
[src]
Creates a new empty, not rooted, node with identity transformations.
pub fn unlink(&mut self)
[src]
Removes this node from its parent.
pub fn data(&self) -> Ref<SceneNodeData>
[src]
The data of this scene node.
pub fn data_mut(&mut self) -> RefMut<SceneNodeData>
[src]
The data of this scene node.
pub fn add_group(&mut self) -> SceneNode
[src]
Adds a node without object to this node children.
pub fn add_child(&mut self, node: SceneNode)
[src]
pub fn add_object(
&mut self,
local_scale: Vector3<f32>,
local_transform: Isometry3<f32>,
object: Object
) -> SceneNode
[src]
&mut self,
local_scale: Vector3<f32>,
local_transform: Isometry3<f32>,
object: Object
) -> SceneNode
Adds a node containing an object to this node children.
pub fn add_cube(&mut self, wx: f32, wy: f32, wz: f32) -> SceneNode
[src]
Adds a cube as a children of this node. The cube is initially axis-aligned and centered at (0, 0, 0).
Arguments
wx
- the cube extent along the x axiswy
- the cube extent along the y axiswz
- the cube extent along the z axis
pub fn add_sphere(&mut self, r: f32) -> SceneNode
[src]
Adds a sphere as a children of this node. The sphere is initially centered at (0, 0, 0).
Arguments
r
- the sphere radius
pub fn add_cone(&mut self, r: f32, h: f32) -> SceneNode
[src]
Adds a cone to the scene. The cone is initially centered at (0, 0, 0) and points toward the
positive y
axis.
Arguments
h
- the cone heightr
- the cone base radius
pub fn add_cylinder(&mut self, r: f32, h: f32) -> SceneNode
[src]
Adds a cylinder to this node children. The cylinder is initially centered at (0, 0, 0)
and has its principal axis aligned with the y
axis.
Arguments
h
- the cylinder heightr
- the cylinder base radius
pub fn add_capsule(&mut self, r: f32, h: f32) -> SceneNode
[src]
Adds a capsule to this node children. The capsule is initially centered at (0, 0, 0) and
has its principal axis aligned with the y
axis.
Arguments
h
- the capsule heightr
- the capsule caps radius
pub fn add_quad(
&mut self,
w: f32,
h: f32,
usubdivs: usize,
vsubdivs: usize
) -> SceneNode
[src]
&mut self,
w: f32,
h: f32,
usubdivs: usize,
vsubdivs: usize
) -> SceneNode
Adds a double-sided quad to this node children. The quad is initially centered at (0, 0, 0). The quad itself is composed of a user-defined number of triangles regularly spaced on a grid. This is the main way to draw height maps.
Arguments
w
- the quad width.h
- the quad height.wsubdivs
- number of horizontal subdivisions. This correspond to the number of squares which will be placed horizontally on each line. Must not be0
.hsubdivs
- number of vertical subdivisions. This correspond to the number of squares which will be placed vertically on each line. Must not be0
. update.
pub fn add_quad_with_vertices(
&mut self,
vertices: &[Point3<f32>],
nhpoints: usize,
nvpoints: usize
) -> SceneNode
[src]
&mut self,
vertices: &[Point3<f32>],
nhpoints: usize,
nvpoints: usize
) -> SceneNode
Adds a double-sided quad with the specified vertices.
pub fn add_geom_with_name(
&mut self,
geometry_name: &str,
scale: Vector3<f32>
) -> Option<SceneNode>
[src]
&mut self,
geometry_name: &str,
scale: Vector3<f32>
) -> Option<SceneNode>
Creates and adds a new object using the geometry registered as geometry_name
.
pub fn add_mesh(
&mut self,
mesh: Rc<RefCell<Mesh>>,
scale: Vector3<f32>
) -> SceneNode
[src]
&mut self,
mesh: Rc<RefCell<Mesh>>,
scale: Vector3<f32>
) -> SceneNode
Creates and adds a new object to this node children using a mesh.
pub fn add_trimesh(
&mut self,
descr: TriMesh<f32>,
scale: Vector3<f32>
) -> SceneNode
[src]
&mut self,
descr: TriMesh<f32>,
scale: Vector3<f32>
) -> SceneNode
Creates and adds a new object using a mesh descriptor.
pub fn add_obj(
&mut self,
path: &Path,
mtl_dir: &Path,
scale: Vector3<f32>
) -> SceneNode
[src]
&mut self,
path: &Path,
mtl_dir: &Path,
scale: Vector3<f32>
) -> SceneNode
Creates and adds multiple nodes created from an obj file.
This will create a new node serving as a root of the scene described by the obj file. This newly created node is added to this node's children.
pub fn apply_to_scene_nodes_mut<F: FnMut(&mut SceneNode)>(&mut self, f: &mut F)
[src]
Applies a closure to each object contained by this node and its children.
pub fn apply_to_scene_nodes<F: FnMut(&SceneNode)>(&self, f: &mut F)
[src]
Applies a closure to each object contained by this node and its children.
pub fn render(&mut self, pass: usize, camera: &mut dyn Camera, light: &Light)
[src]
Render the scene graph rooted by this node.
pub fn set_material(
&mut self,
material: Rc<RefCell<Box<dyn Material + 'static>>>
)
[src]
&mut self,
material: Rc<RefCell<Box<dyn Material + 'static>>>
)
Sets the material of the objects contained by this node and its children.
pub fn set_material_with_name(&mut self, name: &str)
[src]
Sets the material of the objects contained by this node and its children.
pub fn set_lines_width(&mut self, width: f32)
[src]
Sets the width of the lines drawn for the objects contained by this node and its children.
pub fn set_points_size(&mut self, size: f32)
[src]
Sets the size of the points drawn for the objects contained by this node and its children.
pub fn set_surface_rendering_activation(&mut self, active: bool)
[src]
Activates or deactivates the rendering of the surfaces of the objects contained by this node and its children.
pub fn enable_backface_culling(&mut self, active: bool)
[src]
Activates or deactivates backface culling for the objects contained by this node and its children.
pub fn modify_vertices<F: FnMut(&mut Vec<Point3<f32>>)>(&mut self, f: &mut F)
[src]
Mutably accesses the vertices of the objects contained by this node and its children.
The provided closure is called once per object.
pub fn read_vertices<F: FnMut(&[Point3<f32>])>(&self, f: &mut F)
[src]
Accesses the vertices of the objects contained by this node and its children.
The provided closure is called once per object.
pub fn recompute_normals(&mut self)
[src]
Recomputes the normals of the meshes of the objects contained by this node and its children.
pub fn modify_normals<F: FnMut(&mut Vec<Vector3<f32>>)>(&mut self, f: &mut F)
[src]
Mutably accesses the normals of the objects contained by this node and its children.
The provided closure is called once per object.
pub fn read_normals<F: FnMut(&[Vector3<f32>])>(&self, f: &mut F)
[src]
Accesses the normals of the objects contained by this node and its children.
The provided closure is called once per object.
pub fn modify_faces<F: FnMut(&mut Vec<Point3<u16>>)>(&mut self, f: &mut F)
[src]
Mutably accesses the faces of the objects contained by this node and its children.
The provided closure is called once per object.
pub fn read_faces<F: FnMut(&[Point3<u16>])>(&self, f: &mut F)
[src]
Accesses the faces of the objects contained by this node and its children.
The provided closure is called once per object.
pub fn modify_uvs<F: FnMut(&mut Vec<Point2<f32>>)>(&mut self, f: &mut F)
[src]
Mutably accesses the texture coordinates of the objects contained by this node and its children.
The provided closure is called once per object.
pub fn read_uvs<F: FnMut(&[Point2<f32>])>(&self, f: &mut F)
[src]
Accesses the texture coordinates of the objects contained by this node and its children.
The provided closure is called once per object.
pub fn is_visible(&self) -> bool
[src]
Get the visibility status of node.
pub fn set_visible(&mut self, visible: bool)
[src]
Sets the visibility of this node.
The node and its children are not rendered if it is not visible.
pub fn set_color(&mut self, r: f32, g: f32, b: f32)
[src]
Sets the color of the objects contained by this node and its children.
Colors components must be on the range [0.0, 1.0]
.
pub fn set_texture_from_file(&mut self, path: &Path, name: &str)
[src]
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 disk
pub fn set_texture_from_memory(&mut self, image_data: &[u8], name: &str)
[src]
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
image_data
- slice of bytes containing encoded imagename
- &str to identify this texture inTextureManager
pub fn set_texture_with_name(&mut self, name: &str)
[src]
Sets the texture of the objects contained by this node and its children.
The texture must already have been registered as name
.
pub fn set_texture(&mut self, texture: Rc<Texture>)
[src]
Sets the texture of the objects contained by this node and its children.
pub fn set_local_scale(&mut self, sx: f32, sy: f32, sz: f32)
[src]
Sets the local scaling factors of the object.
pub fn reorient(
&mut self,
eye: &Point3<f32>,
at: &Point3<f32>,
up: &Vector3<f32>
)
[src]
&mut self,
eye: &Point3<f32>,
at: &Point3<f32>,
up: &Vector3<f32>
)
Move and orient the object such that it is placed at the point eye
and have its x
axis
oriented toward at
.
pub fn append_transformation(&mut self, t: &Isometry3<f32>)
[src]
Appends a transformation to this node local transformation.
pub fn prepend_to_local_transformation(&mut self, t: &Isometry3<f32>)
[src]
Prepends a transformation to this node local transformation.
pub fn set_local_transformation(&mut self, t: Isometry3<f32>)
[src]
Set this node local transformation.
pub fn append_translation(&mut self, t: &Translation3<f32>)
[src]
Appends a translation to this node local transformation.
pub fn prepend_to_local_translation(&mut self, t: &Translation3<f32>)
[src]
Prepends a translation to this node local transformation.
pub fn set_local_translation(&mut self, t: Translation3<f32>)
[src]
Sets the local translation of this node.
pub fn append_rotation(&mut self, r: &UnitQuaternion<f32>)
[src]
Appends a rotation to this node local transformation.
pub fn append_rotation_wrt_center(&mut self, r: &UnitQuaternion<f32>)
[src]
Appends a rotation to this node local transformation.
pub fn prepend_to_local_rotation(&mut self, r: &UnitQuaternion<f32>)
[src]
Prepends a rotation to this node local transformation.
pub fn set_local_rotation(&mut self, r: UnitQuaternion<f32>)
[src]
Sets the local rotation of this node.
Trait Implementations
Auto Trait Implementations
Blanket Implementations
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From for T
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> SetParameter for T
fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
T: Parameter<Self>,
T: Parameter<Self>,
Sets value
as a parameter of self
.
impl<T> Same for T
type Output = T
Should always be Self
impl<SS, SP> SupersetOf for SP where
SS: SubsetOf<SP>,
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
fn is_in_subset(&self) -> bool
unsafe fn to_subset_unchecked(&self) -> SS
fn from_subset(element: &SS) -> SP
impl<T> Downcast for T where
T: Any,
T: Any,