FlowEngine 9.000
Photogrammetry Software Development Kit
Loading...
Searching...
No Matches
GaussianSplatsInterface.h
Go to the documentation of this file.
1/*
2 *
3 * C@@o ____ _____ __ _
4 * oC8@@@@@@@o |___ \| __ \ / _| |
5 * o@@@@@@@@@@@@O __) | | | | |_| | _____ __
6 * O@O 8@@@@@@@@@O |__ <| | | | _| |/ _ \ \ /\ / /
7 * o@@@@@@@O OOOOOCo ___) | |__| | | | | (_) \ V V /
8 * C@@@@@@@@@@@@Oo |____/|_____/|_| |_|\___/ \_/\_/
9 * o8@@@@@@@@@@@@@@@@8OOCCCC
10 * oO@@@@@@@@@@@@@@@@@@@o 3Dflow s.r.l. - www.3dflow.net
11 * oO8@@@@@@@@@@@@o Copyright 2026
12 * oO88@@@@@@@@8OCo All Rights Reserved
13 * O@@@@@@@@@@@@@@@@@@@@@@@@@8OCCoooooooCCo
14 * @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O
15 * @@@Oo oO8@@@@@@@@@@@@@@@@8
16 *
17 */
18
19#ifndef FLOWENGINEGAUSSIANSPLATINTERFACE_H
20#define FLOWENGINEGAUSSIANSPLATINTERFACE_H
21
22#pragma once
23
24#include "CommonDef.h"
25
27#include "BulkAccessInterface.h"
28
29namespace FlowEngine
30{
34 {
35 public:
36
38 FLE_DLL virtual ~GaussianSplatsInterface() = default;
39
40 public:
41
43 FLE_DLL virtual Index getSplatCount() const = 0;
44
49 FLE_DLL virtual Result getSplatPosition( Index idx, Point3 &outPosition ) const = 0;
50
59 FLE_DLL virtual Result getSplatScaleAndRotation( Index idx, Vector3 &outScales, Quaternion &outRotation ) const = 0;
60
61 public:
62
70 FLE_DLL virtual Result saveToPly( ConstStringBuffer filePath,
71 bool saveSHBands = false,
72 bool useBinaryEncoding = true ) const = 0;
73 };
74
78
82}
83
84#endif
#define FLOWENGINE_FACTORY
Definition: CommonDef.h:32
Interface for all FlowEngine objects with functions to access data in bulk.
Definition: BulkAccessInterface.h:30
Stores a Gaussian Splat point cloud object for the FlowEngine interface.
Definition: GaussianSplatsInterface.h:34
virtual FLE_DLL ~GaussianSplatsInterface()=default
Default virtual destructor.
virtual FLE_DLL Result saveToPly(ConstStringBuffer filePath, bool saveSHBands=false, bool useBinaryEncoding=true) const =0
virtual FLE_DLL Result getSplatScaleAndRotation(Index idx, Vector3 &outScales, Quaternion &outRotation) const =0
virtual FLE_DLL Index getSplatCount() const =0
virtual FLE_DLL Result getSplatPosition(Index idx, Point3 &outPosition) const =0
Interface for all FlowEngine objects with an editable name.
Definition: NamedObjectInterface.h:30
Definition: BoundingBoxInterface.cpp:26
std::ptrdiff_t Index
Index type.
Definition: CommonDef.h:103
GaussianSplatsInterface * CreateGaussianSplats()
Definition: GaussianSplatsInterface.cpp:27
void DestroyGaussianSplats(GaussianSplatsInterface *gaussianSplats)
Definition: GaussianSplatsInterface.cpp:32
Result
Enumerates possible results generated by FlowEngine.
Definition: CommonDef.h:48
Specialization for a const buffer characters.
Definition: CommonDef.h:305
a three dimensional point
Definition: CommonDef.h:459
a Quaternion Holds an axis and an angle
Definition: CommonDef.h:551
a 3d vector
Definition: CommonDef.h:625