Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages | Examples

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).
Examples:

lineFinderExample.cpp.


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.

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.


The documentation for this class was generated from the following files:
Generated on Thu Jan 7 10:34:42 2010 for Aria by  doxygen 1.4.2