00001
00005
00006
00007
00008 #ifndef __VPPOINT3D_H
00009 #define __VPPOINT3D_H
00010
00011 #include "vppoint.h"
00012
00025 class VPPoint3D : public VPPoint {
00026 public:
00028 float x;
00029 float y;
00030 float z;
00032 VPPoint3D();
00037 VPPoint3D(float xi, float yi, float zi);
00038
00039 float vpGetX() const;
00040 float vpGetY() const;
00041 float vpGetZ() const;
00042 void vpGetXY(float &xx, float &yy) const;
00043 void vpGetXZ(float &xx, float &zz) const;
00044 void vpGetYZ(float &yy, float &zz) const;
00045 void vpGetXYZ(float &xx, float &yy, float &zz) const;
00048 VPPoint3D vpGetPoint3D(void) const;
00049
00051
00054 float* vpGetPointAsArray(void) const;
00055
00058 void vpGetPoint(float v[]) const;
00059 void vpSetX(float xx);
00060 void vpSetY(float yy);
00061 void vpSetZ(float zz);
00062 void vpSetXY(float xx, float yy);
00063 void vpSetXZ(float xx, float zz);
00064 void vpSetYZ(float yy, float zz);
00065 void vpSetXYZ(float xx, float yy, float zz);
00071 VPPoint3D operator= (VPPoint3D p);
00072
00078 VPPoint3D operator- (const VPPoint3D&) const;
00079
00085 VPPoint3D operator+ (const VPPoint3D&) const;
00086
00091 VPPoint3D operator* (float num);
00092
00096 VPPoint3D operator-= (int num);
00097
00101 bool operator!= (const VPPoint3D&) const;
00102
00106 bool operator== (const VPPoint3D&) const;
00107
00111 bool operator<= (const VPPoint3D&) const;
00112
00116 bool operator< (const VPPoint3D&) const;
00117
00121 bool operator>= (const VPPoint3D&) const;
00122
00126 bool operator> (const VPPoint3D&) const;
00127
00131 float vpDistance(VPPoint3D p1) const;
00132 };
00133
00134 #endif