VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
navigationAreaDefinitionDialog.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 
10 #pragma once
11 
12 #if !defined(Q_MOC_RUN)
16 #endif
17 
18 class QCheckBox;
19 class QLabel;
20 class QPushButton;
21 class QListWidget;
22 class QWidget;
23 class QHBoxLayout;
24 class QLineEdit;
25 class QDoubleSpinBox;
26 class DtRwStringList;
27 class QGridLayout;
28 class QSlider;
29 class QComboBox;
30 class QToolButton;
31 
32 namespace makVrf
33 {
38  {
39 
40  public:
41 
44 
47 
48  protected:
50  virtual void setupGui();
51  virtual void locationChanged();
52  virtual void createConnections();
53  virtual void objectCreated();
54  virtual void updateButtons();
55  virtual void processNamePrefixEdited(const std::string& name);
56  virtual void updateNavData();
57  virtual void processObjectCreation();
58  virtual void processObjectUpdate();
59  virtual void processPopulateDialog(const makVrv::DtUniqueID& selectedUniqueID);
60 
62  virtual void slot_onPublishObjectChanged(bool);
63 
64  virtual void slot_displayUnitChanged(const makVrv::DtUnicode& category, const makVrv::DtUnicode& type,
65  int unit, int oldUnit);
66 
68  virtual void slot_onPlacement(const DtVector& loc);
69 
71  virtual void processReviewMouseClicks(bool flag);
72  };
73 
78  {
79 
80  Q_OBJECT
81 
82  public:
83 
85  DtNavigationAreaDefinitionDialog(makVrv::DtDe& de, QWidget* parent, const QString& title="",
86  DtDialogInteractionMode mode=DtCreationMode);
87 
90 
91  virtual void setGenerateFullTerrainVisible(bool);
92  virtual void setGenerateFullTerrainEnabled(bool);
93  virtual void setGenerateFullTerrain(bool);
94  virtual bool generateFullTerrain() const;
95 
96  virtual void setPruneNoGoAreas(bool);
97  virtual bool pruneNoGoAreas() const;
98 
99  virtual void setNavigationPath(const DtFilename&);
100  virtual QString navigationPath() const;
101 
102  virtual void selectProfiles(const DtRwStringList&);
103  virtual std::vector<std::string> profiles() const;
104  virtual DtRwNavigationProfileList& allProfiles() { return myAllProfiles; };
105 
107  virtual bool publishObject() const;
108 
109  virtual void setName(const QString&);
110 
111  virtual double rasterPrecision() const { return myRasterPrecision; };
112 
113  virtual void setDistanceUnits(const makVrv::DtUnicode& u);
114 
115  virtual int cellSize();
116 
117  virtual void setRasterPrecision(double d);
118 
119  virtual bool sectorizeArea() const;
120  virtual void setSectorizeArea(bool sectorize);
121  virtual void setSectorizeAutomatically(bool automatic);
122 
123  virtual int sectorCountX() const;
124  virtual int sectorCountY() const;
125  virtual void setSectorCount(int x, int y);
126 
127  protected slots:
128  virtual void validate();
129  virtual void selectNavigationDataPath();
130 
131  protected:
132  virtual DtBoxObjectDefinitionDialogLogic* createLogic();
133  virtual void setupGui();
134  virtual void slot_onLengthChanged(const QString& x);
135  virtual void slot_onWidthChanged(const QString& x);
136  virtual QSize minimumSizeHint() const;
137 
138  virtual void init(const DtEntityType& entityType, const QString& title, bool forPlan,
140 
142  virtual void setPublishObjectVisible(bool b);
143  virtual void setPublishObject(bool b);
144 
145  virtual void setMaxRadius(double d);
146  virtual void setMaxAreaSize(int i);
147 
148  public slots:
149  virtual void sectorsChanged();
150 
151  protected slots:
152  virtual void generateFullTerrainChanged();
153  virtual void selectedProfilesChanged();
154  virtual void rasterPrecisionChanged();
155  virtual void numberOfSectorsChanged();
156  virtual void updateSectorSizeSlider();
157  virtual void nameEditedByUser();
158 
159  public:
166  QWidget* myExtension;
167 
169  QHBoxLayout* myLocationLayout;
170 
172 
174 
180 
184 
188 
190  QHBoxLayout* myMaxAreaSizeLayout;
192 
194 
197 
199  QRadioButton* myManualSectorizeButton;
200 
205 
207  QHBoxLayout* mySectorSizeLayout;
209 
211  QHBoxLayout* myNumSectorsLayout;
213 
215 
217 
220 
223 
225 
226  protected:
228 
230  {
231  PotentialSectorSize() : numLengthSectors(0), numWidthSectors(0),
232  sectorSizeLength(0), sectorSizeWidth(0) {};
233  PotentialSectorSize(int nl, int nw, int sl, int sw) :
234  numLengthSectors(nl), numWidthSectors(nw),
235  sectorSizeLength(sl), sectorSizeWidth(sw) {};
236 
237  int numLengthSectors;
241  };
242 
243  std::vector<PotentialSectorSize> myPotentialSectorSizes;
244 
245  std::string myCurrentProfile;
246  std::map<std::string, double> myProfileRasterPrecisions;
247 
248  std::vector<double> myPotentialRasterPrecisions;
249  };
250 
252  {
253  public:
255  virtual DtCreateAndEditObjectDialogInterface* createDialog(makVrv::DtDe& de, QWidget* parent, const QString& title,
257  };
258 }
QLabel * myMultipleProfilesToGenerateLabel
Definition: navigationAreaDefinitionDialog.h:218
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
QCheckBox * myGenerateFullTerrain
Definition: navigationAreaDefinitionDialog.h:160
bool myUserDefinedName
Definition: navigationAreaDefinitionDialog.h:224
QCheckBox * mySectorizeAreaCheckBox
Definition: navigationAreaDefinitionDialog.h:193
QLineEdit * myNavigationAreaFinalPath
Definition: navigationAreaDefinitionDialog.h:214
QToolButton * mySelectNavigationAreaPath
Definition: navigationAreaDefinitionDialog.h:164
QLabel * myRasterPrecisionLargerLabel
Definition: navigationAreaDefinitionDialog.h:178
QSlider * mySectorSizeSlider
Definition: navigationAreaDefinitionDialog.h:204
QHBoxLayout * myMaxEntityRadiusLayout
Definition: navigationAreaDefinitionDialog.h:186
Definition: boxObjectDefinitionDialog.h:487
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
QHBoxLayout * myNumSectorsLayout
Definition: navigationAreaDefinitionDialog.h:211
QLabel * mySectorSizeLabel
Definition: navigationAreaDefinitionDialog.h:206
PotentialSectorSize()
Definition: navigationAreaDefinitionDialog.h:231
QListWidget * myMultipleNavigationProfiles
Definition: navigationAreaDefinitionDialog.h:165
QLineEdit * myNavigationAreaPath
Definition: navigationAreaDefinitionDialog.h:163
DtEditingType
Definition: vrfObjectManipulationHandlerBaseClass.h:42
std::string myCurrentProfile
Definition: navigationAreaDefinitionDialog.h:245
Definition: createAndEditObjectDialogInterface.h:29
QLabel * myMaxAreaSizeLabel
Definition: navigationAreaDefinitionDialog.h:189
Definition: navigationAreaDefinitionDialog.h:229
This class implements the logic behind the DtNavigationareatDefinitionDialog.
Definition: navigationAreaDefinitionDialog.h:37
QHBoxLayout * myLocationLayout
Definition: navigationAreaDefinitionDialog.h:169
int numWidthSectors
Definition: navigationAreaDefinitionDialog.h:238
This class defines the dialog that allows the creation/update of Box objects in the scenario...
Definition: boxObjectDefinitionDialog.h:198
QLabel * myRasterPrecisionValueLabel
Definition: navigationAreaDefinitionDialog.h:181
QLabel * mySectorSizeSmallerLabel
Definition: navigationAreaDefinitionDialog.h:202
QCheckBox * myPruneNoGoAreasCheckBox
Definition: navigationAreaDefinitionDialog.h:173
This class defines the dialog that allows the creation/update of Box objects in the scenario...
Definition: navigationAreaDefinitionDialog.h:77
QLabel * myRasterPrecisionValue
Definition: navigationAreaDefinitionDialog.h:183
double myRasterPrecision
Definition: navigationAreaDefinitionDialog.h:216
QGridLayout * myNavigationAreaPathLayout
Definition: navigationAreaDefinitionDialog.h:161
QLabel * myLocationLabel
Definition: navigationAreaDefinitionDialog.h:168
QLabel * myMultipleProfileWarning
Definition: navigationAreaDefinitionDialog.h:219
QHBoxLayout * mySectorSizeLayout
Definition: navigationAreaDefinitionDialog.h:207
QLabel * myRasterPrecisionLabel
Definition: navigationAreaDefinitionDialog.h:175
int sectorSizeLength
Definition: navigationAreaDefinitionDialog.h:239
This class implements the logic behind the DtBoxObjectDefinitionDialog.
Definition: boxObjectDefinitionDialog.h:41
QLabel * myNumSectorsValue
Definition: navigationAreaDefinitionDialog.h:212
QHBoxLayout * myManualSectorizeLayout
Definition: navigationAreaDefinitionDialog.h:198
QRadioButton * myAutomaticSectorizeButton
Definition: navigationAreaDefinitionDialog.h:196
std::vector< double > myPotentialRasterPrecisions
Definition: navigationAreaDefinitionDialog.h:248
QLabel * myNavigationAreaFinalPathLabel
Definition: navigationAreaDefinitionDialog.h:171
QWidget * myExtension
Definition: navigationAreaDefinitionDialog.h:166
int sectorSizeWidth
Definition: navigationAreaDefinitionDialog.h:240
virtual DtRwNavigationProfileList & allProfiles()
Definition: navigationAreaDefinitionDialog.h:104
DtDialogInteractionMode
Definition: createAndEditObjectDialogInterface.h:34
std::map< std::string, double > myProfileRasterPrecisions
Definition: navigationAreaDefinitionDialog.h:246
QHBoxLayout * myMaxAreaSizeLayout
Definition: navigationAreaDefinitionDialog.h:190
QLabel * myRasterPrecisionSmallerLabel
Definition: navigationAreaDefinitionDialog.h:177
QLabel * mySectorSizeLargerLabel
Definition: navigationAreaDefinitionDialog.h:203
virtual double rasterPrecision() const
Definition: navigationAreaDefinitionDialog.h:111
QSlider * myRasterPrecisionSlider
Definition: navigationAreaDefinitionDialog.h:179
QHBoxLayout * myRasterPrecisionSliderLayout
Definition: navigationAreaDefinitionDialog.h:176
QLabel * myMaxEntityRadiusLabel
Definition: navigationAreaDefinitionDialog.h:185
QLabel * myMaxEntityRadiusValue
Definition: navigationAreaDefinitionDialog.h:187
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
const char int mode
Definition: ioapi.h:38
QLabel * mySectorSizeValue
Definition: navigationAreaDefinitionDialog.h:208
QComboBox * myNavigationProfile
Definition: navigationAreaDefinitionDialog.h:222
QLabel * myNavigationAreaPathLabel
Definition: navigationAreaDefinitionDialog.h:162
Definition: rwStringList.h:20
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
QLabel * myProfileToGenerateLabel
Definition: navigationAreaDefinitionDialog.h:221
Definition: navigationAreaDefinitionDialog.h:251
Definition: rwNavigationProfile.h:133
QRadioButton * myManualSectorizeButton
Definition: navigationAreaDefinitionDialog.h:199
DtRwNavigationProfileList myAllProfiles
Definition: navigationAreaDefinitionDialog.h:227
QHBoxLayout * myAutomaticSectorizeLayout
Definition: navigationAreaDefinitionDialog.h:195
QHBoxLayout * myRasterPrecisionValueLayout
Definition: navigationAreaDefinitionDialog.h:182
PotentialSectorSize(int nl, int nw, int sl, int sw)
Definition: navigationAreaDefinitionDialog.h:233
QLabel * myMaxAreaSizeValue
Definition: navigationAreaDefinitionDialog.h:191
QHBoxLayout * mySectorSizeSliderLayout
Definition: navigationAreaDefinitionDialog.h:201
std::vector< PotentialSectorSize > myPotentialSectorSizes
Definition: navigationAreaDefinitionDialog.h:243
QLabel * myNumSectorsLabel
Definition: navigationAreaDefinitionDialog.h:210

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)