VR-Forces 5.0.3 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) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvVrl/vrvVrl.h>
13 
16 
20 
22 
24 
25 #include <boost/unordered_map.hpp>
26 #include <vl/globalObjectDesignator.h>
27 
28 #include <vlutil/vlSmartPointers.h>
29 
30 namespace makVrv
31 {
32  class DtVisualizerSet;
33  class DtKinematicState;
34  class DtAggregateVisualizerSet;
35  class DtElementAttribute;
36 
37  namespace DT_PROTOCOL_NAMESPACE
38  {
39  class DtVrlinkEntityElement;
40  class DtVrlinkAggregateStateListener;
41  class DtVrlinkAggregateListener;
42  class DtVrlinkConnection;
44  class DtVrlinkAggregateElementManager;
45 
52  {
53  public:
54 
57 
59  virtual ~DtAggregateElementProcessor();
60 
62  DtAggregateElementProcessor() = delete;
63 
66 
68  DtAggregateElementProcessor& operator=(const DtAggregateElementProcessor&) = delete;
69 
70  public:
71 
74  static void registerInstance(DtVrlinkConnection& conn,
75  DtAggregateElementProcessor* instance);
76 
78  static DtAggregateElementProcessor* findInstance(DtVrlinkConnection& conn);
79 
80  public:
81 
82  virtual DtVrlinkAggregateElementManager& aggregateElementManager();
83 
85  DtEntityVisualizerSet* findVisualizerSet(const DtGlobalObjectDesignator& id, int modelSet);
86 
89  std::vector<DtEntityVisualizerSet*> findVisualizerSets( const DtGlobalObjectDesignator& id);
90 
92  DtEntityVisualizerSet* findVisualizerSetFromSceneObjectId( DtUniqueID sceneId );
93 
95  DtVrlinkAggregateElement* findElement( const DtGlobalObjectDesignator& id );
96 
97  protected:
98 
100  virtual void onAggregateDiscovered(DtVrlinkAggregateStateListener& listener);
101 
103  virtual void onAggregateToBeDestroyed(DtVrlinkAggregateStateListener& listener);
104 
106  virtual void slot_completeDiscovery();
107 
108 
109  protected:
110 
111  typedef boost::unordered_map<DtUniqueID, DtVrlinkAggregateStateListener*>
113 
118  };
119 
120  }
121 }
ToBeVisualizedMap myToBeVisualized
Definition: DtAggregateElementProcessor.h:117
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:114
boost::unordered_map< DtUniqueID, DtVrlinkAggregateStateListener * > ToBeVisualizedMap
Definition: DtAggregateElementProcessor.h:112
Contains makVrv:DtSelectionManager class.
DtSignalConnectionManager myConnections
Definition: DtAggregateElementProcessor.h:115
#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:51
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
Contains DLL export macros.
DtVrlinkAggregateElementManager & myAggregateElementManager
Definition: DtAggregateElementProcessor.h:116
Contains the DtAggregateSettingsRecord class declaration.

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)