Jolt Physics
A multi core friendly Game Physics Engine
Loading...
Searching...
No Matches
ConvexHullShapeSettings Class Referencefinal

Class that constructs a ConvexHullShape. More...

#include <ConvexHullShape.h>

Inheritance diagram for ConvexHullShapeSettings:
ConvexShapeSettings ShapeSettings SerializableObject RefTarget< ShapeSettings > NonCopyable

Public Member Functions

 ConvexHullShapeSettings ()=default
 Default constructor for deserialization.
 
 ConvexHullShapeSettings (const Vec3 *inPoints, int inNumPoints, float inMaxConvexRadius=cDefaultConvexRadius, const PhysicsMaterial *inMaterial=nullptr)
 
 ConvexHullShapeSettings (const Array< Vec3 > &inPoints, float inConvexRadius=cDefaultConvexRadius, const PhysicsMaterial *inMaterial=nullptr)
 
virtual ShapeResult Create () const override
 Create a shape according to the settings specified by this object.
 
- Public Member Functions inherited from ConvexShapeSettings
 ConvexShapeSettings ()=default
 Constructor.
 
 ConvexShapeSettings (const PhysicsMaterial *inMaterial)
 
void SetDensity (float inDensity)
 Set the density of the object in kg / m^3.
 
- Public Member Functions inherited from ShapeSettings
void ClearCachedResult ()
 
- Public Member Functions inherited from SerializableObject
virtual ~SerializableObject ()=default
 Constructor.
 
- Public Member Functions inherited from NonCopyable
 NonCopyable ()=default
 
 NonCopyable (const NonCopyable &)=delete
 
void operator= (const NonCopyable &)=delete
 
- Public Member Functions inherited from RefTarget< ShapeSettings >
 RefTarget ()=default
 Constructor.
 
 RefTarget (const RefTarget &)
 
 ~RefTarget ()
 assert no one is referencing us
 
void SetEmbedded () const
 
RefTargetoperator= (const RefTarget &)
 Assignment operator.
 
uint32 GetRefCount () const
 Get current refcount of this object.
 
void AddRef () const
 Add or release a reference to this object.
 
void Release () const
 

Public Attributes

Array< Vec3mPoints
 Points to create the hull from.
 
float mMaxConvexRadius = 0.0f
 Convex radius as supplied by the constructor. Note that during hull creation the convex radius can be made smaller if the value is too big for the hull.
 
float mMaxErrorConvexRadius = 0.05f
 Maximum distance between the shrunk hull + convex radius and the actual hull.
 
float mHullTolerance = 1.0e-3f
 Points are allowed this far outside of the hull (increasing this yields a hull with less vertices). Note that the actual used value can be larger if the points of the hull are far apart.
 
- Public Attributes inherited from ConvexShapeSettings
RefConst< PhysicsMaterialmMaterial
 Material assigned to this shape.
 
float mDensity = 1000.0f
 Uniform density of the interior of the convex object (kg / m^3)
 
- Public Attributes inherited from ShapeSettings
uint64 mUserData = 0
 User data (to be used freely by the application)
 

Additional Inherited Members

- Public Types inherited from ShapeSettings
using ShapeResult = Result< Ref< Shape > >
 
- Static Public Member Functions inherited from RefTarget< ShapeSettings >
static int sInternalGetRefCountOffset ()
 INTERNAL HELPER FUNCTION USED BY SERIALIZATION.
 
- Protected Attributes inherited from ShapeSettings
ShapeResult mCachedResult
 
- Protected Attributes inherited from RefTarget< ShapeSettings >
atomic< uint32mRefCount
 Current reference count.
 
- Static Protected Attributes inherited from RefTarget< ShapeSettings >
static constexpr uint32 cEmbedded
 A large value that gets added to the refcount to mark the object as embedded.
 

Detailed Description

Class that constructs a ConvexHullShape.

Constructor & Destructor Documentation

◆ ConvexHullShapeSettings() [1/3]

ConvexHullShapeSettings::ConvexHullShapeSettings ( )
default

Default constructor for deserialization.

◆ ConvexHullShapeSettings() [2/3]

ConvexHullShapeSettings::ConvexHullShapeSettings ( const Vec3 inPoints,
int  inNumPoints,
float  inMaxConvexRadius = cDefaultConvexRadius,
const PhysicsMaterial inMaterial = nullptr 
)
inline

Create a convex hull from inPoints and maximum convex radius inMaxConvexRadius, the radius is automatically lowered if the hull requires it. (internally this will be subtracted so the total size will not grow with the convex radius).

◆ ConvexHullShapeSettings() [3/3]

ConvexHullShapeSettings::ConvexHullShapeSettings ( const Array< Vec3 > &  inPoints,
float  inConvexRadius = cDefaultConvexRadius,
const PhysicsMaterial inMaterial = nullptr 
)
inline

Member Function Documentation

◆ Create()

ShapeSettings::ShapeResult ConvexHullShapeSettings::Create ( ) const
overridevirtual

Create a shape according to the settings specified by this object.

Implements ShapeSettings.

Member Data Documentation

◆ mHullTolerance

float ConvexHullShapeSettings::mHullTolerance = 1.0e-3f

Points are allowed this far outside of the hull (increasing this yields a hull with less vertices). Note that the actual used value can be larger if the points of the hull are far apart.

◆ mMaxConvexRadius

float ConvexHullShapeSettings::mMaxConvexRadius = 0.0f

Convex radius as supplied by the constructor. Note that during hull creation the convex radius can be made smaller if the value is too big for the hull.

◆ mMaxErrorConvexRadius

float ConvexHullShapeSettings::mMaxErrorConvexRadius = 0.05f

Maximum distance between the shrunk hull + convex radius and the actual hull.

◆ mPoints

Array<Vec3> ConvexHullShapeSettings::mPoints

Points to create the hull from.


The documentation for this class was generated from the following files: