132        return AABox4VsPoint(
mPoint, inBoundsMinX, inBoundsMinY, inBoundsMinZ, inBoundsMaxX, inBoundsMaxY, inBoundsMaxZ);
 
  156        mBoxCenter(inShapeCast.mShapeWorldBounds.GetCenter()),
 
  157        mBoxExtent(inShapeCast.mShapeWorldBounds.GetExtent()),
 
  182        Vec4 bounds_min_x, bounds_min_y, bounds_min_z, bounds_max_x, bounds_max_y, bounds_max_z;
 
  183        AABox4Scale(
mScale, inBoundsMinX, inBoundsMinY, inBoundsMinZ, inBoundsMaxX, inBoundsMaxY, inBoundsMaxZ, bounds_min_x, bounds_min_y, bounds_min_z, bounds_max_x, bounds_max_y, bounds_max_z);
 
  230        mLocalBox(
Mat44::sInverseRotationTranslation(inRotation, inPositionCOM), inBox),
 
  251        Vec4 bounds_min_x, bounds_min_y, bounds_min_z, bounds_max_x, bounds_max_y, bounds_max_z;
 
  252        AABox4Scale(
mScale, inBoundsMinX, inBoundsMinY, inBoundsMinZ, inBoundsMaxX, inBoundsMaxY, inBoundsMaxZ, bounds_min_x, bounds_min_y, bounds_min_z, bounds_max_x, bounds_max_y, bounds_max_z);
 
  255        return AABox4VsBox(
mLocalBox, bounds_min_x, bounds_min_y, bounds_min_z, bounds_max_x, bounds_max_y, bounds_max_z);
 
  287    JPH_INLINE          
CollideCompoundVsShapeVisitor(
const CompoundShape *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) :
 
  317        Vec4 bounds_min_x, bounds_min_y, bounds_min_z, bounds_max_x, bounds_max_y, bounds_max_z;
 
  318        AABox4Scale(
mScale1, inBoundsMinX, inBoundsMinY, inBoundsMinZ, inBoundsMaxX, inBoundsMaxY, inBoundsMaxZ, bounds_min_x, bounds_min_y, bounds_min_z, bounds_max_x, bounds_max_y, bounds_max_z);
 
  333        CollisionDispatch::sCollideShapeVsShape(inSubShape.
mShape, 
mShape2, inSubShape.
TransformScale(
mScale1), 
mScale2, transform1, 
mTransform2, shape1_sub_shape_id, 
mSubShapeIDCreator2, 
mCollideShapeSettings, 
mCollector, 
mShapeFilter);
 
  352    JPH_INLINE          
CollideShapeVsCompoundVisitor(
const Shape *inShape1, 
const CompoundShape *inShape2, 
Vec3Arg inScale1, 
Vec3Arg inScale2, 
Mat44Arg inCenterOfMassTransform1, 
Mat44Arg inCenterOfMassTransform2, 
const SubShapeIDCreator &inSubShapeIDCreator1, 
const SubShapeIDCreator &inSubShapeIDCreator2, 
const CollideShapeSettings &inCollideShapeSettings, 
CollideShapeCollector &ioCollector, 
const ShapeFilter &inShapeFilter) :
 
  383        Vec4 bounds_min_x, bounds_min_y, bounds_min_z, bounds_max_x, bounds_max_y, bounds_max_z;
 
  384        AABox4Scale(
mScale2, inBoundsMinX, inBoundsMinY, inBoundsMinZ, inBoundsMaxX, inBoundsMaxY, inBoundsMaxZ, bounds_min_x, bounds_min_y, bounds_min_z, bounds_max_x, bounds_max_y, bounds_max_z);
 
  399        CollisionDispatch::sCollideShapeVsShape(
mShape1, inSubShape.
mShape, 
mScale1, inSubShape.
TransformScale(
mScale2), 
mTransform1, transform2, 
mSubShapeIDCreator1, shape2_sub_shape_id, 
mCollideShapeSettings, 
mCollector, 
mShapeFilter);
 
  416template <
class BoxType>
 
  421        mSubShapeIndices(outSubShapeIndices),
 
  422        mMaxSubShapeIndices(inMaxSubShapeIndices)
 
  429        return mNumResults >= mMaxSubShapeIndices;
 
  436        return AABox4VsBox(mBox, inBoundsMinX, inBoundsMinY, inBoundsMinZ, inBoundsMaxX, inBoundsMaxY, inBoundsMaxZ);
 
  442        JPH_ASSERT(mNumResults < mMaxSubShapeIndices);
 
  443        *mSubShapeIndices++ = inSubShapeIndex;
 
  455    uint *              mSubShapeIndices;
 
  456    int                 mMaxSubShapeIndices;
 
JPH_INLINE UVec4 AABox4VsPoint(Vec3Arg inPoint, Vec4Arg inBoxMinX, Vec4Arg inBoxMinY, Vec4Arg inBoxMinZ, Vec4Arg inBoxMaxX, Vec4Arg inBoxMaxY, Vec4Arg inBoxMaxZ)
Test if 4 bounding boxes overlap with a point.
Definition: AABox4.h:71
 
JPH_NAMESPACE_BEGIN JPH_INLINE UVec4 AABox4VsBox(const AABox &inBox1, Vec4Arg inBox2MinX, Vec4Arg inBox2MinY, Vec4Arg inBox2MinZ, Vec4Arg inBox2MaxX, Vec4Arg inBox2MaxY, Vec4Arg inBox2MaxZ)
Definition: AABox4.h:13
 
JPH_INLINE void AABox4EnlargeWithExtent(Vec3Arg inExtent, Vec4 &ioBoundsMinX, Vec4 &ioBoundsMinY, Vec4 &ioBoundsMinZ, Vec4 &ioBoundsMaxX, Vec4 &ioBoundsMaxY, Vec4 &ioBoundsMaxZ)
Enlarge 4 bounding boxes with extent (add to both sides)
Definition: AABox4.h:55
 
JPH_INLINE void AABox4Scale(Vec3Arg inScale, Vec4Arg inBoxMinX, Vec4Arg inBoxMinY, Vec4Arg inBoxMinZ, Vec4Arg inBoxMaxX, Vec4Arg inBoxMaxY, Vec4Arg inBoxMaxZ, Vec4 &outBoundsMinX, Vec4 &outBoundsMinY, Vec4 &outBoundsMinZ, Vec4 &outBoundsMaxX, Vec4 &outBoundsMaxY, Vec4 &outBoundsMaxZ)
Scale 4 axis aligned boxes.
Definition: AABox4.h:33
 
unsigned int uint
Definition: Core.h:452
 
#define JPH_NAMESPACE_END
Definition: Core.h:378
 
std::uint32_t uint32
Definition: Core.h:455
 
#define JPH_NAMESPACE_BEGIN
Definition: Core.h:372
 
#define JPH_ASSERT(...)
Definition: IssueReporting.h:33
 
JPH_INLINE Vec4 RayAABox4(Vec3Arg inOrigin, const RayInvDirection &inInvDirection, Vec4Arg inBoundsMinX, Vec4Arg inBoundsMinY, Vec4Arg inBoundsMinZ, Vec4Arg inBoundsMaxX, Vec4Arg inBoundsMaxY, Vec4Arg inBoundsMaxZ)
Definition: RayAABox.h:72
 
Axis aligned box.
Definition: AABox.h:16
 
AABox Scaled(Vec3Arg inScale) const
Scale this bounding box, can handle non-uniform and negative scaling.
Definition: AABox.h:215
 
void ExpandBy(Vec3Arg inVector)
Widen the box on both sides by inVector.
Definition: AABox.h:98
 
AABox Transformed(Mat44Arg inMatrix) const
Transform bounding box.
Definition: AABox.h:184
 
float mFraction
Hit fraction of the ray/object [0, 1], HitPoint = Start + mFraction * (End - Start)
Definition: CastResult.h:25
 
Settings to be passed with a collision query.
Definition: CollideShape.h:94
 
JPH_OVERRIDE_NEW_DELETE float mMaxSeparationDistance
When > 0 contacts in the vicinity of the query shape can be found. All nearest contacts that are not ...
Definition: CollideShape.h:99
 
Virtual interface that allows collecting multiple collision results.
Definition: CollisionCollector.h:45
 
bool ShouldEarlyOut() const
When true, the collector will no longer accept any additional hits and the collision detection routin...
Definition: CollisionCollector.h:89
 
static void sCollideShapeVsShape(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={ })
Definition: CollisionDispatch.h:33
 
static void sCastShapeVsShapeLocalSpace(const ShapeCast &inShapeCastLocal, const ShapeCastSettings &inShapeCastSettings, const Shape *inShape, Vec3Arg inScale, const ShapeFilter &inShapeFilter, Mat44Arg inCenterOfMassTransform2, const SubShapeIDCreator &inSubShapeIDCreator1, const SubShapeIDCreator &inSubShapeIDCreator2, CastShapeCollector &ioCollector)
Definition: CollisionDispatch.h:53
 
Base class for a compound shape.
Definition: CompoundShape.h:49
 
uint GetSubShapeIDBits() const
Determine amount of bits needed to encode sub shape id.
Definition: CompoundShape.h:325
 
Holds a 4x4 matrix of floats, but supports also operations on the 3x3 upper left part of the matrix.
Definition: Mat44.h:13
 
static JPH_INLINE Mat44 sRotationTranslation(QuatArg inR, Vec3Arg inT)
Get matrix that rotates and translates.
Definition: Mat44.inl:149
 
static JPH_INLINE Mat44 sInverseRotationTranslation(QuatArg inR, Vec3Arg inT)
Get inverse matrix of sRotationTranslation.
Definition: Mat44.inl:156
 
JPH_INLINE Mat44 InversedRotationTranslation() const
Inverse 4x4 matrix when it only contains rotation and translation.
Definition: Mat44.inl:729
 
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
 
Helper structure holding the reciprocal of a ray for Ray vs AABox testing.
Definition: RayAABox.h:11
 
void Set(Vec3Arg inDirection)
Set reciprocal from ray direction.
Definition: RayAABox.h:18
 
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:186
 
virtual AABox GetLocalBounds() const =0
Get local bounding box including convex radius, this box is centered around the center of mass rather...
 
virtual void CollectTransformedShapes(const AABox &inBox, Vec3Arg inPositionCOM, QuatArg inRotation, Vec3Arg inScale, const SubShapeIDCreator &inSubShapeIDCreator, TransformedShapeCollector &ioCollector, const ShapeFilter &inShapeFilter) const
Definition: Shape.cpp:52
 
virtual bool CastRay(const RayCast &inRay, const SubShapeIDCreator &inSubShapeIDCreator, RayCastResult &ioHit) const =0
 
virtual void CollidePoint(Vec3Arg inPoint, const SubShapeIDCreator &inSubShapeIDCreator, CollidePointCollector &ioCollector, const ShapeFilter &inShapeFilter={ }) const =0
 
Definition: SubShapeID.h:108
 
SubShapeIDCreator PushID(uint inValue, uint inBits) const
Add a new id to the chain of id's and return it.
Definition: SubShapeID.h:111
 
static JPH_INLINE Vec3 sReplicate(float inV)
Replicate inV across all components.
Definition: Vec3.inl:118
 
Definition: CompoundShapeVisitors.h:66
 
const ShapeFilter & mShapeFilter
Definition: CompoundShapeVisitors.h:109
 
RayCastSettings mRayCastSettings
Definition: CompoundShapeVisitors.h:108
 
const RayCast & mRay
Definition: CompoundShapeVisitors.h:104
 
JPH_INLINE void VisitShape(const SubShape &inSubShape, uint32 inSubShapeIndex)
Test the ray against a single subshape.
Definition: CompoundShapeVisitors.h:92
 
SubShapeIDCreator mSubShapeIDCreator
Definition: CompoundShapeVisitors.h:106
 
uint mSubShapeBits
Definition: CompoundShapeVisitors.h:107
 
JPH_INLINE Vec4 TestBounds(Vec4Arg inBoundsMinX, Vec4Arg inBoundsMinY, Vec4Arg inBoundsMinZ, Vec4Arg inBoundsMaxX, Vec4Arg inBoundsMaxY, Vec4Arg inBoundsMaxZ) const
Test ray against 4 bounding boxes and returns the distance where the ray enters the bounding box.
Definition: CompoundShapeVisitors.h:86
 
CastRayCollector & mCollector
Definition: CompoundShapeVisitors.h:105
 
JPH_INLINE bool ShouldAbort() const
Returns true when collision detection should abort because it's not possible to find a better hit.
Definition: CompoundShapeVisitors.h:80
 
JPH_INLINE CastRayVisitorCollector(const RayCast &inRay, const RayCastSettings &inRayCastSettings, const CompoundShape *inShape, const SubShapeIDCreator &inSubShapeIDCreator, CastRayCollector &ioCollector, const ShapeFilter &inShapeFilter)
Definition: CompoundShapeVisitors.h:67
 
RayInvDirection mInvDirection
Definition: CompoundShapeVisitors.h:103
 
Definition: CompoundShapeVisitors.h:21
 
uint mSubShapeBits
Definition: CompoundShapeVisitors.h:61
 
JPH_INLINE Vec4 TestBounds(Vec4Arg inBoundsMinX, Vec4Arg inBoundsMinY, Vec4Arg inBoundsMinZ, Vec4Arg inBoundsMaxX, Vec4Arg inBoundsMaxY, Vec4Arg inBoundsMaxZ) const
Test ray against 4 bounding boxes and returns the distance where the ray enters the bounding box.
Definition: CompoundShapeVisitors.h:39
 
SubShapeIDCreator mSubShapeIDCreator
Definition: CompoundShapeVisitors.h:60
 
const RayCast & mRay
Definition: CompoundShapeVisitors.h:58
 
JPH_INLINE bool ShouldAbort() const
Returns true when collision detection should abort because it's not possible to find a better hit.
Definition: CompoundShapeVisitors.h:33
 
JPH_INLINE CastRayVisitor(const RayCast &inRay, const CompoundShape *inShape, const SubShapeIDCreator &inSubShapeIDCreator, RayCastResult &ioHit)
Definition: CompoundShapeVisitors.h:22
 
RayInvDirection mInvDirection
Definition: CompoundShapeVisitors.h:57
 
bool mReturnValue
Definition: CompoundShapeVisitors.h:62
 
RayCastResult & mHit
Definition: CompoundShapeVisitors.h:59
 
JPH_INLINE void VisitShape(const SubShape &inSubShape, uint32 inSubShapeIndex)
Test the ray against a single subshape.
Definition: CompoundShapeVisitors.h:45
 
Definition: CompoundShapeVisitors.h:154
 
Vec3 mScale
Definition: CompoundShapeVisitors.h:215
 
JPH_INLINE bool ShouldAbort() const
Returns true when collision detection should abort because it's not possible to find a better hit.
Definition: CompoundShapeVisitors.h:173
 
CastShapeCollector & mCollector
Definition: CompoundShapeVisitors.h:219
 
const ShapeCastSettings & mShapeCastSettings
Definition: CompoundShapeVisitors.h:217
 
SubShapeIDCreator mSubShapeIDCreator2
Definition: CompoundShapeVisitors.h:222
 
Vec3 mBoxExtent
Definition: CompoundShapeVisitors.h:214
 
uint mSubShapeBits
Definition: CompoundShapeVisitors.h:223
 
const ShapeCast & mShapeCast
Definition: CompoundShapeVisitors.h:216
 
const ShapeFilter & mShapeFilter
Definition: CompoundShapeVisitors.h:218
 
SubShapeIDCreator mSubShapeIDCreator1
Definition: CompoundShapeVisitors.h:221
 
JPH_INLINE void VisitShape(const SubShape &inSubShape, uint32 inSubShapeIndex)
Test the cast shape against a single subshape.
Definition: CompoundShapeVisitors.h:193
 
JPH_INLINE Vec4 TestBounds(Vec4Arg inBoundsMinX, Vec4Arg inBoundsMinY, Vec4Arg inBoundsMinZ, Vec4Arg inBoundsMaxX, Vec4Arg inBoundsMaxY, Vec4Arg inBoundsMaxZ) const
Tests the shape cast against 4 bounding boxes, returns the distance along the shape cast where the sh...
Definition: CompoundShapeVisitors.h:179
 
JPH_INLINE CastShapeVisitor(const ShapeCast &inShapeCast, const ShapeCastSettings &inShapeCastSettings, const CompoundShape *inShape, Vec3Arg inScale, const ShapeFilter &inShapeFilter, Mat44Arg inCenterOfMassTransform2, const SubShapeIDCreator &inSubShapeIDCreator1, const SubShapeIDCreator &inSubShapeIDCreator2, CastShapeCollector &ioCollector)
Definition: CompoundShapeVisitors.h:155
 
Vec3 mBoxCenter
Definition: CompoundShapeVisitors.h:213
 
RayInvDirection mInvDirection
Definition: CompoundShapeVisitors.h:212
 
Mat44 mCenterOfMassTransform2
Definition: CompoundShapeVisitors.h:220
 
Definition: CompoundShapeVisitors.h:286
 
CollideShapeCollector & mCollector
Definition: CompoundShapeVisitors.h:337
 
Mat44 mTransform1
Definition: CompoundShapeVisitors.h:341
 
JPH_INLINE bool ShouldAbort() const
Returns true when collision detection should abort because it's not possible to find a better hit.
Definition: CompoundShapeVisitors.h:308
 
const CollideShapeSettings & mCollideShapeSettings
Definition: CompoundShapeVisitors.h:336
 
Mat44 mTransform2
Definition: CompoundShapeVisitors.h:342
 
uint mSubShapeBits
Definition: CompoundShapeVisitors.h:346
 
const ShapeFilter & mShapeFilter
Definition: CompoundShapeVisitors.h:347
 
Vec3 mScale1
Definition: CompoundShapeVisitors.h:339
 
SubShapeIDCreator mSubShapeIDCreator2
Definition: CompoundShapeVisitors.h:345
 
Vec3 mScale2
Definition: CompoundShapeVisitors.h:340
 
JPH_INLINE CollideCompoundVsShapeVisitor(const CompoundShape *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)
Definition: CompoundShapeVisitors.h:287
 
AABox mBoundsOf2InSpaceOf1
Definition: CompoundShapeVisitors.h:343
 
JPH_INLINE UVec4 TestBounds(Vec4Arg inBoundsMinX, Vec4Arg inBoundsMinY, Vec4Arg inBoundsMinZ, Vec4Arg inBoundsMaxX, Vec4Arg inBoundsMaxY, Vec4Arg inBoundsMaxZ) const
Tests the bounds of shape 2 vs 4 bounding boxes, returns true for the ones that intersect.
Definition: CompoundShapeVisitors.h:314
 
const Shape * mShape2
Definition: CompoundShapeVisitors.h:338
 
JPH_INLINE void VisitShape(const SubShape &inSubShape, uint32 inSubShapeIndex)
Test the shape against a single subshape.
Definition: CompoundShapeVisitors.h:325
 
SubShapeIDCreator mSubShapeIDCreator1
Definition: CompoundShapeVisitors.h:344
 
Definition: CompoundShapeVisitors.h:113
 
JPH_INLINE UVec4 TestBounds(Vec4Arg inBoundsMinX, Vec4Arg inBoundsMinY, Vec4Arg inBoundsMinZ, Vec4Arg inBoundsMaxX, Vec4Arg inBoundsMaxY, Vec4Arg inBoundsMaxZ) const
Test if point overlaps with 4 boxes, returns true for the ones that do.
Definition: CompoundShapeVisitors.h:130
 
Vec3 mPoint
Definition: CompoundShapeVisitors.h:146
 
SubShapeIDCreator mSubShapeIDCreator
Definition: CompoundShapeVisitors.h:147
 
JPH_INLINE CollidePointVisitor(Vec3Arg inPoint, const CompoundShape *inShape, const SubShapeIDCreator &inSubShapeIDCreator, CollidePointCollector &ioCollector, const ShapeFilter &inShapeFilter)
Definition: CompoundShapeVisitors.h:114
 
JPH_INLINE bool ShouldAbort() const
Returns true when collision detection should abort because it's not possible to find a better hit.
Definition: CompoundShapeVisitors.h:124
 
CollidePointCollector & mCollector
Definition: CompoundShapeVisitors.h:148
 
uint mSubShapeBits
Definition: CompoundShapeVisitors.h:149
 
JPH_INLINE void VisitShape(const SubShape &inSubShape, uint32 inSubShapeIndex)
Test the point against a single subshape.
Definition: CompoundShapeVisitors.h:136
 
const ShapeFilter & mShapeFilter
Definition: CompoundShapeVisitors.h:150
 
Definition: CompoundShapeVisitors.h:351
 
JPH_INLINE bool ShouldAbort() const
Returns true when collision detection should abort because it's not possible to find a better hit.
Definition: CompoundShapeVisitors.h:374
 
uint mSubShapeBits
Definition: CompoundShapeVisitors.h:412
 
const Shape * mShape1
Definition: CompoundShapeVisitors.h:404
 
const ShapeFilter & mShapeFilter
Definition: CompoundShapeVisitors.h:413
 
SubShapeIDCreator mSubShapeIDCreator2
Definition: CompoundShapeVisitors.h:411
 
const CollideShapeSettings & mCollideShapeSettings
Definition: CompoundShapeVisitors.h:402
 
CollideShapeCollector & mCollector
Definition: CompoundShapeVisitors.h:403
 
Mat44 mTransform1
Definition: CompoundShapeVisitors.h:407
 
AABox mBoundsOf1InSpaceOf2
Definition: CompoundShapeVisitors.h:409
 
Vec3 mScale1
Definition: CompoundShapeVisitors.h:405
 
Vec3 mScale2
Definition: CompoundShapeVisitors.h:406
 
JPH_INLINE UVec4 TestBounds(Vec4Arg inBoundsMinX, Vec4Arg inBoundsMinY, Vec4Arg inBoundsMinZ, Vec4Arg inBoundsMaxX, Vec4Arg inBoundsMaxY, Vec4Arg inBoundsMaxZ) const
Tests the bounds of shape 1 vs 4 bounding boxes, returns true for the ones that intersect.
Definition: CompoundShapeVisitors.h:380
 
SubShapeIDCreator mSubShapeIDCreator1
Definition: CompoundShapeVisitors.h:410
 
JPH_INLINE void VisitShape(const SubShape &inSubShape, uint32 inSubShapeIndex)
Test the shape against a single subshape.
Definition: CompoundShapeVisitors.h:391
 
Mat44 mTransform2
Definition: CompoundShapeVisitors.h:408
 
JPH_INLINE CollideShapeVsCompoundVisitor(const Shape *inShape1, const CompoundShape *inShape2, Vec3Arg inScale1, Vec3Arg inScale2, Mat44Arg inCenterOfMassTransform1, Mat44Arg inCenterOfMassTransform2, const SubShapeIDCreator &inSubShapeIDCreator1, const SubShapeIDCreator &inSubShapeIDCreator2, const CollideShapeSettings &inCollideShapeSettings, CollideShapeCollector &ioCollector, const ShapeFilter &inShapeFilter)
Definition: CompoundShapeVisitors.h:352
 
Definition: CompoundShapeVisitors.h:418
 
JPH_INLINE UVec4 TestBounds(Vec4Arg inBoundsMinX, Vec4Arg inBoundsMinY, Vec4Arg inBoundsMinZ, Vec4Arg inBoundsMaxX, Vec4Arg inBoundsMaxY, Vec4Arg inBoundsMaxZ) const
Tests the box vs 4 bounding boxes, returns true for the ones that intersect.
Definition: CompoundShapeVisitors.h:433
 
JPH_INLINE bool ShouldAbort() const
Returns true when collision detection should abort because the buffer is full.
Definition: CompoundShapeVisitors.h:427
 
JPH_INLINE GetIntersectingSubShapesVisitor(const BoxType &inBox, uint *outSubShapeIndices, int inMaxSubShapeIndices)
Definition: CompoundShapeVisitors.h:419
 
JPH_INLINE void VisitShape(const SubShape &inSubShape, uint32 inSubShapeIndex)
Records a hit.
Definition: CompoundShapeVisitors.h:440
 
JPH_INLINE int GetNumResults() const
Get the number of indices that were found.
Definition: CompoundShapeVisitors.h:448
 
Definition: CompoundShape.h:138
 
JPH_INLINE Quat GetRotation() const
Uncompress the rotation.
Definition: CompoundShape.h:229
 
JPH_INLINE Mat44 GetLocalTransformNoScale(Vec3Arg inScale) const
Definition: CompoundShape.h:184
 
bool IsValidScale(Vec3Arg inScale) const
Test if inScale is valid for this sub shape.
Definition: CompoundShape.h:191
 
Vec3 TransformScale(Vec3Arg inScale) const
Transform the scale to the local space of the child shape.
Definition: CompoundShape.h:201
 
JPH_INLINE Vec3 GetPositionCOM() const
Uncompress the center of mass position.
Definition: CompoundShape.h:217
 
RefConst< Shape > mShape
Definition: CompoundShape.h:234
 
Vec3 mDirection
Direction and length of the ray (anything beyond this length will not be reported as a hit)
Definition: RayCast.h:43
 
RayCastType Transformed(typename Mat::ArgType inTransform) const
Transform this ray using inTransform.
Definition: RayCast.h:23
 
Vec mOrigin
Origin of the ray.
Definition: RayCast.h:42
 
Definition: ShapeCast.h:69
 
const Vec3 mDirection
Direction and length of the cast (anything beyond this length will not be reported as a hit)
Definition: ShapeCast.h:64
 
ShapeCastType PostTransformed(typename Mat::ArgType inTransform) const
Transform this shape cast using inTransform. Multiply transform on the left left hand side.
Definition: ShapeCast.h:42