Basic Image AlgorithmS Library  2.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
DCData.hh
1 /*
2 This file is part of the BIAS library (Basic ImageAlgorithmS).
3 
4 Copyright (C) 2003, 2004 (see file CONTACTS for details)
5  Multimediale Systeme der Informationsverarbeitung
6  Institut fuer Informatik
7  Christian-Albrechts-Universitaet Kiel
8 
9 
10 BIAS is free software; you can redistribute it and/or modify
11 it under the terms of the GNU Lesser General Public License as published by
12 the Free Software Foundation; either version 2.1 of the License, or
13 (at your option) any later version.
14 
15 BIAS is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU Lesser General Public License for more details.
19 
20 You should have received a copy of the GNU Lesser General Public License
21 along with BIAS; if not, write to the Free Software
22 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 */
24 
25 #ifndef __DCDATA_HH__
26 #define __DCDATA_HH__
27 
28 #include <bias_config.h>
29 
30 #include <iostream>
31 
32 #include <Base/Debug/Debug.hh>
33 #include <Base/Debug/Error.hh>
34 
35 #define D_DC_DATA_CALC 0x0001 // 1
36 
37 namespace BIAS
38 {
39  class BIASImage_EXPORT DC_ptu : public Debug
40  {
41  public:
42  DC_ptu();
43  DC_ptu(const DC_ptu& ptu);
44  ~DC_ptu();
45 
46  void Set(double PanPos, double TiltPos, unsigned long int TimeStamp,
47  unsigned long StartReadTimeStamp,unsigned long StopReadTimeStamp);
48 
49  inline int GetBinaryLength()
50  { return 2*sizeof(double)+3*sizeof(unsigned long); };
51  void ReadBinary(char *data);
52  void WriteBinary(char *data);
53 
54  friend std::istream& operator>>(std::istream& is, DC_ptu& ptu);
55  friend std::ostream& operator<<(std::ostream& os, const DC_ptu& ptu);
56 
57  double PanPos, TiltPos;
58  unsigned int TimeStamp, StartReadTimeStamp, StopReadTimeStamp;
59  };
60 
61  class BIASImage_EXPORT DC_inertial : public Debug
62  {
63  public:
64  DC_inertial();
65  DC_inertial(const DC_inertial& in);
66  ~DC_inertial();
67 
68  void Set(double yaw, double yawrateraw, double yawrateoffset,
69  double speed, double steeringangle);
70 
71  inline int GetBinaryLength()
72  { return 13*sizeof(double)+6*sizeof(int); };
73  void ReadBinary(char *data);
74  void WriteBinary(char *data);
75 
76  friend std::istream& operator>>(std::istream& is, DC_inertial& inert);
77  friend std::ostream&
78  operator<<(std::ostream& os, const DC_inertial& inert);
79 
80  double Yaw, YawRateRaw, YawRateOffset;
81  double SteeringAngle;
82  double Pitch;
83  double Speed;
84  double LongAcceleration, LatAcceleration;
85  int TempomatLever, BlinkLever, SteeringWheelLever;
86  double ArtLeadVehicleDistance, ArtLeadVehicleVelocity, ArtSollVelocity;
87  int ArtFlags;
88  double AcceleratorPedal, EngineSpeed;
89  int Gear, VehicleFlags;
90  };
91 
92  class BIASImage_EXPORT DC_GPS : public Debug
93  {
94  public:
95  DC_GPS();
96  DC_GPS(const DC_GPS& gps);
97  ~DC_GPS();
98 
99  void Set(int framenum, double latPos, double longPos, double azimuth,
100  double speed, double distanceToMap);
101 
102  inline int GetBinaryLength()
103  { return 12*sizeof(double)+sizeof(int); };
104 
105  void ReadBinary(char *data);
106  void WriteBinary(char *data);
107 
108  friend std::istream& operator>>(std::istream& is, DC_GPS& gsp);
109  friend std::ostream& operator<<(std::ostream& os, const DC_GPS& gps);
110 
111  int framenum;
112  double latPos; // latitude
113  double longPos; // longitude
114  double azimuth; // angle to geographic north in rad
115  double offset;
116  double speed;
117  double gpsTime;
118  double curvature;
120  double mapIndex;
122  double yawRateOffset;
124  };
125 
126 } // namespace BIAS
127 
128 #endif // __DCDATA_HH__
double latPos
Definition: DCData.hh:112
double longPos
Definition: DCData.hh:113
double offset
Definition: DCData.hh:115
double TiltPos
Definition: DCData.hh:57
double Pitch
Definition: DCData.hh:82
int GetBinaryLength()
Definition: DCData.hh:102
double ArtSollVelocity
Definition: DCData.hh:86
double speed
Definition: DCData.hh:116
unsigned int TimeStamp
Definition: DCData.hh:58
int framenum
Definition: DCData.hh:111
double LongAcceleration
Definition: DCData.hh:84
double azimuth
Definition: DCData.hh:114
int GetBinaryLength()
Definition: DCData.hh:49
double YawRateRaw
Definition: DCData.hh:80
double SteeringAngle
Definition: DCData.hh:81
double scaleFactorSpeed
Definition: DCData.hh:121
std::ostream & operator<<(std::ostream &os, const Array2D< T > &arg)
Definition: Array2D.hh:260
double mapIndex
Definition: DCData.hh:120
int GetBinaryLength()
Definition: DCData.hh:71
double yawRateOffset
Definition: DCData.hh:122
double curvature
Definition: DCData.hh:118
double EngineSpeed
Definition: DCData.hh:88
double distanceToMap
Definition: DCData.hh:123
holds system time in milliseconds
Definition: TimeStamp.hh:45
double clothoidParameter
Definition: DCData.hh:119
double Speed
Definition: DCData.hh:83
double gpsTime
Definition: DCData.hh:117
BIASCommon_EXPORT std::istream & operator>>(std::istream &is, BIAS::TimeStamp &ts)
Standard input operator for TimeStamps.
Definition: TimeStamp.cpp:157