58 lines
1.4 KiB
Text
58 lines
1.4 KiB
Text
|
#ifndef __GRID_CELL_H__
|
||
|
#define __GRID_CELL_H__
|
||
|
|
||
|
#ifdef _MSC_VER
|
||
|
#define snprintf _snprintf
|
||
|
#undef _STDIO_DEFINED
|
||
|
#define _USE_MATH_DEFINES
|
||
|
#endif
|
||
|
|
||
|
#include "slam6d/scan.h"
|
||
|
#include <cstring>
|
||
|
#include <string>
|
||
|
using std::string;
|
||
|
#include <vector>
|
||
|
using std::vector;
|
||
|
|
||
|
typedef std::vector<char> charv;
|
||
|
typedef std::vector<charv> charvv;
|
||
|
|
||
|
#define CELL_TYPE_INVALID 0x00000001
|
||
|
#define CELL_TYPE_ABOVE_DELTA_R 0x00000002
|
||
|
#define CELL_TYPE_BELOW_DELTA_R 0x00000004
|
||
|
#define CELL_TYPE_ABOVE_DELTA_Y 0x00000008
|
||
|
#define CELL_TYPE_BELOW_DELTA_Y 0x00000010
|
||
|
#define CELL_TYPE_ABOVE_R 0x00000020
|
||
|
#define CELL_TYPE_BELOW_R 0x00000040
|
||
|
#define CELL_TYPE_ABOVE_LIDAR 0x00000080
|
||
|
#define CELL_TYPE_IN_OBSTACLE_RANGE 0x00000100
|
||
|
#define CELL_TYPE_STATIC 0x00000200
|
||
|
#define CELL_TYPE_MOVING 0x00000400
|
||
|
#define CELL_TYPE_GROUND 0x00000800
|
||
|
|
||
|
typedef std::vector<Point*> cell;
|
||
|
typedef std::vector<cell> cellColumn;
|
||
|
typedef std::vector<cellColumn> cellArray;
|
||
|
|
||
|
class cellFeature
|
||
|
{
|
||
|
public:
|
||
|
float ave_x,ave_y,ave_z;
|
||
|
float min_x,min_y,min_z;
|
||
|
float max_x,max_y,max_z;
|
||
|
float delta_y;
|
||
|
|
||
|
int circleNum;
|
||
|
int size;
|
||
|
unsigned int cellType;
|
||
|
cell* pCell;
|
||
|
|
||
|
int columnID;
|
||
|
int cellID;
|
||
|
};
|
||
|
|
||
|
typedef std::vector<cellFeature> cellFeatureColumn;
|
||
|
typedef std::vector<cellFeatureColumn> cellFeatureArray;
|
||
|
|
||
|
#endif //__GRID_CELL_H__
|