Aria
2.8.0
|
This class finds lines out of any range device with raw readings (lasers for instance) More...
#include <ArLineFinder.h>
Public Member Functions | |
void | addToConfig (ArConfig *config, const char *section) |
ArLineFinder (ArRangeDevice *dev) | |
Constructor. | |
std::map< int, ArLineFinderSegment * > * | getLines (void) |
Finds the lines and returns a pointer to ArLineFinder's map of them. More... | |
void | getLinesAndSaveThem (void) |
Gets the lines, then prints them. | |
std::set< ArLineFinderSegment * > | getLinesAsSet () |
Finds the lines, then copies pointers to them them into a new set. | |
ArPose | getLinesTakenPose (void) |
Gets the position the last lines were gotten at. | |
std::map< int, ArPose > * | getNonLinePoints (void) |
Finds the lines, but then returns a pointer to ArLineFinder's map of the points that AREN'T in lines. More... | |
std::set< ArPose > | getNonLinePointsAsSet () |
Finds the lines, and then copies the points that AREN'T in the lines into a new set. | |
bool | getVerbose (void) |
Whether to print verbose information about line decisions. | |
void | saveLast (void) |
Logs all the points and lines from the last getLines. More... | |
void | setLineCombiningParams (int angleTol=30, int linesCloseEnough=75) |
Sets some parameters for line combining. | |
void | setLineCreationParams (int minLineLen=40, int minLinePoints=2) |
Sets some parameters for line creation. | |
void | setLineFilteringParams (int minPointsInLine=3, int minLineLength=75) |
Filter out lines smaller than this. | |
void | setLineValidParams (int maxDistFromLine=30, int maxAveDistFromLine=20) |
Don't let lines happen that have points not close to it. | |
void | setMaxDistBetweenPoints (int maxDistBetweenPoints=0) |
Sets the maximum distance between points that'll still be included in the same line. | |
void | setVerbose (bool verbose) |
Whether to print verbose information about line decisions. | |
virtual | ~ArLineFinder () |
Destructor. | |
Protected Member Functions | |
ArLineFinderSegment * | averageSegments (ArLineFinderSegment *line1, ArLineFinderSegment *line2) |
bool | combineLines () |
void | fillPointsFromLaser (void) |
void | filterLines () |
void | findLines (void) |
Protected Attributes | |
int | myCombiningAngleTol |
int | myCombiningLinesCloseEnough |
int | myFilteringMinLineLength |
int | myFilteringMinPointsInLine |
bool | myFlipped |
bool | myFlippedFound |
std::map< int, ArLineFinderSegment * > * | myLines |
int | myMakingMinLen |
int | myMakingMinPoints |
int | myMaxDistBetweenPoints |
std::map< int, ArPose > * | myNonLinePoints |
std::map< int, ArPose > * | myPoints |
ArPose | myPoseTaken |
bool | myPrinting |
ArRangeDevice * | myRangeDevice |
double | mySinMultiplier |
int | myValidMaxAveFromLine |
int | myValidMaxDistFromLine |
This class finds lines out of any range device with raw readings (lasers for instance)
std::map< int, ArLineFinderSegment * > * ArLineFinder::getLines | ( | void | ) |
Finds the lines and returns a pointer to ArLineFinder's map of them.
Java and Python Wrappers: Not available in Java or Python wrapper libraries.
std::map< int, ArPose > * ArLineFinder::getNonLinePoints | ( | void | ) |
Finds the lines, but then returns a pointer to ArLineFinder's map of the points that AREN'T in lines.
Java and Python Wrappers: Not available in Java or Python wrapper libraries.
void ArLineFinder::saveLast | ( | void | ) |
Logs all the points and lines from the last getLines.
Saves the points in the "points" with all the points file in the current directory and saves the "lines" file with the final lines in the current directory.