19#ifndef FLOWENGINESTEREOMESH_H
20#define FLOWENGINESTEREOMESH_H
30 class CameraInterface;
31 class StereoPointCloudInterface;
32 class SettingsInterface;
95 Index visibilityIndex,
#define FLOWENGINE_FACTORY
Definition: CommonDef.h:32
Stores a camera object to feed the Structure from Motion parameters.
Definition: CameraInterface.h:38
Interface for all FlowEngine objects with an editable name.
Definition: NamedObjectInterface.h:30
Stores the processing settings.
Definition: SettingsInterface.h:32
Stores a simple stereo mesh object for the FlowEngine interface.
Definition: StereoMeshInterface.h:38
virtual FLE_DLL Result extractStereoMesh(StereoPointCloudInterface &outStereoPoints) const =0
Kept for compatibility. See extractStereoPointCloud.
virtual FLE_DLL Result loadFromPly(ConstStringBuffer filePath)=0
virtual FLE_DLL Result removePoint(Index index)=0
virtual FLE_DLL ~StereoMeshInterface()=default
Default virtual destructor.
virtual FLE_DLL Result remesh(double factor, int iterations, SettingsInterface *settings=nullptr)=0
virtual FLE_DLL Result bilateralSmoothing(int iterations, double sigma, SettingsInterface *settings=nullptr)=0
virtual FLE_DLL Result computeVolume(double &outVolume) const =0
virtual FLE_DLL Result setPointColor(Index idx, const Color &color)=0
virtual FLE_DLL Index getPointCount() const =0
virtual FLE_DLL Result setTriangle(Index idx, const Triangle &triangle)=0
virtual FLE_DLL Result extractStereoPointCloud(StereoPointCloudInterface &outStereoPoints) const =0
virtual FLE_DLL Result copyFrom(const StereoMeshInterface &inStereoMesh)=0
virtual FLE_DLL Result loadFromObj(ConstStringBuffer filePath)=0
virtual FLE_DLL Result laplacianSmoothing(int iterations, SettingsInterface *settings=nullptr)=0
virtual FLE_DLL Result saveToPly(ConstStringBuffer filePath, bool useBinaryEncoding=true) const =0
virtual FLE_DLL Result reset(Size vertexCount, Size triangleCount)=0
virtual FLE_DLL Result decimate(Size targetVertices, bool preserveBoundaries=false, SettingsInterface *settings=nullptr)=0
virtual FLE_DLL Result setPointPosition(Index idx, const Point3 &position)=0
virtual FLE_DLL Result saveToObj(ConstStringBuffer filePath, bool saveColor=false) const =0
virtual FLE_DLL Result densify(Size targetVertices, SettingsInterface *settings=nullptr)=0
virtual FLE_DLL Result replaceVisibility(ConstBuffer< CameraInterface * > cameras)=0
virtual FLE_DLL Index getTriangleCount() const =0
virtual FLE_DLL Result computeWatertightMesh(SettingsInterface *settings=nullptr)=0
virtual FLE_DLL Result getPointVisibility(Index pointIndex, Index visibilityIndex, CameraInterface &outCamera) const =0
virtual FLE_DLL Result getPointPosition(Index idx, Point3 &outPosition) const =0
virtual FLE_DLL Result getTriangle(Index idx, Triangle &outTriangle) const =0
virtual FLE_DLL Result removePoints(ConstBuffer< Index > indexes)=0
virtual FLE_DLL Result reset(ConstBuffer< Point3 > vertexData, ConstBuffer< Triangle > triangleData, ConstBuffer< Color > colorData)=0
virtual FLE_DLL Result computeArea(double &outArea) const =0
virtual FLE_DLL Index getPointVisibilityCount(Index pointIndex) const =0
virtual FLE_DLL Result transform(ConstBuffer< double > transform)=0
virtual FLE_DLL Result getPointColor(Index idx, Color &outColor) const =0
Stores a simple Dense Point Cloud object for the FlowEngine interface.
Definition: StereoPointCloudInterface.h:38
Definition: BoundingBoxInterface.cpp:26
std::ptrdiff_t Index
Index type.
Definition: CommonDef.h:100
void DestroyStereoMesh(StereoMeshInterface *stereoMesh)
Definition: StereoMeshInterface.cpp:32
std::size_t Size
Size type.
Definition: CommonDef.h:103
StereoMeshInterface * CreateStereoMesh()
Definition: StereoMeshInterface.cpp:27
Result
Enumerates possible results generated by FlowEngine.
Definition: CommonDef.h:45
a packed RGB color
Definition: CommonDef.h:411
Specialization for a const buffer characters.
Definition: CommonDef.h:296
Holds a (non mutable) non_owning pointer and a count Used to marshal memory buffers as arguments in a...
Definition: CommonDef.h:191
a three dimensional point
Definition: CommonDef.h:375
a triangle. Holds 3 indexes to points. Triangles are specified in counter-clockwise order
Definition: CommonDef.h:442