![]() |
Jolt Physics
A multi core friendly Game Physics Engine
|
A convex hull builder that tries to create 2D hulls as accurately as possible. Used for offline processing. More...
#include <ConvexHullBuilder2D.h>
Public Types | |
| enum class | EResult { Success , MaxVerticesReached } |
| Result enum that indicates how the hull got created. More... | |
| using | Positions = Array< Vec3 > |
| using | Edges = Array< int > |
Public Member Functions | |
| ConvexHullBuilder2D (const Positions &inPositions) | |
| ~ConvexHullBuilder2D () | |
| Destructor. More... | |
| EResult | Initialize (int inIdx1, int inIdx2, int inIdx3, int inMaxVertices, float inTolerance, Edges &outEdges) |
Public Member Functions inherited from NonCopyable | |
| NonCopyable ()=default | |
| NonCopyable (const NonCopyable &)=delete | |
| void | operator= (const NonCopyable &)=delete |
A convex hull builder that tries to create 2D hulls as accurately as possible. Used for offline processing.
| using ConvexHullBuilder2D::Edges = Array<int> |
| using ConvexHullBuilder2D::Positions = Array<Vec3> |
|
strong |
Result enum that indicates how the hull got created.
| Enumerator | |
|---|---|
| Success | Hull building finished successfully. |
| MaxVerticesReached | Hull building finished successfully, but the desired accuracy was not reached because the max vertices limit was reached. |
|
explicit |
Constructor
| inPositions | Positions used to make the hull. Uses X and Y component of Vec3 only! |
| ConvexHullBuilder2D::~ConvexHullBuilder2D | ( | ) |
Destructor.
| ConvexHullBuilder2D::EResult ConvexHullBuilder2D::Initialize | ( | int | inIdx1, |
| int | inIdx2, | ||
| int | inIdx3, | ||
| int | inMaxVertices, | ||
| float | inTolerance, | ||
| Edges & | outEdges | ||
| ) |
Takes all positions as provided by the constructor and use them to build a hull Any points that are closer to the hull than inTolerance will be discarded
| inIdx1,inIdx2,inIdx3 | The indices to use as initial hull (in any order) |
| inMaxVertices | Max vertices to allow in the hull. Specify INT_MAX if there is no limit. |
| inTolerance | Max distance that a point is allowed to be outside of the hull |
| outEdges | On success this will contain the list of indices that form the hull (counter clockwise) |