Delaunay3DInterface Class Reference

#include <delaunay3d.h>

公共成员函数

MAXON_METHOD Result < void >  CopyFrom (const Delaunay3DInterface * src , COLLECTION_RESIZE_FLAGS resizeFlags= COLLECTION_RESIZE_FLAGS::FIT_TO_SIZE )
MAXON_METHOD Result < void >  Init (const Range < 向量 > &workSpace)
MAXON_METHOD Result < void >  CalculateDelaunayTetrahedralization ()
MAXON_METHOD Bool   IsInitialized ()
MAXON_METHOD Result < void >  AddPointsIntoTetrahedralization (const BaseArray < 向量 > &newPointsIn)
MAXON_METHOD Result < void >  AddPointIntoTetrahedralization (const 向量 &newPointIn)
const MAXON_METHOD BaseArray < Tetrahedron > &  GetTetrahedrons ( Int &arrayCount, Int &pointCount) const
const MAXON_METHOD BaseArray < Tetrahedron > &  GetTetrahedrons () const
const MAXON_METHOD BaseArray < Int32 > &  GetPointsToTetConnections () const
const MAXON_METHOD BaseArray < 向量 > &  GetPoints () const
MAXON_METHOD ResultRef < BaseArray < 向量 > >  GetPointsWrite ()
Result < void >  GetTetrahedronCopy ( BaseArray < Tetrahedron > &arrayIn, Int &tetCount, Int &pointCount) const
MAXON_METHOD Int   GetTetrahedronCount () const
MAXON_METHOD Int   GetPointCount () const
MAXON_METHOD Result < void >  重置 ()
MAXON_METHOD void  Flush ()
MAXON_METHOD Result < Bool FindTetIndexContainingPoint (const 向量 &point, Int32 &foundTetIndex, Int32 &onFace1, Int32 &onFace2) const
MAXON_METHOD Result < Bool FindTetContainingPoint (const 向量 &point, Int32 &foundTetIndex) const

静态公共成员函数

static MAXON_METHOD Delaunay3DInterface Alloc ( MAXON_SOURCE_LOCATION_DECLARATION )
static MAXON_METHOD Float   OrientDet (const 向量 &planePointA, const 向量 &planePointB, const 向量 &planePointC, const 向量 &testPoint)

私有成员函数

  MAXON_INTERFACE_NONVIRTUAL ( Delaunay3DInterface , MAXON_REFERENCE_NORMAL , "net.maxon.interface.delaunay3d")

成员函数文档编制

◆  MAXON_INTERFACE_NONVIRTUAL()

MAXON_INTERFACE_NONVIRTUAL ( Delaunay3DInterface   ,
MAXON_REFERENCE_NORMAL   ,
"net.maxon.interface.delaunay3d"   
)
private

◆  Alloc()

static MAXON_METHOD Delaunay3DInterface * Alloc ( MAXON_SOURCE_LOCATION_DECLARATION   )
static

◆  CopyFrom()

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.
返回
OK on success.

◆  Init()

MAXON_METHOD Result <void> Init ( const Range < 向量 > &  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.
返回
OK on success.

◆  CalculateDelaunayTetrahedralization()

MAXON_METHOD Result <void> CalculateDelaunayTetrahedralization ( )

Updates the Tetrahedralization if new points have been added. This triggers the final calculation or update of the tetrahedralization.

返回
OK on success.

◆  IsInitialized()

MAXON_METHOD Bool IsInitialized ( )

Checks if Init() has been called. THREADSAFE.

返回
true if Init() has beed called, false otherwise.

◆  AddPointsIntoTetrahedralization()

MAXON_METHOD Result <void> AddPointsIntoTetrahedralization ( const BaseArray < 向量 > &  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.
返回
OK on success.

◆  AddPointIntoTetrahedralization()

MAXON_METHOD Result <void> AddPointIntoTetrahedralization ( const 向量 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.
返回
OK on success.

◆  GetTetrahedrons() [1/2]

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.
返回
A constant reference to a BaseArray<Tetrahedron> with the tetrahedrons, that make up the tetrahedralization.

◆  GetTetrahedrons() [2/2]

const MAXON_METHOD BaseArray < Tetrahedron >& GetTetrahedrons ( ) const

Gets a constant reference to the tetrahedrons list. THREADSAFE.

返回
A constant reference to a BaseArray<Tetrahedron> with the tetrahedrons, that make up the tetrahedralization.

◆  GetPointsToTetConnections()

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.

返回
A constant reference to a BaseArray<Int32> with the tetrahedron index to the point at the same array position as added.

◆  GetPoints()

const MAXON_METHOD BaseArray < 向量 >& GetPoints ( ) const

Gets a constant reference to the list of points, that are set for the Delaunay tetrahedralization. THREADSAFE.

返回
A constant reference to a BaseArray<Vector> with the points of the tetrahedralization.

◆  GetPointsWrite()

MAXON_METHOD ResultRef < BaseArray < 向量 > > GetPointsWrite ( )

Gets a reference to the list of points, that are set for the Delaunay tetrahedralization (writable). THREADSAFE.

返回
A reference to a BaseArray<Vector> with the points of the tetrahedralization.

◆  GetTetrahedronCopy()

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.
返回
OK on success.

◆  GetTetrahedronCount()

MAXON_METHOD Int GetTetrahedronCount ( ) const

Gets the current amount of tetrahedrons. THREADSAFE.

返回
Amount of tetrahedrons.

◆  GetPointCount()

MAXON_METHOD Int GetPointCount ( ) const

Gets the current amount of points THREADSAFE.

返回
Amount of points that were added.

◆  Reset()

MAXON_METHOD Result <void> Reset ( )

Resets the Delaunay object for a reuse with the same initialization.

返回
OK on success.

◆  OrientDet()

static MAXON_METHOD Float OrientDet ( const 向量 planePointA ,
const 向量 planePointB ,
const 向量 planePointC ,
const 向量 testPoint  
)
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.
返回
The determinant of the calculation. The sign of the result gives information about the side the point was is on.

◆  Flush()

MAXON_METHOD void Flush ( )

Resets all data structures for a new calculation. Needs to be reinitialized before its reused.

◆  FindTetIndexContainingPoint()

MAXON_METHOD Result < Bool > FindTetIndexContainingPoint ( const 向量 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).
返回
True if the point was inside a tetrahedron, false otherwise or on error.

◆  FindTetContainingPoint()

MAXON_METHOD Result < Bool > FindTetContainingPoint ( const 向量 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.
返回
True if the point was inside a tetrahedron, false otherwise or on error.