![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2007 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: artPartManager.h,v $ $Revision: 1.2 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00013 00014 #ifndef artPartManager_h 00015 #define artPartManager_h 00016 00017 #include <list> 00018 #include <vlutil/vlString.h> 00019 #include <set> 00020 #include <map> 00021 00022 class DtUiArtPartElement; 00023 00024 #include "entityEditorImpl/entityEditorImplDefines.h" 00025 00026 class DT_DLL_entityeditorimpl DtArtPartManager 00027 { 00028 public: 00029 DtArtPartManager(); 00030 virtual ~DtArtPartManager(); 00031 00032 private: 00033 DtArtPartManager(const DtArtPartManager& orig); 00034 DtArtPartManager& operator=(const DtArtPartManager& orig); 00035 00036 public: 00037 virtual void addArtPartElement(DtUiArtPartElement* element); 00038 virtual void removeArtPartElement(DtUiArtPartElement* element); 00039 virtual void setValidArtPartNumbers(); 00040 00041 protected: 00042 virtual int nextAvailablePartNumber(const DtString& category, 00043 const std::set<int>& usedPartNumbers) const; 00044 00047 void setupArtPartMappings(); 00048 void addArtPartMapping(const DtString& category, int partNumber); 00049 00050 protected: 00051 typedef std::list<DtUiArtPartElement*> DtArtPartElementList; 00052 DtArtPartElementList myManagedElementList; 00053 00054 typedef std::multimap<DtString, int> DtArtPartCategoryMap; 00056 DtArtPartCategoryMap myArtPartCategoryMap; 00057 }; 00058 00059 #endif