59 lines
1.2 KiB
C
59 lines
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;
|
||
|
*/
|
||
|
|
||
|
|
||
|
};
|