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

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