41 EResult Initialize(
int inIdx1,
int inIdx2,
int inIdx3,
int inMaxVertices,
float inTolerance, Edges &outEdges);
44#ifdef JPH_CONVEX_BUILDER_2D_DEBUG
46 static constexpr Real cDrawScale = 10;
57 void AssignPointToEdge(
int inPositionIdx,
const Array<Edge *> &inEdges)
const;
59#ifdef JPH_CONVEX_BUILDER_2D_DEBUG
64#ifdef JPH_ENABLE_ASSERTS
66 void ValidateEdges()
const;
78 explicit Edge(
int inStartIdx) : mStartIdx(inStartIdx) { }
81 void CalculateNormalAndCenter(
const Vec3 *inPositions);
84 inline bool IsFacing(
Vec3Arg inPosition)
const {
return mNormal.Dot(inPosition - mCenter) > 0.0f; }
88 ConflictList mConflictList;
89 Edge * mPrevEdge =
nullptr;
90 Edge * mNextEdge =
nullptr;
92 float mFurthestPointDistanceSq = 0.0f;
95 const Positions & mPositions;
96 Edge * mFirstEdge =
nullptr;
99#ifdef JPH_CONVEX_BUILDER_2D_DEBUG
#define JPH_EXPORT
Definition Core.h:271
#define JPH_NAMESPACE_END
Definition Core.h:414
#define JPH_NAMESPACE_BEGIN
Definition Core.h:408
#define JPH_OVERRIDE_NEW_DELETE
Macro to override the new and delete functions.
Definition Memory.h:31
float Real
Definition Real.h:27
A convex hull builder that tries to create 2D hulls as accurately as possible. Used for offline proce...
Definition ConvexHullBuilder2D.h:15
EResult
Result enum that indicates how the hull got created.
Definition ConvexHullBuilder2D.h:29
Class that makes another class non-copyable. Usage: Inherit from NonCopyable.
Definition NonCopyable.h:11