![]() |
VR-Link API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00010 00011 #ifndef attachedPartCollection_H_ 00012 #define attachedPartCollection_H_ 00013 00014 #include <vlutil/vlMachineTypes.h> 00015 #include <map> 00016 #include <ostream> 00017 00018 class DtAttachedPart; 00019 00024 class DT_DLL_VLPROTIND DtAttachedPartCollection 00025 { 00026 public: 00027 typedef std::map<int, DtAttachedPart*> PartMap; 00028 typedef PartMap::const_iterator const_iterator; 00029 00030 00032 DtAttachedPartCollection(); 00033 00035 DtAttachedPartCollection(const DtAttachedPartCollection& orig); 00036 00038 DtAttachedPartCollection& operator=(const DtAttachedPartCollection& orig); 00039 00041 virtual ~DtAttachedPartCollection(); 00042 00044 00045 00046 00047 00048 bool operator==(const DtAttachedPartCollection& other) const; 00049 bool operator!=(const DtAttachedPartCollection& other) const; 00051 00054 virtual DtAttachedPart& getPart(int station); 00055 00057 00058 00059 00060 00061 00062 00063 virtual DtAttachedPart* findPart(int station); 00064 virtual const DtAttachedPart* findPart(int station) const; 00066 00069 virtual void removeAllParts(); 00070 00075 virtual void removePart(int station); 00076 00078 virtual unsigned int partCount() const; 00079 00085 virtual DtAttachedPart* createPart(DtAttachedPart* copy=0) const; 00086 00088 const_iterator begin() const; 00089 00091 const_iterator end() const; 00092 00094 void printDataToStream(std::ostream& stream) const; 00095 00096 protected: 00097 PartMap myPartMap; 00098 00099 }; 00100 00101 00102 #endif 00103