pub struct K3dMesh<'a> {
pub similarity: Similarity3<f32>,
pub model_matrix: Matrix4<f32>,
pub color: Rgb565,
pub render_mode: RenderMode,
pub geometry: Geometry<'a>,
pub lod_medium: Option<Geometry<'a>>,
pub lod_low: Option<Geometry<'a>>,
pub lod_levels: LODLevels,
pub priority: u8,
pub outline_color: Option<Rgb565>,
pub outline_width: f32,
}Expand description
A mesh with optional Level of Detail (LOD) support
Fields§
§similarity: Similarity3<f32>§model_matrix: Matrix4<f32>§color: Rgb565§render_mode: RenderMode§geometry: Geometry<'a>§lod_medium: Option<Geometry<'a>>Optional LOD geometries (medium detail, low detail) If None, only the main geometry is used
lod_low: Option<Geometry<'a>>§lod_levels: LODLevels§priority: u8§outline_color: Option<Rgb565>§outline_width: f32Implementations§
Source§impl<'a> K3dMesh<'a>
impl<'a> K3dMesh<'a>
pub fn new(geometry: Geometry<'_>) -> K3dMesh<'_>
Sourcepub fn set_lod<'b>(
&mut self,
medium: Option<Geometry<'b>>,
low: Option<Geometry<'b>>,
levels: LODLevels,
)where
'b: 'a,
pub fn set_lod<'b>(
&mut self,
medium: Option<Geometry<'b>>,
low: Option<Geometry<'b>>,
levels: LODLevels,
)where
'b: 'a,
Set LOD geometries for this mesh
§Arguments
medium- Medium detail geometry (optional)low- Low detail geometry (optional)levels- Distance thresholds for switching LOD levels
Sourcepub fn select_lod(&self, distance: f32) -> &Geometry<'_>
pub fn select_lod(&self, distance: f32) -> &Geometry<'_>
Select the appropriate geometry based on distance from camera
pub fn set_color(&mut self, color: Rgb565)
pub fn set_render_mode(&mut self, mode: RenderMode)
pub fn set_priority(&mut self, priority: u8)
pub fn set_position(&mut self, x: f32, y: f32, z: f32)
pub fn get_position(&self) -> Point3<f32>
pub fn set_attitude(&mut self, roll: f32, pitch: f32, yaw: f32)
Sourcepub fn set_rotation(&mut self, rotation: UnitQuaternion<f32>)
pub fn set_rotation(&mut self, rotation: UnitQuaternion<f32>)
Set orientation directly from a unit quaternion.
pub fn set_target(&mut self, target: Point3<f32>)
pub fn set_scale(&mut self, s: f32)
Sourcepub fn compute_bounding_radius_sq(&self) -> f32
pub fn compute_bounding_radius_sq(&self) -> f32
Compute the squared bounding sphere radius of the mesh in world-ish scale (model-space radius × uniform scale²).
With aabb-cull, uses the cached AABB when present (tighter than
origin-centered verts).
Auto Trait Implementations§
impl<'a> Freeze for K3dMesh<'a>
impl<'a> RefUnwindSafe for K3dMesh<'a>
impl<'a> Send for K3dMesh<'a>
impl<'a> Sync for K3dMesh<'a>
impl<'a> Unpin for K3dMesh<'a>
impl<'a> UnsafeUnpin for K3dMesh<'a>
impl<'a> UnwindSafe for K3dMesh<'a>
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> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
Source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Casts the value.
Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
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.Source§impl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
Source§fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
Source§fn unwrapped_cast_from(src: Src) -> Dst
fn unwrapped_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> WrappingAs for T
impl<T> WrappingAs for T
Source§fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
Source§fn wrapping_cast_from(src: Src) -> Dst
fn wrapping_cast_from(src: Src) -> Dst
Casts the value.