43 virtual bool MustBeStatic()
const override {
return mInnerShape->MustBeStatic(); }
58 virtual void GetSupportingFace(
const SubShapeID &inSubShapeID,
Vec3Arg inDirection,
Vec3Arg inScale,
Mat44Arg inCenterOfMassTransform, SupportingFace &outVertices)
const override;
61 virtual uint64 GetSubShapeUserData(
const SubShapeID &inSubShapeID)
const override;
64 virtual void SaveSubShapeState(
ShapeList &outSubShapes)
const override;
65 virtual void RestoreSubShapeState(
const ShapeRefC *inSubShapes,
uint inNumShapes)
override;
68 virtual Stats GetStatsRecursive(VisitedShapes &ioVisitedShapes)
const override;
71 virtual bool IsValidScale(
Vec3Arg inScale)
const override {
return mInnerShape->IsValidScale(inScale); }
#define JPH_EXPORT
Definition: Core.h:236
std::uint64_t uint64
Definition: Core.h:456
unsigned int uint
Definition: Core.h:452
#define JPH_NAMESPACE_END
Definition: Core.h:378
#define JPH_NAMESPACE_BEGIN
Definition: Core.h:372
#define JPH_OVERRIDE_NEW_DELETE
Macro to override the new and delete functions.
Definition: Memory.h:31
#define JPH_DECLARE_SERIALIZABLE_VIRTUAL(linkage, class_name)
Definition: SerializableObject.h:109
EShapeSubType
This enumerates all shape types, each shape can return its type through Shape::GetSubType.
Definition: Shape.h:77
EShapeType
Shapes are categorized in groups, each shape can return which group it belongs to through its Shape::...
Definition: Shape.h:57
@ Decorated
Used by DecoratedShape.
Base class for shapes that decorate another shape with extra functionality (e.g. scale,...
Definition: DecoratedShape.h:30
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 ...
Definition: DecoratedShape.h:49
const Shape * GetInnerShape() const
Access to the decorated inner shape.
Definition: DecoratedShape.h:40
virtual const Shape * GetLeafShape(const SubShapeID &inSubShapeID, SubShapeID &outRemainder) const override
Definition: DecoratedShape.h:52
RefConst< Shape > mInnerShape
Definition: DecoratedShape.h:77
virtual bool IsValidScale(Vec3Arg inScale) const override
Definition: DecoratedShape.h:71
JPH_OVERRIDE_NEW_DELETE DecoratedShape(EShapeSubType inSubType)
Constructor.
Definition: DecoratedShape.h:35
virtual Vec3 GetCenterOfMass() const override
All shapes are centered around their center of mass. This function returns the center of mass positio...
Definition: DecoratedShape.h:46
virtual Vec3 MakeScaleValid(Vec3Arg inScale) const override
Definition: DecoratedShape.h:74
DecoratedShape(EShapeSubType inSubType, const Shape *inInnerShape)
Definition: DecoratedShape.h:36
virtual bool MustBeStatic() const override
Check if this shape can only be used to create a static body or if it can also be dynamic/kinematic.
Definition: DecoratedShape.h:43
Class that constructs a DecoratedShape.
Definition: DecoratedShape.h:13
RefConst< Shape > mInnerShapePtr
Sub shape (either this or mShape needs to be filled up)
Definition: DecoratedShape.h:25
DecoratedShapeSettings(const Shape *inShape)
Definition: DecoratedShape.h:22
RefConst< ShapeSettings > mInnerShape
Sub shape (either this or mShapePtr needs to be filled up)
Definition: DecoratedShape.h:24
DecoratedShapeSettings(const ShapeSettings *inShape)
Constructor that decorates another shape.
Definition: DecoratedShape.h:21
DecoratedShapeSettings()=default
Default constructor for deserialization.
Holds a 4x4 matrix of floats, but supports also operations on the 3x3 upper left part of the matrix.
Definition: Mat44.h:13
Definition: PhysicsMaterial.h:23
Definition: Reference.h:157
Base class for all shapes (collision volume of a body). Defines a virtual interface for collision det...
Definition: Shape.h:186
virtual const Shape * GetLeafShape(const SubShapeID &inSubShapeID, SubShapeID &outRemainder) const
Definition: Shape.cpp:35
A sub shape id contains a path to an element (usually a triangle or other primitive type) of a compou...
Definition: SubShapeID.h:23