Tetrahedron Struct Reference

#include <tetrahedron.h>

公共成员函数

  Tetrahedron ()
  Tetrahedron (const Tetrahedron &)=default
  Tetrahedron ( Int32 point1, Int32 point2, Int32 point3, Int32 point4, Int32 neighbor1, Int32 neighbor2, Int32 neighbor3, Int32 neighbor4)
  ~Tetrahedron ()
void  GetPointIndexOfTwoPoints ( Int32 startPoint, Int32 endPoint, Int32 &startPointIndex, Int32 &endPointIndex) const
Int32   GetPointIndexOfPoint ( Int32 pointIn) const
Int32   GetFaceWithPoints ( Int32 point1, Int32 point2, Int32 point3) const
Int32   GetPointOppositeNeighbour ( Int32 neighbourIndex) const
void  GetFacePoints ( Int32 face, IntVector32 &pointList) const
void  GetFacePoints ( Int32 face, Int32 &point1, Int32 &point2, Int32 &point3) const
Int32   GetFaceIndexSharingTwoPointsButNotInputFace ( Int32 notFace, Int32 edgePoint1, Int32 edgePoint2) const
Int32   GetPointOppositeFace ( Int32 faceIndex) const
Int32   GetFaceWithNeighbor ( Int32 neighbor) const
Int32   GetFaceOppositePoint ( Int32 pointIndex) const
void  GetFacePointsWithNeighbor ( Int32 neighbor, IntVector32 &pointList) const
Bool   ChangePointToOtherPoint ( Int32 oldPoint, Int32 newPoint)
Vector4d   CalcBarycentricOfPoint (const BaseArray < 向量 > &pointList, const 向量 &testPoint) const
Vector4d   CalcBarycentricOfPoint2 (const BaseArray < 向量 > &pointList, const 向量 &testPoint) const

Public Attributes

IntVector4d32   points
IntVector4d32   neighbors

构造函数 & 析构函数文档编制

◆  Tetrahedron() [1/3]

Tetrahedron ( )

◆  Tetrahedron() [2/3]

Tetrahedron ( const Tetrahedron )
default

◆  Tetrahedron() [3/3]

Tetrahedron ( Int32   point1 ,
Int32   point2 ,
Int32   point3 ,
Int32   point4 ,
Int32   neighbor1 ,
Int32   neighbor2 ,
Int32   neighbor3 ,
Int32   neighbor4  
)

◆  ~Tetrahedron()

~ Tetrahedron ( )

成员函数文档编制

◆  GetPointIndexOfTwoPoints()

void GetPointIndexOfTwoPoints ( Int32   startPoint ,
Int32   endPoint ,
Int32 startPointIndex ,
Int32 endPointIndex  
) const

Gets the internal tetrahedron point indices between 0 and 3 of the two input points. This is meant to be a helper to get the indices of an edge. If the index cannot be found it will not be written.

参数
[in] startPoint First point index to get the index of.
[in] endPoint Second point index to get the index of.
[out] startPointIndex Tetrahedron index of the first point.
[out] endPointIndex Tetrahedron index of the second point.

◆  GetPointIndexOfPoint()

Int32 GetPointIndexOfPoint ( Int32   pointIn ) const

Gets the point indices between 0 and 3 of one input point. If the index cannot be found it will not be written.

参数
[in] pointIn Point index to get the index of.
返回
The points Tetrahedron index.

◆  GetFaceWithPoints()

Int32 GetFaceWithPoints ( Int32   point1 ,
Int32   point2 ,
Int32   point3  
) const

Gets the internal tetrahedron face index of the face with the 3 indices. only correct if the three points are part of this tetrahedron.

参数
[in] point1 Point index one of the triangle.
[in] point2 Point index two of the triangle.
[in] point3 Point index three of the triangle.
返回
The tetrahedron face index of the the point indices

◆  GetPointOppositeNeighbour()

Int32 GetPointOppositeNeighbour ( Int32   neighbourIndex ) const

Gets the point in this tetrahedron that is opposite of the face with the input neighbor index.

参数
[in] neighbourIndex The neighbor index of which the point should be opposite of.
返回
The point index of the point opposite of the neighbor face.

◆  GetFacePoints() [1/2]

void GetFacePoints ( Int32   face ,
IntVector32 pointList  
) const

Gets the three point indices of a face.

参数
[in] face The internal tetrahedron face index.
[out] pointList A list of the point indices that are building the face.

◆  GetFacePoints() [2/2]

void GetFacePoints ( Int32   face ,
Int32 point1 ,
Int32 point2 ,
Int32 point3  
) const

Gets the three point indices of a face.

参数
[in] face The internal tetrahedron face index.
[out] point1 Point index one of the face.
[out] point2 Point index two of the face.
[out] point3 Point index three of the face.

◆  GetFaceIndexSharingTwoPointsButNotInputFace()

Int32 GetFaceIndexSharingTwoPointsButNotInputFace ( Int32   notFace ,
Int32   edgePoint1 ,
Int32   edgePoint2  
) const

Gets the face index of a face that shares the two edge points but is not the passed face index. Helper method to traverse to the neighbor face over an edge.

参数
[in] notFace The excluded face index that shares the edge.
[in] edgePoint1 Point index one of the edge between two faces.
[in] edgePoint2 Point index two of the edge between two faces.
返回
The internal face index of the neighbor face.

◆  GetPointOppositeFace()

Int32 GetPointOppositeFace ( Int32   faceIndex ) const

Gets the point index of a point opposite of the input face index.

参数
[in] faceIndex The face index the returned point should be opposite of.
返回
The point index opposite of the face index.

◆  GetFaceWithNeighbor()

Int32 GetFaceWithNeighbor ( Int32   neighbor ) const

Gets the internal tetrahedron face index of the face with the input neighbor index

参数
[in] neighbor The neighbor index.
返回
The face index of the face with the neighbor index as neighbor.

◆  GetFaceOppositePoint()

Int32 GetFaceOppositePoint ( Int32   pointIndex ) const

Gets the face index of the face opposite the input point.

参数
[in] pointIndex The input point.
返回
The face index of the face opposite the input point.

◆  GetFacePointsWithNeighbor()

void GetFacePointsWithNeighbor ( Int32   neighbor ,
IntVector32 pointList  
) const

Gets a list of points that build up the face with the input neighbor.

参数
[in] neighbor The neighbor index of the face that the points should be returned.
[in] pointList The list of points building up the face.

◆  ChangePointToOtherPoint()

Bool ChangePointToOtherPoint ( Int32   oldPoint ,
Int32   newPoint  
)

Changes the point index for one point.

参数
[in] oldPoint The old index of the point.
[in] newPoint The new index of the point.
返回
True if something was changed. False if oldPoint was not in this tetrahedron.

◆  CalcBarycentricOfPoint()

Vector4d CalcBarycentricOfPoint ( const BaseArray < 向量 > &  pointList ,
const 向量 testPoint  
) const

Calculates the barycentric coordinates for a point in relation to this tetrahedron.

参数
[in] pointList The list of point positions the tetrahedron references with its point indices.
[in] testPoint The point the barycentric coordinates should be calculated for.
返回
The barycentric coordinates of testPoint in relation to this tetrahedron.

◆  CalcBarycentricOfPoint2()

Vector4d CalcBarycentricOfPoint2 ( const BaseArray < 向量 > &  pointList ,
const 向量 testPoint  
) const

Calculates the barycentric coordinates for a point in relation to this tetrahedron.

参数
[in] pointList The list of point positions the tetrahedron references with its point indices.
[in] testPoint The point the barycentric coordinates should be calculated for.
返回
The barycentric coordinates of testPoint in relation to this tetrahedron.

Member Data Documentation

◆  points

IntVector4d32 points

◆  neighbors

IntVector4d32 neighbors