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

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)