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

ippAlignResponse.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 /* ippAlignResponse class ************************************************
00011 
00012 Use this for data from AlignTool or AlignPart.
00013 
00014 In the case of AlignPart, the spec is not clear whether both p (part)
00015 and m (machine) vectors should be returned in the data. Here we assume
00016 that only part vectors are returned. 
00017 
00018 If an AlignPartCommand has two vectors, the response gives one. In the
00019 command, the first vector is a vector on the part (in part coordinates)
00020 and the second vector is a vector in machine coordinates. Executing
00021 the command is supposed to rotate a rotary table (to which the part is
00022 fastened) so that the vector on the part points in the direction given
00023 by the vector in machine coordinates.  The returned data gives the
00024 direction in machine coordinates in which the part vector is actually
00025 pointing after the rotation is finished.  If the rotation achieves
00026 perfect alignment, the vector in the response will have the same
00027 values as what the command gave for the vector in machine coordinates.
00028 
00029 If an AlignPartCommand has four vectors, they are pairs of part vectors and
00030 machine vectors. The combined rotations of two rotary tables are supposed
00031 to align both pairs. The response in this case has two vectors. The first
00032 gives the actual final direction of the first part vector. The second
00033 gives the actual final direction of the second part vector.
00034 
00035 */
00036 #include "ippResponse.h"
00037 
00038 class IPPDME_EXT_CLASS ippAlignResponse : public ippResponse {
00039 
00040 private:
00041   double _i1;
00042   double _j1;
00043   double _k1;
00044   double _i2;
00045   double _j2;
00046   double _k2;
00047   bool   _has2;
00048 public:
00049 
00050   ippAlignResponse(
00051     unsigned int inTagNumber, 
00052     double inI1, double inJ1,double inK1
00053   );
00054 
00055   ippAlignResponse(
00056     unsigned int inTagNumber,
00057     double inI1, double inJ1,double inK1,
00058     double inI2, double inJ2, double inK2
00059   );
00060 
00061   virtual ~ippAlignResponse(){}
00062 
00063   void setI1(double inI1){ _i1 = inI1; }
00064   void setJ1(double inJ1){ _j1 = inJ1; }
00065   void setK1(double inK1){ _k1 = inK1; }
00066   void setI2(double inI2){ _i2 = inI2; }
00067   void setJ2(double inJ2){ _j2 = inJ2; }
00068   void setK2(double inK2){ _k2 = inK2; }
00069   void setHas2(bool inHas2){ _has2 = inHas2; }
00070 
00071   double getI1()const{ return _i1; }
00072   double getJ1()const{ return _j1; }
00073   double getK1()const{ return _k1; }
00074   double getI2()const{ return _i2; }
00075   double getJ2()const{ return _j2; }
00076   double getK2()const{ return _k2; }
00077   bool getHas2()const{ return _has2; }
00078 
00079   virtual std::string getResponseString() const;
00080 private:
00081   ippAlignResponse(const ippAlignResponse&);
00082   void operator=(const ippAlignResponse&);
00083 };
00084 
00085 IPP_DECLARE_SMARTPOINTER(ippAlignResponse);

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