117 Vec3 center1 = (
inV1 + inV2).Normalized();
118 Vec3 center2 = (inV2 + inV3).Normalized();
119 Vec3 center3 = (inV3 +
inV1).Normalized();
138 const Vec3 * mTriangleVertices;
139 size_t mNumTriangleVertices;
140 size_t mCurrentVertex = 0;
175 for (; mCurrentPart < mParts.
size(); ++mCurrentPart)
177 const Part &
part = mParts[mCurrentPart];
212 if (mCurrentVertex <
part.mNumTriangleVertices)
233 const Vec3 * mTriangleVertices;
234 size_t mNumTriangleVertices;
238 uint mCurrentPart = 0;
239 size_t mCurrentVertex = 0;
unsigned int uint
Definition Core.h:439
#define JPH_NAMESPACE_END
Definition Core.h:367
#define JPH_NAMESPACE_BEGIN
Definition Core.h:361
#define JPH_ASSERT(...)
Definition IssueReporting.h:33
bool IsAligned(T inV, uint64 inAlignment)
Check if inV is inAlignment aligned.
Definition Math.h:88
AllocateFunction Allocate
Definition Memory.cpp:59
JPH_INLINE float Cos(float inX)
Cosine of x (input in radians)
Definition Trigonometry.h:20
JPH_NAMESPACE_BEGIN JPH_INLINE float Sin(float inX)
Sine of x (input in radians)
Definition Trigonometry.h:12
Class that holds 3 floats. Used as a storage class. Convert to Vec3 for calculations.
Definition Float3.h:13
Implementation of GetTrianglesStart/Next that uses a multiple fixed lists of vertices for the triangl...
Definition GetTrianglesContext.h:147
void AddPart(Mat44Arg inLocalToWorld, const Vec3 *inTriangleVertices, size_t inNumTriangleVertices)
Add a mesh part and its transform.
Definition GetTrianglesContext.h:159
GetTrianglesContextMultiVertexList(bool inIsInsideOut, const PhysicsMaterial *inMaterial)
Constructor, to be called in GetTrianglesStart.
Definition GetTrianglesContext.h:150
int GetTrianglesNext(int inMaxTrianglesRequested, Float3 *outTriangleVertices, const PhysicsMaterial **outMaterials)
Definition GetTrianglesContext.h:167
Implementation of GetTrianglesStart/Next that uses a fixed list of vertices for the triangles....
Definition GetTrianglesContext.h:15
static void sCreateHalfUnitSphereTop(std::vector< Vec3 > &ioVertices, int inDetailLevel)
Helper function that creates a vertex list of a half unit sphere (top part)
Definition GetTrianglesContext.h:71
static void sCreateHalfUnitSphereBottom(std::vector< Vec3 > &ioVertices, int inDetailLevel)
Helper function that creates a vertex list of a half unit sphere (bottom part)
Definition GetTrianglesContext.h:80
int GetTrianglesNext(int inMaxTrianglesRequested, Float3 *outTriangleVertices, const PhysicsMaterial **outMaterials)
Definition GetTrianglesContext.h:31
GetTrianglesContextVertexList(Vec3Arg inPositionCOM, QuatArg inRotation, Vec3Arg inScale, Mat44Arg inLocalTransform, const Vec3 *inTriangleVertices, size_t inNumTriangleVertices, const PhysicsMaterial *inMaterial)
Constructor, to be called in GetTrianglesStart.
Definition GetTrianglesContext.h:18
static void sCreateUnitOpenCylinder(std::vector< Vec3 > &ioVertices, int inDetailLevel)
Helper function that creates an open cylinder of half height 1 and radius 1.
Definition GetTrianglesContext.h:89
Holds a 4x4 matrix of floats, but supports also operations on the 3x3 upper left part of the matrix.
Definition Mat44.h:13
Definition PhysicsMaterial.h:23
static constexpr int cGetTrianglesMinTrianglesRequested
This is the minimum amount of triangles that should be requested through GetTrianglesNext.
Definition Shape.h:339
Simple variable length array backed by a fixed size buffer.
Definition StaticArray.h:12
void push_back(const T &inElement)
Add element to the back of the array.
Definition StaticArray.h:59
size_type size() const
Returns amount of elements in the array.
Definition StaticArray.h:87
static JPH_INLINE Vec3 sAxisX()
Vectors with the principal axis.
Definition Vec3.h:52
static JPH_INLINE Vec3 sAxisY()
Definition Vec3.h:53
static JPH_INLINE Vec3 sAxisZ()
Definition Vec3.h:54
Helper functions to get properties of a scaling vector.
Definition ScaleHelpers.h:13
An opaque buffer that holds shape specific information during GetTrianglesStart/Next.
Definition Shape.h:336