summaryrefslogtreecommitdiff
path: root/indra/llmath
diff options
context:
space:
mode:
authorBrian McGroarty <soft@lindenlab.com>2007-10-11 19:43:20 +0000
committerBrian McGroarty <soft@lindenlab.com>2007-10-11 19:43:20 +0000
commit788c18c00db8dabdbcdc0ab1af2cf35c24eec8e9 (patch)
tree7958a7cd0bda16382fcbf88a9b2d0bb63148228b /indra/llmath
parent1b550aaec246063090fe7143145d69eebfbd4680 (diff)
Merge maint-viewer @ r71064
Diffstat (limited to 'indra/llmath')
-rw-r--r--indra/llmath/llcoordframe.cpp81
-rw-r--r--indra/llmath/xform.h67
2 files changed, 75 insertions, 73 deletions
diff --git a/indra/llmath/llcoordframe.cpp b/indra/llmath/llcoordframe.cpp
index 92f12a2946..70d4646264 100644
--- a/indra/llmath/llcoordframe.cpp
+++ b/indra/llmath/llcoordframe.cpp
@@ -63,7 +63,8 @@ LLCoordFrame::LLCoordFrame(const LLVector3 &origin) :
{
if( !mOrigin.isFinite() )
{
- llerrs << "Non Finite in LLCoordFrame::LLCoordFrame()" << llendl;
+ reset();
+ llwarns << "Non Finite in LLCoordFrame::LLCoordFrame()" << llendl;
}
}
@@ -74,7 +75,8 @@ LLCoordFrame::LLCoordFrame(const LLVector3 &origin, const LLVector3 &direction)
if( !isFinite() )
{
- llerrs << "Non Finite in LLCoordFrame::LLCoordFrame()" << llendl;
+ reset();
+ llwarns << "Non Finite in LLCoordFrame::LLCoordFrame()" << llendl;
}
}
@@ -88,7 +90,8 @@ LLCoordFrame::LLCoordFrame(const LLVector3 &x_axis,
{
if( !isFinite() )
{
- llerrs << "Non Finite in LLCoordFrame::LLCoordFrame()" << llendl;
+ reset();
+ llwarns << "Non Finite in LLCoordFrame::LLCoordFrame()" << llendl;
}
}
@@ -103,7 +106,8 @@ LLCoordFrame::LLCoordFrame(const LLVector3 &origin,
{
if( !isFinite() )
{
- llerrs << "Non Finite in LLCoordFrame::LLCoordFrame()" << llendl;
+ reset();
+ llwarns << "Non Finite in LLCoordFrame::LLCoordFrame()" << llendl;
}
}
@@ -117,7 +121,8 @@ LLCoordFrame::LLCoordFrame(const LLVector3 &origin,
{
if( !isFinite() )
{
- llerrs << "Non Finite in LLCoordFrame::LLCoordFrame()" << llendl;
+ reset();
+ llwarns << "Non Finite in LLCoordFrame::LLCoordFrame()" << llendl;
}
}
@@ -131,7 +136,8 @@ LLCoordFrame::LLCoordFrame(const LLQuaternion &q) :
if( !isFinite() )
{
- llerrs << "Non Finite in LLCoordFrame::LLCoordFrame()" << llendl;
+ reset();
+ llwarns << "Non Finite in LLCoordFrame::LLCoordFrame()" << llendl;
}
}
@@ -145,7 +151,8 @@ LLCoordFrame::LLCoordFrame(const LLVector3 &origin, const LLQuaternion &q) :
if( !isFinite() )
{
- llerrs << "Non Finite in LLCoordFrame::LLCoordFrame()" << llendl;
+ reset();
+ llwarns << "Non Finite in LLCoordFrame::LLCoordFrame()" << llendl;
}
}
@@ -157,7 +164,8 @@ LLCoordFrame::LLCoordFrame(const LLMatrix4 &mat) :
{
if( !isFinite() )
{
- llerrs << "Non Finite in LLCoordFrame::LLCoordFrame()" << llendl;
+ reset();
+ llwarns << "Non Finite in LLCoordFrame::LLCoordFrame()" << llendl;
}
}
@@ -172,7 +180,8 @@ LLCoordFrame::LLCoordFrame(const F32 *origin, const F32 *rotation) :
{
if( !isFinite() )
{
- llerrs << "Non Finite in LLCoordFrame::LLCoordFrame()" << llendl;
+ reset();
+ llwarns << "Non Finite in LLCoordFrame::LLCoordFrame()" << llendl;
}
}
*/
@@ -186,7 +195,8 @@ LLCoordFrame::LLCoordFrame(const F32 *origin_and_rotation) :
{
if( !isFinite() )
{
- llerrs << "Non Finite in LLCoordFrame::LLCoordFrame()" << llendl;
+ reset();
+ llwarns << "Non Finite in LLCoordFrame::LLCoordFrame()" << llendl;
}
}
*/
@@ -214,7 +224,8 @@ void LLCoordFrame::setOrigin(F32 x, F32 y, F32 z)
if( !mOrigin.isFinite() )
{
- llerrs << "Non Finite in LLCoordFrame::setOrigin()" << llendl;
+ reset();
+ llwarns << "Non Finite in LLCoordFrame::setOrigin()" << llendl;
}
}
@@ -223,7 +234,8 @@ void LLCoordFrame::setOrigin(const LLVector3 &new_origin)
mOrigin = new_origin;
if( !mOrigin.isFinite() )
{
- llerrs << "Non Finite in LLCoordFrame::setOrigin()" << llendl;
+ reset();
+ llwarns << "Non Finite in LLCoordFrame::setOrigin()" << llendl;
}
}
@@ -235,7 +247,8 @@ void LLCoordFrame::setOrigin(const F32 *origin)
if( !mOrigin.isFinite() )
{
- llerrs << "Non Finite in LLCoordFrame::setOrigin()" << llendl;
+ reset();
+ llwarns << "Non Finite in LLCoordFrame::setOrigin()" << llendl;
}
}
@@ -245,7 +258,8 @@ void LLCoordFrame::setOrigin(const LLCoordFrame &frame)
if( !mOrigin.isFinite() )
{
- llerrs << "Non Finite in LLCoordFrame::setOrigin()" << llendl;
+ reset();
+ llwarns << "Non Finite in LLCoordFrame::setOrigin()" << llendl;
}
}
@@ -261,7 +275,8 @@ void LLCoordFrame::setAxes(const LLVector3 &x_axis,
mZAxis = z_axis;
if( !isFinite() )
{
- llerrs << "Non Finite in LLCoordFrame::setAxes()" << llendl;
+ reset();
+ llwarns << "Non Finite in LLCoordFrame::setAxes()" << llendl;
}
}
@@ -273,7 +288,8 @@ void LLCoordFrame::setAxes(const LLMatrix3 &rotation_matrix)
mZAxis.setVec(rotation_matrix.mMatrix[VZ]);
if( !isFinite() )
{
- llerrs << "Non Finite in LLCoordFrame::setAxes()" << llendl;
+ reset();
+ llwarns << "Non Finite in LLCoordFrame::setAxes()" << llendl;
}
}
@@ -284,7 +300,8 @@ void LLCoordFrame::setAxes(const LLQuaternion &q )
setAxes(rotation_matrix);
if( !isFinite() )
{
- llerrs << "Non Finite in LLCoordFrame::setAxes()" << llendl;
+ reset();
+ llwarns << "Non Finite in LLCoordFrame::setAxes()" << llendl;
}
}
@@ -303,7 +320,8 @@ void LLCoordFrame::setAxes( const F32 *rotation_matrix )
if( !isFinite() )
{
- llerrs << "Non Finite in LLCoordFrame::setAxes()" << llendl;
+ reset();
+ llwarns << "Non Finite in LLCoordFrame::setAxes()" << llendl;
}
}
@@ -316,7 +334,8 @@ void LLCoordFrame::setAxes(const LLCoordFrame &frame)
if( !isFinite() )
{
- llerrs << "Non Finite in LLCoordFrame::setAxes()" << llendl;
+ reset();
+ llwarns << "Non Finite in LLCoordFrame::setAxes()" << llendl;
}
}
@@ -331,7 +350,8 @@ void LLCoordFrame::translate(F32 x, F32 y, F32 z)
if( !mOrigin.isFinite() )
{
- llerrs << "Non Finite in LLCoordFrame::translate()" << llendl;
+ reset();
+ llwarns << "Non Finite in LLCoordFrame::translate()" << llendl;
}
}
@@ -342,7 +362,8 @@ void LLCoordFrame::translate(const LLVector3 &v)
if( !mOrigin.isFinite() )
{
- llerrs << "Non Finite in LLCoordFrame::translate()" << llendl;
+ reset();
+ llwarns << "Non Finite in LLCoordFrame::translate()" << llendl;
}
}
@@ -355,7 +376,8 @@ void LLCoordFrame::translate(const F32 *origin)
if( !mOrigin.isFinite() )
{
- llerrs << "Non Finite in LLCoordFrame::translate()" << llendl;
+ reset();
+ llwarns << "Non Finite in LLCoordFrame::translate()" << llendl;
}
}
@@ -391,7 +413,8 @@ void LLCoordFrame::rotate(const LLMatrix3 &rotation_matrix)
if( !isFinite() )
{
- llerrs << "Non Finite in LLCoordFrame::rotate()" << llendl;
+ reset();
+ llwarns << "Non Finite in LLCoordFrame::rotate()" << llendl;
}
}
@@ -404,7 +427,8 @@ void LLCoordFrame::roll(F32 angle)
if( !mYAxis.isFinite() || !mZAxis.isFinite() )
{
- llerrs << "Non Finite in LLCoordFrame::roll()" << llendl;
+ reset();
+ llwarns << "Non Finite in LLCoordFrame::roll()" << llendl;
}
}
@@ -416,7 +440,8 @@ void LLCoordFrame::pitch(F32 angle)
if( !mXAxis.isFinite() || !mZAxis.isFinite() )
{
- llerrs << "Non Finite in LLCoordFrame::pitch()" << llendl;
+ reset();
+ llwarns << "Non Finite in LLCoordFrame::pitch()" << llendl;
}
}
@@ -428,7 +453,8 @@ void LLCoordFrame::yaw(F32 angle)
if( !mXAxis.isFinite() || !mYAxis.isFinite() )
{
- llerrs << "Non Finite in LLCoordFrame::yaw()" << llendl;
+ reset();
+ llwarns << "Non Finite in LLCoordFrame::yaw()" << llendl;
}
}
@@ -487,7 +513,8 @@ size_t LLCoordFrame::readOrientation(const char *buffer)
if( !isFinite() )
{
- llerrs << "Non Finite in LLCoordFrame::readOrientation()" << llendl;
+ reset();
+ llwarns << "Non Finite in LLCoordFrame::readOrientation()" << llendl;
}
return 12*sizeof(F32);
diff --git a/indra/llmath/xform.h b/indra/llmath/xform.h
index e0e566b6c4..9a5c99140e 100644
--- a/indra/llmath/xform.h
+++ b/indra/llmath/xform.h
@@ -35,9 +35,6 @@
#include "m4math.h"
#include "llquaternion.h"
-#define CHECK_FOR_FINITE
-
-
const F32 MAX_OBJECT_Z = 768.f;
const F32 MIN_OBJECT_Z = -256.f;
const F32 MIN_OBJECT_SCALE = 0.01f;
@@ -183,26 +180,15 @@ BOOL LLXform::setParent(LLXform* parent)
return TRUE;
}
-
-// Don't blow up on release versions
-#if LL_RELEASE_FOR_DOWNLOAD
- #define llxformtrouble(msg, num) llwarning(msg, num)
-#else
- #define llxformtrouble(msg, num) llerror(msg, num)
-#endif
-
-
-#ifdef CHECK_FOR_FINITE
void LLXform::setPosition(const LLVector3& pos)
{
setChanged(TRANSLATED);
if (pos.isFinite())
- {
mPosition = pos;
- }
else
{
- llxformtrouble("Non Finite in LLXform::setPosition(LLVector3)", 0);
+ mPosition.clearVec();
+ llwarns << "Non Finite in LLXform::setPosition(LLVector3)" << llendl;
}
}
@@ -210,12 +196,11 @@ void LLXform::setPosition(const F32 x, const F32 y, const F32 z)
{
setChanged(TRANSLATED);
if (llfinite(x) && llfinite(y) && llfinite(z))
- {
mPosition.setVec(x,y,z);
- }
else
{
- llxformtrouble("Non Finite in LLXform::setPosition(F32,F32,F32)", 0);
+ mPosition.clearVec();
+ llwarns << "Non Finite in LLXform::setPosition(F32,F32,F32)" << llendl;
}
}
@@ -223,12 +208,11 @@ void LLXform::setPositionX(const F32 x)
{
setChanged(TRANSLATED);
if (llfinite(x))
- {
mPosition.mV[VX] = x;
- }
else
{
- llxformtrouble("Non Finite in LLXform::setPositionX", 0);
+ mPosition.mV[VX] = 0.f;
+ llwarns << "Non Finite in LLXform::setPositionX" << llendl;
}
}
@@ -236,12 +220,11 @@ void LLXform::setPositionY(const F32 y)
{
setChanged(TRANSLATED);
if (llfinite(y))
- {
mPosition.mV[VY] = y;
- }
else
{
- llxformtrouble("Non Finite in LLXform::setPositionY", 0);
+ mPosition.mV[VY] = 0.f;
+ llwarns << "Non Finite in LLXform::setPositionY" << llendl;
}
}
@@ -249,12 +232,11 @@ void LLXform::setPositionZ(const F32 z)
{
setChanged(TRANSLATED);
if (llfinite(z))
- {
mPosition.mV[VZ] = z;
- }
else
{
- llxformtrouble("Non Finite in LLXform::setPositionZ", 0);
+ mPosition.mV[VZ] = 0.f;
+ llwarns << "Non Finite in LLXform::setPositionZ" << llendl;
}
}
@@ -262,49 +244,42 @@ void LLXform::addPosition(const LLVector3& pos)
{
setChanged(TRANSLATED);
if (pos.isFinite())
- {
mPosition += pos;
- }
else
- {
- llxformtrouble("Non Finite in LLXform::addPosition", 0);
- }
+ llwarns << "Non Finite in LLXform::addPosition" << llendl;
}
void LLXform::setScale(const LLVector3& scale)
{
setChanged(SCALED);
if (scale.isFinite())
- {
mScale = scale;
- }
else
{
- llxformtrouble("Non Finite in LLXform::setScale(LLVector)", 0);
+ mScale.setVec(1.f, 1.f, 1.f);
+ llwarns << "Non Finite in LLXform::setScale" << llendl;
}
}
void LLXform::setScale(const F32 x, const F32 y, const F32 z)
{
setChanged(SCALED);
if (llfinite(x) && llfinite(y) && llfinite(z))
- {
mScale.setVec(x,y,z);
- }
else
{
- llxformtrouble("Non Finite in LLXform::setScale(F32,F32,F32)", 0);
+ mScale.setVec(1.f, 1.f, 1.f);
+ llwarns << "Non Finite in LLXform::setScale" << llendl;
}
}
void LLXform::setRotation(const LLQuaternion& rot)
{
setChanged(ROTATED);
if (rot.isFinite())
- {
mRotation = rot;
- }
else
{
- llxformtrouble("Non Finite in LLXform::setRotation(LLQuaternion)", 0);
+ mRotation.loadIdentity();
+ llwarns << "Non Finite in LLXform::setRotation" << llendl;
}
}
void LLXform::setRotation(const F32 x, const F32 y, const F32 z)
@@ -316,7 +291,8 @@ void LLXform::setRotation(const F32 x, const F32 y, const F32 z)
}
else
{
- llxformtrouble("Non Finite in LLXform::setRotation(F32,F32,F32)", 0);
+ mRotation.loadIdentity();
+ llwarns << "Non Finite in LLXform::setRotation" << llendl;
}
}
void LLXform::setRotation(const F32 x, const F32 y, const F32 z, const F32 s)
@@ -328,10 +304,9 @@ void LLXform::setRotation(const F32 x, const F32 y, const F32 z, const F32 s)
}
else
{
- llxformtrouble("Non Finite in LLXform::setRotation(F32,F32,F32,F32)", 0);
+ mRotation.loadIdentity();
+ llwarns << "Non Finite in LLXform::setRotation" << llendl;
}
}
#endif
-
-#endif