00001 /*************************************************************************** 00002 CartesianPosition.h - description 00003 ------------------- 00004 begin : mer jun 08 2003 00005 copyright : (C) 2003 by Michel Dubois, Yann Le Guyadec 00006 email : Michel.Dubois@univ-ubs.fr, Yann.Le-Guyadec@univ-ubs.fr 00007 ***************************************************************************/ 00008 00009 /*************************************************************************** 00010 * * 00011 * This program is free software; you can redistribute it and/or modify * 00012 * it under the terms of the GNU General Public License as published by * 00013 * the Free Software Foundation; either version 2 of the License, or * 00014 * (at your option) any later version. * 00015 * * 00016 ***************************************************************************/ 00017 00018 /* 00019 * changes : 00020 * - 08/06/03 MD Creation ! 00021 */ 00022 00023 00024 #ifndef __CARTESIANPOSITION__ 00025 #define __CARTESIANPOSITION__ 00026 #include <Vector3.h> 00027 00028 namespace API { 00037 class CartesianPosition 00038 { 00039 class Util; 00040 friend class Util; 00041 00042 public: 00051 class Util { 00052 friend class CartesianPosition; 00053 private: 00054 CartesianPosition * cp; 00055 Util(CartesianPosition * cp); 00056 ~Util(); 00057 public: 00062 void print() const; 00063 }; 00064 00069 Util * util; 00070 00075 CartesianPosition(); 00076 00081 ~CartesianPosition(); 00082 00090 CartesianPosition(const double xCoordonate, const double yCoordonate, const double zCoordonate); 00091 00097 CartesianPosition(const Vector3& aVector); 00098 00104 double getX() const; 00110 double getY() const; 00111 00117 double getZ() const; 00118 00124 void setX(double aCoordonate); 00130 void setY(double aCoordonate); 00136 void setZ(double aCoordonate); 00137 00138 private : 00139 double x,y,z; 00140 00141 00142 };// END CLASS DEFINITION CartesianPosition 00143 } 00144 #endif // __CARTESIANPOSITION__