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

Class that constructs a TriangleShape. More...

#include <TriangleShape.h>

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

Public Member Functions

 TriangleShapeSettings ()=default
 Default constructor for deserialization. More...
 
 TriangleShapeSettings (Vec3Arg inV1, Vec3Arg inV2, Vec3Arg inV3, float inConvexRadius=0.0f, const PhysicsMaterial *inMaterial=nullptr)
 
virtual ShapeResult Create () const override
 Create a shape according to the settings specified by this object. More...
 
- Public Member Functions inherited from ConvexShapeSettings
 ConvexShapeSettings ()=default
 Constructor. More...
 
 ConvexShapeSettings (const PhysicsMaterial *inMaterial)
 
void SetDensity (float inDensity)
 Set the density of the object in kg / m^3. More...
 
- Public Member Functions inherited from ShapeSettings
virtual ShapeResult Create () const =0
 Create a shape according to the settings specified by this object. More...
 
void ClearCachedResult ()
 
- Public Member Functions inherited from SerializableObject
virtual ~SerializableObject ()=default
 Constructor. More...
 
- 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. More...
 
 RefTarget (const RefTarget &)
 
 ~RefTarget ()
 assert no one is referencing us More...
 
void SetEmbedded () const
 
RefTargetoperator= (const RefTarget &)
 Assignment operator. More...
 
uint32 GetRefCount () const
 Get current refcount of this object. More...
 
void AddRef () const
 Add or release a reference to this object. More...
 
void Release () const
 

Public Attributes

Vec3 mV1
 
Vec3 mV2
 
Vec3 mV3
 
float mConvexRadius = 0.0f
 
- Public Attributes inherited from ConvexShapeSettings
RefConst< PhysicsMaterialmMaterial
 Material assigned to this shape. More...
 
float mDensity = 1000.0f
 Uniform density of the interior of the convex object (kg / m^3) More...
 
- Public Attributes inherited from ShapeSettings
uint64 mUserData = 0
 User data (to be used freely by the application) More...
 

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. More...
 
- Protected Attributes inherited from ShapeSettings
ShapeResult mCachedResult
 
- Protected Attributes inherited from RefTarget< ShapeSettings >
atomic< uint32mRefCount
 Current reference count. More...
 
- 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. More...
 

Detailed Description

Class that constructs a TriangleShape.

Constructor & Destructor Documentation

◆ TriangleShapeSettings() [1/2]

TriangleShapeSettings::TriangleShapeSettings ( )
default

Default constructor for deserialization.

◆ TriangleShapeSettings() [2/2]

TriangleShapeSettings::TriangleShapeSettings ( Vec3Arg  inV1,
Vec3Arg  inV2,
Vec3Arg  inV3,
float  inConvexRadius = 0.0f,
const PhysicsMaterial inMaterial = nullptr 
)
inline

Create a triangle with points (inV1, inV2, inV3) (counter clockwise) and convex radius inConvexRadius. Note that the convex radius is currently only used for shape vs shape collision, for all other purposes the triangle is infinitely thin.

Member Function Documentation

◆ Create()

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

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

Implements ShapeSettings.

Member Data Documentation

◆ mConvexRadius

float TriangleShapeSettings::mConvexRadius = 0.0f

◆ mV1

Vec3 TriangleShapeSettings::mV1

◆ mV2

Vec3 TriangleShapeSettings::mV2

◆ mV3

Vec3 TriangleShapeSettings::mV3

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