Jolt Physics
A multi core friendly Game Physics Engine
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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.
 
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)
 
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.
 
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.
 
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.
 
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.
 
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.
 

Function Documentation

◆ 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.