VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtExampleSymbolDriver.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2023 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <exampleSymbolFacade.h>
13 
14 #include <vrvCore/DtDriver.h>
15 
17 
18 #include <unordered_set>
19 
20 #include <matrix/vlVector.h>
21 
22 #include <vrvUtil/signalslib.h>
23 
24 namespace makVrv
25 {
26 
27  namespace exampleSymbolFacade
28  {
29 
30  class DtSymbolFacade;
31 
41  : public makVrv::DtDriver
42  {
43  public:
44 
45  typedef std::unordered_set<DtSymbolFacade*> SymbolList;
46 
47  public:
48 
51 
53  virtual ~DtExampleSymbolDriver();
54 
55 
58 
61  virtual const std::string& className() const;
62 
65  virtual bool onStart();
66 
69  virtual bool onStop();
70 
73  virtual bool onTick();
74 
76 
77 
80 
84  virtual DtSymbolFacade* createSymbol( const std::string& name,
85  const DtVector& pos );
86 
90  virtual DtSymbolFacade* findSymbol( makVrv::DtElementID id );
91 
94  virtual SymbolList selectedSymbols() const;
95 
97  virtual void deleteSelectedSymbols();
98 
100 
101  protected:
102 
106  virtual void positionSymbol( DtSymbolFacade* symbol, const DtVector& pos );
107 
111  virtual void slot_currentSelectionChanged(
112  const makVrv::DtSelectionManager::IdSet& selected,
113  const makVrv::DtSelectionManager::IdSet& deselected,
116 
119  virtual void slot_displayEngineAdded( const makVrv::DtDeRecord& igRecord );
120 
121  protected:
122 
124  typedef std::unordered_map<makVrv::DtElementID,DtSymbolFacade*> SymbolFacadeMap;
125 
128 
131 
132  makVrv::vrvSignalsLib::connection myCurrentSelectionChangedConnection;
133 
134  };
135 
136  }
137 }
Encapsulates the creation/management of agents used to display a symbol. The Facade design pattern pr...
Definition: DtSymbolFacade.h:39
Provides an interface for creating and managing symbol facades. Loads the Ground DB II terrain and cr...
Definition: DtExampleSymbolDriver.h:40
A Record of an IG instance.
Definition: DtDeRecord.h:24
Contains makVrv:DtSelectionManager class.
std::unordered_map< makVrv::DtElementID, DtSymbolFacade * > SymbolFacadeMap
Type for mapping element ids to symbol facades.
Definition: DtExampleSymbolDriver.h:124
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
SymbolFacadeMap mySymbolFacades
Map of symbol facades created by the driver (indexed by element id).
Definition: DtExampleSymbolDriver.h:127
makVrv::vrvSignalsLib::connection myCurrentSelectionChangedConnection
Definition: DtExampleSymbolDriver.h:132
#define DT_DLL_exampleSymbolFacade
Definition: exampleSymbolFacade.h:20
The DtDriver is an abstract class. Developers derive from this to create logic that &quot;directs&quot; things ...
Definition: DtDriver.h:31
The DtAgentManager manages the distributed scene object framework. This includes the objects and upda...
Definition: DtAgentManager.h:38
Contains makVrv:DtDriver class.
Export macro and initialization declarations for exampleSymbolFacade4.
SelectionType
The nature of the current selection.
Definition: DtSelectionManager.h:42
SymbolList myCurrentlySelectedSymbols
A list of all symbols that are currently selected.
Definition: DtExampleSymbolDriver.h:130
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
std::unordered_set< DtSymbolFacade * > SymbolList
Definition: DtExampleSymbolDriver.h:45

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)