FlowEngine 7.530
Photogrammetry Software Development Kit
|
Stores a simple stereo mesh object for the FlowEngine interface. More...
#include <StereoMeshInterface.h>
Public Member Functions | |
virtual FLE_DLL | ~StereoMeshInterface ()=default |
Default virtual destructor. | |
virtual FLE_DLL Index | getPointCount () const =0 |
virtual FLE_DLL Index | getTriangleCount () const =0 |
virtual FLE_DLL Result | getPointPosition (Index idx, Point3 &outPosition) const =0 |
virtual FLE_DLL Result | getPointColor (Index idx, Color &outColor) const =0 |
virtual FLE_DLL Result | getTriangle (Index idx, Triangle &outTriangle) const =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 | copyFrom (const StereoMeshInterface &inStereoMesh)=0 |
virtual FLE_DLL Result | reset (Size vertexCount, Size triangleCount)=0 |
virtual FLE_DLL Result | reset (ConstBuffer< Point3 > vertexData, ConstBuffer< Triangle > triangleData, ConstBuffer< Color > colorData)=0 |
virtual FLE_DLL Result | replaceVisibility (ConstBuffer< CameraInterface * > cameras)=0 |
virtual FLE_DLL Result | setPointPosition (Index idx, const Point3 &position)=0 |
virtual FLE_DLL Result | setPointColor (Index idx, const Color &color)=0 |
virtual FLE_DLL Result | setTriangle (Index idx, const Triangle &triangle)=0 |
virtual FLE_DLL Result | transform (ConstBuffer< double > transform)=0 |
virtual FLE_DLL Result | removePoint (Index index)=0 |
virtual FLE_DLL Result | removePoints (ConstBuffer< Index > indexes)=0 |
virtual FLE_DLL Result | decimate (Size targetVertices, bool preserveBoundaries=false, SettingsInterface *settings=nullptr)=0 |
virtual FLE_DLL Result | densify (Size targetVertices, SettingsInterface *settings=nullptr)=0 |
virtual FLE_DLL Result | remesh (double factor, int iterations, SettingsInterface *settings=nullptr)=0 |
virtual FLE_DLL Result | laplacianSmoothing (int iterations, SettingsInterface *settings=nullptr)=0 |
virtual FLE_DLL Result | bilateralSmoothing (int iterations, double sigma, SettingsInterface *settings=nullptr)=0 |
virtual FLE_DLL Result | computeWatertightMesh (SettingsInterface *settings=nullptr)=0 |
virtual FLE_DLL Result | computeVolume (double &outVolume) const =0 |
virtual FLE_DLL Result | computeArea (double &outArea) const =0 |
virtual FLE_DLL Result | loadFromPly (ConstStringBuffer filePath)=0 |
virtual FLE_DLL Result | saveToPly (ConstStringBuffer filePath, bool useBinaryEncoding=true) const =0 |
virtual FLE_DLL Result | loadFromObj (ConstStringBuffer filePath)=0 |
virtual FLE_DLL Result | saveToObj (ConstStringBuffer filePath, bool saveColor=false) const =0 |
virtual FLE_DLL Result | extractStereoMesh (StereoPointCloudInterface &outStereoPoints) const =0 |
Kept for compatibility. See extractStereoPointCloud. | |
virtual FLE_DLL Result | extractStereoPointCloud (StereoPointCloudInterface &outStereoPoints) const =0 |
Public Member Functions inherited from FlowEngine::NamedObjectInterface | |
virtual FLE_DLL | ~NamedObjectInterface ()=default |
Default virtual destructor. | |
virtual FLE_DLL Size | getNameLength () const =0 |
virtual FLE_DLL Result | getName (StringBuffer outName) const =0 |
virtual FLE_DLL Result | setName (ConstStringBuffer name)=0 |
Stores a simple stereo mesh object for the FlowEngine interface.
Nothing needed in input. Everything will be filled by FlowEngine during MVS Computation.
|
virtualdefault |
Default virtual destructor.
|
pure virtual |
Applies a bilateral smoothing filtering to this mesh. This filter reduces noise by improving and emphasizing edges where possible.
[in] | iterations | the number of iterations. Must be in the range [1, 50] |
[in] | sigma | the smoothing strength. Must be in the range (0, 1]. |
[in] | settings | (optional) pointer to a settings object. It will be used to query for available CUDA devices. |
iterations
is not in the valid range.sigma
is not in the valid range.
|
pure virtual |
Computes the are of this mesh.
[out] | outArea | the area of the mesh. |
|
pure virtual |
Computes the volume of this mesh.
[out] | outVolume | the volume of the mesh. |
|
pure virtual |
Computes a watertight mesh by closing all the holes in this mesh.
[in] | settings | (optional) pointer to a settings object. It will be used to query for available CUDA devices. |
|
pure virtual |
Copies data from another Stereo Mesh.
[in] | inStereoMesh | the stereo textured mesh in input |
|
pure virtual |
Decimates a mesh to the desired target number of vertices.
[in] | targetVertices | the target number of vertices. Must be less than the current number of points, i.e. getPointCount(). |
[in] | preserveBoundaries | when true, boundary triangles will not be decimated. |
[in] | settings | (optional) pointer to a settings object. It will be used to query for available CUDA devices. |
targetVertices
is not in the valid range.
|
pure virtual |
Densifies a mesh to the desired target number of vertices.
[in] | targetVertices | the target number of vertices. Must be greater than the current number of points, i.e. getPointCount(). |
[in] | settings | (optional) pointer to a settings object. It will be used to query for available CUDA devices. |
targetVertices
is not in the valid range.
|
pure virtual |
Kept for compatibility. See extractStereoPointCloud.
|
pure virtual |
Extracts a stereo point cloud from the current stereo mesh object.
[out] | outStereoPoints | the stereo point cloud in output |
|
pure virtual |
Returns the color of the point at index idx
. This function is not available in the free version of the SDK.
[in] | idx | the index of the position to Returns Must be in the range [0, getPointCount()) |
[out] | outColor | the retrieved color |
|
pure virtual |
|
pure virtual |
Returns the position of the point at index idx
. This function is not available in the free version of the SDK.
[in] | idx | the index of the position to Returns. Must be in the range [0, getPointCount()) |
[out] | outPosition | the retrieved point position |
|
pure virtual |
Queries visibility information about a point.
[in] | pointIndex | the point to query for visibility info. Must be in the range [0, getPointCount()) |
[in] | visibilityIndex | the index of the visibility entry. Must be in the range [0, getPointVisibilityCount( pointIndex )) |
[in,out] | outCamera | the Camera object to fill with the information, |
outCamera
is filled with the visibility information queried.outCamera
is not a valid Camera object.pointIndex
is not in the valid range.visibilityInfo
is not in the valid range.
|
pure virtual |
Queries the number of visibility information present in a point.
[in] | pointIndex | the index of the point to query for visibility count. Must be in the range [0, getPointCount()) |
pointIndex
.
|
pure virtual |
Returns the index at index idx
. A triangle is a triplet of indexes that reference points in this Stereo mesh object. This function is not available in the free version of the SDK.
[in] | idx | the index of the triangle to Returns Must be in the range [0, getTriangleCount()) |
[out] | outTriangle | the Returnsd triangle |
|
pure virtual |
|
pure virtual |
Applies a laplacian smoothing filtering to this mesh.
[in] | iterations | number of iterations |
[in] | settings | (optional) pointer to a settings object. It will be used to query for available CUDA devices. |
iterations
is not in the valid range.
|
pure virtual |
Loads the mesh from a OBJ file.
[in] | filePath | a string buffer containing the UTF-8 encoded path to the OBJ file. |
filePath
is not a valid string buffer.filePath
does not point to an existing file.filePath
does not point to a valid OBJ file or if there was a generic IO error.
|
pure virtual |
Loads the mesh from a PLY file.
[in] | filePath | a string buffer containing the UTF-8 encoded path to the PLY file. |
filePath
is not a valid string buffer.filePath
does not point to an existing file.filePath
does not point to a valid PLY file or if there was a generic IO error.
|
pure virtual |
Applies an isotropic remeshing to this mesh.
[in] | factor | remesh factor. A factor of 2 will approximately double the mesh vertices, while a factor of 0.5 will approximately halve the mesh vertices. Must be greater than 0. |
[in] | iterations | number of iterations. |
[in] | settings | (optional) pointer to a settings object. It will be used to query for available CUDA devices. |
factor
is not in the valid range.iterations
is not in the valid range.Removes one point from this stereo mesh. Triangles will be updated automatically.
[in] | index | the index of the point to be removed. Must be in the range [0, getPointCount()). |
index
is not in the valid range.
|
pure virtual |
Removes one or more points from this stereo mesh. Triangles will be updated automatically.
[in] | indexes | a buffer of point indexes to be removed. Each index must be in the range [0, getPointCount()). |
indexes
is not a valid buffer.indexes
is not in the valid range.
|
pure virtual |
Replaces this stereo point cloud visibility.
[in] | cameras | a buffer of Camera(s) that will replace the internal ones. New cameras should match the number, the name and the dimensions of the current ones in this object. |
cameras
is not a valid buffer or its contents do not satisfy the required constraints.
|
pure virtual |
Reset this Stereo Mesh object. All properties will be invalidated.
[in] | vertexData | a buffer of Point3(s). Its length must be at least 3. |
[in] | triangleData | a buffer of Triangle(s). Its length must be at least 1. |
[in] | colorData | a (optional) buffer of Color(s). When not specified or its length differs from vertexData's, the mesh is colored white (255, 255, 255). |
vertexData
is not a valid buffer or its length is less than 3.triangleData
is not a valid buffer or its length is less than 1.colorData
is a valid buffer but its length is different from vertexData
.
|
pure virtual |
Reset this Stereo Mesh object. All the properties will be invalidated, and you must fill the mesh data with the manual set functions.
[in] | vertexCount | the new number of vertices. There should be at least 3 unique vertexes in a mesh. |
[in] | triangleCount | the new number of triangles. There should be at least 1 triangle in a mesh. |
vertexCount
is less than 3.triangleCount
is less than 1.
|
pure virtual |
Saves this mesh to a file in OBJ+Material format.
[in] | filePath | string buffer that contains the UTF-8 file path where the mesh will be saved to. |
[in] | saveColor | (default false). when true, color information will be included in the obj. Note: the OBJ format does not officially support this feature, but some programs can read this information. |
filePath
is not a valid string buffer.filePath
's parent path (i.e. the containing directory) does not exist.
|
pure virtual |
Saves this mesh to a file in PLY format.
[in] | filePath | string buffer that contains the UTF-8 file path where the mesh will be saved to. |
[in] | useBinaryEncoding | (default: yes) use binary encoding when saving instead of plain ASCII. |
filePath
is not a valid string buffer.
|
pure virtual |
Changes the color of a point.
[in] | idx | the point index. Must be in the range [0, getPointCount()) |
[in] | color | the new point color |
|
pure virtual |
Changes the position of a point.
[in] | idx | the point index. Must be in the range [0, getPointCount()) |
[in] | position | the new point position |
|
pure virtual |
Changes the triangle indexes of a triangle.
[in] | idx | the triangle index. Must be in the range [0, getTriangleCount()) |
[in] | triangle | the triangle indexes. Indexes must be in range [0, getPointCount()) |
|
pure virtual |
Transforms every point in the mesh with a SRT matrix.
[in] | transform | a buffer of doubles representing the 4x4 transform matrix that will be applied to every point. |
transform
is not a valid buffer or is not 16 doubles long.