![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /***************************************************************************** 00002 * Copyright (c) 2012 MAK Technologies, Inc. 00003 * All rights reserved. 00004 *****************************************************************************/ 00005 00009 00010 #pragma once 00011 00012 #include <exampleSymbolFacade3.h> 00013 00014 #include <vrvCore/DtDriver.h> 00015 00016 #include <vrvCore/DtSelectionManager.h> 00017 00018 #include <boost/unordered_set.hpp> 00019 00020 class DtVector; 00021 00022 namespace makVrv 00023 { 00024 00025 namespace exampleSymbolFacade3 00026 { 00027 00028 class DtSymbolFacade; 00029 00039 class DT_DLL_EXAMPLESYMBOLFACADE3 DtExampleSymbolDriver 00040 : public makVrv::DtDriver 00041 { 00042 public: 00043 00044 typedef boost::unordered_set<DtSymbolFacade*> SymbolList; 00045 00046 public: 00047 00049 DtExampleSymbolDriver( makVrv::DtAgentManager& am ); 00050 00052 virtual ~DtExampleSymbolDriver(); 00053 00054 00057 00060 virtual const std::string& className() const; 00061 00064 virtual bool onStart(); 00065 00068 virtual bool onStop(); 00069 00072 virtual bool onTick(); 00073 00075 00076 00079 00083 virtual DtSymbolFacade* createSymbol( const std::string& name, 00084 const DtVector& pos ); 00085 00089 virtual DtSymbolFacade* findSymbol( makVrv::DtElementID id ); 00090 00093 virtual SymbolList selectedSymbols() const; 00094 00096 00097 protected: 00098 00102 virtual void positionSymbol( DtSymbolFacade* symbol, const DtVector& pos ); 00103 00107 virtual void slot_currentSelectionChanged( 00108 const makVrv::DtSelectionManager::IdSet& selected, 00109 const makVrv::DtSelectionManager::IdSet& deselected, 00110 makVrv::DtSelectionManager::SelectionType newType, 00111 makVrv::DtSelectionManager::SelectionType oldType ); 00112 00115 virtual void slot_displayEngineAdded( const makVrv::DtDeRecord& igRecord ); 00116 00117 protected: 00118 00120 typedef boost::unordered_map<makVrv::DtElementID,DtSymbolFacade*> SymbolFacadeMap; 00121 00123 SymbolFacadeMap mySymbolFacades; 00124 00126 SymbolList myCurrentlySelectedSymbols; 00127 00128 }; 00129 00130 } 00131 }