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 /* ippScanResponse class ************************************************** 00011 00012 Use this for data from scan commands. 00013 00014 The data is stuck in one big array of doubles but may be conceptually 00015 grouped into sets (one set for each scanned point). Each set may have 00016 one to ten entries for ER, IJK, Q, R, X, Y, Z, ToolA, ToolB, and 00017 ToolC. The entries are always in the order just given, but not all of 00018 ER ... ToolC are necessarily used. Only by knowing the contents of 00019 the last OnScanReport command is it possible to make sense of a 00020 ippScanResponse. 00021 00022 */ 00023 #pragma once 00024 #include "ippResponse.h" 00025 00026 class IPPDME_EXT_CLASS ippScanResponse : public ippResponse { 00027 00028 private: 00029 int _nbValuesPerPoints; 00030 std::vector<double> _data; 00031 00032 public: 00033 ippScanResponse(unsigned int inTagNumber); 00034 ippScanResponse(unsigned int inTagNumber,int inDataSize, const double * inData); 00035 00036 virtual ~ippScanResponse(); 00037 00038 void setData(int inDataSize, const double * inData); 00039 00040 int getDataSize()const { return (int)_data.size(); } 00041 00042 const double * getData() const { return &_data[0];} 00043 00044 virtual std::string getResponseString() const; 00045 private: 00046 // prohibited copy constructor: 00047 ippScanResponse(const ippScanResponse&); 00048 void operator=(const ippScanResponse&); 00049 00050 }; 00051 IPP_DECLARE_SMARTPOINTER(ippScanResponse);