Skyscraper 2.0
cameracontrol.h
Go to the documentation of this file.
1/*
2 Skyscraper 2.0 Alpha - Camera Control Form
3 Copyright (C)2004-2024 Ryan Thoryk
4 https://www.skyscrapersim.net
5 https://sourceforge.net/projects/skyscraper/
6 Contact - ryan@skyscrapersim.net
7
8 This program is free software; you can redistribute it and/or
9 modify it under the terms of the GNU General Public License
10 as published by the Free Software Foundation; either version 2
11 of the License, or (at your option) any later version.
12
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21*/
22
23#ifndef CAMERACONTROL_H
24#define CAMERACONTROL_H
25
26//(*Headers(CameraControl)
27#include <wx/button.h>
28#include <wx/checkbox.h>
29#include <wx/dialog.h>
30#include <wx/radiobut.h>
31#include <wx/sizer.h>
32#include <wx/statline.h>
33#include <wx/stattext.h>
34#include <wx/textctrl.h>
35//*)
36
37namespace Skyscraper {
38
39class CameraControl: public wxDialog
40{
41 public:
42
43 CameraControl(DebugPanel* parent,wxWindowID id = -1);
44 virtual ~CameraControl();
45
46 //(*Identifiers(CameraControl)
47 static const long ID_STATICTEXT3;
48 static const long ID_txtDirectionFront;
49 static const long ID_STATICTEXT15;
50 static const long ID_txtDirectionTop;
51 static const long ID_STATICTEXT4;
52 static const long ID_txtCurrentFloor;
53 static const long ID_STATICTEXT5;
54 static const long ID_txtLastMesh;
55 static const long ID_STATICTEXT6;
56 static const long ID_txtDesiredVel;
57 static const long ID_STATICTEXT7;
58 static const long ID_txtVelocity;
59 static const long ID_STATICTEXT8;
60 static const long ID_txtDesiredAngle;
61 static const long ID_STATICTEXT9;
62 static const long ID_txtAngle;
63 static const long ID_STATICTEXT10;
64 static const long ID_txtSpeed;
65 static const long ID_STATICTEXT11;
66 static const long ID_txtMouseDown;
67 static const long ID_STATICTEXT12;
68 static const long ID_txtStartFloor;
69 static const long ID_STATICTEXT13;
70 static const long ID_txtStartPosition;
71 static const long ID_STATICTEXT29;
72 static const long ID_txtFOV;
73 static const long ID_STATICTEXT14;
74 static const long ID_txtGravity;
75 static const long ID_bGravity;
76 static const long ID_lblGravityEnabled;
77 static const long ID_txtGravityEnabled;
78 static const long ID_bGravityEnabled;
79 static const long ID_STATICTEXT17;
80 static const long ID_txtCollisions;
81 static const long ID_bCollisions;
82 static const long ID_STATICTEXT32;
83 static const long ID_txtReportCollisions;
84 static const long ID_bReportCollisions;
85 static const long ID_STATICTEXT19;
86 static const long ID_txtFreelook;
87 static const long ID_bFreelook;
88 static const long ID_STATICTEXT20;
89 static const long ID_txtFreelookSpeed;
90 static const long ID_bFreelookSpeed;
91 static const long ID_STATICTEXT33;
92 static const long ID_txtBinocularsFOV;
93 static const long ID_bBinocularsFOV;
94 static const long ID_STATICTEXT18;
95 static const long ID_txtGotoFloor;
96 static const long ID_bGotoFloor;
97 static const long ID_STATICTEXT1;
98 static const long ID_STATICTEXT2;
99 static const long ID_lblPosition;
100 static const long ID_lblRotation;
101 static const long ID_STATICLINE2;
102 static const long ID_rPosition;
103 static const long ID_rRotation;
104 static const long ID_STATICTEXT28;
105 static const long ID_txtMoveSpeed;
106 static const long ID_bZPlus;
107 static const long ID_bYPlus;
108 static const long ID_bXNeg;
109 static const long ID_chkHold;
110 static const long ID_bXPlus;
111 static const long ID_bZNeg;
112 static const long ID_bYNeg;
113 static const long ID_bStartPosition;
114 static const long ID_bStartRotation;
115 static const long ID_bStartDirection;
116 static const long ID_STATICTEXT16;
117 static const long ID_STATICTEXT21;
118 static const long ID_txtPositionX;
119 static const long ID_bPositionX;
120 static const long ID_STATICTEXT22;
121 static const long ID_txtPositionY;
122 static const long ID_bPositionY;
123 static const long ID_STATICTEXT23;
124 static const long ID_txtPositionZ;
125 static const long ID_bPositionZ;
126 static const long ID_STATICLINE1;
127 static const long ID_STATICTEXT27;
128 static const long ID_STATICTEXT24;
129 static const long ID_txtRotationX;
130 static const long ID_bRotationX;
131 static const long ID_STATICTEXT25;
132 static const long ID_txtRotationY;
133 static const long ID_bRotationY;
134 static const long ID_STATICTEXT26;
135 static const long ID_txtRotationZ;
136 static const long ID_bRotationZ;
137 static const long ID_STATICLINE3;
138 static const long ID_STATICTEXT30;
139 static const long ID_txtSetFOV;
140 static const long ID_bSetFOV;
141 static const long ID_bResetFOV;
142 //*)
143 void Loop();
144
145 protected:
146
147 //(*Handlers(CameraControl)
148 void OnInit(wxInitDialogEvent& event);
149 void On_rPosition_Select(wxCommandEvent& event);
150 void On_rRotation_Select(wxCommandEvent& event);
151 void On_bZPlus_Click(wxCommandEvent& event);
152 void On_bYPlus_Click(wxCommandEvent& event);
153 void On_bXNeg_Click(wxCommandEvent& event);
154 void On_bXPlus_Click(wxCommandEvent& event);
155 void On_bZNeg_Click(wxCommandEvent& event);
156 void On_bYNeg_Click(wxCommandEvent& event);
157 void On_bStartPosition_Click(wxCommandEvent& event);
158 void On_bStartRotation_Click(wxCommandEvent& event);
159 void On_bStartDirection_Click(wxCommandEvent& event);
160 void On_bGravity_Click(wxCommandEvent& event);
161 void On_bGravityEnabled_Click(wxCommandEvent& event);
162 void On_bCollisions_Click(wxCommandEvent& event);
163 void On_bFreelook_Click(wxCommandEvent& event);
164 void On_bFreelookSpeed_Click(wxCommandEvent& event);
165 void On_bPositionX_Click(wxCommandEvent& event);
166 void On_bPositionY_Click(wxCommandEvent& event);
167 void On_bPositionZ_Click(wxCommandEvent& event);
168 void On_bRotationX_Click(wxCommandEvent& event);
169 void On_bRotationY_Click(wxCommandEvent& event);
170 void On_bRotationZ_Click(wxCommandEvent& event);
171 void On_chkHold_Click(wxCommandEvent& event);
172 void On_bSetFOV_Click(wxCommandEvent& event);
173 void On_bResetFOV_Click(wxCommandEvent& event);
174 void On_bGotoFloor_Click(wxCommandEvent& event);
175 void On_bReportCollisions_Click(wxCommandEvent& event);
176 void On_bBinocularsFOV_Click(wxCommandEvent& event);
177 //*)
178 void OnInit();
179
180 //(*Declarations(CameraControl)
181 wxButton* bBinocularsFOV;
182 wxButton* bCollisions;
183 wxButton* bFreelook;
184 wxButton* bFreelookSpeed;
185 wxButton* bGotoFloor;
186 wxButton* bGravity;
188 wxButton* bPositionX;
189 wxButton* bPositionY;
190 wxButton* bPositionZ;
192 wxButton* bResetFOV;
193 wxButton* bRotationX;
194 wxButton* bRotationY;
195 wxButton* bRotationZ;
196 wxButton* bSetFOV;
198 wxButton* bStartPosition;
199 wxButton* bStartRotation;
200 wxButton* bXNeg;
201 wxButton* bXPlus;
202 wxButton* bYNeg;
203 wxButton* bYPlus;
204 wxButton* bZNeg;
205 wxButton* bZPlus;
206 wxCheckBox* chkHold;
207 wxRadioButton* rPosition;
208 wxRadioButton* rRotation;
209 wxStaticLine* StaticLine1;
210 wxStaticLine* StaticLine2;
211 wxStaticLine* StaticLine3;
212 wxStaticText* StaticText10;
213 wxStaticText* StaticText11;
214 wxStaticText* StaticText12;
215 wxStaticText* StaticText13;
216 wxStaticText* StaticText14;
217 wxStaticText* StaticText15;
218 wxStaticText* StaticText16;
219 wxStaticText* StaticText17;
220 wxStaticText* StaticText18;
221 wxStaticText* StaticText19;
222 wxStaticText* StaticText1;
223 wxStaticText* StaticText20;
224 wxStaticText* StaticText21;
225 wxStaticText* StaticText22;
226 wxStaticText* StaticText23;
227 wxStaticText* StaticText24;
228 wxStaticText* StaticText25;
229 wxStaticText* StaticText26;
230 wxStaticText* StaticText27;
231 wxStaticText* StaticText28;
232 wxStaticText* StaticText29;
233 wxStaticText* StaticText2;
234 wxStaticText* StaticText30;
235 wxStaticText* StaticText32;
236 wxStaticText* StaticText33;
237 wxStaticText* StaticText3;
238 wxStaticText* StaticText4;
239 wxStaticText* StaticText5;
240 wxStaticText* StaticText6;
241 wxStaticText* StaticText7;
242 wxStaticText* StaticText8;
243 wxStaticText* StaticText9;
244 wxStaticText* lblGravityEnabled;
245 wxStaticText* lblPosition;
246 wxStaticText* lblRotation;
247 wxTextCtrl* txtAngle;
248 wxTextCtrl* txtBinocularsFOV;
249 wxTextCtrl* txtCollisions;
250 wxTextCtrl* txtCurrentFloor;
251 wxTextCtrl* txtDesiredAngle;
252 wxTextCtrl* txtDesiredVel;
253 wxTextCtrl* txtDirectionFront;
254 wxTextCtrl* txtDirectionTop;
255 wxTextCtrl* txtFOV;
256 wxTextCtrl* txtFreelook;
257 wxTextCtrl* txtFreelookSpeed;
258 wxTextCtrl* txtGotoFloor;
259 wxTextCtrl* txtGravity;
260 wxTextCtrl* txtGravityEnabled;
261 wxTextCtrl* txtLastMesh;
262 wxTextCtrl* txtMouseDown;
263 wxTextCtrl* txtMoveSpeed;
264 wxTextCtrl* txtPositionX;
265 wxTextCtrl* txtPositionY;
266 wxTextCtrl* txtPositionZ;
268 wxTextCtrl* txtRotationX;
269 wxTextCtrl* txtRotationY;
270 wxTextCtrl* txtRotationZ;
271 wxTextCtrl* txtSetFOV;
272 wxTextCtrl* txtSpeed;
273 wxTextCtrl* txtStartFloor;
274 wxTextCtrl* txtStartPosition;
275 wxTextCtrl* txtVelocity;
276 //*)
278
279 private:
280
283
284 DECLARE_EVENT_TABLE()
285};
286
287}
288
289#endif
static const long ID_bPositionX
static const long ID_txtFOV
static const long ID_STATICLINE2
static const long ID_STATICTEXT18
static const long ID_STATICTEXT7
void On_bResetFOV_Click(wxCommandEvent &event)
void On_bYPlus_Click(wxCommandEvent &event)
static const long ID_STATICTEXT9
static const long ID_txtLastMesh
static const long ID_STATICTEXT10
static const long ID_txtCurrentFloor
static const long ID_STATICTEXT30
void On_bFreelook_Click(wxCommandEvent &event)
static const long ID_lblPosition
static const long ID_txtStartPosition
static const long ID_STATICTEXT16
static const long ID_STATICTEXT21
static const long ID_bReportCollisions
static const long ID_STATICLINE3
static const long ID_txtMoveSpeed
static const long ID_bStartPosition
static const long ID_txtGravityEnabled
static const long ID_STATICTEXT8
static const long ID_STATICTEXT13
void On_chkHold_Click(wxCommandEvent &event)
void On_bReportCollisions_Click(wxCommandEvent &event)
static const long ID_STATICTEXT14
static const long ID_txtGotoFloor
void OnInit(wxInitDialogEvent &event)
void On_bStartDirection_Click(wxCommandEvent &event)
static const long ID_STATICTEXT33
static const long ID_bBinocularsFOV
static const long ID_txtPositionY
static const long ID_STATICTEXT19
static const long ID_txtDesiredAngle
static const long ID_txtStartFloor
static const long ID_bZPlus
static const long ID_txtSpeed
static const long ID_bRotationZ
static const long ID_STATICLINE1
wxStaticText * lblGravityEnabled
static const long ID_bPositionZ
static const long ID_STATICTEXT20
static const long ID_txtDesiredVel
static const long ID_bGravity
static const long ID_STATICTEXT32
static const long ID_bYNeg
static const long ID_STATICTEXT24
static const long ID_STATICTEXT15
static const long ID_bFreelook
void On_bPositionZ_Click(wxCommandEvent &event)
static const long ID_bStartDirection
void On_rRotation_Select(wxCommandEvent &event)
void On_bRotationY_Click(wxCommandEvent &event)
static const long ID_STATICTEXT2
void On_rPosition_Select(wxCommandEvent &event)
static const long ID_lblGravityEnabled
void On_bPositionX_Click(wxCommandEvent &event)
static const long ID_txtPositionX
static const long ID_txtAngle
static const long ID_STATICTEXT4
static const long ID_txtReportCollisions
static const long ID_bGotoFloor
static const long ID_txtGravity
static const long ID_bGravityEnabled
static const long ID_bRotationY
void On_bSetFOV_Click(wxCommandEvent &event)
static const long ID_bStartRotation
void On_bPositionY_Click(wxCommandEvent &event)
static const long ID_STATICTEXT6
void On_bYNeg_Click(wxCommandEvent &event)
static const long ID_bCollisions
static const long ID_STATICTEXT27
static const long ID_bResetFOV
void On_bFreelookSpeed_Click(wxCommandEvent &event)
static const long ID_bXPlus
void On_bZNeg_Click(wxCommandEvent &event)
static const long ID_rRotation
static const long ID_txtRotationZ
static const long ID_bSetFOV
void On_bStartPosition_Click(wxCommandEvent &event)
static const long ID_txtDirectionFront
static const long ID_STATICTEXT11
static const long ID_STATICTEXT23
static const long ID_STATICTEXT22
static const long ID_txtSetFOV
static const long ID_STATICTEXT3
static const long ID_bPositionY
static const long ID_STATICTEXT28
static const long ID_bXNeg
void On_bRotationZ_Click(wxCommandEvent &event)
void On_bZPlus_Click(wxCommandEvent &event)
static const long ID_txtMouseDown
static const long ID_lblRotation
void On_bStartRotation_Click(wxCommandEvent &event)
static const long ID_txtPositionZ
static const long ID_bYPlus
static const long ID_STATICTEXT5
static const long ID_STATICTEXT29
static const long ID_chkHold
static const long ID_txtRotationY
static const long ID_txtFreelookSpeed
void On_bBinocularsFOV_Click(wxCommandEvent &event)
void On_bXNeg_Click(wxCommandEvent &event)
static const long ID_bZNeg
void On_bRotationX_Click(wxCommandEvent &event)
static const long ID_bRotationX
static const long ID_STATICTEXT17
static const long ID_txtBinocularsFOV
void On_bGotoFloor_Click(wxCommandEvent &event)
static const long ID_rPosition
static const long ID_STATICTEXT12
CameraControl(DebugPanel *parent, wxWindowID id=-1)
static const long ID_txtCollisions
static const long ID_STATICTEXT26
static const long ID_txtDirectionTop
static const long ID_txtVelocity
void On_bXPlus_Click(wxCommandEvent &event)
static const long ID_STATICTEXT1
static const long ID_STATICTEXT25
static const long ID_txtFreelook
static const long ID_bFreelookSpeed
void On_bGravity_Click(wxCommandEvent &event)
void On_bCollisions_Click(wxCommandEvent &event)
void On_bGravityEnabled_Click(wxCommandEvent &event)
static const long ID_txtRotationX
Ogre::Vector3 Vector3
Definition globals.h:58