ReUseX  0.0.5
3D Point Cloud Processing for Building Reuse
Loading...
Searching...
No Matches
reusex::gsplat::GaussianCloud Struct Reference

A set of 3D Gaussians in plain host memory. More...

#include <GaussianCloud.hpp>

Collaboration diagram for reusex::gsplat::GaussianCloud:

Public Member Functions

std::size_t size () const
bool empty () const
void validate () const
 Throws std::runtime_error naming the first array whose length disagrees.

Public Attributes

std::vector< std::array< float, 3 > > means
 world-space centres [m]
std::vector< std::array< float, 3 > > scales
 log-scales, per axis
std::vector< std::array< float, 4 > > quats
 rotation (w, x, y, z)
std::vector< float > opacities
 logit-opacity
std::vector< std::array< float, 3 > > sh_dc
 degree-0 SH per channel
std::vector< std::vector< float > > sh_rest
 Higher-order SH, [N][(sh_bands-1)*3] flattened; empty when degree 0.
int sh_degree = 0
 active SH degree (0 = DC only)

Detailed Description

A set of 3D Gaussians in plain host memory.

Deliberately POD-ish and torch-free: this is the module's public exchange type, so reusex_gsplat's public headers stay clear of LibTorch (the same reason ProjectDB hides sqlite3 — docs/STANDARDS.md §2). The trainer uploads these arrays into CUDA tensors internally and writes them back on save.

Storage conventions follow the reference 3DGS .ply format so a trained model opens in standard splat viewers:

  • scales are log-scales (exp() gives metres),
  • opacities are logits (sigmoid() gives alpha in [0,1]),
  • quats are (w, x, y, z), not necessarily normalised,
  • sh_dc is the degree-0 coefficient triple, not RGB.

All arrays are index-aligned and must be filtered or reordered together.

Definition at line 47 of file GaussianCloud.hpp.

Member Function Documentation

◆ empty()

bool reusex::gsplat::GaussianCloud::empty ( ) const
inline

Definition at line 58 of file GaussianCloud.hpp.

References means.

◆ size()

std::size_t reusex::gsplat::GaussianCloud::size ( ) const
inline

Definition at line 57 of file GaussianCloud.hpp.

References means.

◆ validate()

void reusex::gsplat::GaussianCloud::validate ( ) const

Throws std::runtime_error naming the first array whose length disagrees.

Member Data Documentation

◆ means

std::vector<std::array<float, 3> > reusex::gsplat::GaussianCloud::means

world-space centres [m]

Definition at line 48 of file GaussianCloud.hpp.

Referenced by empty(), and size().

◆ opacities

std::vector<float> reusex::gsplat::GaussianCloud::opacities

logit-opacity

Definition at line 51 of file GaussianCloud.hpp.

◆ quats

std::vector<std::array<float, 4> > reusex::gsplat::GaussianCloud::quats

rotation (w, x, y, z)

Definition at line 50 of file GaussianCloud.hpp.

◆ scales

std::vector<std::array<float, 3> > reusex::gsplat::GaussianCloud::scales

log-scales, per axis

Definition at line 49 of file GaussianCloud.hpp.

◆ sh_dc

std::vector<std::array<float, 3> > reusex::gsplat::GaussianCloud::sh_dc

degree-0 SH per channel

Definition at line 52 of file GaussianCloud.hpp.

◆ sh_degree

int reusex::gsplat::GaussianCloud::sh_degree = 0

active SH degree (0 = DC only)

Definition at line 55 of file GaussianCloud.hpp.

◆ sh_rest

std::vector<std::vector<float> > reusex::gsplat::GaussianCloud::sh_rest

Higher-order SH, [N][(sh_bands-1)*3] flattened; empty when degree 0.

Definition at line 54 of file GaussianCloud.hpp.


The documentation for this struct was generated from the following file: