A single triangle, not the most efficient way of creating a world filled with triangles but can be used as a query shape for example.
More...
|
JPH_OVERRIDE_NEW_DELETE | TriangleShape () |
| Constructor. More...
|
|
| TriangleShape (const TriangleShapeSettings &inSettings, ShapeResult &outResult) |
|
| TriangleShape (Vec3Arg inV1, Vec3Arg inV2, Vec3Arg inV3, float inConvexRadius=0.0f, const PhysicsMaterial *inMaterial=nullptr) |
|
float | GetConvexRadius () const |
| Convex radius. More...
|
|
virtual AABox | GetLocalBounds () const override |
| Get local bounding box including convex radius, this box is centered around the center of mass rather than the world transform. More...
|
|
virtual AABox | GetWorldSpaceBounds (Mat44Arg inCenterOfMassTransform, Vec3Arg inScale) const override |
|
virtual float | GetInnerRadius () const override |
|
virtual MassProperties | GetMassProperties () const override |
| Calculate the mass and inertia of this shape. More...
|
|
virtual Vec3 | GetSurfaceNormal (const SubShapeID &inSubShapeID, Vec3Arg inLocalSurfacePosition) const override |
|
virtual void | GetSupportingFace (const SubShapeID &inSubShapeID, Vec3Arg inDirection, Vec3Arg inScale, Mat44Arg inCenterOfMassTransform, SupportingFace &outVertices) const override |
|
virtual const Support * | GetSupportFunction (ESupportMode inMode, SupportBuffer &inBuffer, Vec3Arg inScale) const override |
|
virtual void | GetSubmergedVolume (Mat44Arg inCenterOfMassTransform, Vec3Arg inScale, const Plane &inSurface, float &outTotalVolume, float &outSubmergedVolume, Vec3 &outCenterOfBuoyancy JPH_IF_DEBUG_RENDERER(, RVec3Arg inBaseOffset)) const override |
|
virtual void | Draw (DebugRenderer *inRenderer, RMat44Arg inCenterOfMassTransform, Vec3Arg inScale, ColorArg inColor, bool inUseMaterialColors, bool inDrawWireframe) const override |
| Draw the shape at a particular location with a particular color (debugging purposes) More...
|
|
virtual bool | CastRay (const RayCast &inRay, const SubShapeIDCreator &inSubShapeIDCreator, RayCastResult &ioHit) const override |
|
virtual void | CastRay (const RayCast &inRay, const RayCastSettings &inRayCastSettings, const SubShapeIDCreator &inSubShapeIDCreator, CastRayCollector &ioCollector, const ShapeFilter &inShapeFilter={ }) const override |
|
virtual void | CollidePoint (Vec3Arg inPoint, const SubShapeIDCreator &inSubShapeIDCreator, CollidePointCollector &ioCollector, const ShapeFilter &inShapeFilter={ }) const override |
|
virtual void | CollideSoftBodyVertices (Mat44Arg inCenterOfMassTransform, Vec3Arg inScale, SoftBodyVertex *ioVertices, uint inNumVertices, float inDeltaTime, Vec3Arg inDisplacementDueToGravity, int inCollidingShapeIndex) const override |
|
virtual void | TransformShape (Mat44Arg inCenterOfMassTransform, TransformedShapeCollector &ioCollector) const override |
|
virtual void | GetTrianglesStart (GetTrianglesContext &ioContext, const AABox &inBox, Vec3Arg inPositionCOM, QuatArg inRotation, Vec3Arg inScale) const override |
|
virtual int | GetTrianglesNext (GetTrianglesContext &ioContext, int inMaxTrianglesRequested, Float3 *outTriangleVertices, const PhysicsMaterial **outMaterials=nullptr) const override |
|
virtual void | SaveBinaryState (StreamOut &inStream) const override |
| Saves the contents of the shape in binary form to inStream. More...
|
|
virtual Stats | GetStats () const override |
| Get stats of this shape. Use for logging / data collection purposes only. Does not add values from child shapes, use GetStatsRecursive for this. More...
|
|
virtual float | GetVolume () const override |
|
virtual bool | IsValidScale (Vec3Arg inScale) const override |
|
virtual AABox | GetWorldSpaceBounds (Mat44Arg inCenterOfMassTransform, Vec3Arg inScale) const |
|
AABox | GetWorldSpaceBounds (DMat44Arg inCenterOfMassTransform, Vec3Arg inScale) const |
| Get world space bounds including convex radius. More...
|
|
JPH_OVERRIDE_NEW_DELETE | ConvexShape (EShapeSubType inSubType) |
| Constructor. More...
|
|
| ConvexShape (EShapeSubType inSubType, const ConvexShapeSettings &inSettings, ShapeResult &outResult) |
|
| ConvexShape (EShapeSubType inSubType, const PhysicsMaterial *inMaterial) |
|
virtual uint | GetSubShapeIDBitsRecursive () const override |
| Get the max number of sub shape ID bits that are needed to be able to address any leaf shape in this shape. Used mainly for checking that it is smaller or equal than SubShapeID::MaxBits. More...
|
|
virtual const PhysicsMaterial * | GetMaterial (const SubShapeID &inSubShapeID) const override |
| Get the material assigned to a particular sub shape ID. More...
|
|
virtual bool | CastRay (const RayCast &inRay, const SubShapeIDCreator &inSubShapeIDCreator, RayCastResult &ioHit) const override |
|
virtual void | CastRay (const RayCast &inRay, const RayCastSettings &inRayCastSettings, const SubShapeIDCreator &inSubShapeIDCreator, CastRayCollector &ioCollector, const ShapeFilter &inShapeFilter={ }) const override |
|
virtual void | CollidePoint (Vec3Arg inPoint, const SubShapeIDCreator &inSubShapeIDCreator, CollidePointCollector &ioCollector, const ShapeFilter &inShapeFilter={ }) const override |
|
virtual void | GetTrianglesStart (GetTrianglesContext &ioContext, const AABox &inBox, Vec3Arg inPositionCOM, QuatArg inRotation, Vec3Arg inScale) const override |
|
virtual int | GetTrianglesNext (GetTrianglesContext &ioContext, int inMaxTrianglesRequested, Float3 *outTriangleVertices, const PhysicsMaterial **outMaterials=nullptr) const override |
|
virtual void | GetSubmergedVolume (Mat44Arg inCenterOfMassTransform, Vec3Arg inScale, const Plane &inSurface, float &outTotalVolume, float &outSubmergedVolume, Vec3 &outCenterOfBuoyancy JPH_IF_DEBUG_RENDERER(, RVec3Arg inBaseOffset)) const override |
|
virtual const Support * | GetSupportFunction (ESupportMode inMode, SupportBuffer &inBuffer, Vec3Arg inScale) const =0 |
|
void | SetMaterial (const PhysicsMaterial *inMaterial) |
| Material of the shape. More...
|
|
const PhysicsMaterial * | GetMaterial () const |
|
void | SetDensity (float inDensity) |
| Set density of the shape (kg / m^3) More...
|
|
float | GetDensity () const |
| Get density of the shape (kg / m^3) More...
|
|
virtual void | DrawGetSupportFunction (DebugRenderer *inRenderer, RMat44Arg inCenterOfMassTransform, Vec3Arg inScale, ColorArg inColor, bool inDrawSupportDirection) const override |
| Draw the results of the GetSupportFunction with the convex radius added back on to show any errors introduced by this process (only relevant for convex shapes) More...
|
|
virtual void | DrawGetSupportingFace (DebugRenderer *inRenderer, RMat44Arg inCenterOfMassTransform, Vec3Arg inScale) const override |
| Draw the results of the GetSupportingFace function to show any errors introduced by this process (only relevant for convex shapes) More...
|
|
virtual void | SaveBinaryState (StreamOut &inStream) const override |
| Saves the contents of the shape in binary form to inStream. More...
|
|
virtual void | SaveMaterialState (PhysicsMaterialList &outMaterials) const override |
|
virtual void | RestoreMaterialState (const PhysicsMaterialRefC *inMaterials, uint inNumMaterials) override |
| Restore the material references after calling sRestoreFromBinaryState. Note that the exact same materials need to be provided in the same order as returned by SaveMaterialState. More...
|
|
| Shape (EShapeType inType, EShapeSubType inSubType) |
| Constructor. More...
|
|
| Shape (EShapeType inType, EShapeSubType inSubType, const ShapeSettings &inSettings, ShapeResult &outResult) |
|
virtual | ~Shape ()=default |
| Destructor. More...
|
|
EShapeType | GetType () const |
| Get type. More...
|
|
EShapeSubType | GetSubType () const |
|
uint64 | GetUserData () const |
| User data (to be used freely by the application) More...
|
|
void | SetUserData (uint64 inUserData) |
|
virtual bool | MustBeStatic () const |
| Check if this shape can only be used to create a static body or if it can also be dynamic/kinematic. More...
|
|
virtual Vec3 | GetCenterOfMass () const |
| All shapes are centered around their center of mass. This function returns the center of mass position that needs to be applied to transform the shape to where it was created. More...
|
|
virtual AABox | GetLocalBounds () const =0 |
| Get local bounding box including convex radius, this box is centered around the center of mass rather than the world transform. More...
|
|
virtual uint | GetSubShapeIDBitsRecursive () const =0 |
| Get the max number of sub shape ID bits that are needed to be able to address any leaf shape in this shape. Used mainly for checking that it is smaller or equal than SubShapeID::MaxBits. More...
|
|
virtual AABox | GetWorldSpaceBounds (Mat44Arg inCenterOfMassTransform, Vec3Arg inScale) const |
|
AABox | GetWorldSpaceBounds (DMat44Arg inCenterOfMassTransform, Vec3Arg inScale) const |
| Get world space bounds including convex radius. More...
|
|
virtual float | GetInnerRadius () const =0 |
|
virtual MassProperties | GetMassProperties () const =0 |
| Calculate the mass and inertia of this shape. More...
|
|
virtual const PhysicsMaterial * | GetMaterial (const SubShapeID &inSubShapeID) const =0 |
| Get the material assigned to a particular sub shape ID. More...
|
|
virtual Vec3 | GetSurfaceNormal (const SubShapeID &inSubShapeID, Vec3Arg inLocalSurfacePosition) const =0 |
|
virtual void | GetSupportingFace (const SubShapeID &inSubShapeID, Vec3Arg inDirection, Vec3Arg inScale, Mat44Arg inCenterOfMassTransform, SupportingFace &outVertices) const |
|
virtual uint64 | GetSubShapeUserData (const SubShapeID &inSubShapeID) const |
| Get the user data of a particular sub shape ID. More...
|
|
virtual TransformedShape | GetSubShapeTransformedShape (const SubShapeID &inSubShapeID, Vec3Arg inPositionCOM, QuatArg inRotation, Vec3Arg inScale, SubShapeID &outRemainder) const |
|
virtual void | GetSubmergedVolume (Mat44Arg inCenterOfMassTransform, Vec3Arg inScale, const Plane &inSurface, float &outTotalVolume, float &outSubmergedVolume, Vec3 &outCenterOfBuoyancy, RVec3Arg inBaseOffset) const =0 |
|
virtual void | Draw (DebugRenderer *inRenderer, RMat44Arg inCenterOfMassTransform, Vec3Arg inScale, ColorArg inColor, bool inUseMaterialColors, bool inDrawWireframe) const =0 |
| Draw the shape at a particular location with a particular color (debugging purposes) More...
|
|
virtual void | DrawGetSupportFunction (DebugRenderer *inRenderer, RMat44Arg inCenterOfMassTransform, Vec3Arg inScale, ColorArg inColor, bool inDrawSupportDirection) const |
| Draw the results of the GetSupportFunction with the convex radius added back on to show any errors introduced by this process (only relevant for convex shapes) More...
|
|
virtual void | DrawGetSupportingFace (DebugRenderer *inRenderer, RMat44Arg inCenterOfMassTransform, Vec3Arg inScale) const |
| Draw the results of the GetSupportingFace function to show any errors introduced by this process (only relevant for convex shapes) More...
|
|
virtual bool | CastRay (const RayCast &inRay, const SubShapeIDCreator &inSubShapeIDCreator, RayCastResult &ioHit) const =0 |
|
virtual void | CastRay (const RayCast &inRay, const RayCastSettings &inRayCastSettings, const SubShapeIDCreator &inSubShapeIDCreator, CastRayCollector &ioCollector, const ShapeFilter &inShapeFilter={ }) const =0 |
|
virtual void | CollidePoint (Vec3Arg inPoint, const SubShapeIDCreator &inSubShapeIDCreator, CollidePointCollector &ioCollector, const ShapeFilter &inShapeFilter={ }) const =0 |
|
virtual void | CollideSoftBodyVertices (Mat44Arg inCenterOfMassTransform, Vec3Arg inScale, SoftBodyVertex *ioVertices, uint inNumVertices, float inDeltaTime, Vec3Arg inDisplacementDueToGravity, int inCollidingShapeIndex) const =0 |
|
virtual void | CollectTransformedShapes (const AABox &inBox, Vec3Arg inPositionCOM, QuatArg inRotation, Vec3Arg inScale, const SubShapeIDCreator &inSubShapeIDCreator, TransformedShapeCollector &ioCollector, const ShapeFilter &inShapeFilter) const |
|
virtual void | TransformShape (Mat44Arg inCenterOfMassTransform, TransformedShapeCollector &ioCollector) const |
|
ShapeResult | ScaleShape (Vec3Arg inScale) const |
|
virtual void | GetTrianglesStart (GetTrianglesContext &ioContext, const AABox &inBox, Vec3Arg inPositionCOM, QuatArg inRotation, Vec3Arg inScale) const =0 |
|
virtual int | GetTrianglesNext (GetTrianglesContext &ioContext, int inMaxTrianglesRequested, Float3 *outTriangleVertices, const PhysicsMaterial **outMaterials=nullptr) const =0 |
|
virtual Stats | GetStats () const =0 |
| Get stats of this shape. Use for logging / data collection purposes only. Does not add values from child shapes, use GetStatsRecursive for this. More...
|
|
virtual Stats | GetStatsRecursive (VisitedShapes &ioVisitedShapes) const |
| Volume of this shape (m^3). Note that for compound shapes the volume may be incorrect since child shapes can overlap which is not accounted for. More...
|
|
virtual float | GetVolume () const =0 |
|
virtual bool | IsValidScale (Vec3Arg inScale) const |
|
virtual void | SaveMaterialState (PhysicsMaterialList &outMaterials) const |
| Outputs the material references that this shape has to outMaterials. More...
|
|
virtual void | SaveSubShapeState (ShapeList &outSubShapes) const |
| Outputs the shape references that this shape has to outSubShapes. More...
|
|
virtual void | RestoreSubShapeState (const ShapeRefC *inSubShapes, uint inNumShapes) |
| Restore the shape references after calling sRestoreFromBinaryState. Note that the exact same shapes need to be provided in the same order as returned by SaveSubShapeState. More...
|
|
void | SaveWithChildren (StreamOut &inStream, ShapeToIDMap &ioShapeMap, MaterialToIDMap &ioMaterialMap) const |
| Save this shape, all its children and its materials. Pass in an empty map in ioShapeMap / ioMaterialMap or reuse the same map while saving multiple shapes to the same stream in order to avoid writing duplicates. More...
|
|
| RefTarget ()=default |
| Constructor. More...
|
|
| RefTarget (const RefTarget &) |
|
| ~RefTarget () |
| assert no one is referencing us More...
|
|
void | SetEmbedded () const |
|
RefTarget & | operator= (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 |
|
| NonCopyable ()=default |
|
| NonCopyable (const NonCopyable &)=delete |
|
void | operator= (const NonCopyable &)=delete |
|