Jolt Physics
A multi core friendly Game Physics Engine
|
#include <Jolt/Geometry/OrientedBox.h>
Go to the source code of this file.
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 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 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 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_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
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 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 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 AABox4VsSphere | ( | Vec3Arg | inCenter, |
float | inRadiusSq, | ||
Vec4Arg | inBoxMinX, | ||
Vec4Arg | inBoxMinY, | ||
Vec4Arg | inBoxMinZ, | ||
Vec4Arg | inBoxMaxX, | ||
Vec4Arg | inBoxMaxY, | ||
Vec4Arg | inBoxMaxZ ) |
Test 4 AABoxes vs a sphere.