Uncrustify cbbox_ray.cpp to avoid a lot of warnings on gcc 6.1

This commit is contained in:
jean-pierre charras 2016-07-27 14:52:04 +02:00
parent 9c5e872a4f
commit f029047a97
1 changed files with 530 additions and 504 deletions

View File

@ -22,7 +22,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
/** /**
* @file cbbox_ray.cpp * @file cbbox_ray.cpp
* @brief Bounding Box - Ray test intersection * @brief Bounding Box - Ray test intersection
*/ */
@ -43,15 +43,15 @@
// This source code is public domain, but please mention us if you use it." // This source code is public domain, but please mention us if you use it."
bool CBBOX::Intersect( const RAY &aRay, float *t ) const bool CBBOX::Intersect( const RAY& aRay, float* t ) const
{ {
switch( aRay.m_Classification ) switch( aRay.m_Classification )
{ {
case MMM: case MMM:
{ {
if( ( aRay.m_Origin.x < m_min.x ) || if( ( aRay.m_Origin.x < m_min.x )
( aRay.m_Origin.y < m_min.y ) || || ( aRay.m_Origin.y < m_min.y )
( aRay.m_Origin.z < m_min.z ) || ( aRay.m_Origin.z < m_min.z )
|| ( aRay.jbyi * m_min.x - m_max.y + aRay.c_xy > 0) || ( aRay.jbyi * m_min.x - m_max.y + aRay.c_xy > 0)
|| ( aRay.ibyj * m_min.y - m_max.x + aRay.c_yx > 0) || ( aRay.ibyj * m_min.y - m_max.x + aRay.c_yx > 0)
|| ( aRay.jbyk * m_min.z - m_max.y + aRay.c_zy > 0) || ( aRay.jbyk * m_min.z - m_max.y + aRay.c_zy > 0)
@ -67,12 +67,12 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
float t1 = (m_max.y - aRay.m_Origin.y) * aRay.m_InvDir.y; float t1 = (m_max.y - aRay.m_Origin.y) * aRay.m_InvDir.y;
if(t1 > *t) if( t1 > *t )
*t = t1; *t = t1;
float t2 = (m_max.z - aRay.m_Origin.z) * aRay.m_InvDir.z; float t2 = (m_max.z - aRay.m_Origin.z) * aRay.m_InvDir.z;
if(t2 > *t) if( t2 > *t )
*t = t2; *t = t2;
return true; return true;
@ -81,9 +81,9 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
case MMP: case MMP:
{ {
if( ( aRay.m_Origin.x < m_min.x ) || if( ( aRay.m_Origin.x < m_min.x )
( aRay.m_Origin.y < m_min.y ) || || ( aRay.m_Origin.y < m_min.y )
( aRay.m_Origin.z > m_max.z ) || ( aRay.m_Origin.z > m_max.z )
|| ( aRay.jbyi * m_min.x - m_max.y + aRay.c_xy > 0) || ( aRay.jbyi * m_min.x - m_max.y + aRay.c_xy > 0)
|| ( aRay.ibyj * m_min.y - m_max.x + aRay.c_yx > 0) || ( aRay.ibyj * m_min.y - m_max.x + aRay.c_yx > 0)
|| ( aRay.jbyk * m_max.z - m_max.y + aRay.c_zy > 0) || ( aRay.jbyk * m_max.z - m_max.y + aRay.c_zy > 0)
@ -97,12 +97,12 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
float t1 = (m_max.y - aRay.m_Origin.y) * aRay.m_InvDir.y; float t1 = (m_max.y - aRay.m_Origin.y) * aRay.m_InvDir.y;
if(t1 > *t) if( t1 > *t )
*t = t1; *t = t1;
float t2 = (m_min.z - aRay.m_Origin.z) * aRay.m_InvDir.z; float t2 = (m_min.z - aRay.m_Origin.z) * aRay.m_InvDir.z;
if(t2 > *t) if( t2 > *t )
*t = t2; *t = t2;
return true; return true;
@ -110,9 +110,9 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
case MPM: case MPM:
{ {
if( ( aRay.m_Origin.x < m_min.x ) || if( ( aRay.m_Origin.x < m_min.x )
( aRay.m_Origin.y > m_max.y ) || || ( aRay.m_Origin.y > m_max.y )
( aRay.m_Origin.z < m_min.z ) || ( aRay.m_Origin.z < m_min.z )
|| ( aRay.jbyi * m_min.x - m_min.y + aRay.c_xy < 0) || ( aRay.jbyi * m_min.x - m_min.y + aRay.c_xy < 0)
|| ( aRay.ibyj * m_max.y - m_max.x + aRay.c_yx > 0) || ( aRay.ibyj * m_max.y - m_max.x + aRay.c_yx > 0)
|| ( aRay.jbyk * m_min.z - m_min.y + aRay.c_zy < 0) || ( aRay.jbyk * m_min.z - m_min.y + aRay.c_zy < 0)
@ -126,12 +126,12 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
float t1 = (m_min.y - aRay.m_Origin.y) * aRay.m_InvDir.y; float t1 = (m_min.y - aRay.m_Origin.y) * aRay.m_InvDir.y;
if(t1 > *t) if( t1 > *t )
*t = t1; *t = t1;
float t2 = (m_max.z - aRay.m_Origin.z) * aRay.m_InvDir.z; float t2 = (m_max.z - aRay.m_Origin.z) * aRay.m_InvDir.z;
if(t2 > *t) if( t2 > *t )
*t = t2; *t = t2;
return true; return true;
@ -139,9 +139,9 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
case MPP: case MPP:
{ {
if( ( aRay.m_Origin.x < m_min.x ) || if( ( aRay.m_Origin.x < m_min.x )
( aRay.m_Origin.y > m_max.y ) || || ( aRay.m_Origin.y > m_max.y )
( aRay.m_Origin.z > m_max.z ) || ( aRay.m_Origin.z > m_max.z )
|| ( aRay.jbyi * m_min.x - m_min.y + aRay.c_xy < 0) || ( aRay.jbyi * m_min.x - m_min.y + aRay.c_xy < 0)
|| ( aRay.ibyj * m_max.y - m_max.x + aRay.c_yx > 0) || ( aRay.ibyj * m_max.y - m_max.x + aRay.c_yx > 0)
|| ( aRay.jbyk * m_max.z - m_min.y + aRay.c_zy < 0) || ( aRay.jbyk * m_max.z - m_min.y + aRay.c_zy < 0)
@ -155,12 +155,12 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
float t1 = (m_min.y - aRay.m_Origin.y) * aRay.m_InvDir.y; float t1 = (m_min.y - aRay.m_Origin.y) * aRay.m_InvDir.y;
if(t1 > *t) if( t1 > *t )
*t = t1; *t = t1;
float t2 = (m_min.z - aRay.m_Origin.z) * aRay.m_InvDir.z; float t2 = (m_min.z - aRay.m_Origin.z) * aRay.m_InvDir.z;
if(t2 > *t) if( t2 > *t )
*t = t2; *t = t2;
return true; return true;
@ -168,9 +168,9 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
case PMM: case PMM:
{ {
if( ( aRay.m_Origin.x > m_max.x ) || if( ( aRay.m_Origin.x > m_max.x )
( aRay.m_Origin.y < m_min.y ) || || ( aRay.m_Origin.y < m_min.y )
( aRay.m_Origin.z < m_min.z ) || ( aRay.m_Origin.z < m_min.z )
|| ( aRay.jbyi * m_max.x - m_max.y + aRay.c_xy > 0) || ( aRay.jbyi * m_max.x - m_max.y + aRay.c_xy > 0)
|| ( aRay.ibyj * m_min.y - m_min.x + aRay.c_yx < 0) || ( aRay.ibyj * m_min.y - m_min.x + aRay.c_yx < 0)
|| ( aRay.jbyk * m_min.z - m_max.y + aRay.c_zy > 0) || ( aRay.jbyk * m_min.z - m_max.y + aRay.c_zy > 0)
@ -184,12 +184,12 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
float t1 = (m_max.y - aRay.m_Origin.y) * aRay.m_InvDir.y; float t1 = (m_max.y - aRay.m_Origin.y) * aRay.m_InvDir.y;
if(t1 > *t) if( t1 > *t )
*t = t1; *t = t1;
float t2 = (m_max.z - aRay.m_Origin.z) * aRay.m_InvDir.z; float t2 = (m_max.z - aRay.m_Origin.z) * aRay.m_InvDir.z;
if(t2 > *t) if( t2 > *t )
*t = t2; *t = t2;
return true; return true;
@ -198,9 +198,9 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
case PMP: case PMP:
{ {
if( ( aRay.m_Origin.x > m_max.x ) || if( ( aRay.m_Origin.x > m_max.x )
( aRay.m_Origin.y < m_min.y ) || || ( aRay.m_Origin.y < m_min.y )
( aRay.m_Origin.z > m_max.z ) || ( aRay.m_Origin.z > m_max.z )
|| ( aRay.jbyi * m_max.x - m_max.y + aRay.c_xy > 0) || ( aRay.jbyi * m_max.x - m_max.y + aRay.c_xy > 0)
|| ( aRay.ibyj * m_min.y - m_min.x + aRay.c_yx < 0) || ( aRay.ibyj * m_min.y - m_min.x + aRay.c_yx < 0)
|| ( aRay.jbyk * m_max.z - m_max.y + aRay.c_zy > 0) || ( aRay.jbyk * m_max.z - m_max.y + aRay.c_zy > 0)
@ -214,12 +214,12 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
float t1 = (m_max.y - aRay.m_Origin.y) * aRay.m_InvDir.y; float t1 = (m_max.y - aRay.m_Origin.y) * aRay.m_InvDir.y;
if(t1 > *t) if( t1 > *t )
*t = t1; *t = t1;
float t2 = (m_min.z - aRay.m_Origin.z) * aRay.m_InvDir.z; float t2 = (m_min.z - aRay.m_Origin.z) * aRay.m_InvDir.z;
if(t2 > *t) if( t2 > *t )
*t = t2; *t = t2;
return true; return true;
@ -227,9 +227,9 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
case PPM: case PPM:
{ {
if( ( aRay.m_Origin.x > m_max.x ) || if( ( aRay.m_Origin.x > m_max.x )
( aRay.m_Origin.y > m_max.y ) || || ( aRay.m_Origin.y > m_max.y )
( aRay.m_Origin.z < m_min.z ) || ( aRay.m_Origin.z < m_min.z )
|| ( aRay.jbyi * m_max.x - m_min.y + aRay.c_xy < 0) || ( aRay.jbyi * m_max.x - m_min.y + aRay.c_xy < 0)
|| ( aRay.ibyj * m_max.y - m_min.x + aRay.c_yx < 0) || ( aRay.ibyj * m_max.y - m_min.x + aRay.c_yx < 0)
|| ( aRay.jbyk * m_min.z - m_min.y + aRay.c_zy < 0) || ( aRay.jbyk * m_min.z - m_min.y + aRay.c_zy < 0)
@ -243,12 +243,12 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
float t1 = (m_min.y - aRay.m_Origin.y) * aRay.m_InvDir.y; float t1 = (m_min.y - aRay.m_Origin.y) * aRay.m_InvDir.y;
if(t1 > *t) if( t1 > *t )
*t = t1; *t = t1;
float t2 = (m_max.z - aRay.m_Origin.z) * aRay.m_InvDir.z; float t2 = (m_max.z - aRay.m_Origin.z) * aRay.m_InvDir.z;
if(t2 > *t) if( t2 > *t )
*t = t2; *t = t2;
return true; return true;
@ -256,9 +256,9 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
case PPP: case PPP:
{ {
if( ( aRay.m_Origin.x > m_max.x ) || if( ( aRay.m_Origin.x > m_max.x )
( aRay.m_Origin.y > m_max.y ) || || ( aRay.m_Origin.y > m_max.y )
( aRay.m_Origin.z > m_max.z ) || ( aRay.m_Origin.z > m_max.z )
|| ( aRay.jbyi * m_max.x - m_min.y + aRay.c_xy < 0) || ( aRay.jbyi * m_max.x - m_min.y + aRay.c_xy < 0)
|| ( aRay.ibyj * m_max.y - m_min.x + aRay.c_yx < 0) || ( aRay.ibyj * m_max.y - m_min.x + aRay.c_yx < 0)
|| ( aRay.jbyk * m_max.z - m_min.y + aRay.c_zy < 0) || ( aRay.jbyk * m_max.z - m_min.y + aRay.c_zy < 0)
@ -272,12 +272,12 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
float t1 = (m_min.y - aRay.m_Origin.y) * aRay.m_InvDir.y; float t1 = (m_min.y - aRay.m_Origin.y) * aRay.m_InvDir.y;
if(t1 > *t) if( t1 > *t )
*t = t1; *t = t1;
float t2 = (m_min.z - aRay.m_Origin.z) * aRay.m_InvDir.z; float t2 = (m_min.z - aRay.m_Origin.z) * aRay.m_InvDir.z;
if(t2 > *t) if( t2 > *t )
*t = t2; *t = t2;
return true; return true;
@ -285,8 +285,8 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
case OMM: case OMM:
{ {
if(( aRay.m_Origin.x < m_min.x ) || if( ( aRay.m_Origin.x < m_min.x )
( aRay.m_Origin.x > m_max.x ) || ( aRay.m_Origin.x > m_max.x )
|| ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.z < m_min.z)
|| ( aRay.jbyk * m_min.z - m_max.y + aRay.c_zy > 0) || ( aRay.jbyk * m_min.z - m_max.y + aRay.c_zy > 0)
|| ( aRay.kbyj * m_min.y - m_max.z + aRay.c_yz > 0) || ( aRay.kbyj * m_min.y - m_max.z + aRay.c_yz > 0)
@ -297,7 +297,7 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
float t2 = (m_max.z - aRay.m_Origin.z) * aRay.m_InvDir.z; float t2 = (m_max.z - aRay.m_Origin.z) * aRay.m_InvDir.z;
if(t2 > *t) if( t2 > *t )
*t = t2; *t = t2;
return true; return true;
@ -305,8 +305,8 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
case OMP: case OMP:
{ {
if(( aRay.m_Origin.x < m_min.x ) || if( ( aRay.m_Origin.x < m_min.x )
( aRay.m_Origin.x > m_max.x ) || ( aRay.m_Origin.x > m_max.x )
|| ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.z > m_max.z) || ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.z > m_max.z)
|| ( aRay.jbyk * m_max.z - m_max.y + aRay.c_zy > 0) || ( aRay.jbyk * m_max.z - m_max.y + aRay.c_zy > 0)
|| ( aRay.kbyj * m_min.y - m_min.z + aRay.c_yz < 0) || ( aRay.kbyj * m_min.y - m_min.z + aRay.c_yz < 0)
@ -317,7 +317,7 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
float t2 = (m_min.z - aRay.m_Origin.z) * aRay.m_InvDir.z; float t2 = (m_min.z - aRay.m_Origin.z) * aRay.m_InvDir.z;
if(t2 > *t) if( t2 > *t )
*t = t2; *t = t2;
return true; return true;
@ -325,7 +325,7 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
case OPM: case OPM:
{ {
if(( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.x > m_max.x) if( ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.x > m_max.x)
|| ( aRay.m_Origin.y > m_max.y) || ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.y > m_max.y) || ( aRay.m_Origin.z < m_min.z)
|| ( aRay.jbyk * m_min.z - m_min.y + aRay.c_zy < 0) || ( aRay.jbyk * m_min.z - m_min.y + aRay.c_zy < 0)
|| ( aRay.kbyj * m_max.y - m_max.z + aRay.c_yz > 0) || ( aRay.kbyj * m_max.y - m_max.z + aRay.c_yz > 0)
@ -336,7 +336,7 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
float t2 = (m_max.z - aRay.m_Origin.z) * aRay.m_InvDir.z; float t2 = (m_max.z - aRay.m_Origin.z) * aRay.m_InvDir.z;
if(t2 > *t) if( t2 > *t )
*t = t2; *t = t2;
return true; return true;
@ -344,7 +344,7 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
case OPP: case OPP:
{ {
if(( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.x > m_max.x) if( ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.x > m_max.x)
|| ( aRay.m_Origin.y > m_max.y) || ( aRay.m_Origin.z > m_max.z) || ( aRay.m_Origin.y > m_max.y) || ( aRay.m_Origin.z > m_max.z)
|| ( aRay.jbyk * m_max.z - m_min.y + aRay.c_zy < 0) || ( aRay.jbyk * m_max.z - m_min.y + aRay.c_zy < 0)
|| ( aRay.kbyj * m_max.y - m_min.z + aRay.c_yz < 0) || ( aRay.kbyj * m_max.y - m_min.z + aRay.c_yz < 0)
@ -355,7 +355,7 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
float t2 = (m_min.z - aRay.m_Origin.z) * aRay.m_InvDir.z; float t2 = (m_min.z - aRay.m_Origin.z) * aRay.m_InvDir.z;
if(t2 > *t) if( t2 > *t )
*t = t2; *t = t2;
return true; return true;
@ -364,7 +364,7 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
case MOM: case MOM:
{ {
if(( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y) if( ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y)
|| ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.z < m_min.z)
|| ( aRay.kbyi * m_min.x - m_max.z + aRay.c_xz > 0) || ( aRay.kbyi * m_min.x - m_max.z + aRay.c_xz > 0)
|| ( aRay.ibyk * m_min.z - m_max.x + aRay.c_zx > 0) || ( aRay.ibyk * m_min.z - m_max.x + aRay.c_zx > 0)
@ -375,7 +375,7 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
float t2 = (m_max.z - aRay.m_Origin.z) * aRay.m_InvDir.z; float t2 = (m_max.z - aRay.m_Origin.z) * aRay.m_InvDir.z;
if(t2 > *t) if( t2 > *t )
*t = t2; *t = t2;
return true; return true;
@ -384,7 +384,7 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
case MOP: case MOP:
{ {
if(( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y) if( ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y)
|| ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.z > m_max.z) || ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.z > m_max.z)
|| ( aRay.kbyi * m_min.x - m_min.z + aRay.c_xz < 0) || ( aRay.kbyi * m_min.x - m_min.z + aRay.c_xz < 0)
|| ( aRay.ibyk * m_max.z - m_max.x + aRay.c_zx > 0) || ( aRay.ibyk * m_max.z - m_max.x + aRay.c_zx > 0)
@ -395,7 +395,7 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
float t2 = (m_min.z - aRay.m_Origin.z) * aRay.m_InvDir.z; float t2 = (m_min.z - aRay.m_Origin.z) * aRay.m_InvDir.z;
if(t2 > *t) if( t2 > *t )
*t = t2; *t = t2;
return true; return true;
@ -403,7 +403,7 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
case POM: case POM:
{ {
if(( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y) if( ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y)
|| ( aRay.m_Origin.x > m_max.x) || ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.x > m_max.x) || ( aRay.m_Origin.z < m_min.z)
|| ( aRay.kbyi * m_max.x - m_max.z + aRay.c_xz > 0) || ( aRay.kbyi * m_max.x - m_max.z + aRay.c_xz > 0)
|| ( aRay.ibyk * m_min.z - m_min.x + aRay.c_zx < 0) || ( aRay.ibyk * m_min.z - m_min.x + aRay.c_zx < 0)
@ -414,7 +414,7 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
float t2 = (m_max.z - aRay.m_Origin.z) * aRay.m_InvDir.z; float t2 = (m_max.z - aRay.m_Origin.z) * aRay.m_InvDir.z;
if(t2 > *t) if( t2 > *t )
*t = t2; *t = t2;
return true; return true;
@ -423,7 +423,7 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
case POP: case POP:
{ {
if(( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y) if( ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y)
|| ( aRay.m_Origin.x > m_max.x) || ( aRay.m_Origin.z > m_max.z) || ( aRay.m_Origin.x > m_max.x) || ( aRay.m_Origin.z > m_max.z)
|| ( aRay.kbyi * m_max.x - m_min.z + aRay.c_xz < 0) || ( aRay.kbyi * m_max.x - m_min.z + aRay.c_xz < 0)
|| ( aRay.ibyk * m_max.z - m_min.x + aRay.c_zx < 0) || ( aRay.ibyk * m_max.z - m_min.x + aRay.c_zx < 0)
@ -434,7 +434,7 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
float t2 = (m_min.z - aRay.m_Origin.z) * aRay.m_InvDir.z; float t2 = (m_min.z - aRay.m_Origin.z) * aRay.m_InvDir.z;
if(t2 > *t) if( t2 > *t )
*t = t2; *t = t2;
return true; return true;
@ -442,7 +442,7 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
case MMO: case MMO:
{ {
if(( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z) if( ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z)
|| ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.y < m_min.y)
|| ( aRay.jbyi * m_min.x - m_max.y + aRay.c_xy > 0) || ( aRay.jbyi * m_min.x - m_max.y + aRay.c_xy > 0)
|| ( aRay.ibyj * m_min.y - m_max.x + aRay.c_yx > 0) || ( aRay.ibyj * m_min.y - m_max.x + aRay.c_yx > 0)
@ -453,7 +453,7 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
float t1 = (m_max.y - aRay.m_Origin.y) * aRay.m_InvDir.y; float t1 = (m_max.y - aRay.m_Origin.y) * aRay.m_InvDir.y;
if(t1 > *t) if( t1 > *t )
*t = t1; *t = t1;
return true; return true;
@ -461,7 +461,7 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
case MPO: case MPO:
{ {
if(( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z) if( ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z)
|| ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.y > m_max.y) || ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.y > m_max.y)
|| ( aRay.jbyi * m_min.x - m_min.y + aRay.c_xy < 0) || ( aRay.jbyi * m_min.x - m_min.y + aRay.c_xy < 0)
|| ( aRay.ibyj * m_max.y - m_max.x + aRay.c_yx > 0) || ( aRay.ibyj * m_max.y - m_max.x + aRay.c_yx > 0)
@ -472,7 +472,7 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
float t1 = (m_min.y - aRay.m_Origin.y) * aRay.m_InvDir.y; float t1 = (m_min.y - aRay.m_Origin.y) * aRay.m_InvDir.y;
if(t1 > *t) if( t1 > *t )
*t = t1; *t = t1;
return true; return true;
@ -481,7 +481,7 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
case PMO: case PMO:
{ {
if(( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z) if( ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z)
|| ( aRay.m_Origin.x > m_max.x) || ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.x > m_max.x) || ( aRay.m_Origin.y < m_min.y)
|| ( aRay.jbyi * m_max.x - m_max.y + aRay.c_xy > 0) || ( aRay.jbyi * m_max.x - m_max.y + aRay.c_xy > 0)
|| ( aRay.ibyj * m_min.y - m_min.x + aRay.c_yx < 0) || ( aRay.ibyj * m_min.y - m_min.x + aRay.c_yx < 0)
@ -492,7 +492,7 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
float t1 = (m_max.y - aRay.m_Origin.y) * aRay.m_InvDir.y; float t1 = (m_max.y - aRay.m_Origin.y) * aRay.m_InvDir.y;
if(t1 > *t) if( t1 > *t )
*t = t1; *t = t1;
return true; return true;
@ -500,7 +500,7 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
case PPO: case PPO:
{ {
if(( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z) if( ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z)
|| ( aRay.m_Origin.x > m_max.x) || ( aRay.m_Origin.y > m_max.y) || ( aRay.m_Origin.x > m_max.x) || ( aRay.m_Origin.y > m_max.y)
|| ( aRay.jbyi * m_max.x - m_min.y + aRay.c_xy < 0) || ( aRay.jbyi * m_max.x - m_min.y + aRay.c_xy < 0)
|| ( aRay.ibyj * m_max.y - m_min.x + aRay.c_yx < 0) || ( aRay.ibyj * m_max.y - m_min.x + aRay.c_yx < 0)
@ -511,7 +511,7 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
float t1 = (m_min.y - aRay.m_Origin.y) * aRay.m_InvDir.y; float t1 = (m_min.y - aRay.m_Origin.y) * aRay.m_InvDir.y;
if(t1 > *t) if( t1 > *t )
*t = t1; *t = t1;
return true; return true;
@ -520,7 +520,7 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
case MOO: case MOO:
{ {
if(( aRay.m_Origin.x < m_min.x) if( ( aRay.m_Origin.x < m_min.x)
|| ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y) || ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y)
|| ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z) || ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z)
) )
@ -533,7 +533,7 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
case POO: case POO:
{ {
if(( aRay.m_Origin.x > m_max.x) if( ( aRay.m_Origin.x > m_max.x)
|| ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y) || ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y)
|| ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z) || ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z)
) )
@ -546,7 +546,7 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
case OMO: case OMO:
{ {
if(( aRay.m_Origin.y < m_min.y) if( ( aRay.m_Origin.y < m_min.y)
|| ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.x > m_max.x) || ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.x > m_max.x)
|| ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z) || ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z)
) )
@ -559,7 +559,7 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
case OPO: case OPO:
{ {
if(( aRay.m_Origin.y > m_max.y) if( ( aRay.m_Origin.y > m_max.y)
|| ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.x > m_max.x) || ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.x > m_max.x)
|| ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z) || ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z)
) )
@ -573,7 +573,7 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
case OOM: case OOM:
{ {
if(( aRay.m_Origin.z < m_min.z) if( ( aRay.m_Origin.z < m_min.z)
|| ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.x > m_max.x) || ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.x > m_max.x)
|| ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y) || ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y)
) )
@ -586,7 +586,7 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
case OOP: case OOP:
{ {
if(( aRay.m_Origin.z > m_max.z) if( ( aRay.m_Origin.z > m_max.z)
|| ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.x > m_max.x) || ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.x > m_max.x)
|| ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y) || ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y)
) )
@ -602,15 +602,15 @@ bool CBBOX::Intersect( const RAY &aRay, float *t ) const
} }
bool CBBOX::Intersect( const RAY &aRay ) const bool CBBOX::Intersect( const RAY& aRay ) const
{ {
switch( aRay.m_Classification ) switch( aRay.m_Classification )
{ {
case MMM: case MMM:
{ {
if( ( aRay.m_Origin.x < m_min.x ) || if( ( aRay.m_Origin.x < m_min.x )
( aRay.m_Origin.y < m_min.y ) || || ( aRay.m_Origin.y < m_min.y )
( aRay.m_Origin.z < m_min.z ) || ( aRay.m_Origin.z < m_min.z )
|| ( aRay.jbyi * m_min.x - m_max.y + aRay.c_xy > 0) || ( aRay.jbyi * m_min.x - m_max.y + aRay.c_xy > 0)
|| ( aRay.ibyj * m_min.y - m_max.x + aRay.c_yx > 0) || ( aRay.ibyj * m_min.y - m_max.x + aRay.c_yx > 0)
|| ( aRay.jbyk * m_min.z - m_max.y + aRay.c_zy > 0) || ( aRay.jbyk * m_min.z - m_max.y + aRay.c_zy > 0)
@ -619,15 +619,16 @@ bool CBBOX::Intersect( const RAY &aRay ) const
|| ( aRay.ibyk * m_min.z - m_max.x + aRay.c_zx > 0) || ( aRay.ibyk * m_min.z - m_max.x + aRay.c_zx > 0)
) )
return false; return false;
return true; return true;
} }
case MMP: case MMP:
{ {
if( ( aRay.m_Origin.x < m_min.x ) || if( ( aRay.m_Origin.x < m_min.x )
( aRay.m_Origin.y < m_min.y ) || || ( aRay.m_Origin.y < m_min.y )
( aRay.m_Origin.z > m_max.z ) || ( aRay.m_Origin.z > m_max.z )
|| ( aRay.jbyi * m_min.x - m_max.y + aRay.c_xy > 0) || ( aRay.jbyi * m_min.x - m_max.y + aRay.c_xy > 0)
|| ( aRay.ibyj * m_min.y - m_max.x + aRay.c_yx > 0) || ( aRay.ibyj * m_min.y - m_max.x + aRay.c_yx > 0)
|| ( aRay.jbyk * m_max.z - m_max.y + aRay.c_zy > 0) || ( aRay.jbyk * m_max.z - m_max.y + aRay.c_zy > 0)
@ -636,14 +637,15 @@ bool CBBOX::Intersect( const RAY &aRay ) const
|| ( aRay.ibyk * m_max.z - m_max.x + aRay.c_zx > 0) || ( aRay.ibyk * m_max.z - m_max.x + aRay.c_zx > 0)
) )
return false; return false;
return true; return true;
} }
case MPM: case MPM:
{ {
if( ( aRay.m_Origin.x < m_min.x ) || if( ( aRay.m_Origin.x < m_min.x )
( aRay.m_Origin.y > m_max.y ) || || ( aRay.m_Origin.y > m_max.y )
( aRay.m_Origin.z < m_min.z ) || ( aRay.m_Origin.z < m_min.z )
|| ( aRay.jbyi * m_min.x - m_min.y + aRay.c_xy < 0) || ( aRay.jbyi * m_min.x - m_min.y + aRay.c_xy < 0)
|| ( aRay.ibyj * m_max.y - m_max.x + aRay.c_yx > 0) || ( aRay.ibyj * m_max.y - m_max.x + aRay.c_yx > 0)
|| ( aRay.jbyk * m_min.z - m_min.y + aRay.c_zy < 0) || ( aRay.jbyk * m_min.z - m_min.y + aRay.c_zy < 0)
@ -652,14 +654,15 @@ bool CBBOX::Intersect( const RAY &aRay ) const
|| ( aRay.ibyk * m_min.z - m_max.x + aRay.c_zx > 0) || ( aRay.ibyk * m_min.z - m_max.x + aRay.c_zx > 0)
) )
return false; return false;
return true; return true;
} }
case MPP: case MPP:
{ {
if( ( aRay.m_Origin.x < m_min.x ) || if( ( aRay.m_Origin.x < m_min.x )
( aRay.m_Origin.y > m_max.y ) || || ( aRay.m_Origin.y > m_max.y )
( aRay.m_Origin.z > m_max.z ) || ( aRay.m_Origin.z > m_max.z )
|| ( aRay.jbyi * m_min.x - m_min.y + aRay.c_xy < 0) || ( aRay.jbyi * m_min.x - m_min.y + aRay.c_xy < 0)
|| ( aRay.ibyj * m_max.y - m_max.x + aRay.c_yx > 0) || ( aRay.ibyj * m_max.y - m_max.x + aRay.c_yx > 0)
|| ( aRay.jbyk * m_max.z - m_min.y + aRay.c_zy < 0) || ( aRay.jbyk * m_max.z - m_min.y + aRay.c_zy < 0)
@ -668,14 +671,15 @@ bool CBBOX::Intersect( const RAY &aRay ) const
|| ( aRay.ibyk * m_max.z - m_max.x + aRay.c_zx > 0) || ( aRay.ibyk * m_max.z - m_max.x + aRay.c_zx > 0)
) )
return false; return false;
return true; return true;
} }
case PMM: case PMM:
{ {
if( ( aRay.m_Origin.x > m_max.x ) || if( ( aRay.m_Origin.x > m_max.x )
( aRay.m_Origin.y < m_min.y ) || || ( aRay.m_Origin.y < m_min.y )
( aRay.m_Origin.z < m_min.z ) || ( aRay.m_Origin.z < m_min.z )
|| ( aRay.jbyi * m_max.x - m_max.y + aRay.c_xy > 0) || ( aRay.jbyi * m_max.x - m_max.y + aRay.c_xy > 0)
|| ( aRay.ibyj * m_min.y - m_min.x + aRay.c_yx < 0) || ( aRay.ibyj * m_min.y - m_min.x + aRay.c_yx < 0)
|| ( aRay.jbyk * m_min.z - m_max.y + aRay.c_zy > 0) || ( aRay.jbyk * m_min.z - m_max.y + aRay.c_zy > 0)
@ -684,15 +688,16 @@ bool CBBOX::Intersect( const RAY &aRay ) const
|| ( aRay.ibyk * m_min.z - m_min.x + aRay.c_zx < 0) || ( aRay.ibyk * m_min.z - m_min.x + aRay.c_zx < 0)
) )
return false; return false;
return true; return true;
} }
case PMP: case PMP:
{ {
if( ( aRay.m_Origin.x > m_max.x ) || if( ( aRay.m_Origin.x > m_max.x )
( aRay.m_Origin.y < m_min.y ) || || ( aRay.m_Origin.y < m_min.y )
( aRay.m_Origin.z > m_max.z ) || ( aRay.m_Origin.z > m_max.z )
|| ( aRay.jbyi * m_max.x - m_max.y + aRay.c_xy > 0) || ( aRay.jbyi * m_max.x - m_max.y + aRay.c_xy > 0)
|| ( aRay.ibyj * m_min.y - m_min.x + aRay.c_yx < 0) || ( aRay.ibyj * m_min.y - m_min.x + aRay.c_yx < 0)
|| ( aRay.jbyk * m_max.z - m_max.y + aRay.c_zy > 0) || ( aRay.jbyk * m_max.z - m_max.y + aRay.c_zy > 0)
@ -701,14 +706,15 @@ bool CBBOX::Intersect( const RAY &aRay ) const
|| ( aRay.ibyk * m_max.z - m_min.x + aRay.c_zx < 0) || ( aRay.ibyk * m_max.z - m_min.x + aRay.c_zx < 0)
) )
return false; return false;
return true; return true;
} }
case PPM: case PPM:
{ {
if( ( aRay.m_Origin.x > m_max.x ) || if( ( aRay.m_Origin.x > m_max.x )
( aRay.m_Origin.y > m_max.y ) || || ( aRay.m_Origin.y > m_max.y )
( aRay.m_Origin.z < m_min.z ) || ( aRay.m_Origin.z < m_min.z )
|| ( aRay.jbyi * m_max.x - m_min.y + aRay.c_xy < 0) || ( aRay.jbyi * m_max.x - m_min.y + aRay.c_xy < 0)
|| ( aRay.ibyj * m_max.y - m_min.x + aRay.c_yx < 0) || ( aRay.ibyj * m_max.y - m_min.x + aRay.c_yx < 0)
|| ( aRay.jbyk * m_min.z - m_min.y + aRay.c_zy < 0) || ( aRay.jbyk * m_min.z - m_min.y + aRay.c_zy < 0)
@ -717,14 +723,15 @@ bool CBBOX::Intersect( const RAY &aRay ) const
|| ( aRay.ibyk * m_min.z - m_min.x + aRay.c_zx < 0) || ( aRay.ibyk * m_min.z - m_min.x + aRay.c_zx < 0)
) )
return false; return false;
return true; return true;
} }
case PPP: case PPP:
{ {
if( ( aRay.m_Origin.x > m_max.x ) || if( ( aRay.m_Origin.x > m_max.x )
( aRay.m_Origin.y > m_max.y ) || || ( aRay.m_Origin.y > m_max.y )
( aRay.m_Origin.z > m_max.z ) || ( aRay.m_Origin.z > m_max.z )
|| ( aRay.jbyi * m_max.x - m_min.y + aRay.c_xy < 0) || ( aRay.jbyi * m_max.x - m_min.y + aRay.c_xy < 0)
|| ( aRay.ibyj * m_max.y - m_min.x + aRay.c_yx < 0) || ( aRay.ibyj * m_max.y - m_min.x + aRay.c_yx < 0)
|| ( aRay.jbyk * m_max.z - m_min.y + aRay.c_zy < 0) || ( aRay.jbyk * m_max.z - m_min.y + aRay.c_zy < 0)
@ -733,207 +740,226 @@ bool CBBOX::Intersect( const RAY &aRay ) const
|| ( aRay.ibyk * m_max.z - m_min.x + aRay.c_zx < 0) || ( aRay.ibyk * m_max.z - m_min.x + aRay.c_zx < 0)
) )
return false; return false;
return true; return true;
} }
case OMM: case OMM:
{ {
if( ( aRay.m_Origin.x < m_min.x ) || if( ( aRay.m_Origin.x < m_min.x )
( aRay.m_Origin.x > m_max.x ) || ( aRay.m_Origin.x > m_max.x )
|| ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.z < m_min.z)
|| ( aRay.jbyk * m_min.z - m_max.y + aRay.c_zy > 0) || ( aRay.jbyk * m_min.z - m_max.y + aRay.c_zy > 0)
|| ( aRay.kbyj * m_min.y - m_max.z + aRay.c_yz > 0) ) || ( aRay.kbyj * m_min.y - m_max.z + aRay.c_yz > 0) )
return false; return false;
return true; return true;
} }
case OMP: case OMP:
{ {
if(( aRay.m_Origin.x < m_min.x ) || if( ( aRay.m_Origin.x < m_min.x )
( aRay.m_Origin.x > m_max.x ) || ( aRay.m_Origin.x > m_max.x )
|| ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.z > m_max.z) || ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.z > m_max.z)
|| ( aRay.jbyk * m_max.z - m_max.y + aRay.c_zy > 0) || ( aRay.jbyk * m_max.z - m_max.y + aRay.c_zy > 0)
|| ( aRay.kbyj * m_min.y - m_min.z + aRay.c_yz < 0) || ( aRay.kbyj * m_min.y - m_min.z + aRay.c_yz < 0)
) )
return false; return false;
return true; return true;
} }
case OPM: case OPM:
{ {
if(( aRay.m_Origin.x < m_min.x ) || if( ( aRay.m_Origin.x < m_min.x )
( aRay.m_Origin.x > m_max.x ) || ( aRay.m_Origin.x > m_max.x )
|| ( aRay.m_Origin.y > m_max.y) || ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.y > m_max.y) || ( aRay.m_Origin.z < m_min.z)
|| ( aRay.jbyk * m_min.z - m_min.y + aRay.c_zy < 0) || ( aRay.jbyk * m_min.z - m_min.y + aRay.c_zy < 0)
|| ( aRay.kbyj * m_max.y - m_max.z + aRay.c_yz > 0) || ( aRay.kbyj * m_max.y - m_max.z + aRay.c_yz > 0)
) )
return false; return false;
return true; return true;
} }
case OPP: case OPP:
{ {
if(( aRay.m_Origin.x < m_min.x ) || if( ( aRay.m_Origin.x < m_min.x )
( aRay.m_Origin.x > m_max.x ) || ( aRay.m_Origin.x > m_max.x )
|| ( aRay.m_Origin.y > m_max.y) || ( aRay.m_Origin.z > m_max.z) || ( aRay.m_Origin.y > m_max.y) || ( aRay.m_Origin.z > m_max.z)
|| ( aRay.jbyk * m_max.z - m_min.y + aRay.c_zy < 0) || ( aRay.jbyk * m_max.z - m_min.y + aRay.c_zy < 0)
|| ( aRay.kbyj * m_max.y - m_min.z + aRay.c_yz < 0) || ( aRay.kbyj * m_max.y - m_min.z + aRay.c_yz < 0)
) )
return false; return false;
return true; return true;
} }
case MOM: case MOM:
{ {
if(( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y) if( ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y)
|| ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.z < m_min.z)
|| ( aRay.kbyi * m_min.x - m_max.z + aRay.c_xz > 0) || ( aRay.kbyi * m_min.x - m_max.z + aRay.c_xz > 0)
|| ( aRay.ibyk * m_min.z - m_max.x + aRay.c_zx > 0) || ( aRay.ibyk * m_min.z - m_max.x + aRay.c_zx > 0)
) )
return false; return false;
return true; return true;
} }
case MOP: case MOP:
{ {
if(( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y) if( ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y)
|| ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.z > m_max.z) || ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.z > m_max.z)
|| ( aRay.kbyi * m_min.x - m_min.z + aRay.c_xz < 0) || ( aRay.kbyi * m_min.x - m_min.z + aRay.c_xz < 0)
|| ( aRay.ibyk * m_max.z - m_max.x + aRay.c_zx > 0) || ( aRay.ibyk * m_max.z - m_max.x + aRay.c_zx > 0)
) )
return false; return false;
return true; return true;
} }
case POM: case POM:
{ {
if(( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y) if( ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y)
|| ( aRay.m_Origin.x > m_max.x) || ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.x > m_max.x) || ( aRay.m_Origin.z < m_min.z)
|| ( aRay.kbyi * m_max.x - m_max.z + aRay.c_xz > 0) || ( aRay.kbyi * m_max.x - m_max.z + aRay.c_xz > 0)
|| ( aRay.ibyk * m_min.z - m_min.x + aRay.c_zx < 0) || ( aRay.ibyk * m_min.z - m_min.x + aRay.c_zx < 0)
) )
return false; return false;
return true; return true;
} }
case POP: case POP:
{ {
if(( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y) if( ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y)
|| ( aRay.m_Origin.x > m_max.x) || ( aRay.m_Origin.z > m_max.z) || ( aRay.m_Origin.x > m_max.x) || ( aRay.m_Origin.z > m_max.z)
|| ( aRay.kbyi * m_max.x - m_min.z + aRay.c_xz < 0) || ( aRay.kbyi * m_max.x - m_min.z + aRay.c_xz < 0)
|| ( aRay.ibyk * m_max.z - m_min.x + aRay.c_zx < 0) || ( aRay.ibyk * m_max.z - m_min.x + aRay.c_zx < 0)
) )
return false; return false;
return true; return true;
} }
case MMO: case MMO:
{ {
if(( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z) if( ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z)
|| ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.y < m_min.y)
|| ( aRay.jbyi * m_min.x - m_max.y + aRay.c_xy > 0) || ( aRay.jbyi * m_min.x - m_max.y + aRay.c_xy > 0)
|| ( aRay.ibyj * m_min.y - m_max.x + aRay.c_yx > 0) || ( aRay.ibyj * m_min.y - m_max.x + aRay.c_yx > 0)
) )
return false; return false;
return true; return true;
} }
case MPO: case MPO:
{ {
if(( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z) if( ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z)
|| ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.y > m_max.y) || ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.y > m_max.y)
|| ( aRay.jbyi * m_min.x - m_min.y + aRay.c_xy < 0) || ( aRay.jbyi * m_min.x - m_min.y + aRay.c_xy < 0)
|| ( aRay.ibyj * m_max.y - m_max.x + aRay.c_yx > 0) || ( aRay.ibyj * m_max.y - m_max.x + aRay.c_yx > 0)
) )
return false; return false;
return true; return true;
} }
case PMO: case PMO:
{ {
if(( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z) if( ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z)
|| ( aRay.m_Origin.x > m_max.x) || ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.x > m_max.x) || ( aRay.m_Origin.y < m_min.y)
|| ( aRay.jbyi * m_max.x - m_max.y + aRay.c_xy > 0) || ( aRay.jbyi * m_max.x - m_max.y + aRay.c_xy > 0)
|| ( aRay.ibyj * m_min.y - m_min.x + aRay.c_yx < 0) || ( aRay.ibyj * m_min.y - m_min.x + aRay.c_yx < 0)
) )
return false; return false;
return true; return true;
} }
case PPO: case PPO:
{ {
if(( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z) if( ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z)
|| ( aRay.m_Origin.x > m_max.x) || ( aRay.m_Origin.y > m_max.y) || ( aRay.m_Origin.x > m_max.x) || ( aRay.m_Origin.y > m_max.y)
|| ( aRay.jbyi * m_max.x - m_min.y + aRay.c_xy < 0) || ( aRay.jbyi * m_max.x - m_min.y + aRay.c_xy < 0)
|| ( aRay.ibyj * m_max.y - m_min.x + aRay.c_yx < 0) || ( aRay.ibyj * m_max.y - m_min.x + aRay.c_yx < 0)
) )
return false; return false;
return true; return true;
} }
case MOO: case MOO:
{ {
if(( aRay.m_Origin.x < m_min.x) if( ( aRay.m_Origin.x < m_min.x)
|| ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y) || ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y)
|| ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z) || ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z)
) )
return false; return false;
return true; return true;
} }
case POO: case POO:
{ {
if(( aRay.m_Origin.x > m_max.x) if( ( aRay.m_Origin.x > m_max.x)
|| ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y) || ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y)
|| ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z) || ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z)
) )
return false; return false;
return true; return true;
} }
case OMO: case OMO:
{ {
if(( aRay.m_Origin.y < m_min.y) if( ( aRay.m_Origin.y < m_min.y)
|| ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.x > m_max.x) || ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.x > m_max.x)
|| ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z) || ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z)
) )
return false; return false;
return true; return true;
} }
case OPO: case OPO:
{ {
if(( aRay.m_Origin.y > m_max.y) if( ( aRay.m_Origin.y > m_max.y)
|| ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.x > m_max.x) || ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.x > m_max.x)
|| ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z) || ( aRay.m_Origin.z < m_min.z) || ( aRay.m_Origin.z > m_max.z)
) )
return false; return false;
return true; return true;
} }
case OOM: case OOM:
{ {
if(( aRay.m_Origin.z < m_min.z) if( ( aRay.m_Origin.z < m_min.z)
|| ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.x > m_max.x) || ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.x > m_max.x)
|| ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y) || ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y)
) )
return false; return false;
return true; return true;
} }
case OOP: case OOP:
{ {
if(( aRay.m_Origin.z > m_max.z) if( ( aRay.m_Origin.z > m_max.z)
|| ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.x > m_max.x) || ( aRay.m_Origin.x < m_min.x) || ( aRay.m_Origin.x > m_max.x)
|| ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y) || ( aRay.m_Origin.y < m_min.y) || ( aRay.m_Origin.y > m_max.y)
) )
return false; return false;
return true; return true;
} }
} }