ArLineFinder Class Reference

#include <ArLineFinder.h>

List of all members.


Detailed Description

This class finds lines out of any range device with raw readings (ArSick for instance).


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.
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.
std::set< ArPosegetNonLinePointsAsSet ()
 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.
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

ArLineFinderSegmentaverageSegments (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
ArRangeDevicemyRangeDevice
double mySinMultiplier
int myValidMaxAveFromLine
int myValidMaxDistFromLine


Member Function Documentation

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.


The documentation for this class was generated from the following file:
Generated on Thu Aug 6 09:39:35 2009 for Aria by  doxygen 1.5.1