59 lines
1.6 KiB
C
59 lines
1.6 KiB
C
|
#ifndef __GRID_CLUSTER_H__
|
|||
|
#define __GRID_CLUSTER_H__
|
|||
|
|
|||
|
#include "slam6d/scan.h"
|
|||
|
#include "veloslam/gridcell.h"
|
|||
|
|
|||
|
#define CUDE_TYPE_ABOVE_LIDAR 0x00000001
|
|||
|
#define CUDE_TYPE_IN_OBSTACLE_RANGE 0x00000002
|
|||
|
#define CUDE_TYPE_CONTAIN_SICK 0x00000400
|
|||
|
|
|||
|
#define CLUSTER_FEATURE_TYPE_OBJECT 0x00000001
|
|||
|
|
|||
|
#define CLUSTER_TYPE_MOVING_OBJECT 0x00000002
|
|||
|
#define CLUSTER_TYPE_MOVING_OBJECT_PEDESTRIAN 0x00000004
|
|||
|
#define CLUSTER_TYPE_MOVING_OBJECT_BICYCLE 0x00000008
|
|||
|
#define CLUSTER_TYPE_MOVING_OBJECT_CAR 0x00000010
|
|||
|
#define CLUSTER_TYPE_MOVING_OBJECT_ BUS 0x00000020
|
|||
|
|
|||
|
#define CLUSTER_TYPE_STATIC_OBJECT 0x00010000
|
|||
|
#define CLUSTER_TYPE_STATIC_OBJECT_BUILDING 0x00020000
|
|||
|
#define CLUSTER_TYPE_STATIC_OBJECT_BILLBOARD 0x00040000
|
|||
|
#define CLUSTER_TYPE_STATIC_OBJECT_SCULPTURE 0x00080000
|
|||
|
|
|||
|
#define CLUSTER_TYPE_STATIC_OBJECT_PLANT 0x00100000
|
|||
|
#define CLUSTER_TYPE_STATIC_OBJECT_TREE 0x00200000
|
|||
|
#define CLUSTER_TYPE_STATIC_OBJECT_SHRUB 0x00400000
|
|||
|
|
|||
|
class clusterFeature
|
|||
|
{
|
|||
|
public:
|
|||
|
float min_x,min_y,min_z;
|
|||
|
float max_x,max_y,max_z;
|
|||
|
float avg_x, avg_y, avg_z;
|
|||
|
float min_y_x, max_y_x;
|
|||
|
float size_x,size_y,size_z;
|
|||
|
float speed_x, speed_y, speed;
|
|||
|
|
|||
|
float theta, radius;
|
|||
|
int size;
|
|||
|
|
|||
|
float length;
|
|||
|
float width;
|
|||
|
float boxDirection;
|
|||
|
double boxVex[4][2];
|
|||
|
|
|||
|
int frameNO; //in which scan
|
|||
|
int selfID; //which number in clusters
|
|||
|
int trackNO; //which track log it
|
|||
|
|
|||
|
int pointNumber;
|
|||
|
unsigned int clusterType;
|
|||
|
};
|
|||
|
|
|||
|
typedef std::vector<cellFeature*> cluster;
|
|||
|
typedef std::vector<cluster> clusterArray;
|
|||
|
typedef std::vector<clusterFeature> clusterFeatureArray;
|
|||
|
|
|||
|
#endif //__GRID_CLUSTER_H__
|