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) 2025 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>
24 
25 namespace makVrv
26 {
27 
28  namespace exampleSymbolFacade
29  {
30 
31  class DtSymbolFacade;
32 
42  : public makVrv::DtDriver
43  {
44  public:
45 
46  typedef std::unordered_set<DtSymbolFacade*> SymbolList;
47 
48  public:
49 
52 
54  virtual ~DtExampleSymbolDriver();
55 
56 
59 
62  virtual const std::string& className() const;
63 
66  virtual bool onStart();
67 
70  virtual bool onStop();
71 
74  virtual bool onTick();
75 
77 
78 
81 
85  virtual DtSymbolFacade* createSymbol( const std::string& name,
86  const DtVector& pos );
87 
91  virtual DtSymbolFacade* findSymbol( makVrv::DtElementID id );
92 
95  virtual SymbolList selectedSymbols() const;
96 
98  virtual void deleteSelectedSymbols();
99 
101 
102  protected:
103 
107  virtual void positionSymbol( DtSymbolFacade* symbol, const DtVector& pos );
108 
112  virtual void slot_currentSelectionChanged(
113  const makVrv::DtSelectionManager::IdSet& selected,
114  const makVrv::DtSelectionManager::IdSet& deselected,
117 
121  virtual void slot_elementHasMouseCursorStateChanged(const DtElementID& entityId, bool hasMouseCursor);
122 
125  virtual void slot_displayEngineAdded( const makVrv::DtDeRecord& igRecord );
126 
127  protected:
128 
130  typedef std::unordered_map<makVrv::DtElementID,DtSymbolFacade*> SymbolFacadeMap;
131 
134 
137 
139 
140  };
141 
142  }
143 }
Encapsulates the creation/management of agents used to display a symbol. The Facade design pattern pr...
Definition: DtSymbolFacade.h:41
Provides an interface for creating and managing symbol facades. Loads the Ground DB II terrain and cr...
Definition: DtExampleSymbolDriver.h:41
DtSignalConnectionManager myConnections
Definition: DtExampleSymbolDriver.h:138
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:130
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:133
#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:30
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
The DtAgentManager manages the distributed scene object framework. This includes the objects and upda...
Definition: DtAgentManager.h:38
Contains makVrv:DtDriver class.
Base class to provide boost signal/slot management.
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:136
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
std::unordered_set< DtSymbolFacade * > SymbolList
Definition: DtExampleSymbolDriver.h:46

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)