Removed unnecessary functions from Vector3

This commit is contained in:
Brian 2014-02-20 20:12:18 -07:00
parent 1af797b1d8
commit 747fc8a5cd

View file

@ -18,16 +18,12 @@
{ {
public: public:
BaseType X, Y, Z; BaseType x, y, z;
TVector3( void );
TVector3( const TVector3& );
TVector3( BaseType x, BaseType y, BaseType z ); TVector3( BaseType x, BaseType y, BaseType z );
virtual ~TVector3( void ) { } virtual ~TVector3( void ) { }
TVector3& operator=( const TVector3& );
// TODO: Implement and use epsilon comparison // TODO: Implement and use epsilon comparison
bool operator==( const TVector3& ) const; bool operator==( const TVector3& ) const;
bool operator!=( const TVector3& ) const; bool operator!=( const TVector3& ) const;
@ -49,149 +45,121 @@
// TODO: Add other helper functions // TODO: Add other helper functions
bool IsZero( void ) const; bool IsZero( void ) const;
static TVector3 Zero( void );
}; };
typedef TVector3< Scalar > Vec3f; typedef TVector3< Scalar > Vec3f;
template< typename BaseType >
inline TVector3< BaseType >::TVector3( void )
{
}
template< typename BaseType >
inline TVector3< BaseType >::TVector3( const TVector3& vect )
: X( vect.X )
, Y( vect.Y )
, Z( vect.Z )
{
}
template< typename BaseType > template< typename BaseType >
inline TVector3< BaseType >::TVector3( BaseType x, BaseType y, BaseType z ) inline TVector3< BaseType >::TVector3( BaseType x, BaseType y, BaseType z )
: X( x ) : this->x( x )
, Y( y ) , this->y( y )
, Z( z ) , this->z( z )
{ {
} }
template< typename BaseType >
inline TVector3< BaseType >& TVector3< BaseType >::operator=( const TVector3& vect )
{
#ifdef _DEBUG
if ( this == &vect )
{
return *this;
}
#endif
X = vect.X;
Y = vect.Y;
Z = vect.Z;
return *this;
}
template< typename BaseType > template< typename BaseType >
inline bool TVector3< BaseType >::operator==( const TVector3& vect ) const inline bool TVector3< BaseType >::operator==( const TVector3& vect ) const
{ {
return X == vect.X && Y == vect.Y && Z == vect.Z; return x == vect.x && y == vect.y && z == vect.z;
} }
template< typename BaseType > template< typename BaseType >
inline bool TVector3< BaseType >::operator!=( const TVector3& vect ) const inline bool TVector3< BaseType >::operator!=( const TVector3& vect ) const
{ {
return X != vect.X || Y != vect.Y || Z != vect.Z; return x != vect.x || y != vect.y || z != vect.z;
} }
template< typename BaseType > template< typename BaseType >
inline TVector3< BaseType > TVector3< BaseType >::operator*( BaseType val ) const inline TVector3< BaseType > TVector3< BaseType >::operator*( BaseType val ) const
{ {
return TVector3< BaseType >( X * val, Y * val, Z * val ); return TVector3< BaseType >( x * val, y * val, z * val );
} }
template< typename BaseType > template< typename BaseType >
inline TVector3< BaseType > TVector3< BaseType >::operator/( BaseType val ) const inline TVector3< BaseType > TVector3< BaseType >::operator/( BaseType val ) const
{ {
return TVector3< BaseType >( X / val, Y / val, Z / val ); return TVector3< BaseType >( x / val, y / val, z / val );
} }
template< typename BaseType > template< typename BaseType >
inline TVector3< BaseType > TVector3< BaseType >::operator*( const TVector3& vect ) const inline TVector3< BaseType > TVector3< BaseType >::operator*( const TVector3& vect ) const
{ {
return TVector3< BaseType >( X * vect.X, Y * vect.Y, Z * vect.Z ); return TVector3< BaseType >( x * vect.x, y * vect.y, z * vect.z );
} }
template< typename BaseType > template< typename BaseType >
inline TVector3< BaseType > TVector3< BaseType >::operator/( const TVector3& vect ) const inline TVector3< BaseType > TVector3< BaseType >::operator/( const TVector3& vect ) const
{ {
return TVector3< BaseType >( X / vect.X, Y / vect.Y, Z / vect.Z ); return TVector3< BaseType >( x / vect.x, y / vect.y, z / vect.z );
} }
template< typename BaseType > template< typename BaseType >
inline TVector3< BaseType > TVector3< BaseType >::operator+( const TVector3& vect ) const inline TVector3< BaseType > TVector3< BaseType >::operator+( const TVector3& vect ) const
{ {
return TVector3< BaseType >( X + vect.X, Y + vect.Y, Z + vect.Z ); return TVector3< BaseType >( x + vect.x, y + vect.y, z + vect.z );
} }
template< typename BaseType > template< typename BaseType >
inline TVector3< BaseType > TVector3< BaseType >::operator-( const TVector3& vect ) const inline TVector3< BaseType > TVector3< BaseType >::operator-( const TVector3& vect ) const
{ {
return TVector3< BaseType >( X - vect.X, Y - vect.Y, Z - vect.Z ); return TVector3< BaseType >( x - vect.x, y - vect.y, z - vect.z );
} }
template< typename BaseType > template< typename BaseType >
inline TVector3< BaseType >& TVector3< BaseType >::operator*=( BaseType val ) inline TVector3< BaseType >& TVector3< BaseType >::operator*=( BaseType val )
{ {
X *= val; x *= val;
Y *= val; y *= val;
Z *= val; z *= val;
return *this; return *this;
} }
template< typename BaseType > template< typename BaseType >
inline TVector3< BaseType >& TVector3< BaseType >::operator/=( BaseType val ) inline TVector3< BaseType >& TVector3< BaseType >::operator/=( BaseType val )
{ {
X /= val; x /= val;
Y /= val; y /= val;
Z /= val; z /= val;
return *this; return *this;
} }
template< typename BaseType > template< typename BaseType >
inline TVector3< BaseType >& TVector3< BaseType >::operator*=( const TVector3& vect ) inline TVector3< BaseType >& TVector3< BaseType >::operator*=( const TVector3& vect )
{ {
X *= vect.X; x *= vect.x;
Y *= vect.Y; y *= vect.y;
Z *= vect.Z; z *= vect.z;
return *this; return *this;
} }
template< typename BaseType > template< typename BaseType >
inline TVector3< BaseType >& TVector3< BaseType >::operator/=( const TVector3& vect ) inline TVector3< BaseType >& TVector3< BaseType >::operator/=( const TVector3& vect )
{ {
X /= vect.X; x /= vect.x;
Y /= vect.Y; y /= vect.y;
Z /= vect.Z; z /= vect.z;
return *this; return *this;
} }
template< typename BaseType > template< typename BaseType >
inline TVector3< BaseType >& TVector3< BaseType >::operator+=( const TVector3& vect ) inline TVector3< BaseType >& TVector3< BaseType >::operator+=( const TVector3& vect )
{ {
X += vect.X; x += vect.x;
Y += vect.Y; y += vect.y;
Z += vect.Z; z += vect.z;
return *this; return *this;
} }
template< typename BaseType > template< typename BaseType >
inline TVector3< BaseType >& TVector3< BaseType >::operator-=( const TVector3& vect ) inline TVector3< BaseType >& TVector3< BaseType >::operator-=( const TVector3& vect )
{ {
X -= vect.X; x -= vect.x;
Y -= vect.Y; y -= vect.y;
Z -= vect.Z; z -= vect.z;
return *this; return *this;
} }
@ -199,7 +167,7 @@
inline bool TVector3< BaseType >::IsZero( void ) const inline bool TVector3< BaseType >::IsZero( void ) const
{ {
// TODO: Use epsilon // TODO: Use epsilon
return X == 0 && Y == 0 && Z == 0; return x == 0 && y == 0 && z == 0;
} }
#endif #endif