VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
buoyancyEditingDialog.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2015 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
8 #pragma once
9 
10 
13 #include <boost/function.hpp>
15 
16 #include <QDialog>
17 
18 namespace makVrv
19 {
20  class DtDe;
21  class DtSliderDoubleSpinboxWidget;
22  class DtSliderSpinboxWidget;
23  class DtVisualizerDefinition;
24  class DtEntityWakeVisualizer;
25  class DtVisualizerAttribute;
26  class DtWindDirectionWidget;
27 }
28 
29 namespace makVrf
30 {
31  class DtEntityFacadeCollection;
32 };
33 
34 class QSlider;
35 class QLabel;
36 class QPushButton;
37 class QGridLayout;
38 class QHBoxLayout;
39 class QComboBox;
40 class QFrame;
41 class QDoubleSpinBox;
42 class QCheckBox;
43 
44 class DtOceanSettings : public QDialog
45 {
46  Q_OBJECT
47 
48 public:
49  DtOceanSettings(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = Qt::Tool);
50  virtual ~DtOceanSettings();
51 
52 protected:
53  virtual bool showOceanForWaterVehicles() const;
54 
55 protected slots:
56  virtual void windSpeedChanged();
57  virtual void windDirectionChanged();
58  virtual void seaChoppinessChanged();
59  virtual void oceanQualityChanged();
60  virtual void onDaylightSliderMoved();
61  virtual void onViewMagnificationSpinBoxChanged(double);
62  virtual void showOceanForWaterVehiclesChanged();
63 
64 public:
65  QGridLayout* myControlsLayout;
66 
69 
72 
75 
78 
81 
82  QHBoxLayout* myButtonLayout;
84 
86  QSlider* myTimeOfDay;
88 
91 
93 
94 protected:
95  virtual void onDaylightChanged();
96 
98 };
99 
101 {
102  Q_OBJECT
103 
104 public:
106  makVrf::DtEntityFacadeCollection*, makVrv::DtModelSetId modelSet, const Qt::WindowFlags& flags = Qt::Tool);
107  virtual ~DtBuoyancyEditingDialog();
108 
109  virtual void accept();
110  virtual void reject();
111 
112  typedef boost::function<void (double)> SetDoubleFunction;
113  typedef boost::function<void (bool)> SetBoolFunction;
114  typedef boost::function<void (int)> SetIntegerFunction;
115 
116  virtual void addWakeVariable(int row, const std::string& attributeName, SetDoubleFunction function, const QString& displayName,
117  const QString& toolTip, double min, double max, double step, double defaultValue = 0.);
118  virtual void addWakeVariable(int row, const std::string& attributeName, SetIntegerFunction function,
119  const QString& toolTip, const QString& displayName, int min, int max, int defaultValue = 0);
120  virtual void addWakeVariable(int row, const std::string& attributeName, SetBoolFunction function, const QString& displayName, const QString& toolTip);
121 
122  virtual void closeEvent(QCloseEvent*);
123 
124 protected slots:
125  virtual void integerChanged();
126  virtual void boolChanged();
127  virtual void doubleChanged();
128 
129 signals:
130  void buoyancyModified();
131  void buouancyCanceled();
132 
133 protected:
134  virtual void setReadOnly(bool);
135 
136 public:
137  QGridLayout* myControlsLayout;
138 
139  QHBoxLayout* myButtonLayout;
142 
143 protected:
149 
151  {
156  QWidget* myWidget;
161  };
162 
163  std::map<std::string, WakeVariable> myWakeVariables;
164 };
QWidget * myWidget
Definition: buoyancyEditingDialog.h:156
QLabel * myOceanQualityLabel
Definition: buoyancyEditingDialog.h:79
QHBoxLayout * myButtonLayout
Definition: buoyancyEditingDialog.h:82
QLabel * mySeaChoppinessLabel
Definition: buoyancyEditingDialog.h:73
virtual void addWakeVariable(int row, const std::string &attributeName, SetDoubleFunction function, const QString &displayName, const QString &toolTip, double min, double max, double step, double defaultValue=0.)
QPushButton * myOK
Definition: buoyancyEditingDialog.h:140
virtual void doubleChanged()
QComboBox * myOceanQuality
Definition: buoyancyEditingDialog.h:80
makVrv::DtSignalConnectionManager myConnections
Definition: buoyancyEditingDialog.h:148
makVrv::DtSliderDoubleSpinboxWidget * myVelocity
Definition: buoyancyEditingDialog.h:71
makVrv::DtDe & myDe
Definition: buoyancyEditingDialog.h:144
virtual ~DtBuoyancyEditingDialog()
virtual void accept()
virtual void windSpeedChanged()
DtBuoyancyEditingDialog(makVrv::DtDe &de, QWidget *parent, makVrv::DtVisualizerDefinition *def, makVrf::DtEntityFacadeCollection *, makVrv::DtModelSetId modelSet, const Qt::WindowFlags &flags=Qt::Tool)
makVrf::DtEntityFacadeCollection * myFacade
Definition: buoyancyEditingDialog.h:146
makVrv::DtSliderSpinboxWidget * mySeaChoppiness
Definition: buoyancyEditingDialog.h:74
makVrv::DtEntityWakeVisualizer * myWakeVisualizer
Definition: buoyancyEditingDialog.h:147
QLabel * myTimeOfDayDisplay
Definition: buoyancyEditingDialog.h:87
virtual void integerChanged()
SetIntegerFunction integerFunction
Definition: buoyancyEditingDialog.h:152
virtual void onViewMagnificationSpinBoxChanged(double)
boost::function< void(int)> SetIntegerFunction
Definition: buoyancyEditingDialog.h:114
A widget for pairing a horizontal slider with a spinbox. The spin box must be clamped to a min and ma...
Definition: DtSliderSpinboxWidget.h:30
virtual void oceanQualityChanged()
virtual void showOceanForWaterVehiclesChanged()
bool myIsBoolean
Definition: buoyancyEditingDialog.h:159
virtual void windDirectionChanged()
makVrv::DtWindDirectionWidget * myWindDirection
Definition: buoyancyEditingDialog.h:77
QHBoxLayout * myButtonLayout
Definition: buoyancyEditingDialog.h:139
makVrv::DtDe & myDe
Definition: buoyancyEditingDialog.h:97
virtual void closeEvent(QCloseEvent *)
makVrv::DtVisualizerDefinition * myVisualizerDefinition
Definition: buoyancyEditingDialog.h:145
A widget for pairing a wind direction dial with a double spin box.
Definition: DtWindDirectionWidget.h:41
SetBoolFunction boolFunction
Definition: buoyancyEditingDialog.h:154
bool myIsInteger
Definition: buoyancyEditingDialog.h:160
std::map< std::string, WakeVariable > myWakeVariables
Definition: buoyancyEditingDialog.h:163
SetDoubleFunction doubleFunction
Definition: buoyancyEditingDialog.h:153
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
QDoubleSpinBox * myViewMagnificationSpinBox
Definition: buoyancyEditingDialog.h:90
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
QLabel * myWindSpeedLabel
Definition: buoyancyEditingDialog.h:67
virtual void setReadOnly(bool)
bool myIsDouble
Definition: buoyancyEditingDialog.h:158
Definition: buoyancyEditingDialog.h:150
DtOceanSettings(makVrv::DtDe &de, QWidget *parent, const Qt::WindowFlags &flags=Qt::Tool)
QGridLayout * myControlsLayout
Definition: buoyancyEditingDialog.h:137
makVrv::DtSliderDoubleSpinboxWidget * myWindSpeed
Definition: buoyancyEditingDialog.h:68
Will create entity facades for each realized model set and manage them all.
Definition: entityFacadeCollection.h:67
QLabel * myWindDirectionLabel
Definition: buoyancyEditingDialog.h:76
boost::function< void(bool)> SetBoolFunction
Definition: buoyancyEditingDialog.h:113
Base class to provide boost signal/slot management.
A definition of a visualizer. Visualizer definition are always members of a visualizer definition set...
Definition: DtVisualizerDefinition.h:26
virtual bool showOceanForWaterVehicles() const
QCheckBox * myShowOceanForWaterVehicles
Definition: buoyancyEditingDialog.h:92
bool myModified
Definition: buoyancyEditingDialog.h:157
QGridLayout * myControlsLayout
Definition: buoyancyEditingDialog.h:65
QLabel * myVelocityLabel
Definition: buoyancyEditingDialog.h:70
virtual void seaChoppinessChanged()
QLabel * myTimeOfDayLabel
Definition: buoyancyEditingDialog.h:85
QSlider * myTimeOfDay
Definition: buoyancyEditingDialog.h:86
Definition: buoyancyEditingDialog.h:44
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:72
virtual void boolChanged()
Definition: buoyancyEditingDialog.h:100
QLabel * myViewMagnificationLabel
Definition: buoyancyEditingDialog.h:89
QLabel * myLabel
Definition: buoyancyEditingDialog.h:155
DtModelSetId
Definition: DtModelSetEnums.h:19
virtual void onDaylightChanged()
boost::function< void(double)> SetDoubleFunction
Definition: buoyancyEditingDialog.h:112
QPushButton * myOK
Definition: buoyancyEditingDialog.h:83
QPushButton * myCancel
Definition: buoyancyEditingDialog.h:141
virtual ~DtOceanSettings()
Contains various enum classes relating to model sets.
Visualizer for kelvin wakes.
Definition: DtEntityWakeVisualizer.h:26
virtual void reject()
virtual void onDaylightSliderMoved()

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)