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

ippScanInCylEndIsSphereCommand.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/ippTargetVector.h"
00013 #include "ippdme/Command/ippCommand.h"
00014 // history
00015 // 1.4.3 :  11.3.5 : Index added for nth reaching of the stop sphere
00016 /*
00017  * ScanInCylEndIsSphere
00018  * The ScanInCylEndIsSphere allows scanning an unknown contour. The scan will stop if the sphere
00019  * stop criterion is matched.
00020  */
00021 class IPPDME_EXT_CLASS ippScanInCylEndIsSphereCommand : public ippCommand {
00022   
00023 public:
00024   ippScanInCylEndIsSphereCommand(unsigned int tgNum,
00025           double inCx, double inCy, double inCz, // defines a origin for the  axis of the cylinder
00026           double inCI, double inCJ, double inCK, // defines the axis of the cylinder
00027           double inSx, double inSy, double inSz, // defines the scan start point
00028           double inSI, double inSJ, double inSK, // defines the surface direction in the start point
00029           double inDx, double inDy, double inDz, // defines the scan direction point
00030           double inStepW,                        // StepW is the average distance between 2 measured points
00031           double inEx, double inEy, double inEz, // Defines a sphere where the scan stops
00032           double inDia,                          // Defines the diameter of the sphere where the scan stops
00033           int    inNum,                          // Number of reaching the stop sphere
00034           double inEI, double inEJ, double inEK  // defines the surface at the end point. 
00035                                            // It defines the direction for retracting
00036   );
00037 
00038   virtual ~ippScanInCylEndIsSphereCommand();
00039 
00040   void setCx(double inCx){ _cx = inCx; }
00041   void setCy(double inCy){ _cy = inCy; }
00042   void setCz(double inCz){ _cz = inCz; }
00043   void setCIJK(double inCI, double inCJ, double inCK)
00044     { _cIJK.setValues(inCI, inCJ, inCK); }
00045   void setSx(double inSx){ _sx = inSx; }
00046   void setSy(double inSy){ _sy = inSy; }
00047   void setSz(double inSz){ _sz = inSz; }
00048   void setSIJK(double inSI, double inSJ, double inSK)
00049     { _sIJK.setValues(inSI, inSJ, inSK); }
00050   void setDx(double inDx){ _dx = inDx; }
00051   void setDy(double inDy){ _dy = inDy; }
00052   void setDz(double inDz){ _dz = inDz; }
00053   void setStepW(double inStepW){ _stepW = inStepW; }
00054   void setEx(double inEx){ _ex = inEx; }
00055   void setEy(double inEy){ _ey = inEy; }
00056   void setEz(double inEz){ _ez = inEz; }
00057   void setDia(double inDia){ _dia = inDia; }
00058   void setEIJK(double inEI, double inEJ, double inEK)
00059     { _eIJK.setValues(inEI, inEJ, inEK); }
00060   void setNum(int inNum){ _num = inNum; }
00061 
00062   double getCx()const{ return _cx; }
00063   double getCy()const{ return _cy; }
00064   double getCz()const{ return _cz; }
00065   double getCI()const{ return _cIJK.getI(); }
00066   double getCJ()const{ return _cIJK.getJ(); }
00067   double getCK()const{ return _cIJK.getK(); }
00068   double getSx()const{ return _sx; }
00069   double getSy()const{ return _sy; }
00070   double getSz()const{ return _sz; }
00071   double getSI()const{ return _sIJK.getI(); }
00072   double getSJ()const{ return _sIJK.getJ(); }
00073   double getSK()const{ return _sIJK.getK(); }
00074   double getDx()const{ return _dx; }
00075   double getDy()const{ return _dy; }
00076   double getDz()const{ return _dz; }
00077   double getStepW()const{ return _stepW; }
00078   double getEx()const{ return _ex; }
00079   double getEy()const{ return _ey; }
00080   double getEz()const{ return _ez; }
00081   double getDia()const{ return _dia; }
00082   double getEI()const{ return _eIJK.getI(); }
00083   double getEJ()const{ return _eIJK.getJ(); }
00084   double getEK()const{ return _eIJK.getK(); }
00085   int getNum()const{ return _num; }
00086 
00087   virtual std::string getCommandString() const;
00088 
00089 private:
00090   double _cx;
00091   double _cy;
00092   double _cz;
00093   ippTargetVector _cIJK;
00094   double _sx;
00095   double _sy;
00096   double _sz;
00097   ippTargetVector _sIJK;
00098   double _dx;
00099   double _dy;
00100   double _dz;
00101   double _stepW;
00102   double _ex;
00103   double _ey;
00104   double _ez;
00105   double _dia;
00106   int    _num;
00107   ippTargetVector _eIJK;
00108   
00109 private:
00110   ippScanInCylEndIsSphereCommand(const ippScanInCylEndIsSphereCommand&);
00111   void operator=(const ippScanInCylEndIsSphereCommand&);
00112 
00113 };
00114 IPP_DECLARE_SMARTPOINTER(ippScanInCylEndIsSphereCommand);

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