![]() |
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 <exampleSymbolFacade5.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 exampleSymbolFacade5 00026 { 00027 00028 class DtSymbolFacade; 00029 00038 class DT_DLL_EXAMPLESYMBOLFACADE5 DtExampleSymbolDriver 00039 : public makVrv::DtDriver 00040 { 00041 public: 00042 00043 typedef boost::unordered_set<DtSymbolFacade*> SymbolList; 00044 00045 public: 00046 00048 DtExampleSymbolDriver( makVrv::DtAgentManager& am ); 00049 00051 virtual ~DtExampleSymbolDriver(); 00052 00053 00056 00059 virtual const std::string& className() const; 00060 00063 virtual bool onStart(); 00064 00067 virtual bool onStop(); 00068 00071 virtual bool onTick(); 00072 00074 00075 00078 00082 virtual DtSymbolFacade* createSymbol( const std::string& name, 00083 const DtVector& pos ); 00084 00088 virtual DtSymbolFacade* findSymbol( makVrv::DtElementID id ); 00089 00092 virtual SymbolList selectedSymbols() const; 00093 00095 virtual void deleteSelectedSymbols(); 00096 00098 00099 protected: 00100 00104 virtual void positionSymbol( DtSymbolFacade* symbol, const DtVector& pos ); 00105 00109 virtual void slot_currentSelectionChanged( 00110 const makVrv::DtSelectionManager::IdSet& selected, 00111 const makVrv::DtSelectionManager::IdSet& deselected, 00112 makVrv::DtSelectionManager::SelectionType newType, 00113 makVrv::DtSelectionManager::SelectionType oldType ); 00114 00117 virtual void slot_displayEngineAdded( const makVrv::DtDeRecord& igRecord ); 00118 00119 protected: 00120 00122 typedef boost::unordered_map<makVrv::DtElementID,DtSymbolFacade*> SymbolFacadeMap; 00123 00125 SymbolFacadeMap mySymbolFacades; 00126 00128 SymbolList myCurrentlySelectedSymbols; 00129 00130 }; 00131 00132 } 00133 }