~robot3d-team/robot3d/trunk

« back to all changes in this revision

Viewing changes to inc/srCore/simulationInputComponent.h

  • Committer: Anne van Rossum
  • Date: 2010-08-10 15:58:55 UTC
  • Revision ID: anne@gamix-20100810155855-kve7x2vwouagdij9
Initial import

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
                                                                        /* -*-c++-*-
 
2
 * Delta3D Open Source Game and Simulation Engine
 
3
 * Copyright (C) 2005, BMH Associates, Inc.
 
4
 *
 
5
 * Input Component
 
6
 *
 
7
 * @author Lutz Winkler
 
8
 * @author Adrian Friebel
 
9
 */
 
10
#ifndef SIMULATIONINPUTCOMPONENT
 
11
#define SIMULATIONINPUTCOMPONENT
 
12
 
 
13
#include <srCore/export.h>
 
14
#include <srCore/simulationArenaComponent.h>
 
15
#include <srCore/simulationRobotSelectionComponent.h>
 
16
#include <srCore/robot/robotActorBase.h>
 
17
#include <srCore/sensor/cameraSensorBase.h>
 
18
 
 
19
#include <dtGame/baseinputcomponent.h>
 
20
#include <dtGame/gameapplication.h>
 
21
 
 
22
#include <dtDAL/gameeventmanager.h>
 
23
 
 
24
#include <osgViewer/CompositeViewer>
 
25
 
 
26
// TODO: config file where the keyboard layout is saved
 
27
 
 
28
class ROBOT_EXPORT SimulationInputComponent : public dtGame::BaseInputComponent
 
29
{
 
30
   public:
 
31
           SimulationInputComponent(const std::string &name, bool robCtrlEna);
 
32
           void ProcessMessage(const dtGame::Message &message);
 
33
 
 
34
           bool HandleKeyPressed(const dtCore::Keyboard* keyboard,int key);
 
35
           bool HandleButtonPressed(const dtCore::Mouse* mouse, dtCore::Mouse::MouseButton button);
 
36
 
 
37
           void PrintPossibilities();
 
38
   protected:
 
39
      virtual ~SimulationInputComponent();
 
40
 
 
41
   private:
 
42
      void sendMessageToAll(dtDAL::GameEvent &event);
 
43
      void sendMessageToRobot(dtDAL::GameEvent &event);
 
44
 
 
45
      void commMessage();
 
46
 
 
47
      dtCore::RefPtr<dtDAL::GameEvent> commMsg;
 
48
 
 
49
      //Controlling the robot
 
50
      dtCore::RefPtr<dtDAL::GameEvent> mAccelerate;
 
51
      dtCore::RefPtr<dtDAL::GameEvent> mDecelerate;
 
52
      dtCore::RefPtr<dtDAL::GameEvent> mMoveActorUp;
 
53
      dtCore::RefPtr<dtDAL::GameEvent> mMoveActorDown;
 
54
      dtCore::RefPtr<dtDAL::GameEvent> mMoveActorLeft;
 
55
      dtCore::RefPtr<dtDAL::GameEvent> mMoveActorRight;
 
56
 
 
57
      //Environmental controls
 
58
      dtCore::RefPtr<dtDAL::GameEvent> mSavingPicture;
 
59
      dtCore::RefPtr<dtDAL::GameEvent> mSaveScreenShot;
 
60
 
 
61
      //Camera Controls
 
62
      dtCore::RefPtr<dtDAL::GameEvent> mZoomOut;
 
63
      dtCore::RefPtr<dtDAL::GameEvent> mZoomIn;
 
64
      dtCore::RefPtr<dtDAL::GameEvent> mConnectAll;
 
65
      dtCore::RefPtr<dtDAL::GameEvent> mDisconnectAll;
 
66
      dtCore::RefPtr<dtDAL::GameEvent> mCamMoveLeft;
 
67
      dtCore::RefPtr<dtDAL::GameEvent> mCamMoveRight;
 
68
      dtCore::RefPtr<dtDAL::GameEvent> mCamMoveUp;
 
69
      dtCore::RefPtr<dtDAL::GameEvent> mCamMoveDown;
 
70
 
 
71
      dtCore::RefPtr<dtDAL::GameEvent> mTimeScaleChange;
 
72
      dtCore::RefPtr<dtDAL::GameEvent> mSelectRobot;
 
73
      dtCore::RefPtr<dtDAL::GameEvent> mMouseLBClick;
 
74
      dtCore::RefPtr<dtDAL::GameEvent> mSwitchControl;
 
75
 
 
76
      dtCore::RefPtr<dtDAL::GameEvent> mPauseSim;
 
77
      dtCore::RefPtr<dtDAL::GameEvent> mResetSim;
 
78
      dtCore::RefPtr<dtDAL::GameEvent> mDestroyAllActor;
 
79
      dtCore::RefPtr<dtDAL::GameEvent> mDestroyActor;
 
80
      dtCore::RefPtr<dtDAL::GameEvent> mCreateActor;
 
81
 
 
82
      // Controller Controls
 
83
#ifdef PARTNER_ALMENDE
 
84
      dtCore::RefPtr<dtDAL::GameEvent> mToggleLearnToDrive;
 
85
      dtCore::RefPtr<dtDAL::GameEvent> mToggleLearnBinLoc;
 
86
      dtCore::RefPtr<dtDAL::GameEvent> mToggleImageSaliency;
 
87
      dtCore::RefPtr<dtDAL::GameEvent> mToggleAudioSaliency;
 
88
#endif
 
89
 
 
90
      bool takeScreenshot;
 
91
      bool rotAroundRobot;
 
92
      bool robotControlEnabled;
 
93
 
 
94
//      int counter;
 
95
      int ticks;
 
96
 
 
97
//      srCore::ScreenShotCallback* mScreenShotTaker;
 
98
   };
 
99
 
 
100
#endif
 
101