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

ippOnePropertyCollisionVolume.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 //-----------------------------------------------------------------------------
00012 //
00013 // Description :
00014 // Use this for data from GetProp(Tool.CollisionVolume()) or
00015 // GetPropE(Tool.CollisionVolume()). CollisionVolume may not be queried
00016 // for FoundTool.
00017 //-----------------------------------------------------------------------------
00018 #pragma once
00019 
00020 class ippBox;
00021 #include "ippdme/Property/ippOneProperty.h"
00022 #include "ippdme/ippBox.h"
00023 
00024 EXPIMP_TEMPLATE template class IPPDME_EXT_CLASS std::allocator<ippBox>;
00025 EXPIMP_TEMPLATE template class IPPDME_EXT_CLASS std::vector<ippBox>;
00026 
00027 //-----------------------------------------------------------------------------
00028 class IPPDME_EXT_CLASS ippOnePropertyCollisionVolume : public ippOneProperty
00029 {
00030 
00031 public:
00032   ippOnePropertyCollisionVolume(
00033     ippOtherKeyType _keyword
00034   );
00035   ippOnePropertyCollisionVolume(
00036     ippOtherKeyType _keyword,
00037     const std::vector<ippBox>& boxes
00038   );
00039 
00040   virtual ~ippOnePropertyCollisionVolume();
00041 
00042   // add a box to the collision volume property
00043   void addBox(const ippBox&) ;
00044 
00045   void setBoxes(const std::vector<ippBox>& boxes);
00046 
00047   int getNumberBoxes() const { return (int)_boxes.size(); }
00048   const ippBox& getBox(int i) const ;
00049 
00050   virtual void propString(ippStringBuilder& ) const;
00051 
00052 private:
00053   std::vector<ippBox> _boxes;
00054   ippOtherKeyType _keyword;
00055 private:
00056   ippOnePropertyCollisionVolume(const ippOnePropertyCollisionVolume&);
00057   void operator=(const ippOnePropertyCollisionVolume&);
00058 };
00059 IPP_DECLARE_SMARTPOINTER(ippOnePropertyCollisionVolume);

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