![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2005 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: objectGeometricModelsManager.h,v $ $Revision: 1.4 $ $State: Exp $ 00007 *******************************************************************************/ 00008 #ifndef objectGeometricModelsManager_H_ 00009 #define objectGeometricModelsManager_H_ 00010 00013 00014 #include "vrfobjcore/objectGeometricModel.h" 00015 #include "vrfobjcore/objectGeometricModelEntry.h" 00016 00017 class DtVrfObjectManager; 00018 class DtVrfObjectParameters; 00019 class Dt3dBoundingVolume; 00020 00026 #include "vrfobjcore/vrfobjcoreDefines.h" 00027 class DT_DLL_vrfobjcore DtObjectGeometricModelsManager 00028 { 00029 public: 00030 00032 DtObjectGeometricModelsManager(const DtVrfObjectManager*); 00033 00035 virtual ~DtObjectGeometricModelsManager(); 00036 00039 virtual DtObjectGeometricModelEntry* objectModelEntry(const DtString& parent); 00040 virtual DtObjectGeometricModelEntry* objectModelEntry(const DtObjectType& type); 00041 00043 virtual DtObjectGeometricModelEntry* objectModelEntry(const DtVrfObjectParameters*); 00044 00046 virtual DtObjectGeometricModelEntry* lookupModelEntry(const DtObjectType&) const; 00047 00049 virtual DtObjectGeometricModelEntry* addModelEntry(const DtVrfObjectParameters*); 00050 00053 virtual void remove(const DtObjectType& objectType); 00054 00057 virtual void removeAll(); 00058 00061 virtual DtObjectGeometricModelEntry* createObjectModelEntry(const DtVrfObjectParameters*) const; 00062 00063 virtual void init(); 00064 00065 protected: 00066 virtual DtObjectGeometricModel* createObjectModel(DtFilename& path, const DtString& s) const; 00067 virtual DtObjectGeometricModel* createObjectModel(const Dt3dBoundingVolume& s) const; 00068 00069 protected: 00070 00071 typedef std::list<DtObjectGeometricModelEntry*> DtObjectModelContainer; 00072 typedef DtObjectModelContainer::iterator DtObjectModelIter; 00073 typedef DtObjectModelContainer::const_iterator DtObjectModelConstIter; 00074 00075 DtObjectModelContainer myObjectModels; 00076 const DtVrfObjectManager* myObjectManager; 00077 }; 00078 00079 #endif