vrecko
virtual reality framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CarState.h
Go to the documentation of this file.
1 #ifndef CAR_STATE
2 #define CAR_STATE
3 
4 // tento koeficient urcuje, jak moc bude kopec auto zrychlovat
5 // nebo zpomalovat
6 #define HILL_ACC_COEF 3.0
7 
8 // prumerna delka auta
9 #define AVERAGE_CAR_LENGTH 5.0
10 // maximalni sirka auta, mela by byt asi polovina prumerne delky auta
11 #define MAX_CAR_WIDTH 3.0
12 
13 #define MAX_CAR_LENGTH 10.0
14 
15 // prumerne zpomaleni aut za normalni situace;
16 // auto bude zpomalovat vzdy zpomalenim AVERAGE_CAR_DEC, aby se nestavalo, ze by auto
17 // se slabsim brzdami nabouralo do auta se silnejsim brzdami (maximalni
18 // zpomaleni bude pouzito mozna v budoucnu u krizovych situaci); minAcc
19 // bude muset byt u aut aspon 2*AVERAGE_CAR_DEC (a mene); auto bude vzdy zrychlovat
20 // polovinou maximalni miry zrychleni, maximalni mira zrychleni bude
21 // pouzita v budoucnu u predjizdeni
22 #define AVERAGE_CAR_DEC -3.0
23 
24 // konstanta k prevodu uhlu otoceni smeru auta na uhel natoceni kol
25 #define WHEEL_ANGLE_CONST 3.0
26 
27 // stavy svetel:
28 // pro vsechna svetla:
29 #define LIGHT_TURNED_ON 1
30 // vypnuti svetla (nebo nastaveni pocatecniho stavu svetla)
31 #define LIGHT_TURNED_OFF 2
32 // pouze pro blinkry:
33 #define LEFT_BLINKER_TURNED_ON 3
34 #define RIGHT_BLINKER_TURNED_ON 4
35 
36 #include <osg/Vec3>
37 
38 namespace CarSim {
39 
40  struct CarSize {
41  float height;
42  float length;
43  float width;
44  };
45 
46  struct CarState {
47  //zrychleni, ktere by vozidlo melo na rovne vozovce
48  float acc;
49  // rychlost auta
50  float v;
51  // natoceni kol (podle osy normaly auta),
52  // zaporne znaci zatoceni doprava, kladne doleva
53  float wheelAngle;
54  // pozice ve stredu auta
55  osg::Vec3 position;
56  // pozice auta v jeho spodni casti (stred spodni steny
57  // kvadru, ktery obklopuje auto)
58  osg::Vec3 bottomCarPosition;
59  // smer auta
60  osg::Vec3 direction;
61  // normala auta nebo take vyskovy vektor auta
62  osg::Vec3 normal;
63  // maximalni mozne zrychleni auta
64  float maxAcc;
65  // maximalni mozne zpomaleni auta
66  float minAcc;
67  // zda auto stoji (zda se zatahla rucni brzda)
68  bool stoped;
69  // velikost auta
71  // draha urazena v poslednim snimku auta
73  // stav blinkru (bude ho potrebovat CCU)
74  unsigned int blinkLightState;
75  };
76 
77 }
78 
79 #endif
80 
81 
82