VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtAggregateElementProcessor.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 <vrvVrl/vrvVrl.h>
13 
16 
19 
21 
23 
24 #include <unordered_map>
25 #include <vl/globalObjectDesignator.h>
26 
27 #include <vlutil/vlSmartPointers.h>
28 
29 namespace makVrv
30 {
31  class DtKinematicState;
32  class DtAggregateVisualizerSet;
33  class DtElementAttribute;
34 
35  namespace DT_PROTOCOL_NAMESPACE
36  {
37  class DtVrlinkEntityElement;
38  class DtVrlinkAggregateStateListener;
39  class DtVrlinkAggregateListener;
40  class DtVrlinkConnection;
42  class DtVrlinkAggregateElementManager;
43 
50  {
51  public:
52 
55 
57  virtual ~DtAggregateElementProcessor();
58 
60  DtAggregateElementProcessor() = delete;
61 
64 
66  DtAggregateElementProcessor& operator=(const DtAggregateElementProcessor&) = delete;
67 
68  public:
69 
72  static void registerInstance(DtVrlinkConnection& conn,
73  DtAggregateElementProcessor* instance);
74 
76  static DtAggregateElementProcessor* findInstance(DtVrlinkConnection& conn);
77 
79  static DtAggregateElementProcessor& instance( DtVrlinkConnection& conn );
80 
81  public:
82 
83  virtual DtVrlinkAggregateElementManager& aggregateElementManager();
84 
86  DtEntityVisualizerSet* findVisualizerSet(const DtGlobalObjectDesignator& id, DtModelSetId modelSet);
87 
90  std::vector<DtEntityVisualizerSet*> findVisualizerSets( const DtGlobalObjectDesignator& id);
91 
93  DtEntityVisualizerSet* findVisualizerSetFromSceneObjectId( DtUniqueID sceneId );
94 
96  DtVrlinkAggregateElement* findElement( const DtGlobalObjectDesignator& id );
97 
98  protected:
99 
101  virtual void onAggregateDiscovered(DtVrlinkAggregateStateListener& listener);
102 
104  virtual void onAggregateToBeDestroyed(DtVrlinkAggregateStateListener& listener);
105 
107  virtual void slot_completeDiscovery();
108 
109 
110  protected:
111 
112  typedef std::unordered_map<DtUniqueID, DtVrlinkAggregateStateListener*>
114 
119  };
120 
121  }
122 }
ToBeVisualizedMap myToBeVisualized
Definition: DtAggregateElementProcessor.h:118
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
DtVrlinkConnection & myConnection
Definition: DtAggregateElementProcessor.h:115
std::unordered_map< DtUniqueID, DtVrlinkAggregateStateListener * > ToBeVisualizedMap
Definition: DtAggregateElementProcessor.h:113
Contains makVrv:DtSelectionManager class.
DtSignalConnectionManager myConnections
Definition: DtAggregateElementProcessor.h:116
#define DT_PROTOCOL_NAMESPACE
Contains defines and includes header files for protocols.
Definition: vrfProtocol.h:13
#define DL_DLL_IGCONVRLINK
Definition: dllExport.h:26
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
The DtAggregateElementProcessor will connect to the DtAggregateExistenceListener and handle the creat...
Definition: DtAggregateElementProcessor.h:49
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Contains makVrv::DtAggregateEchelonManager class. This will keep an organization of objects based on ...
Base class to provide boost signal/slot management.
This class is a set of entity visualizers, all of the visualizers in this set must support the entity...
Definition: DtEntityVisualizerSet.h:24
DtModelSetId
Definition: DtModelSetEnums.h:19
Contains DLL export macros.
DtVrlinkAggregateElementManager & myAggregateElementManager
Definition: DtAggregateElementProcessor.h:117
Contains the DtAggregateSettingsRecord class declaration.

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)