00001
00002
00003
00004
00005 #ifndef SICK_SCAN_RADAR_OBJECT_MARKER_H
00006 #define SICK_SCAN_RADAR_OBJECT_MARKER_H
00007
00008 #include <pcl_converter/gnuplotPaletteReader.h>
00009
00010 static const unsigned char GLASBEY_LUT[] =
00011 {
00012 255, 255, 255,
00013 0, 0, 255,
00014 255, 0, 0,
00015 0, 255, 0,
00016 0, 0, 51,
00017 255, 0, 182,
00018 0, 83, 0,
00019 255, 211, 0,
00020 0, 159, 255,
00021 154, 77, 66,
00022 0, 255, 190,
00023 120, 63, 193,
00024 31, 150, 152,
00025 255, 172, 253,
00026 177, 204, 113,
00027 241, 8, 92,
00028 254, 143, 66,
00029 221, 0, 255,
00030 32, 26, 1,
00031 114, 0, 85,
00032 118, 108, 149,
00033 2, 173, 36,
00034 200, 255, 0,
00035 136, 108, 0,
00036 255, 183, 159,
00037 133, 133, 103,
00038 161, 3, 0,
00039 20, 249, 255,
00040 0, 71, 158,
00041 220, 94, 147,
00042 147, 212, 255,
00043 0, 76, 255,
00044 0, 66, 80,
00045 57, 167, 106,
00046 238, 112, 254,
00047 0, 0, 100,
00048 171, 245, 204,
00049 161, 146, 255,
00050 164, 255, 115,
00051 255, 206, 113,
00052 71, 0, 21,
00053 212, 173, 197,
00054 251, 118, 111,
00055 171, 188, 0,
00056 117, 0, 215,
00057 166, 0, 154,
00058 0, 115, 254,
00059 165, 93, 174,
00060 98, 132, 2,
00061 0, 121, 168,
00062 0, 255, 131,
00063 86, 53, 0,
00064 159, 0, 63,
00065 66, 45, 66,
00066 255, 242, 187,
00067 0, 93, 67,
00068 252, 255, 124,
00069 159, 191, 186,
00070 167, 84, 19,
00071 74, 39, 108,
00072 0, 16, 166,
00073 145, 78, 109,
00074 207, 149, 0,
00075 195, 187, 255,
00076 253, 68, 64,
00077 66, 78, 32,
00078 106, 1, 0,
00079 181, 131, 84,
00080 132, 233, 147,
00081 96, 217, 0,
00082 255, 111, 211,
00083 102, 75, 63,
00084 254, 100, 0,
00085 228, 3, 127,
00086 17, 199, 174,
00087 210, 129, 139,
00088 91, 118, 124,
00089 32, 59, 106,
00090 180, 84, 255,
00091 226, 8, 210,
00092 0, 1, 20,
00093 93, 132, 68,
00094 166, 250, 255,
00095 97, 123, 201,
00096 98, 0, 122,
00097 126, 190, 58,
00098 0, 60, 183,
00099 255, 253, 0,
00100 7, 197, 226,
00101 180, 167, 57,
00102 148, 186, 138,
00103 204, 187, 160,
00104 55, 0, 49,
00105 0, 40, 1,
00106 150, 122, 129,
00107 39, 136, 38,
00108 206, 130, 180,
00109 150, 164, 196,
00110 180, 32, 128,
00111 110, 86, 180,
00112 147, 0, 185,
00113 199, 48, 61,
00114 115, 102, 255,
00115 15, 187, 253,
00116 172, 164, 100,
00117 182, 117, 250,
00118 216, 220, 254,
00119 87, 141, 113,
00120 216, 85, 34,
00121 0, 196, 103,
00122 243, 165, 105,
00123 216, 255, 182,
00124 1, 24, 219,
00125 52, 66, 54,
00126 255, 154, 0,
00127 87, 95, 1,
00128 198, 241, 79,
00129 255, 95, 133,
00130 123, 172, 240,
00131 120, 100, 49,
00132 162, 133, 204,
00133 105, 255, 220,
00134 198, 82, 100,
00135 121, 26, 64,
00136 0, 238, 70,
00137 231, 207, 69,
00138 217, 128, 233,
00139 255, 211, 209,
00140 209, 255, 141,
00141 36, 0, 3,
00142 87, 163, 193,
00143 211, 231, 201,
00144 203, 111, 79,
00145 62, 24, 0,
00146 0, 117, 223,
00147 112, 176, 88,
00148 209, 24, 0,
00149 0, 30, 107,
00150 105, 200, 197,
00151 255, 203, 255,
00152 233, 194, 137,
00153 191, 129, 46,
00154 69, 42, 145,
00155 171, 76, 194,
00156 14, 117, 61,
00157 0, 30, 25,
00158 118, 73, 127,
00159 255, 169, 200,
00160 94, 55, 217,
00161 238, 230, 138,
00162 159, 54, 33,
00163 80, 0, 148,
00164 189, 144, 128,
00165 0, 109, 126,
00166 88, 223, 96,
00167 71, 80, 103,
00168 1, 93, 159,
00169 99, 48, 60,
00170 2, 206, 148,
00171 139, 83, 37,
00172 171, 0, 255,
00173 141, 42, 135,
00174 85, 83, 148,
00175 150, 255, 0,
00176 0, 152, 123,
00177 255, 138, 203,
00178 222, 69, 200,
00179 107, 109, 230,
00180 30, 0, 68,
00181 173, 76, 138,
00182 255, 134, 161,
00183 0, 35, 60,
00184 138, 205, 0,
00185 111, 202, 157,
00186 225, 75, 253,
00187 255, 176, 77,
00188 229, 232, 57,
00189 114, 16, 255,
00190 111, 82, 101,
00191 134, 137, 48,
00192 99, 38, 80,
00193 105, 38, 32,
00194 200, 110, 0,
00195 209, 164, 255,
00196 198, 210, 86,
00197 79, 103, 77,
00198 174, 165, 166,
00199 170, 45, 101,
00200 199, 81, 175,
00201 255, 89, 172,
00202 146, 102, 78,
00203 102, 134, 184,
00204 111, 152, 255,
00205 92, 255, 159,
00206 172, 137, 178,
00207 210, 34, 98,
00208 199, 207, 147,
00209 255, 185, 30,
00210 250, 148, 141,
00211 49, 34, 78,
00212 254, 81, 97,
00213 254, 141, 100,
00214 68, 54, 23,
00215 201, 162, 84,
00216 199, 232, 240,
00217 68, 152, 0,
00218 147, 172, 58,
00219 22, 75, 28,
00220 8, 84, 121,
00221 116, 45, 0,
00222 104, 60, 255,
00223 64, 41, 38,
00224 164, 113, 215,
00225 207, 0, 155,
00226 118, 1, 35,
00227 83, 0, 88,
00228 0, 82, 232,
00229 43, 92, 87,
00230 160, 217, 146,
00231 176, 26, 229,
00232 29, 3, 36,
00233 122, 58, 159,
00234 214, 209, 207,
00235 160, 100, 105,
00236 106, 157, 160,
00237 153, 219, 113,
00238 192, 56, 207,
00239 125, 255, 89,
00240 149, 0, 34,
00241 213, 162, 223,
00242 22, 131, 204,
00243 166, 249, 69,
00244 109, 105, 97,
00245 86, 188, 78,
00246 255, 109, 81,
00247 255, 3, 248,
00248 255, 0, 73,
00249 202, 0, 35,
00250 67, 109, 18,
00251 234, 170, 173,
00252 191, 165, 0,
00253 38, 44, 51,
00254 85, 185, 2,
00255 121, 182, 158,
00256 254, 236, 212,
00257 139, 165, 89,
00258 141, 254, 193,
00259 0, 60, 43,
00260 63, 17, 40,
00261 255, 221, 246,
00262 17, 26, 146,
00263 154, 66, 84,
00264 149, 157, 238,
00265 126, 130, 72,
00266 58, 6, 101,
00267 189, 117, 101,
00268 };
00269
00270 class RadarObjectMarkerCfg {
00271 public:
00272 bool isPaletteUsed() const
00273 {
00274 return paletteUsed;
00275 }
00276
00277 void setPaletteUsed(bool paletteUsed)
00278 {
00279 RadarObjectMarkerCfg::paletteUsed = paletteUsed;
00280 }
00281
00282 const GnuPlotPalette &getGnuPlotPalette() const
00283 {
00284 return gnuPlotPalette;
00285 }
00286
00287 void setGnuPlotPalette(const GnuPlotPalette &gnuPlotPalette)
00288 {
00289 RadarObjectMarkerCfg::gnuPlotPalette = gnuPlotPalette;
00290 }
00291
00292 const std::string &getPaletteName() const
00293 {
00294 return paletteName;
00295 }
00296
00297 void setPaletteName(const std::string &paletteName)
00298 {
00299 RadarObjectMarkerCfg::paletteName = paletteName;
00300 }
00301 double getPaletteMaxAmpl() const
00302 {
00303 return paletteMaxAmpl;
00304 }
00305
00306 void setPaletteMaxAmpl(double paletteMaxAmpl)
00307 {
00308 RadarObjectMarkerCfg::paletteMaxAmpl = paletteMaxAmpl;
00309 }
00310
00311 double getPaletteMinAmpl() const
00312 {
00313 return paletteMinAmpl;
00314 }
00315
00316 void setPaletteMinAmpl(double paletteMinAmpl)
00317 {
00318 RadarObjectMarkerCfg::paletteMinAmpl = paletteMinAmpl;
00319 }
00320
00321 private:
00322 std::string paletteName;
00323 bool paletteUsed;
00324 GnuPlotPalette gnuPlotPalette;
00325 double paletteMinAmpl;
00326 double paletteMaxAmpl;
00327 };
00328
00329 #endif //SICK_SCAN_RADAR_OBJECT_MARKER_H