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

Go to the source code of this file.

Functions

JPH_NAMESPACE_BEGIN JPH_INLINE UVec4 AABox4VsBox (const AABox &inBox1, Vec4Arg inBox2MinX, Vec4Arg inBox2MinY, Vec4Arg inBox2MinZ, Vec4Arg inBox2MaxX, Vec4Arg inBox2MaxY, Vec4Arg inBox2MaxZ)
 
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. More...
 
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) More...
 
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. More...
 
JPH_INLINE UVec4 AABox4VsBox (Mat44Arg inOrientation, Vec3Arg inHalfExtents, Vec4Arg inBoxMinX, Vec4Arg inBoxMinY, Vec4Arg inBoxMinZ, Vec4Arg inBoxMaxX, Vec4Arg inBoxMaxY, Vec4Arg inBoxMaxZ, float inEpsilon=1.0e-6f)
 Test if 4 bounding boxes overlap with an oriented box. More...
 
JPH_INLINE UVec4 AABox4VsBox (const OrientedBox &inBox, Vec4Arg inBoxMinX, Vec4Arg inBoxMinY, Vec4Arg inBoxMinZ, Vec4Arg inBoxMaxX, Vec4Arg inBoxMaxY, Vec4Arg inBoxMaxZ, float inEpsilon=1.0e-6f)
 Convenience function that tests 4 AABoxes vs OrientedBox. More...
 
JPH_INLINE Vec4 AABox4DistanceSqToPoint (Vec4Arg inPointX, Vec4Arg inPointY, Vec4Arg inPointZ, Vec4Arg inBoxMinX, Vec4Arg inBoxMinY, Vec4Arg inBoxMinZ, Vec4Arg inBoxMaxX, Vec4Arg inBoxMaxY, Vec4Arg inBoxMaxZ)
 Get the squared distance between 4 AABoxes and a point. More...
 
JPH_INLINE Vec4 AABox4DistanceSqToPoint (Vec3 inPoint, Vec4Arg inBoxMinX, Vec4Arg inBoxMinY, Vec4Arg inBoxMinZ, Vec4Arg inBoxMaxX, Vec4Arg inBoxMaxY, Vec4Arg inBoxMaxZ)
 Get the squared distance between 4 AABoxes and a point. More...
 
JPH_INLINE UVec4 AABox4VsSphere (Vec4Arg inCenterX, Vec4Arg inCenterY, Vec4Arg inCenterZ, Vec4Arg inRadiusSq, Vec4Arg inBoxMinX, Vec4Arg inBoxMinY, Vec4Arg inBoxMinZ, Vec4Arg inBoxMaxX, Vec4Arg inBoxMaxY, Vec4Arg inBoxMaxZ)
 Test 4 AABoxes vs a sphere. More...
 
JPH_INLINE UVec4 AABox4VsSphere (Vec3Arg inCenter, float inRadiusSq, Vec4Arg inBoxMinX, Vec4Arg inBoxMinY, Vec4Arg inBoxMinZ, Vec4Arg inBoxMaxX, Vec4Arg inBoxMaxY, Vec4Arg inBoxMaxZ)
 Test 4 AABoxes vs a sphere. More...
 

Function Documentation

◆ AABox4DistanceSqToPoint() [1/2]

JPH_INLINE Vec4 AABox4DistanceSqToPoint ( Vec3  inPoint,
Vec4Arg  inBoxMinX,
Vec4Arg  inBoxMinY,
Vec4Arg  inBoxMinZ,
Vec4Arg  inBoxMaxX,
Vec4Arg  inBoxMaxY,
Vec4Arg  inBoxMaxZ 
)

Get the squared distance between 4 AABoxes and a point.

◆ AABox4DistanceSqToPoint() [2/2]

JPH_INLINE Vec4 AABox4DistanceSqToPoint ( Vec4Arg  inPointX,
Vec4Arg  inPointY,
Vec4Arg  inPointZ,
Vec4Arg  inBoxMinX,
Vec4Arg  inBoxMinY,
Vec4Arg  inBoxMinZ,
Vec4Arg  inBoxMaxX,
Vec4Arg  inBoxMaxY,
Vec4Arg  inBoxMaxZ 
)

Get the squared distance between 4 AABoxes and a point.

◆ AABox4EnlargeWithExtent()

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)

◆ AABox4Scale()

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.

◆ AABox4VsBox() [1/3]

JPH_NAMESPACE_BEGIN JPH_INLINE UVec4 AABox4VsBox ( const AABox inBox1,
Vec4Arg  inBox2MinX,
Vec4Arg  inBox2MinY,
Vec4Arg  inBox2MinZ,
Vec4Arg  inBox2MaxX,
Vec4Arg  inBox2MaxY,
Vec4Arg  inBox2MaxZ 
)

Helper functions that process 4 axis aligned boxes at the same time using SIMD Test if 4 bounding boxes overlap with 1 bounding box, splat 1 box

◆ AABox4VsBox() [2/3]

JPH_INLINE UVec4 AABox4VsBox ( const OrientedBox inBox,
Vec4Arg  inBoxMinX,
Vec4Arg  inBoxMinY,
Vec4Arg  inBoxMinZ,
Vec4Arg  inBoxMaxX,
Vec4Arg  inBoxMaxY,
Vec4Arg  inBoxMaxZ,
float  inEpsilon = 1.0e-6f 
)

Convenience function that tests 4 AABoxes vs OrientedBox.

◆ AABox4VsBox() [3/3]

JPH_INLINE UVec4 AABox4VsBox ( Mat44Arg  inOrientation,
Vec3Arg  inHalfExtents,
Vec4Arg  inBoxMinX,
Vec4Arg  inBoxMinY,
Vec4Arg  inBoxMinZ,
Vec4Arg  inBoxMaxX,
Vec4Arg  inBoxMaxY,
Vec4Arg  inBoxMaxZ,
float  inEpsilon = 1.0e-6f 
)

Test if 4 bounding boxes overlap with an oriented box.

◆ AABox4VsPoint()

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.

◆ AABox4VsSphere() [1/2]

JPH_INLINE UVec4 AABox4VsSphere ( Vec3Arg  inCenter,
float  inRadiusSq,
Vec4Arg  inBoxMinX,
Vec4Arg  inBoxMinY,
Vec4Arg  inBoxMinZ,
Vec4Arg  inBoxMaxX,
Vec4Arg  inBoxMaxY,
Vec4Arg  inBoxMaxZ 
)

Test 4 AABoxes vs a sphere.

◆ AABox4VsSphere() [2/2]

JPH_INLINE UVec4 AABox4VsSphere ( Vec4Arg  inCenterX,
Vec4Arg  inCenterY,
Vec4Arg  inCenterZ,
Vec4Arg  inRadiusSq,
Vec4Arg  inBoxMinX,
Vec4Arg  inBoxMinY,
Vec4Arg  inBoxMinZ,
Vec4Arg  inBoxMaxX,
Vec4Arg  inBoxMaxY,
Vec4Arg  inBoxMaxZ 
)

Test 4 AABoxes vs a sphere.