32 #include <eigen3/Eigen/Eigen>
52 double vectorScale, vectorOriginX, vectorOriginY, vectorRotation;
58 float minX, minY, maxX, maxY;
64 double profileTimes[100];
66 vector<vector<vector<int> > > visibilityList;
69 VectorMap(
const char* _mapsFolder){lines.clear(); mapsFolder=string(_mapsFolder);}
70 VectorMap(
const char *name,
const char* _mapsFolder,
bool usePreRender);
73 vector<LineSegment> sortLineSegments(
vector2f &loc, vector<line2f> &lines);
76 int getLineCorrespondence(
vector2f loc,
float angle,
float minRange,
float maxRange,
const std::vector< int >& visibilityList);
78 vector<int> getRayToLineCorrespondences(
vector2f loc,
float angle,
float a0,
float a1,
const std::vector< vector2f > pointCloud,
float minRange,
float maxRange,
bool analytical =
false, vector< line2f >* lines = 0);
80 vector<int> getRayToLineCorrespondences(
vector2f loc,
float a0,
float a1,
float da,
float minRange,
float maxRange);
82 vector<int> getRayToLineCorrespondences(
vector2f loc,
float angle,
float da,
int numRays,
float minRange,
float maxRange,
bool analytical =
false, vector< line2f >* lines = 0);
84 vector<float> getRayCast(
vector2f loc,
float angle,
float da,
int numRays,
float minRange,
float maxRange);
89 vector<int> getSceneLines(
vector2f loc,
float maxRange);
91 bool loadMap(
const char* name,
bool usePreRender);
93 vector<int>* getVisibilityList(
float x,
float y);
94 vector<int>* getVisibilityList(
vector2f loc){
return getVisibilityList(loc.x, loc.y); }
96 vector<line2f> sceneRender(
vector2f loc,
float a0=0.0,
float a1=M_2PI);
Subroutines to spice up stdout.
unsigned int visListWidth
size of the visibilityList array
C++ Interfaces: Triangle3d.
double visListResolution
number of meters per cell in visibilityList array