VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtElement.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
16 #include <vrvCore/DtElementEntry.h>
17 
18 #include <vrvUtil/DtUnicode.h>
19 
20 #include <vector>
21 
22 namespace makVrv
23 {
24  class DtBaseConnection;
25 
30  {
31  public:
32 
34  DtElement(DtBaseConnection& conn, DtElementID elementId);
35 
37  virtual ~DtElement();
38 
40  DtElement() = delete;
41 
43  DtElement( const DtElement& ) = delete;
44 
46  DtElement& operator=( const DtElement& ) = delete;
47 
48  public:
49 
51  virtual void visualize(const DtSharedModelSetSettings::ModelSetVisualizedMap& sets);
52 
54  virtual void setVisible( bool visible );
55 
57  virtual bool visible() const;
58 
61  inline DtElementID elementID() const
62  {
63  return myElementId;
64  }
65 
68  virtual const DtUnicode& definition() const;
69 
71  virtual DtElementEntry::ObjectType elementType() const = 0;
72 
77  virtual void changeElementAttribute( const DtElementAttribute* attr );
78 
79  protected:
80 
82 
83  virtual void reportElementCreated();
85 
87  virtual void reportDisplayName();
88 
90  virtual void reportConnectionObjectID();
91 
93  virtual void reportConnectionObjectType();
94 
96  virtual void reportOverlayNameChanged();
97 
99  virtual void reportVisibility();
100 
102  virtual void reportDamageStateChanged();
103 
105  virtual void reportDriverType() = 0;
106 
109  virtual void reportElementSubtype();
110 
112  virtual void reportElementDefinitionName();
114 
117  virtual void updateConnectionObjectType( const std::string& type );
118 
120  virtual void setElementSubtype(DtElementAttributes::ElementSubtypes subtype);
121 
123  void slot_updateOverlayNameRaw(const char* text);
124 
126  void slot_updateConnectionObjectID( const std::string& id );
127 
129  void slot_updateDisplayName(const std::string& text);
130 
132  void slot_updateOverlayName(const std::string& pname);
133 
135  void slot_updateDamageState(DtEntityStateListener::DamageState state);
136 
137  virtual void getDefinitions( std::vector<DtUnicode>& definitions ) = 0;
138  virtual void setModelSetEnabled( int modelSet, bool enabled ) = 0;
139 
140  protected:
144  std::string myConnectionObjectID;
146  std::string myDisplayName;
147  std::string myElementOverlayName;
152  };
153 }
154 
DtBaseConnection & myBaseConnection
Definition: DtElement.h:141
A unicode string.
Definition: DtUnicode.h:33
std::string myElementOverlayName
Definition: DtElement.h:147
bool myElementReported
Definition: DtElement.h:151
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
The DtElement class implements the common behavior of simulation based elements added to the scene...
Definition: DtElement.h:29
ElementSubtypes
Definition: DtElementAttributes.h:53
unsigned int ObjectType
Definition: DtElementEntry.h:50
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:34
std::string myConnectionObjectType
Definition: DtElement.h:145
Contains makVrv::DtSharedModelSetSettings class.
bool myElementVisible
Definition: DtElement.h:150
Contains makVrv:DtEntityStateListener class.
DtElementID myElementId
Definition: DtElement.h:142
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
DtUnicode myElementDefinition
Definition: DtElement.h:143
DtEntityStateListener::DamageState myDamageState
Definition: DtElement.h:149
DamageState
Definition: DtEntityStateListener.h:88
Contains makVrv::DtElementAttributes class.
DtElementAttributes::ElementSubtypes myElementSubtype
Definition: DtElement.h:148
DtElementID elementID() const
Get the element ID of the element.
Definition: DtElement.h:61
std::string myDisplayName
Definition: DtElement.h:146
std::string myConnectionObjectID
Definition: DtElement.h:144
DtElementAttribute is a common base class used for all element attributes, such as those found in a D...
Definition: DtElementAttribute.h:20
Contains makVrv::DtElementEntry class.
std::map< int, bool > ModelSetVisualizedMap
Definition: DtSharedModelSetSettings.h:27
Contains DLL export macros.

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)