Jolt Physics
A multi core friendly Game Physics Engine
Loading...
Searching...
No Matches
Shape.h File Reference

Go to the source code of this file.

Classes

class  ShapeSettings
 
class  ShapeFunctions
 Function table for functions on shapes. More...
 
class  Shape
 Base class for all shapes (collision volume of a body). Defines a virtual interface for collision detection. More...
 
struct  Shape::GetTrianglesContext
 An opaque buffer that holds shape specific information during GetTrianglesStart/Next. More...
 
struct  Shape::Stats
 Class that holds information about the shape that can be used for logging / data collection purposes. More...
 

Typedefs

using CastRayCollector = CollisionCollector< RayCastResult, CollisionCollectorTraitsCastRay >
 
using CastShapeCollector = CollisionCollector< ShapeCastResult, CollisionCollectorTraitsCastShape >
 
using CollidePointCollector = CollisionCollector< CollidePointResult, CollisionCollectorTraitsCollidePoint >
 
using CollideShapeCollector = CollisionCollector< CollideShapeResult, CollisionCollectorTraitsCollideShape >
 
using TransformedShapeCollector = CollisionCollector< TransformedShape, CollisionCollectorTraitsCollideShape >
 
using ShapeRefC = RefConst< Shape >
 
using ShapeList = Array< ShapeRefC >
 
using PhysicsMaterialRefC = RefConst< PhysicsMaterial >
 
using PhysicsMaterialList = Array< PhysicsMaterialRefC >
 

Enumerations

enum class  EShapeType : uint8 {
  Convex , Compound , Decorated , Mesh ,
  HeightField , SoftBody , User1 , User2 ,
  User3 , User4 , Plane , Empty
}
 Shapes are categorized in groups, each shape can return which group it belongs to through its Shape::GetType function. More...
 
enum class  EShapeSubType : uint8 {
  Sphere , Box , Triangle , Capsule ,
  TaperedCapsule , Cylinder , ConvexHull , StaticCompound ,
  MutableCompound , RotatedTranslated , Scaled , OffsetCenterOfMass ,
  Mesh , HeightField , SoftBody , User1 ,
  User2 , User3 , User4 , User5 ,
  User6 , User7 , User8 , UserConvex1 ,
  UserConvex2 , UserConvex3 , UserConvex4 , UserConvex5 ,
  UserConvex6 , UserConvex7 , UserConvex8 , Plane ,
  TaperedCylinder , Empty
}
 This enumerates all shape types, each shape can return its type through Shape::GetSubType. More...
 

Typedef Documentation

◆ CastRayCollector

◆ CastShapeCollector

◆ CollidePointCollector

◆ CollideShapeCollector

◆ PhysicsMaterialList

◆ PhysicsMaterialRefC

◆ ShapeList

◆ ShapeRefC

◆ TransformedShapeCollector

Enumeration Type Documentation

◆ EShapeSubType

enum class EShapeSubType : uint8
strong

This enumerates all shape types, each shape can return its type through Shape::GetSubType.

Enumerator
Sphere 
Box 
Triangle 
Capsule 
TaperedCapsule 
Cylinder 
ConvexHull 
StaticCompound 
MutableCompound 
RotatedTranslated 
Scaled 
OffsetCenterOfMass 
Mesh 
HeightField 
SoftBody 
User1 
User2 
User3 
User4 
User5 
User6 
User7 
User8 
UserConvex1 
UserConvex2 
UserConvex3 
UserConvex4 
UserConvex5 
UserConvex6 
UserConvex7 
UserConvex8 
Plane 
TaperedCylinder 
Empty 

◆ EShapeType

enum class EShapeType : uint8
strong

Shapes are categorized in groups, each shape can return which group it belongs to through its Shape::GetType function.

Enumerator
Convex 

Used by ConvexShape, all shapes that use the generic convex vs convex collision detection system (box, sphere, capsule, tapered capsule, cylinder, triangle)

Compound 

Used by CompoundShape.

Decorated 

Used by DecoratedShape.

Mesh 

Used by MeshShape.

HeightField 

Used by HeightFieldShape.

SoftBody 

Used by SoftBodyShape.

User1 
User2 
User3 
User4 
Plane 

Used by PlaneShape.

Empty 

Used by EmptyShape.