VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
embarkationEditor.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2014 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
8 
9 #if !defined(Q_MOC_RUN)
13 #include "readerWriter/rwVector.h"
14 #include <vrfutil/rwTaitBryan.h>
15 #include <vrfutil/rwAppearance.h>
19 #endif
20 
21 namespace makVrv
22 {
23  class DtSliderDoubleSpinboxWidget;
24 }
25 
26 namespace makVrf
27 {
28  class DtEntityFacadeCollection;
29  class DtEnvironmentalFacadeCollection;
30  class DtVrfObjectFacadeInterface;
31 }
32 
33 class DtEnumDictionary;
34 
35 class QListWidget;
36 class DtUiElement;
37 class QTreeWidgetItem;
38 class QHBoxLayout;
39 class QPushButton;
40 class QToolButton;
41 class QLabel;
42 class QGridLayout;
43 class QLineEdit;
44 class QCheckBox;
45 class QSpinBox;
46 class QVBoxLayout;
47 class QTreeWidget;
48 class QScrollArea;
49 
53 
55 {
56  Q_OBJECT
57 
58 public:
59  DtEmbarkationEditor(makVrv::DtDe&, QWidget* p);
60 
61  virtual ~DtEmbarkationEditor() override;
62 
63  virtual void init(const DtEntityType&);
64 
66  {
67  return myEmbarkationInformation;
68  }
69 
71  virtual void useEmbarkationInformationOnInit(const DtEmbarkationInformation&);
72 
73 protected:
74  typedef std::map<makVrv::DtUniqueID, int> FacadeToSlotMap;
75 
76  virtual void slot_preVisualize(makVrf::DtVrfObjectFacadeInterface*);
77  virtual void initializeFacade(makVrf::DtVrfObjectFacadeInterface*);
78  virtual void slot_onCurrentSelectionChanged(
79  const makVrv::DtSelectionManager::IdSet& selected,
80  const makVrv::DtSelectionManager::IdSet& deselected);
81  virtual void attachToRootNode();
82  virtual void setupControlsForSlot(int);
83  virtual void setupControlsForLoadPoint(int, const DtEmbarkationInformation::LoadPoints&, bool egress, QListWidget* listWidget);
84 
85  virtual void fillInSlotStationNames(int stationName);
86 
87  virtual void offsetPositionChanged(DtUiElement*);
88  virtual void offsetOrientationChanged(DtUiElement*);
89  virtual void appearanceChanged(DtUiElement*);
90  virtual void timedInit();
91  virtual void canSelectEmbarkedObject() const;
92  virtual void setupClippingDistance();
93 
94  virtual makVrv::DtUniqueID addSlot(const DtEmbarkationSlotEntry& entry);
95 
96  virtual void fillInSlotExclusions();
97 
98  virtual void addLoadPoints(const DtEmbarkationInformation::LoadPoints&, const std::string& type, FacadeToSlotMap&,
99  QListWidget* list);
100  virtual makVrv::DtUniqueID addLoadPoint(const DtLoadPoint&,const std::string& type, FacadeToSlotMap&, QListWidget* list);
101 
104  virtual QString setLifeFormPostureAndAnimation(makVrf::DtEntityFacadeCollection*, int appearance, const QString& animation);
105 
106  virtual DtRwVector* loadPointFrom(const DtRwVectorList&, int point) const;
107  virtual void removeLoadPointFromFacade(const FacadeToSlotMap&, int slot, int point);
108  virtual void addLoadPointToFacade(const FacadeToSlotMap&, int slot, int point, const DtVector&);
109  virtual void setLoadPointInFacade(const FacadeToSlotMap&, int slot, int point, const DtVector&);
110  virtual void removeLoadPoint(FacadeToSlotMap&, int point, const QString& type, QListWidget*);
111  virtual void selectLoadFromList(QListWidget*, const FacadeToSlotMap&);
112  virtual void commitChanged(makVrf::DtEnvironmentalFacadeCollection*);
113  virtual void editingStopped(makVrf::DtEnvironmentalFacadeCollection*);
114 
115  virtual QString displatStringFromRangedType(const DtRangedEntityType&) const;
116 
117  virtual void locationsChanged(makVrf::DtEnvironmentalFacadeCollection*);
118  virtual void objectFacadeCreated(makVrf::DtVrfObjectFacadeInterface*, bool editing);
119  virtual void editingStarted();
120 
121  virtual double supportPointOffset(makVrf::DtVrfObjectFacadeInterface*) const;
122  virtual void updateChannelConfiguration();
123  virtual void changeViewMode() override;
124  virtual void setupViewPerspective();
125 
126 protected slots:
127  virtual void changePerspective();
128  virtual void clipChanged();
129  virtual void ingressTechniqueChanged();
130  virtual void egressTechniqueChanged();
131  virtual void onSupportedSlotsChanged();
132  virtual void onEditSlotExclusions();
133  virtual void onSlotSelectedFromListWidget();
134  virtual void onIngressPointSelectedFromListWidget();
135  virtual void onEgressPointSelectedFromListWidget();
136  virtual void jumpToLocationChanged();
137  virtual void turnToHeadingChanged();
138  virtual void orientOnIngressChanged();
139  virtual void numberOfEntitiesChanged();
140  virtual void selectAnimation();
141  virtual void embarkationObjectTypeChanged();
142  virtual void selectEmbarkedObject();
143  virtual void onRemoveSlot();
144  virtual void onAddSlot();
145  virtual void onAddSlotExclusion();
146  virtual void onRemoveSlotExclusion();
147  virtual void onSlotExclusionSelected();
148  virtual void slotExclusionChanged(QTreeWidgetItem* item, int col);
149 
150  virtual void onAddLoadPoint();
151  virtual void onRemoveLoadPoint();
152  virtual void onLoadPointSelected();
153  virtual void loadPointChanged(QTreeWidgetItem* item, int col);
154 
155  virtual void onAddIngress();
156  virtual void onRemoveIngress();
157  virtual void onAddEgress();
158  virtual void onRemoveEgress();
159 
160  virtual void flipDisembarkBodyXChanged();
161  virtual void flipDisembarkBodyYChanged();
162 
163  virtual void invisibleWhenEmbarkedChanged();
164  virtual void slotNameChanged();
165  virtual void slotTypeChanged();
166  virtual void stationNameChanged();
167 
168 public:
169  QGridLayout* myButtonGrid;
171  QVBoxLayout* myConsoleLayout;
174  QWidget* myConsoleWidget;
175 
180  QListWidget* myIngressPointsList;
186  QListWidget* myEgressPointsList;
195 
196 public:
207 
208 public:
218 
223  QVBoxLayout* mySideBarLayout;
231  QHBoxLayout* myAppearanceLayout;
233  QGridLayout* myTechniqueLayout;
238  QHBoxLayout* myAnimationLayout;
244  QGridLayout* myEmbarkationLayout;
256  QListWidget* myCurrentSlots;
258  QWidget* mySlotsWidget;
259  QHBoxLayout* mySlotsButtonLayout;
260 
261 protected:
262  boost::signals2::scoped_connection myClipUpdateConnection;
264  DtEntityType myObjectType;
268  bool myEgress;
269 
271 
274 
279  bool myCommit;
282 
283  DtEnumDictionary* myEnumDictionary;
285  boost::signals2::scoped_connection mySetupControlForSlotConnection;
287 };
QWidget * mySelectedControls
Definition: embarkationEditor.h:193
QHBoxLayout * myAnimationLayout
Definition: embarkationEditor.h:238
QLabel * myAnimationLabel
Definition: embarkationEditor.h:239
class DtEnvironmentalFacadeCollection
Definition: environmentalFacadeCollection.h:76
QLineEdit * myAnimation
Definition: embarkationEditor.h:240
boost::signals2::scoped_connection myClipUpdateConnection
Definition: embarkationEditor.h:262
QHBoxLayout * myIngressPointsButtonLayout
Definition: embarkationEditor.h:183
QLineEdit * mySlotType
Definition: embarkationEditor.h:248
bool myBlockSelectionChange
Definition: embarkationEditor.h:281
DtUiOrientationElement * myOrientation
Definition: embarkationEditor.h:229
QWidget * mySlotExlusionButtonWidget
Definition: embarkationEditor.h:200
makVrv::DtSignalConnectionManager myConnections
Definition: embarkationEditor.h:277
QGridLayout * myTechniqueLayout
Definition: embarkationEditor.h:233
QWidget * mySelectionCanvas
Definition: embarkationEditor.h:192
QScrollArea * myScrollArea
Embarkation slot canvas.
Definition: embarkationEditor.h:220
QToolButton * myAddIngressPoint
Definition: embarkationEditor.h:184
const DtEmbarkationInformation & embarkationInformation()
Definition: embarkationEditor.h:65
QToolButton * mySelectAnimation
Definition: embarkationEditor.h:241
makVrv::DtSignalConnectionManager myEditingConnections
Definition: embarkationEditor.h:278
DtLoadPoint; Readable/writeable object for describing position for entity loading/unloading.
Definition: loadPoint.h:22
QToolButton * myRemoveLoadPoint
Definition: embarkationEditor.h:216
QLabel * myEgressPointsLabel
Definition: embarkationEditor.h:187
Contains makVrv:DtSelectionManager class.
QGridLayout * myEmbarkationLayout
Definition: embarkationEditor.h:244
QLabel * myCurrentSlotsLabel
Definition: embarkationEditor.h:257
QComboBox * myViewModes
Definition: embarkationEditor.h:172
DtRwAppearance myRwAppearance
Definition: embarkationEditor.h:284
DtEmbarkationInformation myEmbarkationInformationToUseOnInit
Definition: embarkationEditor.h:275
Contains makVrv::DtChannelConfiguration class.
QTreeWidget * myLoadPoints
Definition: embarkationEditor.h:217
QVBoxLayout * mySelectionCanvasLayout
Definition: embarkationEditor.h:194
Element for managing an Articulated Part number variable. It hooks to the DtArtPartManager to auto-as...
Definition: uiAppearanceElement.h:21
makVrf::DtVrfObjectFacadeInterface * myRootDisplayNode
Definition: embarkationEditor.h:265
Description: Readable, Writable DtTaitBryan.
Definition: rwTaitBryan.h:20
DtVector myLastObserverPosition
Definition: embarkationEditor.h:263
QWidget * myEgressPointsWidget
Definition: embarkationEditor.h:188
QLineEdit * myNumberOfEntities
Definition: embarkationEditor.h:255
QLineEdit * myIngressTechnique
Definition: embarkationEditor.h:235
QGridLayout * myDisplayConfigurationLayout
Definition: embarkationEditor.h:170
QComboBox * myViewPerspective
Definition: embarkationEditor.h:173
DtEmbarkationSlotEntry.
Definition: embarkationSlotEntry.h:27
DtUiAppearanceElement * myAppearance
Definition: embarkationEditor.h:232
QToolButton * myRemoveSlotExclusion
Definition: embarkationEditor.h:205
Class that will keep track of all embarkation information.
Definition: embarkationInformation.h:22
QHBoxLayout * mySlotButtonExclusionLayout
Definition: embarkationEditor.h:203
bool myEgress
Definition: embarkationEditor.h:268
Contains the DtRwTaitBryan class declaration.
Definition: rwVector.h:23
UI Element for specifying a body position on an entity. Fills is a DtVector.
Definition: uiPositionElement.h:23
DtRwTaitBryan myRwOrientation
Definition: embarkationEditor.h:230
QWidget * myConsoleWidget
Definition: embarkationEditor.h:174
QHBoxLayout * mySlotsButtonLayout
Definition: embarkationEditor.h:259
QLabel * myIngressTechniqueLabel
Definition: embarkationEditor.h:234
QToolButton * myRemoveEgressPoint
Definition: embarkationEditor.h:191
QHBoxLayout * myAppearanceLayout
Definition: embarkationEditor.h:231
QLineEdit * myEmbarkedObjectType
Definition: embarkationEditor.h:225
int myEditingSlot
Definition: embarkationEditor.h:267
QLabel * mySlotTypeLabel
Definition: embarkationEditor.h:247
DtEnumDictionary * myEnumDictionary
Definition: embarkationEditor.h:283
QWidget * mySlotsWidget
Definition: embarkationEditor.h:258
QListWidget * myEgressPointsList
Definition: embarkationEditor.h:186
Definition: vrfObjectFacadeInterface.h:53
QToolButton * myRemoveSlot
Definition: embarkationEditor.h:179
QWidget * myIngressPointsWidget
Definition: embarkationEditor.h:182
makVrv::DtChannelConfiguration myChannelConfiguration
Definition: embarkationEditor.h:286
A widget for pairing a horizontal slider with a double spin-box. The spin box must be clamped to a mi...
Definition: DtSliderDoubleSpinboxWidget.h:30
Class Description: Readable, writable form of DtAppearance.
Definition: rwAppearance.h:16
bool myUseEmbarkationInformationOnInit
Definition: embarkationEditor.h:276
QToolButton * myRemoveIngressPoint
Definition: embarkationEditor.h:185
QVBoxLayout * mySideBarLayout
Definition: embarkationEditor.h:223
UI Element for specifying a body orientation on an entity. Fills is a DtTaitBryan.
Definition: uiOrientationElement.h:21
QToolButton * myAddSlotExclusion
Definition: embarkationEditor.h:204
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Definition: rangedEntityType.h:19
Definition: embarkationEditor.h:54
This class can be a base class for any editor that wants to use the Vantage display.
Definition: editingWindow.h:45
DtEntityType myObjectType
Definition: embarkationEditor.h:264
QLabel * myLoadPointsLabel
Definition: embarkationEditor.h:212
QToolButton * myAddLoadPoint
Definition: embarkationEditor.h:215
QLabel * myNumberOfEntitiesLabel
Definition: embarkationEditor.h:254
QCheckBox * myOrientOnIngress
Definition: embarkationEditor.h:252
QLabel * mySlotNameLabel
Definition: embarkationEditor.h:245
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
FacadeToSlotMap myEgressToSlotMap
Definition: embarkationEditor.h:273
virtual void changeViewMode()
QLabel * myEmbarkedObjectTypeLabel
Definition: embarkationEditor.h:224
DtUiPositionElement * myOffsetPosition
Definition: embarkationEditor.h:227
std::vector< DtLoadPoint > LoadPoints
Definition: embarkationInformation.h:25
QLabel * myZNearLabel
Definition: embarkationEditor.h:176
Will create entity facades for each realized model set and manage them all.
Definition: entityFacadeCollection.h:67
FacadeToSlotMap myIngressToSlotMap
Definition: embarkationEditor.h:272
QCheckBox * myInvisibleWhenEmbarked
Definition: embarkationEditor.h:243
QLabel * mySupportedSlotsLabel
Ingress/Egress.
Definition: embarkationEditor.h:210
QToolButton * myEditSlotExclusions
Slot exclusions.
Definition: embarkationEditor.h:198
QHBoxLayout * myNumberOfEntitiesLayout
Definition: embarkationEditor.h:253
QToolButton * myAddEgressPoint
Definition: embarkationEditor.h:190
Base class to provide boost signal/slot management.
bool myCommit
Definition: embarkationEditor.h:279
QLineEdit * myEgressTechnique
Definition: embarkationEditor.h:237
Configuration for a single channel Serialized and sent to remote displays as necessary to configure r...
Definition: DtChannelConfiguration.h:24
QComboBox * myStationName
Definition: embarkationEditor.h:250
QLineEdit * mySupportedSlots
Definition: embarkationEditor.h:211
QToolButton * mySelectEmbarkedObjectType
Definition: embarkationEditor.h:226
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
QHBoxLayout * myEmbarkedObjectTypeLayout
Definition: embarkationEditor.h:222
QListWidget * myIngressPointsList
Definition: embarkationEditor.h:180
FacadeToSlotMap myFacadeToSlotMap
Definition: embarkationEditor.h:270
QLabel * myIngressPointsLabel
Definition: embarkationEditor.h:181
makVrv::DtSelectionManager::IdSet myLastSelections
Definition: embarkationEditor.h:280
QHBoxLayout * myLoadPointButtonsLayout
Definition: embarkationEditor.h:214
QLabel * myStationNameLabel
Definition: embarkationEditor.h:249
QCheckBox * myJumpToLocation
Definition: embarkationEditor.h:242
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
QListWidget * myCurrentSlots
Definition: embarkationEditor.h:256
QWidget * myLoadPointButtons
Definition: embarkationEditor.h:213
QWidget * myMainEmbarkationCanvas
Definition: embarkationEditor.h:221
QLineEdit * mySlotName
Definition: embarkationEditor.h:246
QTreeWidget * mySlotExclusions
Definition: embarkationEditor.h:206
DtRwVector myRwPosition
Definition: embarkationEditor.h:228
QCheckBox * myTurnToHeading
Definition: embarkationEditor.h:251
QCheckBox * myFlipDisembarkBodyX
Definition: embarkationEditor.h:201
makVrv::DtSliderDoubleSpinboxWidget * myZNear
Definition: embarkationEditor.h:177
QGridLayout * myButtonGrid
Definition: embarkationEditor.h:169
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
QToolButton * myAddSlot
Definition: embarkationEditor.h:178
boost::signals2::scoped_connection mySetupControlForSlotConnection
Definition: embarkationEditor.h:285
QLabel * mySlotExclusionsLabel
Definition: embarkationEditor.h:199
class DtRwVectorList:
Definition: rwVectorList.h:22
QLabel * myEgressTechniqueLabel
Definition: embarkationEditor.h:236
DtEmbarkationInformation myEmbarkationInformation
Definition: embarkationEditor.h:266
QHBoxLayout * myEgressPointsButtonLayout
Definition: embarkationEditor.h:189
QVBoxLayout * myConsoleLayout
Definition: embarkationEditor.h:171
#define DT_DLL_simulationObjectEditorimpl
This file is used to determine how to build.
Definition: simulationObjectEditorImplDefines.h:33
Base class of the ui element class chain. Properties available through designer for all ui elements a...
Definition: uiElement.h:185
File: rwVector.h.
QCheckBox * myFlipDisembarkBodyY
Definition: embarkationEditor.h:202
std::map< makVrv::DtUniqueID, int > FacadeToSlotMap
Definition: embarkationEditor.h:74

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)