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

ippScanOnCurveCommand.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 #pragma  once 
00011 #include "ippdme/Command/ippCommand.h"
00012 #include "ippdme/ippTargetVector.h"
00013 
00014 
00018 typedef  std::vector<double>  ippScanOnCurvePoint;
00019 /*
00020 {
00021 public:
00022   ippScanOnCurvePoint();
00023   ~ippScanOnCurvePoint();
00024   ippScanOnCurvePoint(ippScanOnCurvePoint&);
00025   void operator=(ippScanOnCurvePoint&);
00026 private:
00027   std::vector<double> _data;
00028 };
00029 */
00030 class IPPDME_EXT_CLASS ippScanOnCurveCommand : public ippCommand {
00031   
00032 public:
00033   enum FormatType 
00034   {
00035     Type1 = 1, 
00036     Type2 = 2, 
00037     Type3 = 3, 
00038   };
00039 private:
00040   FormatType _type;
00041   bool _closed;
00042   std::vector<ippScanOnCurvePoint> _points;
00043 
00044 public:
00045   ippScanOnCurveCommand(
00046     unsigned int tgNum,
00047     bool inClose,
00048     FormatType inType
00049   );
00050 
00051   virtual ~ippScanOnCurveCommand();
00052   
00053   FormatType getFormatType() const { return _type; } 
00054 
00055   
00056   bool getClosed() const { return _closed; }
00057 
00058   int getCount() const { return (int)_points.size(); }
00059   
00060   const ippScanOnCurvePoint& getPoint(int i) const{ return _points[i];} 
00061 
00062   void addPoint(
00063     double x,double y,double z,
00064     double i,double j,double k,
00065     int tag
00066   );
00067 
00068   void addPoint(
00069     double x,double y,double z,
00070     double i,double j,double k,
00071     int tag,
00072     double pi,double pj,double pk
00073   );
00074 
00075   void addPoint(
00076     double x,double y,double z,
00077     double i,double j,double k,
00078     int tag,
00079     double pi,double pj,double pk,
00080     double si,double sj,double sk
00081   );
00082 
00083   virtual std::string getCommandString() const;
00084 
00085   static const char* getFormatString(FormatType f);
00086 
00087 private:
00088   void addPoint(const ippScanOnCurvePoint&);
00089 
00090   // prohibited copy constructor
00091   ippScanOnCurveCommand(const ippScanOnCurveCommand&);
00092   void operator=(const ippScanOnCurveCommand&);
00093 };
00094 IPP_DECLARE_SMARTPOINTER(ippScanOnCurveCommand);

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