include/Vector3D.h

00001 
00026 #ifndef _Vector3D_
00027 #define _Vector3D_
00028 
00029 #include <disableWarnings.h>
00030 
00031 namespace sonus
00032 {
00045         class Vector3D
00046         {
00047         public:
00048 
00049                 double x;
00050                 double y;
00051                 double z;
00052 
00056                 Vector3D();
00057 
00063                 Vector3D( const Vector3D* v );
00064 
00072                 Vector3D( double x, double y, double z );
00073 
00079                 Vector3D( double arr[] );
00080 
00089                 Vector3D* setTo( double x, double y, double z );
00090 
00097                 Vector3D* setTo( double a[] );
00098 
00105                 Vector3D* setTo( Vector3D* v );
00106 
00113                 Vector3D* setTo( Vector3D v );
00114 
00121                 Vector3D* unify();
00122 
00128                 double magnitude();
00129 
00136                 double dot( Vector3D v );
00137 
00145                 Vector3D cross( Vector3D v );
00146 
00154                 Vector3D* transform( double transmatrix[ 16 ] );
00155 
00161                 void toArray( double* arr );
00162 
00168                 char* toString();
00169 
00170                 Vector3D& operator=( Vector3D v2 );
00171                 Vector3D& operator+=( Vector3D v2 );
00172                 Vector3D& operator+=( short s );
00173                 Vector3D& operator+=( int i );
00174                 Vector3D& operator+=( long l );
00175                 Vector3D& operator+=( float f );
00176                 Vector3D& operator+=( double d );
00177                 Vector3D& operator-=( Vector3D v2 );
00178                 Vector3D& operator-=( short s );
00179                 Vector3D& operator-=( int i );
00180                 Vector3D& operator-=( long l );
00181                 Vector3D& operator-=( float f );
00182                 Vector3D& operator-=( double d );
00183                 Vector3D& operator*=( Vector3D v2 );
00184                 Vector3D& operator*=( short s );
00185                 Vector3D& operator*=( int i );
00186                 Vector3D& operator*=( long l );
00187                 Vector3D& operator*=( float f );
00188                 Vector3D& operator*=( double d );
00189                 Vector3D& operator/=( Vector3D v2 );
00190                 Vector3D& operator/=( short s );
00191                 Vector3D& operator/=( int i );
00192                 Vector3D& operator/=( long l );
00193                 Vector3D& operator/=( float f );
00194                 Vector3D& operator/=( double d );
00195                 Vector3D operator+( Vector3D v2 );
00196                 Vector3D operator+( short s );
00197                 Vector3D operator+( int i );
00198                 Vector3D operator+( long l );
00199                 Vector3D operator+( float f );
00200                 Vector3D operator+( double d );
00201                 Vector3D operator-( Vector3D v2 );
00202                 Vector3D operator-( short s );
00203                 Vector3D operator-( int i );
00204                 Vector3D operator-( long l );
00205                 Vector3D operator-( float f );
00206                 Vector3D operator-( double d );
00207                 Vector3D operator*( Vector3D v2 );
00208                 Vector3D operator*( short s );
00209                 Vector3D operator*( int i );
00210                 Vector3D operator*( long l );
00211                 Vector3D operator*( double d );
00212                 Vector3D operator*( float f );
00213                 Vector3D operator/( Vector3D v2 );
00214                 Vector3D operator/( short s );
00215                 Vector3D operator/( int i );
00216                 Vector3D operator/( long l );
00217                 Vector3D operator/( double d );
00218                 Vector3D operator/( float f );
00219                 friend Vector3D operator+( short s, Vector3D v );
00220                 friend Vector3D operator+( int i, Vector3D v );
00221                 friend Vector3D operator+( long l, Vector3D v );
00222                 friend Vector3D operator+( float f, Vector3D v );
00223                 friend Vector3D operator+( double d, Vector3D v );
00224                 friend Vector3D operator-( short s, Vector3D v );
00225                 friend Vector3D operator-( int i, Vector3D v );
00226                 friend Vector3D operator-( long l, Vector3D v );
00227                 friend Vector3D operator-( float f, Vector3D v );
00228                 friend Vector3D operator-( double d, Vector3D v );
00229                 friend Vector3D operator*( short s, Vector3D v );
00230                 friend Vector3D operator*( int i, Vector3D v );
00231                 friend Vector3D operator*( long l, Vector3D v );
00232                 friend Vector3D operator*( float f, Vector3D v );
00233                 friend Vector3D operator*( double d, Vector3D v );
00234                 friend Vector3D operator/( short s, Vector3D v );
00235                 friend Vector3D operator/( int i, Vector3D v );
00236                 friend Vector3D operator/( long l, Vector3D v );
00237                 friend Vector3D operator/( float f, Vector3D v );
00238                 friend Vector3D operator/( double d, Vector3D v );
00239         };
00240 }
00241 
00242 #endif

Generated on Tue Aug 26 12:26:54 2008 for sonus by  doxygen 1.5.4