![]() |
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 <exampleSymbolFacade4.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 exampleSymbolFacade4 00026 { 00027 00028 class DtSymbolFacade; 00029 00037 class DT_DLL_EXAMPLESYMBOLFACADE4 DtExampleSymbolDriver 00038 : public makVrv::DtDriver 00039 { 00040 public: 00041 00042 typedef boost::unordered_set<DtSymbolFacade*> SymbolList; 00043 00044 public: 00045 00047 DtExampleSymbolDriver( makVrv::DtAgentManager& am ); 00048 00050 virtual ~DtExampleSymbolDriver(); 00051 00052 00055 00058 virtual const std::string& className() const; 00059 00062 virtual bool onStart(); 00063 00066 virtual bool onStop(); 00067 00070 virtual bool onTick(); 00071 00073 00074 00077 00081 virtual DtSymbolFacade* createSymbol( const std::string& name, 00082 const DtVector& pos ); 00083 00087 virtual DtSymbolFacade* findSymbol( makVrv::DtElementID id ); 00088 00091 virtual SymbolList selectedSymbols() const; 00092 00094 00095 protected: 00096 00100 virtual void positionSymbol( DtSymbolFacade* symbol, const DtVector& pos ); 00101 00105 virtual void slot_currentSelectionChanged( 00106 const makVrv::DtSelectionManager::IdSet& selected, 00107 const makVrv::DtSelectionManager::IdSet& deselected, 00108 makVrv::DtSelectionManager::SelectionType newType, 00109 makVrv::DtSelectionManager::SelectionType oldType ); 00110 00113 virtual void slot_displayEngineAdded( const makVrv::DtDeRecord& igRecord ); 00114 00115 protected: 00116 00118 typedef boost::unordered_map<makVrv::DtElementID,DtSymbolFacade*> SymbolFacadeMap; 00119 00121 SymbolFacadeMap mySymbolFacades; 00122 00124 SymbolList myCurrentlySelectedSymbols; 00125 00126 }; 00127 00128 } 00129 }