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

ippScanInPlaneEndIsSphereCommand.h

Go to the documentation of this file.
00001 // 
00002 // DISCLAIMER: 
00003 //  This software was produced by the National Institute of Standards 
00004 //  and Technology (NIST), an agency of the U.S. government, and by statute is 
00005 //  not subject to copyright in the United States.  Recipients of this 
00006 //  software assume all responsibility associated with its operation,
00007 //  modification,maintenance, and subsequent redistribution. 
00008 //
00009 //  See NIST Administration Manual 4.09.07 b and Appendix I. 
00010 //
00011 #pragma  once 
00012 #include "ippdme/Command/ippCommand.h"
00013 #include "ippdme/ippTargetVector.h"
00014 
00015 // history
00016 // 1.40 
00017 // 1.43 :11.3.2    ScanInPlaneEndIsSphere, Index added for nth reaching of the stop sphere
00018 // 1.43 :11.3.2-4 ScanInPlanEndIsXXX scanning plane definition by additional vector
00019 
00020 class IPPDME_EXT_CLASS ippScanInPlaneEndIsSphereCommand : public ippCommand {
00021   
00022 public:
00023   ippScanInPlaneEndIsSphereCommand(unsigned int tgNum,
00024           double inSx, double inSy, double inSz, // defines the scan start point
00025           double inSI, double inSJ, double inSK, // defines the surface direction in the start point
00026     double inNI, double inNJ, double inNK, //defines the normal vector of the scanning plane
00027           double inDx, double inDy, double inDz, // defines the scan direction point
00028           double inStepW,                        // is the average distance between 2 measured points
00029           double inEX, double inEY, double inEZ, // defines the expected scan end point
00030     double inDia,                          // define a sphere around the end point where the scan stops
00031     int inNum,                          // Number of reaching the stop sphere
00032           double inEI, double inEJ, double inEK  // defines the surface direction at the end point. It defines the direction
00033                                            // for retracting
00034   );
00035 
00036   virtual ~ippScanInPlaneEndIsSphereCommand();
00037 
00038   void setSx(double inSx){ _sx = inSx; }
00039   void setSy(double inSy){ _sy = inSy; }
00040   void setSz(double inSz){ _sz = inSz; }
00041   void setSIJK(double inSI, double inSJ, double inSK)
00042     { _sIJK.setValues(inSI, inSJ, inSK); }
00043   void setDx(double inDx){ _dx = inDx; }
00044   void setDy(double inDy){ _dy = inDy; }
00045   void setDz(double inDz){ _dz = inDz; }
00046   void setStepW(double inStepW){ _stepW = inStepW; }
00047   void setEx(double inEx){ _ex = inEx; }
00048   void setEy(double inEy){ _ey = inEy; }
00049   void setEz(double inEz){ _ez = inEz; }
00050   void setDia(double inDia){ _dia = inDia; }
00051   void setEIJK(double inEI, double inEJ, double inEK)
00052     { _eIJK.setValues(inEI, inEJ, inEK); }
00053 
00054   double getSx()const{ return _sx; }
00055   double getSy()const{ return _sy; }
00056   double getSz()const{ return _sz; }
00057   double getSI()const{ return _sIJK.getI(); }
00058   double getSJ()const{ return _sIJK.getJ(); }
00059   double getSK()const{ return _sIJK.getK(); }
00060   double getDx()const{ return _dx; }
00061   double getDy()const{ return _dy; }
00062   double getDz()const{ return _dz; }
00063   double getStepW()const{ return _stepW; }
00064   double getEx()const{ return _ex; }
00065   double getEy()const{ return _ey; }
00066   double getEz()const{ return _ez; }
00067   double getDia()const{ return _dia; }
00068   double getEI()const{ return _eIJK.getI(); }
00069   double getEJ()const{ return _eIJK.getJ(); }
00070   double getEK()const{ return _eIJK.getK(); }
00071   double getNum()const{ return _num; }
00072 
00073   virtual std::string getCommandString() const;
00074 private:
00075   double _sx;
00076   double _sy;
00077   double _sz;
00078   ippTargetVector _sIJK;
00079   ippTargetVector _nIJK;
00080   double _dx;
00081   double _dy;
00082   double _dz;
00083   double _stepW;
00084   double _ex;
00085   double _ey;
00086   double _ez;
00087   double _dia;
00088   int    _num;
00089   ippTargetVector _eIJK;
00090 
00091   ippScanInPlaneEndIsSphereCommand(const ippScanInPlaneEndIsSphereCommand&);
00092   void operator=(const ippScanInPlaneEndIsSphereCommand&);
00093 };
00094 IPP_DECLARE_SMARTPOINTER(ippScanInPlaneEndIsSphereCommand);

Generated on Wed Nov 8 00:19:57 2006 for IPPDME by  doxygen 1.4.1