Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages

vpvector3d.h

Go to the documentation of this file.
00001 //deprecated
00003 //
00004 //  PROJECT.....: vpat - Creating Virtual Patients
00005 //  RESPONSIBLE.: Carla Freitas e Luciana Nedel
00006 //
00007 //  FILE........: vpvector3d.h
00008 //  DESCRIPTION.: Contain the VPVector3D class declarations.
00009 //
00010 //  AUTHOR......: Isabel Harb Manssour
00011 //  DATE........: August/10/2000
00012 //  DESCRIPTION.: Classes and new methods declaration.
00013 //
00014 
00015 //  AUTHOR......: Isabel Harb Manssour
00016 
00017 //  DATE........: January/16/2001
00018 
00019 //  DESCRIPTION.: New methods declaration.
00020 
00021 //
00022 
00023 //  AUTHOR......: Isabel Harb Manssour
00024 
00025 //  DATE........: April/18/2001
00026 
00027 //  DESCRIPTION.: Class update in accordance with the changes in the 
00028 
00029 //                VPPoint3D attributes.
00030 
00031 //
00033 
00034 
00035 #ifndef __VPVECTOR3D_H  
00036 #define __VPVECTOR3D_H  
00037 
00038 #include    <vppoint3d.h>
00039 
00040 
00042 // Class Name: VPVector3D (storage and manipulation of 3D vector)
00043 // Superclass: VPPoint3D
00044 // Subclasses: -
00046 
00047 class VPVector3D:public VPPoint3D {
00048   public:
00049       VPVector3D();
00050       VPVector3D(float xi, float yi, float zi);
00051       VPVector3D(const VPVector3D&);
00052       VPVector3D& operator=(const VPVector3D&);
00053       //  Comparison
00054       int operator==(const VPVector3D&);
00055       int operator!=(const VPVector3D&);
00056       //  Sum, Difference, Scalar Product
00057       VPPoint3D operator+(VPPoint3D);
00058 
00059       VPPoint3D operator-(VPPoint3D);
00060 
00061       VPVector3D operator+(const VPVector3D&);
00062       VPVector3D operator-(const VPVector3D&);
00063       VPVector3D operator-();
00064       VPVector3D operator*(const float&);
00065       VPVector3D operator/(const float&);
00066       VPVector3D operator*(const VPVector3D&);
00067       //  Immediate Sum, Difference, Scalar Product
00068       VPVector3D& operator+=(const VPVector3D&);
00069       VPVector3D& operator-=(const VPVector3D&);
00070       VPVector3D& operator*=(const float&);
00071       VPVector3D& operator/=(const float&);
00072       //  Dot Product
00073       float vpDotProduct(const VPVector3D&);
00074       //  Cross Product
00075       VPVector3D vpCrossProduct(const VPVector3D&);
00076       //  Vector module
00077       float vpModule();
00078       //  Vector normalization
00079       void vpNormalize();
00080       //  Set, Get
00081       void vpSetVector3D(VPPoint3D p);
00082       void vpSetVector3D(float xx,float yy,float zz);
00083       void vpGetVector3D(float &xx,float &yy,float &zz);
00084       VPVector3D vpGetVector3D(void);
00085       float vpGetVector3DX(void);
00086       float vpGetVector3DY(void);
00087       float vpGetVector3DZ(void);
00088 };
00089 
00090 
00091 
00092 //  The global constant VPVector3Ds
00093 const VPVector3D VZERO ( 0.0, 0.0, 0.0 );
00094 const VPVector3D VX    ( 1.0, 0.0, 0.0 );
00095 const VPVector3D VY    ( 0.0, 1.0, 0.0 );
00096 const VPVector3D VZ    ( 0.0, 0.0, 1.0 );
00097 
00098 #endif

Generated on Tue Sep 6 10:00:07 2005 for VPAT by  doxygen 1.4.4