3dpcp/include/veloslam/intersection_detection.h
2012-09-16 14:33:11 +02:00

59 lines
No EOL
1.2 KiB
C++

#include "veloslam/gridcell.h"
#include "veloslam/gridcluster.h"
#include "veloslam/svm.h"
float absf(float a);
struct IntersectionFeature
{
float angle;
float slashLength;
int slashEndColumn;
int slashEndRow;
};
class IntersectionDetection
{
public:
IntersectionDetection();
~IntersectionDetection();
int GetPointData();
int CalcRadAndTheta();
int CalPointCellPos(double x,double y,double z ,int * column,int * row);
int CalCellMinDis();
int TransferToCellArray();
int CalcAllCellFeature();
int CalcCellFeature(cell& cellobj, cellFeature& f);
int CalWideSlashEdge_For_RoadShape(float Angle,int startColumID,int startRowID,float maxLength,float wide);
int DetectIntersection();
private:
int cellSize;
int columnNum;
int cellNum;
int MinRad;
int MaxRad;
vector <Point> allPoints_AfterRegstn;
cellArray cellArray_AfterRegstn;
cellFeatureArray cellFeatureArray_AfterRegstn;
float slashWide;
float slashMaxLength;
float slashAngleDefinition;
vector <float> minCellDisList;
vector <IntersectionFeature> intersectionFeature;
/* clusterArray clusterArrayAfterRegstn;
clusterFeatureArray clusterFeatureArray_AfterRegstn;
*/
};