Gaussian

Struct Gaussian 

Source
pub struct Gaussian {
    pub rot: Quat,
    pub pos: Vec3,
    pub color: U8Vec4,
    pub sh: [Vec3; 15],
    pub scale: Vec3,
}
Expand description

The Gaussian.

This is an intermediate representation used by the CPU to convert to GaussianPod.

Fields§

§rot: Quat§pos: Vec3§color: U8Vec4§sh: [Vec3; 15]§scale: Vec3

Implementations§

Source§

impl Gaussian

Source

pub const SH0_TO_LINEAR_FACTOR: f32 = 0.282094806f32

The constant to convert from SH coefficient at degree 0 to linear color.

Source

pub const SPZ_SH0_TO_LINEAR_FACTOR: f32 = 0.150000006f32

The constant to convert from SH coefficient at degree 0 to linear color in SPZ.

Source

pub fn from_ply(ply: &PlyGaussianPod) -> Self

Convert from PlyGaussianPod.

Source

pub fn to_ply(&self) -> PlyGaussianPod

Convert to PlyGaussianPod.

Source

pub fn from_spz(spz: SpzGaussianRef<'_>, header: &SpzGaussiansHeader) -> Self

Convert from SpzGaussianRef.

Source

pub fn to_spz( &self, header: &SpzGaussiansHeader, options: &GaussianToSpzOptions, ) -> SpzGaussian

Convert to SpzGaussian.

User usually don’t need to call this directly due to the overhead of constructing a valid SpzGaussiansHeader. Instead, use one of the following methods to convert a collection of Gaussian to SpzGaussians properly:

Trait Implementations§

Source§

impl AsRef<Gaussian> for Gaussian

Source§

fn as_ref(&self) -> &Gaussian

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Clone for Gaussian

Source§

fn clone(&self) -> Gaussian

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Gaussian

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<&Gaussian> for GaussianPodWithShHalfCov3dHalfConfigs

Source§

fn from(gaussian: &Gaussian) -> Self

Converts to this type from the input type.
Source§

impl From<&Gaussian> for GaussianPodWithShHalfCov3dRotScaleConfigs

Source§

fn from(gaussian: &Gaussian) -> Self

Converts to this type from the input type.
Source§

impl From<&Gaussian> for GaussianPodWithShHalfCov3dSingleConfigs

Source§

fn from(gaussian: &Gaussian) -> Self

Converts to this type from the input type.
Source§

impl From<&Gaussian> for GaussianPodWithShNoneCov3dHalfConfigs

Source§

fn from(gaussian: &Gaussian) -> Self

Converts to this type from the input type.
Source§

impl From<&Gaussian> for GaussianPodWithShNoneCov3dRotScaleConfigs

Source§

fn from(gaussian: &Gaussian) -> Self

Converts to this type from the input type.
Source§

impl From<&Gaussian> for GaussianPodWithShNoneCov3dSingleConfigs

Source§

fn from(gaussian: &Gaussian) -> Self

Converts to this type from the input type.
Source§

impl From<&Gaussian> for GaussianPodWithShNorm8Cov3dHalfConfigs

Source§

fn from(gaussian: &Gaussian) -> Self

Converts to this type from the input type.
Source§

impl From<&Gaussian> for GaussianPodWithShNorm8Cov3dRotScaleConfigs

Source§

fn from(gaussian: &Gaussian) -> Self

Converts to this type from the input type.
Source§

impl From<&Gaussian> for GaussianPodWithShNorm8Cov3dSingleConfigs

Source§

fn from(gaussian: &Gaussian) -> Self

Converts to this type from the input type.
Source§

impl From<&Gaussian> for GaussianPodWithShSingleCov3dHalfConfigs

Source§

fn from(gaussian: &Gaussian) -> Self

Converts to this type from the input type.
Source§

impl From<&Gaussian> for GaussianPodWithShSingleCov3dRotScaleConfigs

Source§

fn from(gaussian: &Gaussian) -> Self

Converts to this type from the input type.
Source§

impl From<&Gaussian> for GaussianPodWithShSingleCov3dSingleConfigs

Source§

fn from(gaussian: &Gaussian) -> Self

Converts to this type from the input type.
Source§

impl From<&Gaussian> for PlyGaussianPod

Source§

fn from(gaussian: &Gaussian) -> Self

Converts to this type from the input type.
Source§

impl From<Gaussian> for PlyGaussianPod

Source§

fn from(gaussian: Gaussian) -> Self

Converts to this type from the input type.
Source§

impl From<GaussianPodWithShHalfCov3dHalfConfigs> for Gaussian

Source§

fn from(pod: GaussianPodWithShHalfCov3dHalfConfigs) -> Self

Converts to this type from the input type.
Source§

impl From<GaussianPodWithShHalfCov3dRotScaleConfigs> for Gaussian

Source§

fn from(pod: GaussianPodWithShHalfCov3dRotScaleConfigs) -> Self

Converts to this type from the input type.
Source§

impl From<GaussianPodWithShHalfCov3dSingleConfigs> for Gaussian

Source§

fn from(pod: GaussianPodWithShHalfCov3dSingleConfigs) -> Self

Converts to this type from the input type.
Source§

impl From<GaussianPodWithShNoneCov3dHalfConfigs> for Gaussian

Source§

fn from(pod: GaussianPodWithShNoneCov3dHalfConfigs) -> Self

Converts to this type from the input type.
Source§

impl From<GaussianPodWithShNoneCov3dRotScaleConfigs> for Gaussian

Source§

fn from(pod: GaussianPodWithShNoneCov3dRotScaleConfigs) -> Self

Converts to this type from the input type.
Source§

impl From<GaussianPodWithShNoneCov3dSingleConfigs> for Gaussian

Source§

fn from(pod: GaussianPodWithShNoneCov3dSingleConfigs) -> Self

Converts to this type from the input type.
Source§

impl From<GaussianPodWithShNorm8Cov3dHalfConfigs> for Gaussian

Source§

fn from(pod: GaussianPodWithShNorm8Cov3dHalfConfigs) -> Self

Converts to this type from the input type.
Source§

impl From<GaussianPodWithShNorm8Cov3dRotScaleConfigs> for Gaussian

Source§

fn from(pod: GaussianPodWithShNorm8Cov3dRotScaleConfigs) -> Self

Converts to this type from the input type.
Source§

impl From<GaussianPodWithShNorm8Cov3dSingleConfigs> for Gaussian

Source§

fn from(pod: GaussianPodWithShNorm8Cov3dSingleConfigs) -> Self

Converts to this type from the input type.
Source§

impl From<GaussianPodWithShSingleCov3dHalfConfigs> for Gaussian

Source§

fn from(pod: GaussianPodWithShSingleCov3dHalfConfigs) -> Self

Converts to this type from the input type.
Source§

impl From<GaussianPodWithShSingleCov3dRotScaleConfigs> for Gaussian

Source§

fn from(pod: GaussianPodWithShSingleCov3dRotScaleConfigs) -> Self

Converts to this type from the input type.
Source§

impl From<GaussianPodWithShSingleCov3dSingleConfigs> for Gaussian

Source§

fn from(pod: GaussianPodWithShSingleCov3dSingleConfigs) -> Self

Converts to this type from the input type.
Source§

impl FromIterator<Gaussian> for Gaussians

Source§

fn from_iter<T: IntoIterator<Item = Gaussian>>(iter: T) -> Self

Creates a value from an iterator. Read more
Source§

impl PartialEq for Gaussian

Source§

fn eq(&self, other: &Gaussian) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for Gaussian

Source§

impl StructuralPartialEq for Gaussian

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Downcast<T> for T

Source§

fn downcast(&self) -> &T

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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 more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> Upcast<T> for T

Source§

fn upcast(&self) -> Option<&T>

Source§

impl<T> WasmNotSend for T
where T: Send,

Source§

impl<T> WasmNotSendSync for T

Source§

impl<T> WasmNotSync for T
where T: Sync,