61 virtual Stats GetStats()
const override {
return Stats(
sizeof(*
this) + mSubShapes.size() *
sizeof(
SubShape) + mNodes.size() *
sizeof(Node), 0); }
64 static void sRegister();
72 template <
class BoxType>
73 struct GetIntersectingSubShapesVisitorSC :
public GetIntersectingSubShapesVisitor<BoxType>
75 using GetIntersectingSubShapesVisitor<
BoxType>::GetIntersectingSubShapesVisitor;
100 static void sCollideCompoundVsShape(
const Shape *
inShape1,
const Shape *
inShape2,
Vec3Arg inScale1,
Vec3Arg inScale2,
Mat44Arg inCenterOfMassTransform1,
Mat44Arg inCenterOfMassTransform2,
const SubShapeIDCreator &
inSubShapeIDCreator1,
const SubShapeIDCreator &
inSubShapeIDCreator2,
const CollideShapeSettings &
inCollideShapeSettings,
CollideShapeCollector &
ioCollector,
const ShapeFilter &
inShapeFilter);
101 static void sCollideShapeVsCompound(
const Shape *
inShape1,
const Shape *
inShape2,
Vec3Arg inScale1,
Vec3Arg inScale2,
Mat44Arg inCenterOfMassTransform1,
Mat44Arg inCenterOfMassTransform2,
const SubShapeIDCreator &
inSubShapeIDCreator1,
const SubShapeIDCreator &
inSubShapeIDCreator2,
const CollideShapeSettings &
inCollideShapeSettings,
CollideShapeCollector &
ioCollector,
const ShapeFilter &
inShapeFilter);
107 template <
class Visitor>
113 IS_SUBSHAPE = 0x80000000,
114 INVALID_NODE = 0x7fffffff,
129 uint32 mNodeProperties[4];
132 static_assert(
sizeof(Node) == 64,
"Node should be 64 bytes");
#define JPH_EXPORT
Definition Core.h:227
unsigned int uint
Definition Core.h:439
#define JPH_NAMESPACE_END
Definition Core.h:367
std::uint32_t uint32
Definition Core.h:442
#define JPH_NAMESPACE_BEGIN
Definition Core.h:361
uint16 HalfFloat
Definition HalfFloat.h:11
AllocateFunction Allocate
Definition Memory.cpp:59
#define JPH_OVERRIDE_NEW_DELETE
Macro to override the new and delete functions.
Definition Memory.h:29
std::vector< T, STLAllocator< T > > Array
Definition STLAllocator.h:81
#define JPH_DECLARE_SERIALIZABLE_VIRTUAL(linkage, class_name)
Definition SerializableObject.h:100
EShapeSubType
This enumerates all shape types, each shape can return its type through Shape::GetSubType.
Definition Shape.h:74
JPH_INLINE int CountAndSortTrues(UVec4Arg inValue, UVec4 &ioIdentifiers)
Definition SortReverseAndStore.h:39
Axis aligned box.
Definition AABox.h:16
Settings to be passed with a collision query.
Definition CollideShape.h:94
Virtual interface that allows collecting multiple collision results.
Definition CollisionCollector.h:45
Base class for a compound shape.
Definition CompoundShape.h:49
Base class settings to construct a compound shape.
Definition CompoundShape.h:18
Holds a 4x4 matrix of floats, but supports also operations on the 3x3 upper left part of the matrix.
Definition Mat44.h:13
Oriented box.
Definition OrientedBox.h:18
Specialization of cast result against a shape.
Definition CastResult.h:30
Settings to be passed with a ray cast.
Definition RayCast.h:70
Settings to be passed with a shape cast.
Definition ShapeCast.h:92
Filter class.
Definition ShapeFilter.h:17
Base class for all shapes (collision volume of a body). Defines a virtual interface for collision det...
Definition Shape.h:178
virtual ShapeResult Create() const =0
Create a shape according to the settings specified by this object.
Definition StaticCompoundShape.h:33
JPH_OVERRIDE_NEW_DELETE StaticCompoundShape()
Constructor.
Definition StaticCompoundShape.h:38
virtual Stats GetStats() const override
Get stats of this shape. Use for logging / data collection purposes only. Does not add values from ch...
Definition StaticCompoundShape.h:61
Class that constructs a StaticCompoundShape. Note that if you only want a compound of 1 shape,...
Definition StaticCompoundShape.h:18
Simple binary input stream.
Definition StreamIn.h:13
Simple binary output stream.
Definition StreamOut.h:13
Definition SubShapeID.h:108
Definition TempAllocator.h:16
constexpr int cStackSize
Stack size to use during WalkHeightField.
Definition HeightFieldShape.h:26
Definition CompoundShape.h:135
Class that holds information about the shape that can be used for logging / data collection purposes.
Definition Shape.h:396
Definition ShapeCast.h:69