Struct re_components::RawMesh3D
source · pub struct RawMesh3D {
pub mesh_id: MeshId,
pub vertex_positions: Buffer<f32>,
pub vertex_colors: Option<Buffer<u32>>,
pub vertex_normals: Option<Buffer<f32>>,
pub indices: Option<Buffer<u32>>,
pub albedo_factor: Option<Vec4D>,
}
Expand description
A raw “triangle soup” mesh.
assert_eq!(
RawMesh3D::data_type(),
DataType::Struct(vec![
Field::new("mesh_id", DataType::FixedSizeBinary(16), false),
Field::new("vertex_positions", DataType::List(Box::new(
Field::new("item", DataType::Float32, false)),
), false),
Field::new("vertex_colors", DataType::List(Box::new(
Field::new("item", DataType::UInt32, false)),
), true),
Field::new("vertex_normals", DataType::List(Box::new(
Field::new("item", DataType::Float32, false)),
), true),
Field::new("indices", DataType::List(Box::new(
Field::new("item", DataType::UInt32, false)),
), true),
Field::new("albedo_factor", DataType::FixedSizeList(
Box::new(Field::new("item", DataType::Float32, false)),
4
), true),
]),
);
Fields§
§mesh_id: MeshId
§vertex_positions: Buffer<f32>
The flattened vertex positions array of this mesh.
The length of this vector should always be divisible by three (since this is a 3D mesh).
If no indices are specified, then each triplet of vertex positions are interpreted as a triangle and the length of this must be divisible by 9.
vertex_colors: Option<Buffer<u32>>
Per-vertex albedo colors.
This is actually an encoded super::ColorRGBA
vertex_normals: Option<Buffer<f32>>
Optionally, the flattened normals array for this mesh.
If specified, this must match the length of Self::positions
.
indices: Option<Buffer<u32>>
Optionally, the flattened indices array for this mesh.
Meshes are always triangle lists, i.e. the length of this vector should always be divisible by three.
albedo_factor: Option<Vec4D>
Albedo factor applied to the final color of the mesh.
[1.0, 1.0, 1.0, 1.0]
if unspecified.
Implementations§
source§impl RawMesh3D
impl RawMesh3D
pub fn sanity_check(&self) -> Result<(), RawMeshError>
pub fn num_vertices(&self) -> usize
pub fn num_triangles(&self) -> usize
Trait Implementations§
source§impl ArrowDeserialize for RawMesh3D
impl ArrowDeserialize for RawMesh3D
source§impl ArrowField for RawMesh3D
impl ArrowField for RawMesh3D
source§impl ArrowSerialize for RawMesh3D
impl ArrowSerialize for RawMesh3D
§type MutableArrayType = MutableRawMesh3DArray
type MutableArrayType = MutableRawMesh3DArray
The
arrow2::array::MutableArray
that holds this valuesource§fn new_array() -> Self::MutableArrayType
fn new_array() -> Self::MutableArrayType
Create a new mutable array
source§fn arrow_serialize(v: &Self, array: &mut Self::MutableArrayType) -> Result<()>
fn arrow_serialize(v: &Self, array: &mut Self::MutableArrayType) -> Result<()>
Serialize this field to arrow
source§impl PartialEq<RawMesh3D> for RawMesh3D
impl PartialEq<RawMesh3D> for RawMesh3D
impl StructuralPartialEq for RawMesh3D
Auto Trait Implementations§
impl RefUnwindSafe for RawMesh3D
impl Send for RawMesh3D
impl Sync for RawMesh3D
impl Unpin for RawMesh3D
impl UnwindSafe for RawMesh3D
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> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere Dst: LosslessTryFrom<Src>,
source§fn lossless_try_into(self) -> Option<Dst>
fn lossless_try_into(self) -> Option<Dst>
Performs the conversion.
source§impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
impl<Src, Dst> LossyInto<Dst> for Srcwhere Dst: LossyFrom<Src>,
source§fn lossy_into(self) -> Dst
fn lossy_into(self) -> Dst
Performs the conversion.
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.
§impl<T> Pointable for T
impl<T> Pointable for T
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<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> WithSubscriber for T
impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,
source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
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.