VisVector.h

00001 #pragma once
00002 
00003 #include <vector>
00004 #include <cmath>
00005 
00006 using namespace std;
00007 
00008 
00039 class CVisVector
00040 {
00041 
00042 public:
00043     float x,y,z; //x,y,z coordinates
00044 
00045 public:
00046 
00047     CVisVector();
00048 
00049     CVisVector( const float& a, const float& b, const float& c );
00050 
00051 
00052     const bool operator == ( const CVisVector& v ) const;
00053     const bool operator != ( const CVisVector& v ) const;
00054     const CVisVector operator - () ;
00055     const CVisVector& operator = ( const CVisVector& v );
00056     const CVisVector& operator += ( const CVisVector& v ); 
00057     const CVisVector& operator -= ( const CVisVector& v ); 
00058     const CVisVector& operator *= ( const float& s );
00059     const CVisVector& operator /= ( const float& s );
00060     const CVisVector operator + ( const CVisVector& v ) const;
00061     const CVisVector operator - ( const CVisVector& v ) const;
00062     const CVisVector operator * ( const float& s ) const;
00063 
00064     friend inline const CVisVector CVisVector::operator * ( const float& s, const CVisVector& v )
00065     {
00066             return v * s;
00067     }
00068 
00069 
00070     const CVisVector operator / (float s) const;
00071     const CVisVector cross( const CVisVector& v ) const;
00072     const float dot( const CVisVector& v ) const;
00073     const float length() const;
00074     const CVisVector unit() const;
00075     void normalize();
00076     
00077 
00078         
00079 };
00080 
00081 
00082 
00083 

Generated on Thu Dec 9 12:08:19 2004 for Visualize3D by doxygen 1.3.1 using KingsTools