![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtGlStudioDriver.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 00015 #include <vrvGlStudioShared/DtGlStudioShared.h> 00016 #include <vrvGlStudio/DtGlStudio.h> 00017 00018 #include <vrvCore/DtDriver.h> 00019 00020 #include <string> 00021 #include <map> 00022 00023 namespace makVrv 00024 { 00025 00026 class DtAttachManager; 00027 class DtObserver; 00028 class DtDe; 00029 00032 class DT_DLL_VRVGLSTUDIOSHARED DtGlStudioDriver : public DtDriver 00033 { 00034 public: 00036 DtGlStudioDriver(DtAgentManager& agentManager, 00037 const std::string& instanceName); 00038 00040 virtual ~DtGlStudioDriver(); 00041 00043 virtual const std::string& className() const; 00044 00045 virtual void hideEntity(DtObserver* obs); 00046 virtual void unHideEntity(DtObserver* obs); 00047 00048 protected: 00049 00052 virtual bool onStart(); 00053 00056 virtual bool onStop(); 00057 00059 virtual bool onTick(); 00060 00062 virtual void handleAttachToChange(DtObserver* obs); 00063 00065 virtual void handleAttachTypeChange(DtObserver* obs); 00066 00068 virtual void handleObserverDestroyed(DtObserver* observer); 00069 00071 virtual void handleObserverCreated(DtObserver* observer); 00072 00074 virtual void realizeCockpit(DtObserver* obs); 00075 00077 virtual void unrealizeCockpit(DtObserver* obs); 00078 00080 virtual DtUniqueID findAttachedSimObject(DtObserver* obs); 00081 00082 protected: 00083 00084 typedef std::map<DtObserver*, DtUniqueID> DtObserverAttachmentMap; 00085 DtObserverAttachmentMap myAttachedObserverMap; 00086 std::string myClassName; 00087 DtAttachManager* myAttachManager; 00088 DtDe* myDe; 00089 }; 00090 00093 class DT_DLL_VRVGLSTUDIOSHARED DtGlStudioDriverCreator : public DtDriverCreator 00094 { 00095 public: 00096 00098 DtGlStudioDriverCreator(); 00099 00101 virtual ~DtGlStudioDriverCreator(); 00102 00105 virtual const std::string& extension() const; 00106 00108 virtual DtDriver* create(DtAgentManager& agentManager, const std::string& instanceName) const; 00109 00110 protected: 00111 std::string myFileExtension; 00112 }; 00113 00114 } //makVrv::