VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtRadioCommLineElement.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 <vrvCore/DtElement.h>
14 
16 
17 namespace makVrv
18 {
19  class DtSceneObjectAgent;
20  class DtRadioCommLineVisualizerSet;
21  class DtRadioCommLineListener;
22 
26  {
27  public:
30  {
32  DtSceneObjectAgent* sceneObject;
34 
36  , sceneObject( nullptr )
37  , visualizerSet( nullptr )
38  {
39  }
40 
43 
45  DtRadioCommLineModelSetData& operator=( const DtRadioCommLineModelSetData& ) = delete;
46  };
47 
49  using ModelSetDataArray = std::array<DtRadioCommLineModelSetData, MAX_MODEL_SETS>;
50 
53 
55  virtual ~DtRadioCommLineElement();
56 
58  DtRadioCommLineElement() = delete;
59 
62 
64  DtRadioCommLineElement& operator=( const DtRadioCommLineElement& ) = delete;
65 
66  public:
68  virtual const DtElementEntry::ElementType elementType() const override;
69  static const DtElementEntry::ElementType theElementType();
70 
72  virtual void visualize( const DtSharedModelSetSettings::ModelSetVisualizedMap& sets );
73 
79  virtual void setModelSetEnabled( DtModelSetId modelSet, bool enabled ) override;
80 
81  virtual void setObjectIsVisible( bool visible );
82  virtual bool objectIsVisible() const;
83 
85  virtual const ModelSetDataArray& modelSetDataArray() const;
86 
89  void createVisualizersByModelSetAndType( DtModelSetId modelSet, int visualType );
90 
93  void destroyVisualizersByModelSetAndType( DtModelSetId modelSet, int visualType );
94 
96  DtRadioCommLineVisualizerSet* findVisualizerSetForModelSet( DtModelSetId modelSet ) const;
97 
98  template <typename VisualizerClass>
99  void findVisualizers( std::vector<VisualizerClass*>& visualizers );
100 
101  protected:
105  virtual void slot_visibilityChanged( bool vis );
106 
107  protected:
110 
112  };
113 
115 
116  template<typename VisualizerClass>
117  void DtRadioCommLineElement::findVisualizers( std::vector<VisualizerClass*>& visualizers )
118  {
119  for( auto& structVal : myModelSetDataArray )
120  {
121  if( structVal.visualizerSet )
122  {
123  structVal.visualizerSet->findVisualizers( visualizers );
124  }
125  }
126  }
127 
128 }
DtRadioCommLineVisualizerSet * visualizerSet
Definition: DtRadioCommLineElement.h:33
ModelSetDataArray myModelSetDataArray
Definition: DtRadioCommLineElement.h:111
DtSceneObjectAgent * sceneObject
Definition: DtRadioCommLineElement.h:32
DtRadioCommLineModelSetData()
Definition: DtRadioCommLineElement.h:35
Definition: DtElement.h:277
std::array< DtRadioCommLineModelSetData, MAX_MODEL_SETS > ModelSetDataArray
MAX_MODEL_SETS is defined in DtModelSetEnums.h.
Definition: DtRadioCommLineElement.h:49
The DtElement class implements the common behavior of simulation based elements added to the scene...
Definition: DtElement.h:44
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
DtSignalConnectionManager myConnections
Definition: DtRadioCommLineElement.h:109
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Visualizer set for radio communications. Provides the visualize(..) method that looks up the appropri...
Definition: DtRadioCommLineVisualizerSet.h:27
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Contains makVrv::DtElement class.
vrvCore RadioCommLine Element
Definition: DtRadioCommLineElement.h:25
ElementType
Definition: DtElementEntry.h:26
DtRadioCommLineListener * myRadioCommLineListener
Definition: DtRadioCommLineElement.h:108
DtModelSetId modelSet
Definition: DtRadioCommLineElement.h:31
Base class to provide boost signal/slot management.
std::map< DtModelSetId, bool > ModelSetVisualizedMap
Definition: DtSharedModelSetSettings.h:28
DtModelSetId
Definition: DtModelSetEnums.h:19
The DtStateListener is an abstract class. Subclasses implement functionality that will allow data to ...
Definition: DtStateListener.h:26
void findVisualizers(std::vector< VisualizerClass * > &visualizers)
Definition: DtRadioCommLineElement.h:117
Struct contains the scene object, and the visualizer set,.
Definition: DtRadioCommLineElement.h:29
Base listener class for radio communication interactions. Note that this class does not wait for elem...
Definition: DtRadioCommLineListener.h:29
Contains various enum classes relating to model sets.

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)