50 return (v1 - v0).Cross(v2 - v0).IsNearZero();
114JPH_MAKE_HASHABLE(JPH::IndexedTriangleNoMaterial, t.mIdx[0], t.mIdx[1], t.mIdx[2])
#define JPH_NAMESPACE_END
Definition: Core.h:367
std::uint32_t uint32
Definition: Core.h:442
#define JPH_NAMESPACE_BEGIN
Definition: Core.h:361
Array< Float3 > VertexList
Definition: Float3.h:43
#define JPH_MAKE_HASHABLE(type,...)
Definition: HashCombine.h:87
Array< IndexedTriangleNoMaterial > IndexedTriangleNoMaterialList
Definition: IndexedTriangle.h:108
Array< IndexedTriangle > IndexedTriangleList
Definition: IndexedTriangle.h:109
#define JPH_OVERRIDE_NEW_DELETE
Macro to override the new and delete functions.
Definition: Memory.h:29
std::vector< T, STLAllocator< T > > Array
Definition: STLAllocator.h:81
Triangle with 32-bit indices and material index.
Definition: IndexedTriangle.h:73
uint32 mMaterialIndex
Definition: IndexedTriangle.h:105
bool operator==(const IndexedTriangle &inRHS) const
Check if two triangles are identical.
Definition: IndexedTriangle.h:81
IndexedTriangle GetLowestIndexFirst() const
Rotate the vertices so that the lowest vertex becomes the first. This does not change the represented...
Definition: IndexedTriangle.h:87
constexpr IndexedTriangle(uint32 inI1, uint32 inI2, uint32 inI3, uint32 inMaterialIndex)
Constructor.
Definition: IndexedTriangle.h:78
Triangle with 32-bit indices.
Definition: IndexedTriangle.h:13
JPH_OVERRIDE_NEW_DELETE IndexedTriangleNoMaterial()=default
Constructor.
Vec3 GetCentroid(const VertexList &inVertices) const
Get center of triangle.
Definition: IndexedTriangle.h:63
uint32 mIdx[3]
Definition: IndexedTriangle.h:68
bool IsDegenerate(const VertexList &inVertices) const
Check if triangle is degenerate.
Definition: IndexedTriangle.h:44
void Rotate()
Rotate the vertices so that the second vertex becomes first etc. This does not change the represented...
Definition: IndexedTriangle.h:54
constexpr IndexedTriangleNoMaterial(uint32 inI1, uint32 inI2, uint32 inI3)
Definition: IndexedTriangle.h:19
bool IsEquivalent(const IndexedTriangleNoMaterial &inRHS) const
Check if two triangles are equivalent (using the same vertices)
Definition: IndexedTriangle.h:28
bool IsOpposite(const IndexedTriangleNoMaterial &inRHS) const
Check if two triangles are opposite (using the same vertices but in opposing order)
Definition: IndexedTriangle.h:36
bool operator==(const IndexedTriangleNoMaterial &inRHS) const
Check if two triangles are identical.
Definition: IndexedTriangle.h:22