VR-Forces 5.0.3 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>
17 #endif
18 
19 namespace makVrf
20 {
21  class DtEntityFacadeCollection;
22  class DtEnvironmentalFacadeCollection;
23  class DtVrfObjectFacadeInterface;
24 }
25 
26 class DtEnumDictionary;
27 
28 class QListWidget;
29 class DtUiElement;
30 class QTreeWidgetItem;
31 class QHBoxLayout;
32 class QPushButton;
33 class QToolButton;
34 class QLabel;
35 class QGridLayout;
36 class QLineEdit;
37 class QCheckBox;
38 class QSpinBox;
39 class QVBoxLayout;
40 class QTreeWidget;
41 class QScrollArea;
42 
45 
47 {
48  Q_OBJECT
49 
50 public:
51  DtEmbarkationEditor(makVrv::DtDe&, QWidget* p);
52 
53  virtual ~DtEmbarkationEditor();
54 
55  virtual void init(const DtObjectType&);
56 
58  {
59  return myEmbarkationInformation;
60  }
61 
63  virtual void useEmbarkationInformationOnInit(const DtEmbarkationInformation&);
64 
65 protected:
66  typedef std::map<makVrv::DtUniqueID, int> FacadeToSlotMap;
67 
68  virtual void initializeFacade(makVrf::DtVrfObjectFacadeInterface*);
69  virtual void slot_onCurrentSelectionChanged(
70  const makVrv::DtSelectionManager::IdSet& selected,
71  const makVrv::DtSelectionManager::IdSet& deselected);
72  virtual void attachToRootNode();
73  virtual void setupControlsForSlot(int);
74  virtual void setupControlsForLoadPoint(int, const DtEmbarkationInformation::LoadPoints&, bool egress, QListWidget* listWidget);
75 
76  virtual void fillInSlotStationNames(int stationName);
77 
78  virtual void offsetPositionChanged(DtUiElement*);
79  virtual void offsetOrientationChanged(DtUiElement*);
80  virtual void timedInit();
81  virtual void canSelectEmbarkedObject() const;
82 
83  virtual makVrv::DtUniqueID addSlot(const DtEmbarkationSlotEntry& entry);
84 
85  virtual void fillInSlotExclusions();
86 
87  virtual void addLoadPoints(const DtEmbarkationInformation::LoadPoints&, const std::string& type, FacadeToSlotMap&,
88  QListWidget* list);
89  virtual makVrv::DtUniqueID addLoadPoint(const DtLoadPoint&,const std::string& type, FacadeToSlotMap&, QListWidget* list);
90 
93  virtual QString setLifeFormPostureAndAnimation(makVrf::DtEntityFacadeCollection*, int appearance, const QString& animation);
94 
95  virtual DtRwVector* loadPointFrom(const DtRwVectorList&, int point) const;
96  virtual void removeLoadPointFromFacade(const FacadeToSlotMap&, int slot, int point);
97  virtual void addLoadPointToFacade(const FacadeToSlotMap&, int slot, int point, const DtVector&);
98  virtual void setLoadPointInFacade(const FacadeToSlotMap&, int slot, int point, const DtVector&);
99  virtual void removeLoadPoint(FacadeToSlotMap&, int point, const QString& type, QListWidget*);
100  virtual void selectLoadFromList(QListWidget*, const FacadeToSlotMap&);
101  virtual void commitChanged(makVrf::DtEnvironmentalFacadeCollection*);
102  virtual void editingStopped(makVrf::DtEnvironmentalFacadeCollection*);
103 
104  virtual QString displatStringFromRangedType(const DtRangedObjectType&) const;
105 
106  virtual void locationsChanged(makVrf::DtEnvironmentalFacadeCollection*);
107  virtual void objectFacadeCreated(makVrf::DtVrfObjectFacadeInterface*, bool editing);
108  virtual void editingStarted();
109 
110  virtual double supportPointOffset(makVrf::DtVrfObjectFacadeInterface*) const;
111 
112 protected slots:
113  virtual void ingressTechniqueChanged();
114  virtual void egressTechniqueChanged();
115  virtual void onSupportedSlotsChanged();
116  virtual void onEditSlotExclusions();
117  virtual void onSlotSelectedFromListWidget();
118  virtual void onIngressPointSelectedFromListWidget();
119  virtual void onEgressPointSelectedFromListWidget();
120  virtual void jumpToLocationChanged();
121  virtual void turnToHeadingChanged();
122  virtual void orientOnIngressChanged();
123  virtual void numberOfEntitiesChanged();
124  virtual void selectAppearance();
125  virtual void clearAppearance();
126  virtual void selectAnimation();
127  virtual void embarkationObjectTypeChanged();
128  virtual void selectEmbarkedObject();
129  virtual void onRemoveSlot();
130  virtual void onAddSlot();
131  virtual void onAddSlotExclusion();
132  virtual void onRemoveSlotExclusion();
133  virtual void onSlotExclusionSelected();
134  virtual void slotExclusionChanged(QTreeWidgetItem* item, int col);
135 
136  virtual void onAddLoadPoint();
137  virtual void onRemoveLoadPoint();
138  virtual void onLoadPointSelected();
139  virtual void loadPointChanged(QTreeWidgetItem* item, int col);
140 
141  virtual void onAddIngress();
142  virtual void onRemoveIngress();
143  virtual void onAddEgress();
144  virtual void onRemoveEgress();
145 
146  virtual void flipDisembarkBodyXChanged();
147  virtual void flipDisembarkBodyYChanged();
148 
149  virtual void invisibleWhenEmbarkedChanged();
150  virtual void slotNameChanged();
151  virtual void slotTypeChanged();
152  virtual void stationNameChanged();
153 
154 public:
155  QGridLayout* myButtonGrid;
156  QVBoxLayout* myConsoleLayout;
158  QWidget* myConsoleWidget;
159 
162  QListWidget* myIngressPointsList;
168  QListWidget* myEgressPointsList;
177 
178 public:
189 
190 public:
200 
202  QScrollArea* myScrollArea;
205  QVBoxLayout* mySideBarLayout;
213  QHBoxLayout* myAppearanceLayout;
218  QGridLayout* myTechniqueLayout;
223  QHBoxLayout* myAnimationLayout;
229  QGridLayout* myEmbarkationLayout;
241  QListWidget* myCurrentSlots;
243  QWidget* mySlotsWidget;
244  QHBoxLayout* mySlotsButtonLayout;
245 
246 protected:
251  bool myEgress;
252 
254 
257 
262  bool myCommit;
265 
267 };
QWidget * mySelectedControls
Definition: embarkationEditor.h:175
QHBoxLayout * myAnimationLayout
Definition: embarkationEditor.h:223
QLabel * myAnimationLabel
Definition: embarkationEditor.h:224
class DtEnvironmentalFacadeCollection
Definition: environmentalFacadeCollection.h:74
QLineEdit * myAnimation
Definition: embarkationEditor.h:225
QHBoxLayout * myIngressPointsButtonLayout
Definition: embarkationEditor.h:165
QLineEdit * mySlotType
Definition: embarkationEditor.h:233
bool myBlockSelectionChange
Definition: embarkationEditor.h:264
DtUiOrientationElement * myOrientation
Definition: embarkationEditor.h:211
QWidget * mySlotExlusionButtonWidget
Definition: embarkationEditor.h:182
makVrv::DtSignalConnectionManager myConnections
Definition: embarkationEditor.h:260
QToolButton * myClearAppearance
Definition: embarkationEditor.h:217
QGridLayout * myTechniqueLayout
Definition: embarkationEditor.h:218
QWidget * mySelectionCanvas
Definition: embarkationEditor.h:174
QLineEdit * myAppearance
Definition: embarkationEditor.h:215
QScrollArea * myScrollArea
Embarkation slot canvas.
Definition: embarkationEditor.h:202
QToolButton * myAddIngressPoint
Definition: embarkationEditor.h:166
const DtEmbarkationInformation & embarkationInformation()
Definition: embarkationEditor.h:57
QToolButton * mySelectAnimation
Definition: embarkationEditor.h:226
makVrv::DtSignalConnectionManager myEditingConnections
Definition: embarkationEditor.h:261
DtLoadPoint; Readable/writeable object for describing position for entity loading/unloading.
Definition: loadPoint.h:22
QToolButton * myRemoveLoadPoint
Definition: embarkationEditor.h:198
QLabel * myEgressPointsLabel
Definition: embarkationEditor.h:169
Maintains a list of enumerations read in from files. The dictionary supports two different types of e...
Definition: enumDictionary.h:98
Contains makVrv:DtSelectionManager class.
QGridLayout * myEmbarkationLayout
Definition: embarkationEditor.h:229
QLabel * myCurrentSlotsLabel
Definition: embarkationEditor.h:242
QComboBox * myViewModes
Definition: embarkationEditor.h:157
DtEmbarkationInformation myEmbarkationInformationToUseOnInit
Definition: embarkationEditor.h:258
QTreeWidget * myLoadPoints
Definition: embarkationEditor.h:199
QVBoxLayout * mySelectionCanvasLayout
Definition: embarkationEditor.h:176
makVrf::DtVrfObjectFacadeInterface * myRootDisplayNode
Definition: embarkationEditor.h:248
Description: Readable, Writable DtTaitBryan.
Definition: rwTaitBryan.h:20
QWidget * myEgressPointsWidget
Definition: embarkationEditor.h:170
QLineEdit * myNumberOfEntities
Definition: embarkationEditor.h:240
QLineEdit * myIngressTechnique
Definition: embarkationEditor.h:220
DtEmbarkationSlotEntry.
Definition: embarkationSlotEntry.h:27
Definition: objectType.h:27
QToolButton * myRemoveSlotExclusion
Definition: embarkationEditor.h:187
Class that will keep track of all embarkation information.
Definition: embarkationInformation.h:22
QHBoxLayout * mySlotButtonExclusionLayout
Definition: embarkationEditor.h:185
bool myEgress
Definition: embarkationEditor.h:251
Definition: rangedObjectType.h:19
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:212
QWidget * myConsoleWidget
Definition: embarkationEditor.h:158
QHBoxLayout * mySlotsButtonLayout
Definition: embarkationEditor.h:244
QLabel * myIngressTechniqueLabel
Definition: embarkationEditor.h:219
QToolButton * myRemoveEgressPoint
Definition: embarkationEditor.h:173
QHBoxLayout * myAppearanceLayout
Definition: embarkationEditor.h:213
QLineEdit * myEmbarkedObjectType
Definition: embarkationEditor.h:207
int myEditingSlot
Definition: embarkationEditor.h:250
QToolButton * mySelectAppearance
Definition: embarkationEditor.h:216
QLabel * mySlotTypeLabel
Definition: embarkationEditor.h:232
DtEnumDictionary * myEnumDictionary
Definition: embarkationEditor.h:266
QWidget * mySlotsWidget
Definition: embarkationEditor.h:243
QListWidget * myEgressPointsList
Definition: embarkationEditor.h:168
Definition: vrfObjectFacadeInterface.h:53
QToolButton * myRemoveSlot
Definition: embarkationEditor.h:161
QWidget * myIngressPointsWidget
Definition: embarkationEditor.h:164
bool myUseEmbarkationInformationOnInit
Definition: embarkationEditor.h:259
QToolButton * myRemoveIngressPoint
Definition: embarkationEditor.h:167
QVBoxLayout * mySideBarLayout
Definition: embarkationEditor.h:205
UI Element for specifying a body orientation on an entity. Fills is a DtTaitBryan.
Definition: uiOrientationElement.h:21
QToolButton * myAddSlotExclusion
Definition: embarkationEditor.h:186
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Definition: embarkationEditor.h:46
This class can be a base class for any editor that wants to use the Vantage display.
Definition: editingWindow.h:45
QLabel * myLoadPointsLabel
Definition: embarkationEditor.h:194
QToolButton * myAddLoadPoint
Definition: embarkationEditor.h:197
QLabel * myNumberOfEntitiesLabel
Definition: embarkationEditor.h:239
DtObjectType myObjectType
Definition: embarkationEditor.h:247
QCheckBox * myOrientOnIngress
Definition: embarkationEditor.h:237
QLabel * mySlotNameLabel
Definition: embarkationEditor.h:230
FacadeToSlotMap myEgressToSlotMap
Definition: embarkationEditor.h:256
QLabel * myEmbarkedObjectTypeLabel
Definition: embarkationEditor.h:206
QLabel * myAppearanceLabel
Definition: embarkationEditor.h:214
DtUiPositionElement * myOffsetPosition
Definition: embarkationEditor.h:209
std::vector< DtLoadPoint > LoadPoints
Definition: embarkationInformation.h:25
Will create entity facades for each realized model set and manage them all.
Definition: entityFacadeCollection.h:67
FacadeToSlotMap myIngressToSlotMap
Definition: embarkationEditor.h:255
QCheckBox * myInvisibleWhenEmbarked
Definition: embarkationEditor.h:228
QLabel * mySupportedSlotsLabel
Ingress/Egress.
Definition: embarkationEditor.h:192
QToolButton * myEditSlotExclusions
Slot exclusions.
Definition: embarkationEditor.h:180
QHBoxLayout * myNumberOfEntitiesLayout
Definition: embarkationEditor.h:238
QToolButton * myAddEgressPoint
Definition: embarkationEditor.h:172
Base class to provide boost signal/slot management.
bool myCommit
Definition: embarkationEditor.h:262
QLineEdit * myEgressTechnique
Definition: embarkationEditor.h:222
QComboBox * myStationName
Definition: embarkationEditor.h:235
QLineEdit * mySupportedSlots
Definition: embarkationEditor.h:193
QToolButton * mySelectEmbarkedObjectType
Definition: embarkationEditor.h:208
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
QHBoxLayout * myEmbarkedObjectTypeLayout
Definition: embarkationEditor.h:204
QListWidget * myIngressPointsList
Definition: embarkationEditor.h:162
FacadeToSlotMap myFacadeToSlotMap
Definition: embarkationEditor.h:253
QLabel * myIngressPointsLabel
Definition: embarkationEditor.h:163
makVrv::DtSelectionManager::IdSet myLastSelections
Definition: embarkationEditor.h:263
QHBoxLayout * myLoadPointButtonsLayout
Definition: embarkationEditor.h:196
QLabel * myStationNameLabel
Definition: embarkationEditor.h:234
QCheckBox * myJumpToLocation
Definition: embarkationEditor.h:227
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:70
QListWidget * myCurrentSlots
Definition: embarkationEditor.h:241
QWidget * myLoadPointButtons
Definition: embarkationEditor.h:195
QWidget * myMainEmbarkationCanvas
Definition: embarkationEditor.h:203
QLineEdit * mySlotName
Definition: embarkationEditor.h:231
QTreeWidget * mySlotExclusions
Definition: embarkationEditor.h:188
DtRwVector myRwPosition
Definition: embarkationEditor.h:210
QCheckBox * myTurnToHeading
Definition: embarkationEditor.h:236
QCheckBox * myFlipDisembarkBodyX
Definition: embarkationEditor.h:183
QGridLayout * myButtonGrid
Definition: embarkationEditor.h:155
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
QToolButton * myAddSlot
Definition: embarkationEditor.h:160
QLabel * mySlotExclusionsLabel
Definition: embarkationEditor.h:181
class DtRwVectorList:
Definition: rwVectorList.h:22
QLabel * myEgressTechniqueLabel
Definition: embarkationEditor.h:221
DtEmbarkationInformation myEmbarkationInformation
Definition: embarkationEditor.h:249
QHBoxLayout * myEgressPointsButtonLayout
Definition: embarkationEditor.h:171
QVBoxLayout * myConsoleLayout
Definition: embarkationEditor.h:156
#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:180
File: rwVector.h.
QCheckBox * myFlipDisembarkBodyY
Definition: embarkationEditor.h:184
std::map< makVrv::DtUniqueID, int > FacadeToSlotMap
Definition: embarkationEditor.h:66

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)