#include <delaunay3d.h>
Static Public Member Functions | |
static MAXON_METHOD Delaunay3DInterface * | Alloc (MAXON_SOURCE_LOCATION_DECLARATION) |
static MAXON_METHOD Float | OrientDet (const Vector &planePointA, const Vector &planePointB, const Vector &planePointC, const Vector &testPoint) |
Private Member Functions | |
MAXON_INTERFACE_NONVIRTUAL (Delaunay3DInterface, MAXON_REFERENCE_NORMAL, "net.maxon.interface.delaunay3d") | |
|
private |
|
static |
MAXON_METHOD Result<void> CopyFrom | ( | const Delaunay3DInterface * | src, |
COLLECTION_RESIZE_FLAGS | resizeFlags = COLLECTION_RESIZE_FLAGS::FIT_TO_SIZE |
||
) |
Copies the content of another Delaunay3D Object into this one (copy and assign is not allowed)
[in] | src | The Delaunay3D Object to copy from. |
[in] | resizeFlags | Resize flag for internal list copies. recommended is default. |
MAXON_METHOD Result<void> Init | ( | const Range< Vector > & | workSpace | ) |
The Initialization function for Delaunay3D. Needs to be called before points can be added into the tetrahedralization.
[in] | workSpace | The space in which the input points will be in. Should not be too big for numeric reasons. |
MAXON_METHOD Result<void> CalculateDelaunayTetrahedralization | ( | ) |
Updates the Tetrahedralization if new points have been added. This triggers the final calculation or update of the tetrahedralization.
MAXON_METHOD Bool IsInitialized | ( | ) |
MAXON_METHOD Result<void> AddPointsIntoTetrahedralization | ( | const BaseArray< Vector > & | newPointsIn | ) |
Adds a BaseArray of points into the tetrahedralization. CalculateDelaunayTetrahedralization() needs to be called afterwards to calculate the insertion.
[in] | newPointsIn | The list of points, that will be added into the tetrahedralization. |
MAXON_METHOD Result<void> AddPointIntoTetrahedralization | ( | const Vector & | newPointIn | ) |
Adds a single point into the tetrahedralization. CalculateDelaunayTetrahedralization() needs to be called afterwards to calculate the insertion.
[in] | newPointIn | The point that will be added into the tetrahedralization. |
MAXON_METHOD const BaseArray<Tetrahedron>& GetTetrahedrons | ( | Int & | arrayCount, |
Int & | pointCount | ||
) | const |
Gets a constant reference to the tetrahedrons list. THREADSAFE.
[out] | arrayCount | Will be filled with the amount of tetrahedrons in the array reference. |
[out] | pointCount | Will be filled with the amount of points inserted into the teterahedralization. |
MAXON_METHOD const BaseArray<Tetrahedron>& GetTetrahedrons | ( | ) | const |
Gets a constant reference to the tetrahedrons list. THREADSAFE.
MAXON_METHOD const BaseArray<Int32>& GetPointsToTetConnections | ( | ) | const |
Gets a constant reference to the connection of one of the points to an arbitrary adjacent tetrahedron. This can be used to greatly increase the calculation speed of a Voronoi conversion. THREADSAFE.
MAXON_METHOD const BaseArray<Vector>& GetPoints | ( | ) | const |
Gets a constant reference to the list of points, that are set for the Delaunay tetrahedralization. THREADSAFE.
MAXON_METHOD ResultRef<BaseArray<Vector> > GetPointsWrite | ( | ) |
Gets a reference to the list of points, that are set for the Delaunay tetrahedralization (writable). THREADSAFE.
Result<void> GetTetrahedronCopy | ( | BaseArray< Tetrahedron > & | arrayIn, |
Int & | tetCount, | ||
Int & | pointCount | ||
) | const |
Gets a copy of the tetrahedrons making up the tetrahedralization. THREADSAFE.
[out] | arrayIn | Will be filled with the tetrahedron information. |
[out] | tetCount | Will be filled with the amount of tetrahedrons. |
[out] | pointCount | Will be filled with the amount of points. |
MAXON_METHOD Int GetTetrahedronCount | ( | ) | const |
Gets the current amount of tetrahedrons. THREADSAFE.
MAXON_METHOD Int GetPointCount | ( | ) | const |
Gets the current amount of points THREADSAFE.
MAXON_METHOD Result<void> Reset | ( | ) |
Resets the Delaunay object for a reuse with the same initialization.
|
static |
Static helper method to calculate the precise orientation of a point, in reference to a plane. the plane is spanned by planePointA, planePointB and planePointC. the tested point is testPoint. THREADSAFE.
[in] | planePointA | Point one of plane. |
[in] | planePointB | Point two of plane. |
[in] | planePointC | Point three of plane. |
[in] | testPoint | Point to test for. |
MAXON_METHOD void Flush | ( | ) |
Resets all data structures for a new calculation. Needs to be reinitialized before its reused.
MAXON_METHOD Result<Bool> FindTetIndexContainingPoint | ( | const Vector & | point, |
Int32 & | foundTetIndex, | ||
Int32 & | onFace1, | ||
Int32 & | onFace2 | ||
) | const |
Returns the index of the tetrahedron the input point is in. THREADSAFE.
[in] | point | The point position to search the tetrahedron index for. |
[out] | foundTetIndex | The index of the tetrahedron that the point was in. |
[out] | onFace1 | Is set if the point is on one of the tetrahedrons faces. |
[out] | onFace2 | Is set if the point is on one of the tetrahedron edges (there for on two faces). |
MAXON_METHOD Result<Bool> FindTetContainingPoint | ( | const Vector & | point, |
Int32 & | foundTetIndex | ||
) | const |
Returns the index of the tetrahedron the input point is in. THREADSAFE.
[in] | point | The point position to search the tetrahedron index for. |
[out] | foundTetIndex | The index of the tetrahedron that the point was in. |