19#ifndef FLOWENGINESTEREODENSEPOINTCLOUD_H
20#define FLOWENGINESTEREODENSEPOINTCLOUD_H
32 class CameraInterface;
94 Index visibilityIndex,
241 bool saveColors =
true,
242 bool saveNormals =
true,
243 bool useBinaryEncoding =
true )
const = 0;
#define FLOWENGINE_FACTORY
Definition: CommonDef.h:32
Stores a camera object to feed the Structure from Motion parameters.
Definition: CameraInterface.h:38
Pure virtual Log Listener interface.
Definition: LogListenerInterface.h:41
Interface for all FlowEngine objects with an editable name.
Definition: NamedObjectInterface.h:30
Stores a simple Dense Point Cloud object for the FlowEngine interface.
Definition: StereoPointCloudInterface.h:38
virtual FLE_DLL Result setPointPosition(Index idx, const Point3 &position)=0
virtual FLE_DLL Result transform(ConstBuffer< double > transform)=0
virtual FLE_DLL Result removePoints(ConstBuffer< Index > indexes)=0
virtual FLE_DLL Result replaceVisibility(ConstBuffer< CameraInterface * > cameras)=0
virtual FLE_DLL Result getPointPosition(Index idx, Point3 &outPosition) const =0
virtual FLE_DLL Result getPointNormal(Index idx, Normal &outNormal) const =0
virtual FLE_DLL Index getSeedPointCount() const =0
virtual FLE_DLL Result decimateByMaxPointCount(int targetPointCount)=0
virtual FLE_DLL Result copyFrom(const StereoPointCloudInterface &inStereoPoints)=0
virtual FLE_DLL ~StereoPointCloudInterface()=default
Default virtual destructor.
virtual FLE_DLL Result reset(ConstBuffer< Point3 > vertexData, ConstBuffer< Color > colorData, ConstBuffer< Normal > normalData)=0
virtual FLE_DLL Result getPointColor(Index idx, Color &outColor) const =0
virtual FLE_DLL Result densificateByMaxPointCount(int targetPointCount)=0
virtual FLE_DLL Result copyPointsPositions(Buffer< Point3 > outData) const =0
virtual FLE_DLL Result projectOnRegularGrid(double gridSpacing, double radius, StandardAxis axis)=0
virtual FLE_DLL Result decimateByPointsDistance(double distance)=0
virtual FLE_DLL Result removePoint(Index index)=0
virtual FLE_DLL Index getPointVisibilityCount(Index pointIndex) const =0
virtual FLE_DLL Result getPointVisibility(Index pointIndex, Index visibilityIndex, CameraInterface &outCamera) const =0
virtual FLE_DLL Result mergeWith(ConstBuffer< StereoPointCloudInterface * > others, bool lastMerge=true)=0
virtual FLE_DLL Result loadFromPly(ConstStringBuffer filePath)=0
virtual FLE_DLL Index getPointCount() const =0
virtual FLE_DLL Result saveToPly(ConstStringBuffer filePath, bool saveColors=true, bool saveNormals=true, bool useBinaryEncoding=true) const =0
Save the point cloud to PLY file.
virtual FLE_DLL Result reset(Size vertexCount)=0
virtual FLE_DLL Result initializeSeeds(LogListenerInterface &logListener, Index seedPoints, Buffer< CameraInterface * > bubbleViewCameras)=0
virtual FLE_DLL Result decimateByMaxPointCountOctree(unsigned int maxPointCount)=0
virtual FLE_DLL Result setPointColor(Index idx, const Color &color)=0
virtual FLE_DLL Result setPointNormal(Index idx, const Normal &normal)=0
virtual FLE_DLL double getMeanPointDistance() const =0
Definition: BoundingBoxInterface.cpp:26
StereoPointCloudInterface * CreateStereoPointCloud()
Definition: StereoPointCloudInterface.cpp:27
std::ptrdiff_t Index
Index type.
Definition: CommonDef.h:100
void DestroyStereoPointCloud(StereoPointCloudInterface *stereoPointCloud)
Definition: StereoPointCloudInterface.cpp:32
StandardAxis
enumerates the standard axes
Definition: CommonDef.h:492
std::size_t Size
Size type.
Definition: CommonDef.h:103
Result
Enumerates possible results generated by FlowEngine.
Definition: CommonDef.h:45
Holds a (mutable) non_owning pointer and a size Used to marshal memory buffers as arguments in a safe...
Definition: CommonDef.h:118
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 normal
Definition: CommonDef.h:398
a three dimensional point
Definition: CommonDef.h:375