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

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)