#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. 
const MAXON_METHOD 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. 
const MAXON_METHOD BaseArray<Tetrahedron>& GetTetrahedrons  (  )  const 
Gets a constant reference to the tetrahedrons list. THREADSAFE.
const MAXON_METHOD 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.
const MAXON_METHOD 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. 