VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtIntervisibilityElement.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2024 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 #include <vrvCore/vrvCore.h>
12 #include <vrvCore/DtUniqueID.h>
14 #include <vrvCore/DtElementEntry.h>
16 #include <vrvCore/DtElement.h>
18 
19 #include <vrvUtil/DtUnicode.h>
21 
22 #include <matrix/vlVector.h>
23 
24 #include <array>
25 
26 namespace makVrv
27 {
28  class DtDe;
29  class DtIntervisibilityVisualizerSet;
30  class DtIntervisibilityStateListener;
31  class DtStateVisualizer;
32  class DtSceneObjectAgent;
33 
38  {
39  public:
42  {
44  DtSceneObjectAgent* sceneObject;
46 
48  , sceneObject( nullptr )
49  , visualizerSet( nullptr )
50  {
51  }
52 
55 
57  DtIntervisibilitModelSetData& operator=( const DtIntervisibilitModelSetData& ) = delete;
58  };
59 
61  using ModelSetDataArray = std::array<DtIntervisibilitModelSetData, MAX_MODEL_SETS>;
62 
65  DtIntervisibilityStateListener&, const DtUnicode& elementDefName,
66  DtElementEntry::ElementType type, bool distribute = true);
67 
69  virtual ~DtIntervisibilityElement();
70 
72  DtIntervisibilityElement() = delete;
73 
76 
78  DtIntervisibilityElement& operator=( const DtIntervisibilityElement& ) = delete;
79 
80  public:
81 
83  virtual void setVisible( bool visible );
84 
86 
87  virtual void setSelected(bool);
88  virtual bool selected() const;
89  virtual void setVertexElementHasMouseCursor( const DtElementID&, bool );
90 
92  virtual const DtElementEntry::ElementType elementType() const override;
93  static const DtElementEntry::ElementType theElementType();
94 
97  virtual int indexOfVertex(DtUniqueID id,
98  DtStateVisualizer*& visualizer) const;
99 
102  virtual void setVertexSelected(int iIndex, bool);
103 
105  virtual void visualizeModelSets();
106 
109  virtual void setPickable(bool);
110  bool pickable() const;
111 
115  virtual bool circleSelected() const;
116 
119  virtual void setHasCircle( bool circle );
120  virtual bool hasCircle() const;
121 
123  virtual const ModelSetDataArray& modelSetDataArray() const;
124  protected:
125 
127  virtual void setModelSetEnabled( DtModelSetId modelSet, bool enabled ) override;
128 
131  virtual void getDefinitions( std::vector<DtUnicode>& definitions ) override;
132 
136  virtual void reportDriverType() override;
137 
139  virtual void slot_visibilityChanged(bool vis);
140 
141  protected:
142 
148 
151  bool myVisible;
152  };
153 }
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
The DtIntervisibilityElement class implements the common behavior of shape elements that are added to...
Definition: DtIntervisibilityElement.h:37
DtElementEntry::ElementType myObjectType
Definition: DtIntervisibilityElement.h:147
DtIntervisibilityVisualizerSet * visualizerSet
Definition: DtIntervisibilityElement.h:45
bool myPickable
Definition: DtIntervisibilityElement.h:150
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
DtIntervisibilitModelSetData()
Definition: DtIntervisibilityElement.h:47
The DtElement class implements the common behavior of simulation based elements added to the scene...
Definition: DtElement.h:44
The DtIntervisibilityStateListener is a class that will allow intervisibility objects to use start/en...
Definition: DtIntervisibilityStateListener.h:24
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
std::array< DtIntervisibilitModelSetData, MAX_MODEL_SETS > ModelSetDataArray
MAX_MODEL_SETS is defined in DtModelSetEnums.h.
Definition: DtIntervisibilityElement.h:61
Contains makVrv::DtSharedModelSetSettings class.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
bool myVisible
Definition: DtIntervisibilityElement.h:151
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Struct contains the scene object, and the visualizer set,.
Definition: DtIntervisibilityElement.h:41
Contains makVrv::DtElement class.
DtModelSetId modelSet
Definition: DtIntervisibilityElement.h:43
DtSceneObjectAgent * sceneObject
Definition: DtIntervisibilityElement.h:44
ElementType
Definition: DtElementEntry.h:26
bool myCircleMode
Definition: DtIntervisibilityElement.h:149
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
DtSignalConnectionManager myConnections
Definition: DtIntervisibilityElement.h:145
Contains makVrv:DtBaseConnection class.
The DtStateVisualizer is an abstract class. Developers derive from this to create logic that &quot;directs...
Definition: DtStateVisualizer.h:30
Base class to provide boost signal/slot management.
ModelSetDataArray myModelSetDataArray
Definition: DtIntervisibilityElement.h:146
Contains makVrv::DtUniqueID type.
This class is a set of intervisibility visualizers, all of the visualizers in this set must support t...
Definition: DtIntervisibilityVisualizerSet.h:23
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
DtModelSetId
Definition: DtModelSetEnums.h:19
Contains makVrv::DtElementEntry class.
Contains various enum classes relating to model sets.
DtDe & myDe
Definition: DtIntervisibilityElement.h:143
DtIntervisibilityStateListener & myListener
Definition: DtIntervisibilityElement.h:144
Contains DLL export macros.

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)