GaussianPod

Trait GaussianPod 

Source
pub trait GaussianPod:
    for<'a> From<&'a Gaussian>
    + Into<Gaussian>
    + Send
    + Sync
    + Debug
    + Clone
    + Copy
    + PartialEq
    + NoUninit
    + AnyBitPattern {
    type ShConfig: GaussianShConfig;
    type Cov3dConfig: GaussianCov3dConfig;

    // Provided methods
    fn into_gaussian(self) -> Gaussian { ... }
    fn from_gaussian(gaussian: &Gaussian) -> Self { ... }
    fn features() -> [(&'static str, bool); 7] { ... }
    fn wesl_features() -> Features { ... }
}
Expand description

The Gaussian POD trait.

The number of configurations for this is the combination of all the GaussianShConfig and GaussianCov3dConfig.

You can use the corresponding config by using the name in the following format: GaussianPodWithSh{ShConfig}Cov3d{Cov3dConfig}Configs, e.g. GaussianPodWithShSingleCov3dRotScaleConfigs.

Required Associated Types§

Source

type ShConfig: GaussianShConfig

The SH configuration.

Source

type Cov3dConfig: GaussianCov3dConfig

The covariance 3D configuration.

Provided Methods§

Source

fn into_gaussian(self) -> Gaussian

Convert from POD to Gaussian.

Source

fn from_gaussian(gaussian: &Gaussian) -> Self

Create a new Gaussian POD from the Gaussian.

Source

fn features() -> [(&'static str, bool); 7]

Create the features for Wesl compilation.

You may want to use GaussianPod::wesl_features most of the time instead.

Source

fn wesl_features() -> Features

Create the features for Wesl compilation as a wesl::Features.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl GaussianPod for GaussianPodWithShHalfCov3dHalfConfigs

Source§

impl GaussianPod for GaussianPodWithShHalfCov3dRotScaleConfigs

Source§

impl GaussianPod for GaussianPodWithShHalfCov3dSingleConfigs

Source§

impl GaussianPod for GaussianPodWithShNoneCov3dHalfConfigs

Source§

impl GaussianPod for GaussianPodWithShNoneCov3dRotScaleConfigs

Source§

impl GaussianPod for GaussianPodWithShNoneCov3dSingleConfigs

Source§

impl GaussianPod for GaussianPodWithShNorm8Cov3dHalfConfigs

Source§

impl GaussianPod for GaussianPodWithShNorm8Cov3dRotScaleConfigs

Source§

impl GaussianPod for GaussianPodWithShNorm8Cov3dSingleConfigs

Source§

impl GaussianPod for GaussianPodWithShSingleCov3dHalfConfigs

Source§

impl GaussianPod for GaussianPodWithShSingleCov3dRotScaleConfigs

Source§

impl GaussianPod for GaussianPodWithShSingleCov3dSingleConfigs