#include <tetrahedron.h>
Public Member Functions | |
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< Vector > &pointList, const Vector &testPoint) const |
Vector4d | CalcBarycentricOfPoint2 (const BaseArray< Vector > &pointList, const Vector &testPoint) const |
Public Attributes | |
IntVector4d32 | points |
IntVector4d32 | neighbors |
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 |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
Gets the internal tetrahedron face index of the face with the input neighbor index
[in] | neighbor | The neighbor index. |
Gets the face index of the face opposite the input point.
[in] | pointIndex | The input point. |
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. |
Changes the point index for one point.
[in] | oldPoint | The old index of the point. |
[in] | newPoint | The new index of the point. |
Vector4d CalcBarycentricOfPoint | ( | const BaseArray< Vector > & | pointList, |
const Vector & | 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. |
Vector4d CalcBarycentricOfPoint2 | ( | const BaseArray< Vector > & | pointList, |
const Vector & | 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. |
IntVector4d32 points |
IntVector4d32 neighbors |