VR-Forces 4.0.4 Class Documentation
include/vrvGlStudioShared/DtGlStudioDriver.h
Go to the documentation of this file.
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::

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)