A convex hull builder that tries to create hulls as accurately as possible. Used for offline processing.  
 More...
#include <ConvexHullBuilder.h>
|  | 
| class | Edge | 
|  | Class that holds the information of an edge.  More... 
 | 
|  | 
| class | Face | 
|  | Class that holds the information of one face.  More... 
 | 
|  | 
A convex hull builder that tries to create hulls as accurately as possible. Used for offline processing. 
◆ ConflictList
◆ Faces
◆ Positions
◆ EResult
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.  | 
| TooFewPoints | Too few points to create a hull.  | 
| TooFewFaces | Too few faces in the created hull (signifies precision errors during building)  | 
| Degenerate | Degenerate hull detected.  | 
 
 
◆ ConvexHullBuilder()
  
  | 
        
          | ConvexHullBuilder::ConvexHullBuilder | ( | const Positions & | inPositions | ) |  |  | explicit | 
 
 
◆ ~ConvexHullBuilder()
  
  | 
        
          | ConvexHullBuilder::~ConvexHullBuilder | ( |  | ) |  |  | inline | 
 
 
◆ ContainsFace()
      
        
          | bool ConvexHullBuilder::ContainsFace | ( | const Array< int > & | inIndices | ) | const | 
      
 
Returns true if the hull contains a polygon with inIndices (counter clockwise indices in mPositions) 
 
 
◆ DetermineMaxError()
      
        
          | void ConvexHullBuilder::DetermineMaxError | ( | Face *& | outFaceWithMaxError, | 
        
          |  |  | float & | outMaxError, | 
        
          |  |  | int & | outMaxErrorPositionIdx, | 
        
          |  |  | float & | outCoplanarDistance | 
        
          |  | ) |  | const | 
      
 
Determines the point that is furthest outside of the hull and reports how far it is outside of the hull (which indicates a failure during hull building) 
- Parameters
- 
  
    | outFaceWithMaxError | The face that caused the error |  | outMaxError | The maximum distance of a point to the hull |  | outMaxErrorPositionIdx | The index of the point that had this distance |  | outCoplanarDistance | Points that are less than this distance from the hull are considered on the hull. This should be used as a lowerbound for the allowed error. |  
 
 
 
◆ GetCenterOfMassAndVolume()
      
        
          | void ConvexHullBuilder::GetCenterOfMassAndVolume | ( | Vec3 & | outCenterOfMass, | 
        
          |  |  | float & | outVolume | 
        
          |  | ) |  | const | 
      
 
Calculate the center of mass and the volume of the current convex hull. 
 
 
◆ GetFaces()
  
  | 
        
          | const Faces & ConvexHullBuilder::GetFaces | ( |  | ) | const |  | inline | 
 
Access to the created faces. Memory is owned by the convex hull builder. 
 
 
◆ GetNumVerticesUsed()
      
        
          | int ConvexHullBuilder::GetNumVerticesUsed | ( |  | ) | const | 
      
 
Returns the amount of vertices that are currently used by the hull. 
 
 
◆ Initialize()
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 
- Parameters
- 
  
    | 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 |  | outError | Error message when building fails |  
 
- Returns
- Status code that reports if the hull was created or not 
 
 
The documentation for this class was generated from the following files: