@@ -31,7 +31,7 @@ GLWidget::GLWidget(QWidget *parent, ConfigWidget* _cfg)
31
31
: QGLWidget(parent)
32
32
{
33
33
frames = 0 ;
34
- state = 0 ;
34
+ state = CursorMode::STEADY ;
35
35
first_time = true ;
36
36
cfg = _cfg;
37
37
@@ -44,7 +44,7 @@ GLWidget::GLWidget(QWidget *parent, ConfigWidget* _cfg)
44
44
ssl = new SSLWorld (this ,cfg,forms[2 ],forms[2 ]);
45
45
Current_robot = 0 ;
46
46
Current_team = 0 ;
47
- cammode = 0 ;
47
+ cammode = CameraMode::BIRDS_EYE_FROM_TOUCH_LINE ;
48
48
setMouseTracking (true );
49
49
50
50
blueRobotsMenu = new QMenu (" &Blue Robots" );
@@ -127,15 +127,15 @@ void GLWidget::moveRobot()
127
127
{
128
128
ssl->show3DCursor = true ;
129
129
ssl->cursor_radius = cfg->robotSettings .RobotRadius ;
130
- state = 1 ;
130
+ state = CursorMode::PLACE_ROBOT ;
131
131
moving_robot_id = clicked_robot;
132
132
}
133
133
134
134
void GLWidget::unselectRobot ()
135
135
{
136
136
ssl->show3DCursor = false ;
137
137
ssl->cursor_radius = cfg->robotSettings .RobotRadius ;
138
- state = 0 ;
138
+ state = CursorMode::STEADY ;
139
139
moving_robot_id= ssl->robotIndex (Current_robot,Current_team);
140
140
}
141
141
@@ -173,15 +173,15 @@ void GLWidget::moveCurrentRobot()
173
173
{
174
174
ssl->show3DCursor = true ;
175
175
ssl->cursor_radius = cfg->robotSettings .RobotRadius ;
176
- state = 1 ;
176
+ state = CursorMode::PLACE_ROBOT ;
177
177
moving_robot_id = ssl->robotIndex (Current_robot,Current_team);
178
178
}
179
179
180
180
void GLWidget::moveBall ()
181
181
{
182
182
ssl->show3DCursor = true ;
183
183
ssl->cursor_radius = cfg->BallRadius ();
184
- state = 2 ;
184
+ state = CursorMode::PLACE_BALL ;
185
185
}
186
186
187
187
void GLWidget::mousePressEvent (QMouseEvent *event)
@@ -190,22 +190,22 @@ void GLWidget::mousePressEvent(QMouseEvent *event)
190
190
lastPos = event->pos ();
191
191
if (event->buttons () & Qt::LeftButton)
192
192
{
193
- if (state==1 )
193
+ if (state==CursorMode::PLACE_ROBOT )
194
194
{
195
195
if (moving_robot_id!=-1 )
196
196
{
197
197
ssl->robots [moving_robot_id]->setXY (ssl->cursor_x ,ssl->cursor_y );
198
- state = 0 ;
198
+ state = CursorMode::STEADY ;
199
199
ssl->show3DCursor = false ;
200
200
}
201
201
}
202
- else if (state==2 )
202
+ else if (state==CursorMode::PLACE_BALL )
203
203
{
204
204
ssl->ball ->setBodyPosition (ssl->cursor_x ,ssl->cursor_y ,cfg->BallRadius ()*1.1 *20.0 );
205
205
dBodySetAngularVel (ssl->ball ->body ,0 ,0 ,0 );
206
206
dBodySetLinearVel (ssl->ball ->body ,0 ,0 ,0 );
207
207
ssl->show3DCursor = false ;
208
- state = 0 ;
208
+ state = CursorMode::STEADY ;
209
209
}
210
210
else {
211
211
if (ssl->selected >=0 ){
@@ -303,13 +303,13 @@ void GLWidget::mouseMoveEvent(QMouseEvent *event)
303
303
int dy = -(event->y () - lastPos.y ());
304
304
if (event->buttons () & Qt::LeftButton) {
305
305
if (ctrl)
306
- ssl->g ->cameraMotion (4 ,dx,dy);
306
+ ssl->g ->cameraMotion (CameraMotionMode::MOVE_POSITION_FREELY ,dx,dy);
307
307
else
308
- ssl->g ->cameraMotion (1 ,dx,dy);
308
+ ssl->g ->cameraMotion (CameraMotionMode::ROTATE_VIEW_POINT ,dx,dy);
309
309
}
310
310
else if (event->buttons () & Qt::MidButton)
311
311
{
312
- ssl->g ->cameraMotion (2 ,dx,dy);
312
+ ssl->g ->cameraMotion (CameraMotionMode::MOVE_POSITION_LR ,dx,dy);
313
313
}
314
314
lastPos = event->pos ();
315
315
update3DCursor (event->x (),event->y ());
@@ -360,20 +360,20 @@ void GLWidget::step()
360
360
void GLWidget::paintGL ()
361
361
{
362
362
if (!ssl->g ->isGraphicsEnabled ()) return ;
363
- if (cammode==1 )
363
+ if (cammode==CameraMode::CURRENT_ROBOT_VIEW )
364
364
{
365
365
dReal x,y,z;
366
366
int R = ssl->robotIndex (Current_robot,Current_team);
367
367
ssl->robots [R]->getXY (x,y);z = 0.3 ;
368
368
ssl->g ->setViewpoint (x,y,z,ssl->robots [R]->getDir (),-25 ,0 );
369
369
}
370
- if (cammode==- 1 )
370
+ if (cammode==CameraMode::LOCK_TO_ROBOT )
371
371
{
372
372
dReal x,y,z;
373
373
ssl->robots [lockedIndex]->getXY (x,y);z = 0.1 ;
374
374
ssl->g ->lookAt (x,y,z);
375
375
}
376
- if (cammode==- 2 )
376
+ else if (cammode==CameraMode::LOCK_TO_BALL )
377
377
{
378
378
dReal x,y,z;
379
379
ssl->ball ->getBodyPosition (x,y,z);
@@ -400,22 +400,21 @@ void GLWidget::paintGL()
400
400
void GLWidget::changeCameraMode ()
401
401
{
402
402
static dReal xyz[3 ],hpr[3 ];
403
- if (cammode<0 ) cammode=0 ;
404
- else cammode ++;
405
- cammode %= 6 ;
406
- if (cammode==0 )
403
+ if (static_cast <int >(cammode)<0 ) cammode=CameraMode::BIRDS_EYE_FROM_TOUCH_LINE;
404
+ cammode = static_cast <CameraMode>(static_cast <int >(cammode) + 1 );
405
+ cammode = static_cast <CameraMode>(static_cast <int >(cammode)%(static_cast <int >(CameraMode::MAX_ACTIVE_MODE_FOR_CHANGEMODE)+1 ));
406
+
407
+ if (cammode==CameraMode::BIRDS_EYE_FROM_TOUCH_LINE)
407
408
ssl->g ->setViewpoint (0 ,-(cfg->Field_Width ()+cfg->Field_Margin ()*2 .0f )/2 .0f ,3 ,90 ,-45 ,0 );
408
- else if (cammode==1 )
409
- {
409
+ else if (cammode==CameraMode::CURRENT_ROBOT_VIEW)
410
410
ssl->g ->getViewpoint (xyz,hpr);
411
- }
412
- else if (cammode==2 )
411
+ else if (cammode==CameraMode::TOP_VIEW)
413
412
ssl->g ->setViewpoint (0 ,0 ,5 ,0 ,-90 ,0 );
414
- else if (cammode==3 )
413
+ else if (cammode==CameraMode::BIRDS_EYE_FROM_OPPOSITE_TOUCH_LINE )
415
414
ssl->g ->setViewpoint (0 , (cfg->Field_Width ()+cfg->Field_Margin ()*2 .0f )/2 .0f ,3 ,270 ,-45 ,0 );
416
- else if (cammode==4 )
415
+ else if (cammode==CameraMode::BIRDS_EYE_FROM_BLUE )
417
416
ssl->g ->setViewpoint (-(cfg->Field_Length ()+cfg->Field_Margin ()*2 .0f )/2 .0f ,0 ,3 ,0 ,-45 ,0 );
418
- else if (cammode==5 )
417
+ else if (cammode==CameraMode::BIRDS_EYE_FROM_YELLOW )
419
418
ssl->g ->setViewpoint ((cfg->Field_Length ()+cfg->Field_Margin ()*2 .0f )/2 .0f ,0 ,3 ,180 ,-45 ,0 );
420
419
}
421
420
@@ -547,13 +546,13 @@ void GLWidget::moveBallHere()
547
546
548
547
void GLWidget::lockCameraToRobot ()
549
548
{
550
- cammode = - 1 ;
549
+ cammode = CameraMode::LOCK_TO_ROBOT ;
551
550
lockedIndex = ssl->robotIndex (Current_robot,Current_team);// clicked_robot;
552
551
}
553
552
554
553
void GLWidget::lockCameraToBall ()
555
554
{
556
- cammode = - 2 ;
555
+ cammode = CameraMode::LOCK_TO_BALL ;
557
556
}
558
557
559
558
void GLWidget::moveRobotHere ()
0 commit comments