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

Modules/ImageProcessor/ImageProcessorTools/SegmentationTools.h File Reference

Declaration of file SegmentationTools.h. More...

#include "Tools/Math/Geometry.h"
#include "Tools/Math/Vector2.h"
#include "Tools/ColorClasses.h"

Include dependency graph for SegmentationTools.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Classes

struct  listed
 implementation of slist : all the objects to be listed must derive from the template class "listed" (use the name of the class as template parameter for normal use) More...

class  slist
class  slist::iterator
struct  figure
 definition of an edge and a linePair : very convenient for mixing both in a list. More...

class  edge
struct  LinePair
class  horLinePair
struct  extLinePair
struct  LinePair2
class  LinePair3
struct  coloredLinePair2

Typedefs

typedef Vector2< int > point
typedef Vector2< double > direction

Functions

point mil (point &v1, point &v2)
 geometrical stuff

double theta2 (point v1, point v2)
double AngleRelativeToHorizontal (const point &pt1, const point &pt2)
 same principle as theta2, but using trigonoetric functions (also more time consuming)

double theta2 (LinePair2 *l1, LinePair2 *l2)
figuregetMin (figure *lp)
 finds the nearest point starting from lp

void createLinearSegment (slist< figure > &lst)
 join the nearest LinePairs in order to make the interpretation of the shape possible

Vector2< double > mil (LinePair2 &lp)
Geometry::Line makeLine (LinePair2 *lp)


Detailed Description

Declaration of file SegmentationTools.h.

Author:
Damien DEOM

Definition in file SegmentationTools.h.


Typedef Documentation

typedef Vector2<int> point
 

Definition at line 24 of file SegmentationTools.h.

Referenced by LinesPercept::add(), GT2004EdgeSpecialist::addCandidate(), RFieldSpecialist::addLinePoint(), RFieldSpecialist::analyzeLines(), GT2004ImageProcessor::calcEdgeAngle(), Geometry::calculateAnglesForPoint(), RBridgeSpecialist::calculateAnglesForPoint(), BoxSpecialist::calculateAnglesForPoint(), Geometry::calculatePointByAngles(), Geometry::calculatePointInImage(), GT2004EdgeSpecialist::checkPoint(), RFieldSpecialist::checkRamp(), Geometry::clipLineWithQuadrangle(), Geometry::clipPointInsideRectange(), Geometry::cohenSutherlandOutCode(), ObservationTable< 280, 200, 25 >::create(), ObservationTable< 280, 200, 25 >::draw(), GT2004SelfLocator::draw(), RFieldSpecialist::drawCircle(), RFieldSpecialist::drawCross(), extLinePair::extLinePair(), RFieldSpecialist::fusionLines(), GT2004SelfLocator::generatePoseTemplates(), SimpleMotionRecognition::getAngleYZ(), ObservationTable< 280, 200, 25 >::getClosestPoint(), ObstaclesModel::getDistanceInCorridor(), Geometry::getDistanceToEdge(), Geometry::getDistanceToLine(), RasterSpecialist::getDistanceToLine(), Geometry::getIntersectionPointsOfLineAndRectangle(), FutureWorldModelGenerator::getMaxRotationForObject(), Polygon::getPoints(), GT2004BasicBehaviorGoForwardToPoint::GT2004BasicBehaviorGoForwardToPoint(), GT2004BasicBehaviorGoToPoint::GT2004BasicBehaviorGoToPoint(), GT2004BasicBehaviorGoToPointAndAvoidObstacles::GT2004BasicBehaviorGoToPointAndAvoidObstacles(), GT2004BasicBehaviorTurnAroundPoint::GT2004BasicBehaviorTurnAroundPoint(), RFieldSpecialist::invokeOnPreScan(), Geometry::isPointInsideRectangle(), RFieldSpecialist::makeLines(), mil(), Pose3D::operator *(), Pose2D::operator *(), RDefaultStrategy::postScan(), extLinePair::pt1(), horLinePair::pt1(), extLinePair::pt2(), horLinePair::pt2(), ObservationTable< 280, 200, 25 >::read(), GT2004ImageProcessor::scan(), extLinePair::toConsider(), horLinePair::toConsider(), edge::toConsider(), GT2004SelfLocator::updateByPoint(), and ObservationTable< 280, 200, 25 >::write().

typedef Vector2<double> direction
 

Definition at line 25 of file SegmentationTools.h.

Referenced by extLinePair::getDirection(), horLinePair::getDirection(), Geometry::Line::Line(), Geometry::Line::normalizeDirection(), and GT2004HeadControl::setJoints().


Function Documentation

point mil point v1,
point v2
[inline]
 

geometrical stuff

Definition at line 34 of file SegmentationTools.h.

References point, Vector2< V >::x, and Vector2< V >::y.

double theta2 point  v1,
point  v2
[inline]
 

Gives a number between 0 and 360 with the same order as v.angle()

Definition at line 41 of file SegmentationTools.h.

References Vector2< V >::x, and Vector2< V >::y.

double AngleRelativeToHorizontal const point pt1,
const point pt2
[inline]
 

same principle as theta2, but using trigonoetric functions (also more time consuming)

Definition at line 61 of file SegmentationTools.h.

References Vector2< V >::x.

double theta2 LinePair2 l1,
LinePair2 l2
[inline]
 

calculate the angle between two lines using theta2

Definition at line 428 of file SegmentationTools.h.

References LinePair2::p1, and LinePair2::p2.

Referenced by RFieldSpecialist::analyzeLines(), RFieldSpecialist::checkRamp(), RFieldSpecialist::fusionLines(), and RFieldSpecialist::makeLines().

figure* getMin figure lp  )  [inline]
 

finds the nearest point starting from lp

Parameters:
lp the starting point
Returns:
the nearest point

Definition at line 449 of file SegmentationTools.h.

References Geometry::distance(), listed< figure >::getNext(), min, and figure::toConsider().

Referenced by createLinearSegment().

Here is the call graph for this function:

void createLinearSegment slist< figure > &  lst  )  [inline]
 

join the nearest LinePairs in order to make the interpretation of the shape possible

Definition at line 484 of file SegmentationTools.h.

References slist< T >::front(), getMin(), slist< T >::getSize(), min, and slist< T >::setLast().

Referenced by RFieldSpecialist::executePostProcessing().

Here is the call graph for this function:

Vector2<double> mil LinePair2 lp  )  [inline]
 

Definition at line 501 of file SegmentationTools.h.

References LinePair2::p1, LinePair2::p2, Vector2< V >::x, and Vector2< V >::y.

Referenced by RFieldSpecialist::fusionLines(), and extLinePair::toConsider().

Geometry::Line makeLine LinePair2 lp  )  [inline]
 

transform a line pair into a line defined into the Geometry library

Definition at line 506 of file SegmentationTools.h.

References Geometry::Line::base, Geometry::Line::direction, LinePair2::p1, LinePair2::p2, Vector2< V >::x, and Vector2< V >::y.

Referenced by RFieldSpecialist::analyzeLines(), and RFieldSpecialist::fusionLines().


Generated on Thu Sep 23 19:59:04 2004 for GT2004 by doxygen 1.3.6