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) 2023 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 
78  public:
79 
80  virtual DtVrlinkAggregateElementManager& aggregateElementManager();
81 
83  DtEntityVisualizerSet* findVisualizerSet(const DtGlobalObjectDesignator& id, DtModelSetId modelSet);
84 
87  std::vector<DtEntityVisualizerSet*> findVisualizerSets( const DtGlobalObjectDesignator& id);
88 
90  DtEntityVisualizerSet* findVisualizerSetFromSceneObjectId( DtUniqueID sceneId );
91 
93  DtVrlinkAggregateElement* findElement( const DtGlobalObjectDesignator& id );
94 
95  protected:
96 
98  virtual void onAggregateDiscovered(DtVrlinkAggregateStateListener& listener);
99 
101  virtual void onAggregateToBeDestroyed(DtVrlinkAggregateStateListener& listener);
102 
104  virtual void slot_completeDiscovery();
105 
106 
107  protected:
108 
109  typedef std::unordered_map<DtUniqueID, DtVrlinkAggregateStateListener*>
111 
116  };
117 
118  }
119 }
ToBeVisualizedMap myToBeVisualized
Definition: DtAggregateElementProcessor.h:115
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:112
std::unordered_map< DtUniqueID, DtVrlinkAggregateStateListener * > ToBeVisualizedMap
Definition: DtAggregateElementProcessor.h:110
Contains makVrv:DtSelectionManager class.
DtSignalConnectionManager myConnections
Definition: DtAggregateElementProcessor.h:113
#define DL_DLL_IGCONVRLINK
Definition: dllExport.h:26
#define DT_PROTOCOL_NAMESPACE
Contains DLL export macros.
Definition: vrfDis.h:17
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:114
Contains the DtAggregateSettingsRecord class declaration.

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)