![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2007 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtTreeModel.h,v $ $Revision: 1.17 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #ifndef DtTreeModel_H_ 00014 #define DtTreeModel_H_ 00015 00016 #include <vrvOsg/vrvOsg.h> 00017 #include <vrvCore/DtModel.h> 00018 #include <vrvUtil/DtVirtualBaseClass.h> 00019 #include <boost/signal.hpp> 00020 00021 namespace makVrv 00022 { 00023 class DtDe; 00024 class DtTreeModelClassesCreator; 00025 00028 class DT_DLL_VRVOSG DtTreeModel : public DtModel 00029 { 00030 00031 public: 00032 00033 friend class DtTreeModelCreator; 00034 friend class DtTreeModelClassesCreator; 00035 00037 virtual ~DtTreeModel(); 00038 00040 virtual void setModelDefinition(const std::string& str); 00041 00044 virtual std::string className() const; 00045 00047 virtual void slot_modelInstanceCreated(DtModelInstance* instance); 00048 00050 virtual void slot_modelInstanceToBeDestroyed(DtModelInstance* instance); 00051 00053 boost::signal<void (const std::string&)> signal_treeModelInstanceToBeDestroyed; 00054 00056 boost::signal<void (const std::string&)> signal_treeModelInstanceCreated; 00057 00058 virtual void addToScene( const DtUniqueID& sceneObjectId, int modelSet, 00059 int visualizerType ); 00060 00061 virtual void removeFromScene(); 00062 00064 virtual void setSolid(bool soild); 00065 00066 00067 protected: 00068 00071 DtTreeModel(DtDe& de, DtUniqueID id); 00072 00073 protected: 00074 00075 }; 00076 00079 class DT_DLL_VRVOSG DtTreeModelCreator : public DtVirtualBaseClass 00080 { 00081 00082 public: 00083 00086 static DtTreeModelCreator& instance(DtDe& de); 00087 00089 static void registerInstance(DtDe& de, DtTreeModelCreator* instance = 0); 00090 00092 virtual DtTreeModel* create(DtDe& de, DtUniqueID id); 00093 00094 }; 00095 } 00096 00097 #endif 00098