FlowEngine 9.000
Photogrammetry Software Development Kit
Loading...
Searching...
No Matches
FlowEngine::GaussianSplatsInterface Class Referenceabstract

#include <GaussianSplatsInterface.h>

Inheritance diagram for FlowEngine::GaussianSplatsInterface:
FlowEngine::NamedObjectInterface FlowEngine::BulkAccessInterface

Public Member Functions

virtual FLE_DLL Index getSplatCount () const =0
 
virtual FLE_DLL Result getSplatPosition (Index idx, Point3 &outPosition) const =0
 
virtual FLE_DLL Result getSplatScaleAndRotation (Index idx, Vector3 &outScales, Quaternion &outRotation) const =0
 
virtual FLE_DLL Result saveToPly (ConstStringBuffer filePath, bool saveSHBands=false, bool useBinaryEncoding=true) const =0
 
virtual FLE_DLL ~GaussianSplatsInterface ()=default
 
- Public Member Functions inherited from FlowEngine::NamedObjectInterface
virtual FLE_DLL Result getName (StringBuffer outName) const =0
 
virtual FLE_DLL Size getNameLength () const =0
 
virtual FLE_DLL Result setName (ConstStringBuffer name)=0
 
virtual FLE_DLL ~NamedObjectInterface ()=default
 
- Public Member Functions inherited from FlowEngine::BulkAccessInterface
virtual FLE_DLL Index getPointCount () const =0
 
virtual FLE_DLL Result getPointData (DataType type, Buffer< void > outData) const =0
 
virtual FLE_DLL Result setPointData (DataType type, ConstBuffer< void > data)=0
 
virtual FLE_DLL ~BulkAccessInterface ()=default
 

Additional Inherited Members

- Public Types inherited from FlowEngine::BulkAccessInterface
enum  DataType {
  DataType_Positions , DataType_Normals , DataType_Colors , DataType_TexCoords ,
  DataType_SplatInfo
}
 

Detailed Description

Stores a Gaussian Splat point cloud object for the FlowEngine interface.

Constructor & Destructor Documentation

◆ ~GaussianSplatsInterface()

virtual FLE_DLL FlowEngine::GaussianSplatsInterface::~GaussianSplatsInterface ( )
virtualdefault

Default virtual destructor.

Member Function Documentation

◆ getSplatCount()

virtual FLE_DLL Index FlowEngine::GaussianSplatsInterface::getSplatCount ( ) const
pure virtual
Returns
the number of splats in this object

◆ getSplatPosition()

virtual FLE_DLL Result FlowEngine::GaussianSplatsInterface::getSplatPosition ( Index  idx,
Point3 outPosition 
) const
pure virtual

Returns the position of the splat at index idx.

Parameters
[in]idxthe index of the position to retrieve. Must be in the range [0, getSplatCount()).
[out]outPositionthe retrieved splat position

◆ getSplatScaleAndRotation()

virtual FLE_DLL Result FlowEngine::GaussianSplatsInterface::getSplatScaleAndRotation ( Index  idx,
Vector3 outScales,
Quaternion outRotation 
) const
pure virtual

Returns the scale and rotation of the splat at index idx.

Parameters
[in]idxthe index of the scale and rotation to retrieve. Must be in the range [0, getSplatCount()).
[out]outScalesthe retrieved splat scales.
[out]outRotationthe retrieved splat rotation.
Returns
One of the following result codes:

◆ saveToPly()

virtual FLE_DLL Result FlowEngine::GaussianSplatsInterface::saveToPly ( ConstStringBuffer  filePath,
bool  saveSHBands = false,
bool  useBinaryEncoding = true 
) const
pure virtual

Save the point cloud to PLY file

Parameters
[in]filePathUTF-8 encoded path to the output PLY file
[in]saveSHBandswhether to save the Spherical Harmonics bands in the PLY file as custom properties. The file size will be significantly larger if this option is enabled.
[in]useBinaryEncodingwhether to save the PLY file in binary encoding. If false, the file will be saved in ASCII encoding. Binary encoding results in smaller files, but may not be compatible with all software that supports PLY files.