VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtExampleTacticalGraphicsDriver.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 
13 
14 #include <vrvCore/DtDriver.h>
16 
17 #include <matrix/vlVector.h>
18 #include <vrvUtil/signalslib.h>
19 
20 namespace makVrv
21 {
22  class DtTacticalGraphicOverlay;
23  class DtTacticalGraphicStateListener;
24  class DtTacticalGraphicElement;
25  class DtShapeTacticalGraphicElement;
26  class DtBaseConnection;
27  class DtEntityStateListener;
28  class DtEntityElement;
29 
30  namespace exampleTacticalGraphics
31  {
36  : public makVrv::DtDriver
37  {
38  public:
39 
42 
45 
46 
49 
52  virtual const std::string& className() const;
53 
56  virtual bool onStart();
57 
60  virtual bool onStop();
61 
64  virtual bool onTick();
65 
67 
68 
76 
79  virtual void createSimpleLine();
80 
83  virtual void createAirAxisLine();
84 
87  virtual void createLineWithArrow();
88 
91  virtual void createFortifiedLine();
92 
94  virtual void createSimpleArea();
95 
97  virtual void createFortifiedArea();
98 
100  virtual void createPatternFilledArea();
101 
103  virtual void createSimpleEntity();
104 
106  virtual void createOverlays();
107 
109  virtual void slot_tacticalGraphicVisibilityChanged(
110  const DtUniqueID& id, bool flag );
111 
114  virtual DtTacticalGraphicStateListener* createTacticalGraphicElement( DtElementEntry::ElementType type,
115  std::string name, std::string elementDefinitionName, std::string overlyName );
116 
119  virtual DtEntityStateListener* createEntityElement(
120  std::string name, std::string elementDefinitionName, std::string overlyName );
122 
123  protected:
126  virtual void slot_displayEngineAdded( const makVrv::DtDeRecord& igRecord );
127 
128  protected:
131  using TacticalGraphicPair = std::pair< DtTacticalGraphicStateListener*, DtTacticalGraphicElement* >;
132 
134  std::vector< TacticalGraphicPair > myTacticalGraphics;
135 
138  using EntityPair = std::pair< DtEntityStateListener*, DtEntityElement* >;
139 
141  std::vector< EntityPair > myEntities;
142 
146 
148 
149  vrvSignalsLib::connection myVisibilityChangedConnection;
150  };
151  }
152 }
std::pair< DtEntityStateListener *, DtEntityElement * > EntityPair
A listener and an element are required for a tactical graphic, use the listener to change element att...
Definition: DtExampleTacticalGraphicsDriver.h:138
#define DT_DLL_EXAMPLESTACTICALGRAPHICS
Definition: exampleTacticalGraphics.h:20
A Record of an IG instance.
Definition: DtDeRecord.h:24
The DtTacticalGraphicStateListener is a class that deals with basic TacticalGraphic process code (suc...
Definition: DtTacticalGraphicStateListener.h:27
Provides an interface for creating and managing line and area elements. Loads the Ground DB II terrai...
Definition: DtExampleTacticalGraphicsDriver.h:35
bool myCreateElements
Flag that will be set to true once all elements are created. Created on first driver tick...
Definition: DtExampleTacticalGraphicsDriver.h:145
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
std::vector< TacticalGraphicPair > myTacticalGraphics
Vertor of displayed elements.
Definition: DtExampleTacticalGraphicsDriver.h:134
The DtDriver is an abstract class. Developers derive from this to create logic that &quot;directs&quot; things ...
Definition: DtDriver.h:31
ElementType
Definition: DtElementEntry.h:26
The DtAgentManager manages the distributed scene object framework. This includes the objects and upda...
Definition: DtAgentManager.h:38
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Contains makVrv:DtDriver class.
std::vector< EntityPair > myEntities
Vertor of displayed elements.
Definition: DtExampleTacticalGraphicsDriver.h:141
Export macro and initialization declarations for exampleSymbolFacade1.
std::pair< DtTacticalGraphicStateListener *, DtTacticalGraphicElement * > TacticalGraphicPair
A listener and an element are required for a tactical graphic, use the listener to change element att...
Definition: DtExampleTacticalGraphicsDriver.h:131
DtBaseConnection * myBaseConnection
Definition: DtExampleTacticalGraphicsDriver.h:147
Contains makVrv::DtTacticalGraphicOverlayManager class.
vrvSignalsLib::connection myVisibilityChangedConnection
Definition: DtExampleTacticalGraphicsDriver.h:149
DtEntityStateListener.
Definition: DtEntityStateListener.h:137

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)