diff options
author | Aki <please@ignore.pl> | 2022-02-09 22:23:03 +0100 |
---|---|---|
committer | Aki <please@ignore.pl> | 2022-02-09 22:53:55 +0100 |
commit | 373dc625f82b47096893add42c4472e4a57ab7eb (patch) | |
tree | 640228d02476d379de13071b13d1b1fa322b767f /Opcode/OPC_SphereAABBOverlap.h | |
parent | 2d7dd844219965b81e81848e60d7f7bf23035ee4 (diff) | |
download | starshatter-373dc625f82b47096893add42c4472e4a57ab7eb.zip starshatter-373dc625f82b47096893add42c4472e4a57ab7eb.tar.gz starshatter-373dc625f82b47096893add42c4472e4a57ab7eb.tar.bz2 |
Moved third-party libraries to a separate subdirectory
Diffstat (limited to 'Opcode/OPC_SphereAABBOverlap.h')
-rw-r--r-- | Opcode/OPC_SphereAABBOverlap.h | 128 |
1 files changed, 0 insertions, 128 deletions
diff --git a/Opcode/OPC_SphereAABBOverlap.h b/Opcode/OPC_SphereAABBOverlap.h deleted file mode 100644 index b7b4376..0000000 --- a/Opcode/OPC_SphereAABBOverlap.h +++ /dev/null @@ -1,128 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -/** - * Sphere-AABB overlap test, based on Jim Arvo's code. - * \param center [in] box center - * \param extents [in] box extents - * \return TRUE on overlap - */ -/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -inline_ BOOL SphereCollider::SphereAABBOverlap(const IcePoint& center, const IcePoint& extents) -{ - // Stats - mNbVolumeBVTests++; - - float d = 0.0f; - - //find the square of the distance - //from the sphere to the box -#ifdef OLDIES - for(udword i=0;i<3;i++) - { - float tmp = mCenter[i] - center[i]; - float s = tmp + extents[i]; - - if(s<0.0f) d += s*s; - else - { - s = tmp - extents[i]; - if(s>0.0f) d += s*s; - } - } -#endif - -//#ifdef NEW_TEST - -// float tmp = mCenter.x - center.x; -// float s = tmp + extents.x; - - float tmp,s; - - tmp = mCenter.x - center.x; - s = tmp + extents.x; - - if(s<0.0f) - { - d += s*s; - if(d>mRadius2) return FALSE; - } - else - { - s = tmp - extents.x; - if(s>0.0f) - { - d += s*s; - if(d>mRadius2) return FALSE; - } - } - - tmp = mCenter.y - center.y; - s = tmp + extents.y; - - if(s<0.0f) - { - d += s*s; - if(d>mRadius2) return FALSE; - } - else - { - s = tmp - extents.y; - if(s>0.0f) - { - d += s*s; - if(d>mRadius2) return FALSE; - } - } - - tmp = mCenter.z - center.z; - s = tmp + extents.z; - - if(s<0.0f) - { - d += s*s; - if(d>mRadius2) return FALSE; - } - else - { - s = tmp - extents.z; - if(s>0.0f) - { - d += s*s; - if(d>mRadius2) return FALSE; - } - } -//#endif - -#ifdef OLDIES -// IcePoint Min = center - extents; -// IcePoint Max = center + extents; - - float d = 0.0f; - - //find the square of the distance - //from the sphere to the box - for(udword i=0;i<3;i++) - { -float Min = center[i] - extents[i]; - -// if(mCenter[i]<Min[i]) - if(mCenter[i]<Min) - { -// float s = mCenter[i] - Min[i]; - float s = mCenter[i] - Min; - d += s*s; - } - else - { -float Max = center[i] + extents[i]; - -// if(mCenter[i]>Max[i]) - if(mCenter[i]>Max) - { - float s = mCenter[i] - Max; - d += s*s; - } - } - } -#endif - return d <= mRadius2; -} |