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

Pose2D Class Reference

representation for 2D Transformation and Position (Location + Orientation) More...

#include <Pose2D.h>

Inheritance diagram for Pose2D:

Inheritance graph
[legend]
Collaboration diagram for Pose2D:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Pose2D ()
 noargs-constructor

 Pose2D (const double rot, const Vector2< double > &trans)
 constructor from rotation and translation

 Pose2D (const double rot, const double x, const double y)
 constructor from rotation and translation

 Pose2D (const double rot)
 constructor from rotation

 Pose2D (const Vector2< double > &trans)
 constructor from translation

 Pose2D (const Vector2< int > &trans)
 constructor from translation

 Pose2D (const double x, const double y)
 constructor from two translation values

double getAngle () const
 get the Angle

Pose2D fromAngle (const double a)
 set rotation from Angle

double getCos () const
 get the cos of the angle

double getSin () const
 get the sin of the angle

Pose2Doperator= (const Pose2D &other)
 Assignment operator.

 Pose2D (const Pose2D &other)
 Copy constructor.

Vector2< double > operator * (const Vector2< double > &point) const
 Multiplication of a Vector2 with this Pose2D.

bool operator== (const Pose2D &other) const
 Comparison of another pose with this one.

bool operator!= (const Pose2D &other) const
 Comparison of another pose with this one.

Pose2Doperator+= (const Pose2D &other)
 Concatenation of this pose with another pose.

Pose2D operator+ (const Pose2D &other) const
 A concatenation of this pose and another pose.

Pose2D minusDiff (const Pose2D &diff) const
 Subtracts a difference pose from this one to get the source pose.

Pose2Doperator-= (const Pose2D &other)
 Difference of this pose relative to another pose.

Pose2D operator- (const Pose2D &other) const
 Difference of this pose relative to another pose.

Pose2Dconc (const Pose2D &other)
 Concatenation of this pose with another pose.

Pose2Dtranslate (const Vector2< double > &trans)
 Translate this pose by a translation vector.

Pose2Dtranslate (const double x, const double y)
 Translate this pose by a translation vector.

Pose2Drotate (const double angle)
 Rotate this pose by a rotation.


Static Public Member Functions

Pose2D random (const Range< double > &x, const Range< double > &y, const Range< double > &angle)
 The function creates a random pose.


Public Attributes

double rotation
 Rotation as an angle.

Vector2< double > translation
 translation as an vector2


Detailed Description

representation for 2D Transformation and Position (Location + Orientation)

Definition at line 23 of file Pose2D.h.


Constructor & Destructor Documentation

Pose2D::Pose2D  )  [inline]
 

noargs-constructor

Definition at line 33 of file Pose2D.h.

References rotation, and translation.

Referenced by minusDiff(), operator+(), operator-(), and random().

Pose2D::Pose2D const double  rot,
const Vector2< double > &  trans
[inline]
 

constructor from rotation and translation

Parameters:
rot rotation (double)
trans translation (Vector2)

Definition at line 40 of file Pose2D.h.

References rotation, and translation.

Pose2D::Pose2D const double  rot,
const double  x,
const double  y
[inline]
 

constructor from rotation and translation

Parameters:
rot rotation (double)
x translation.x (double)
y translation.y (double)

Definition at line 47 of file Pose2D.h.

References rotation, and translation.

Pose2D::Pose2D const double  rot  )  [inline]
 

constructor from rotation

Parameters:
rot rotation (double)

Definition at line 54 of file Pose2D.h.

References rotation, and translation.

Pose2D::Pose2D const Vector2< double > &  trans  )  [inline]
 

constructor from translation

Parameters:
trans translation (Vector2)

Definition at line 60 of file Pose2D.h.

References rotation, and translation.

Pose2D::Pose2D const Vector2< int > &  trans  )  [inline]
 

constructor from translation

Parameters:
trans translation (Vector2)

Definition at line 66 of file Pose2D.h.

References rotation, and translation.

Pose2D::Pose2D const double  x,
const double  y
[inline]
 

constructor from two translation values

Parameters:
x translation x component
y translation y component

Definition at line 72 of file Pose2D.h.

References rotation, and translation.

Pose2D::Pose2D const Pose2D other  )  [inline]
 

Copy constructor.

Parameters:
other The other vector that is copied to this one

Definition at line 109 of file Pose2D.h.


Member Function Documentation

double Pose2D::getAngle  )  const [inline]
 

get the Angle

Returns:
Angle the Angle which defines the rotation

Definition at line 77 of file Pose2D.h.

References rotation.

Referenced by KalmanConstantSpeedModel::adapt(), GT2004SelfLocator::calcPose(), AngleSymbols::calculateCombinedAngles(), GT2004ObstaclesLocator::determineFreePartsOfGoals(), AngleSymbols::drawAngleShownByLeds(), ChallengeSpecialVision::executeFindOrientation(), ChallengeSpecialVision::executeLearnOrientation(), GT2004ConfigurationSymbols::getOwnKickoffAngleByObstacles(), GT2004SelfLocator::getTemplate(), GT2004HeadControl::simpleLookAtPointOnField(), InvKinWalkingEngine::smoothMotionRequest(), GT2004ConfigurationSymbols::update(), GT2004SelfLocator::updateByOdometry(), and GT2004SelfLocator::updateByPoint().

Pose2D Pose2D::fromAngle const double  a  )  [inline]
 

set rotation from Angle

Returns:
the new Pose2D

Definition at line 83 of file Pose2D.h.

References rotation.

Referenced by GT2004ConfigurationSymbols::update().

double Pose2D::getCos  )  const [inline]
 

get the cos of the angle

Returns:
the cos of the angle

Definition at line 88 of file Pose2D.h.

References rotation.

Referenced by GT2004SelfLocator::calcPose().

double Pose2D::getSin  )  const [inline]
 

get the sin of the angle

Returns:
the sin of the angle

Definition at line 93 of file Pose2D.h.

References rotation.

Referenced by GT2004SelfLocator::calcPose().

Pose2D& Pose2D::operator= const Pose2D other  )  [inline]
 

Assignment operator.

Parameters:
other The other Pose2D that is assigned to this one
Returns:
A reference to this object after the assignment.

Reimplemented in RobotPose.

Definition at line 99 of file Pose2D.h.

References rotation, and translation.

Vector2<double> Pose2D::operator * const Vector2< double > &  point  )  const [inline]
 

Multiplication of a Vector2 with this Pose2D.

Parameters:
point The Vector2 that will be multiplicated with this Pose2D
Returns:
The resulting Vector2

Definition at line 116 of file Pose2D.h.

References point, rotation, translation, Vector2< int >::x, and Vector2< int >::y.

bool Pose2D::operator== const Pose2D other  )  const [inline]
 

Comparison of another pose with this one.

Parameters:
other The other pose that will be compared to this one
Returns:
Whether the two poses are equal.

Definition at line 127 of file Pose2D.h.

References rotation, and translation.

bool Pose2D::operator!= const Pose2D other  )  const [inline]
 

Comparison of another pose with this one.

Parameters:
other The other pose that will be compared to this one
Returns:
Whether the two poses are unequal.

Definition at line 136 of file Pose2D.h.

Pose2D& Pose2D::operator+= const Pose2D other  )  [inline]
 

Concatenation of this pose with another pose.

Parameters:
other The other pose that will be concatenated to this one.
Returns:
A reference to this pose after concatenation.

Definition at line 143 of file Pose2D.h.

References normalize(), rotation, and translation.

Here is the call graph for this function:

Pose2D Pose2D::operator+ const Pose2D other  )  const [inline]
 

A concatenation of this pose and another pose.

Parameters:
other The other pose that will be concatenated to this one.
Returns:
The resulting pose.

Definition at line 155 of file Pose2D.h.

References Pose2D().

Here is the call graph for this function:

Pose2D Pose2D::minusDiff const Pose2D diff  )  const [inline]
 

Subtracts a difference pose from this one to get the source pose.

So if A+B=C is the addition/concatenation, this calculates C-B=A.

Parameters:
diff The difference Pose2D that shall be subtracted.
Returns:
The resulting source pose. Adding diff to it again would give the this pose back.

Definition at line 162 of file Pose2D.h.

References Pose2D(), rotation, translation, Vector2< double >::x, and Vector2< double >::y.

Referenced by KickLogger::execute(), and Parcour::getMotionRequest().

Here is the call graph for this function:

Pose2D& Pose2D::operator-= const Pose2D other  )  [inline]
 

Difference of this pose relative to another pose.

So if A+B=C is the addition/concatenation, this calculates C-A=B.

Parameters:
other The other pose that will be used as origin for the new pose.
Returns:
A reference to this pose after calculating the difference.

Definition at line 177 of file Pose2D.h.

References rotation, and translation.

Pose2D Pose2D::operator- const Pose2D other  )  const [inline]
 

Difference of this pose relative to another pose.

Parameters:
other The other pose that will be used as origin for the new pose.
Returns:
The resulting pose.

Definition at line 188 of file Pose2D.h.

References Pose2D().

Here is the call graph for this function:

Pose2D& Pose2D::conc const Pose2D other  )  [inline]
 

Concatenation of this pose with another pose.

Parameters:
other The other pose that will be concatenated to this one.
Returns:
A reference to this pose after concatenation

Definition at line 195 of file Pose2D.h.

Referenced by InvKinWalkingEngine::executeParameterized(), GT2004WalkingEngine::executeParameterized(), and GT2003MotionNetSpecialActions::executeParameterized().

Pose2D& Pose2D::translate const Vector2< double > &  trans  )  [inline]
 

Translate this pose by a translation vector.

Parameters:
trans Vector to translate with
Returns:
A reference to this pose after translation

Definition at line 202 of file Pose2D.h.

References translation.

Pose2D& Pose2D::translate const double  x,
const double  y
[inline]
 

Translate this pose by a translation vector.

Parameters:
x x component of vector to translate with
y y component of vector to translate with
Returns:
A reference to this pose after translation

Definition at line 213 of file Pose2D.h.

References translation.

Pose2D& Pose2D::rotate const double  angle  )  [inline]
 

Rotate this pose by a rotation.

Parameters:
angle Angle to rotate.
Returns:
A reference to this pose after rotation

Definition at line 224 of file Pose2D.h.

References rotation.

Pose2D Pose2D::random const Range< double > &  x,
const Range< double > &  y,
const Range< double > &  angle
[inline, static]
 

The function creates a random pose.

Parameters:
x The range for x-values of the pose.
y The range for y-values of the pose.
angle The range for the rotation of the pose.

Definition at line 236 of file Pose2D.h.

References Range< T >::max, Range< T >::min, Pose2D(), and random().

Referenced by GT2004SelfLocator::getTemplate(), and Field::randomPose().

Here is the call graph for this function:


Member Data Documentation

double Pose2D::rotation
 

Rotation as an angle.

Definition at line 27 of file Pose2D.h.

Referenced by GT2004HeadControl::beginBallSearchAt(), GT2004HeadControl::calculateClosestLandmark(), InvKinWalkingEngine::calculateLegSpeeds(), GT2004WalkingEngine::calculateLegSpeeds(), GT2004ParametersSet::calculateMergedParameterSet(), ChallengeSymbols::challenge2OptimalRotation(), GTStandardConverter::execute(), ObstacleAvoiderOnGreenFieldERS7::execute(), ObstacleAvoiderOnGreenField::execute(), SpecialPerceptSelfLocator::execute(), CheckerboardDetector::execute(), GT2004CollisionDetector::execute(), GT2004BasicBehaviorGoToPoint::execute(), GT2004BasicBehaviorGoToPointAndAvoidObstacles::execute(), GT2004BasicBehaviorGoForwardToPoint::execute(), GT2004BasicBehaviorTurnAroundPoint::execute(), GT2004BasicBehaviorGoaliePositionReturn::execute(), GT2004BasicBehaviorGoaliePosition::execute(), GT2004BasicBehaviorGoToBallWithoutTurning::execute(), GT2004BasicBehaviorGoToBall::execute(), GT2004PotentialFieldBasicBehaviorOffensiveSupport::execute(), GT2004PotentialFieldBasicBehaviorSupport::execute(), GT2004PotentialFieldBasicBehaviorGoToPose::execute(), GT2004BasicBehaviorNextGT2004ParametersToBeMeasured::execute(), GT2004BasicBehaviorSendCurrentGT2004ParametersAndChooseNext::execute(), GT2004BasicBehaviorMeasureGT2004ParametersBlind::execute(), GT2004BasicBehaviorMeasureGT2004Parameters::execute(), GT2004BasicBehaviorEvolveOmniParameters::execute(), BasicBehaviorStand::execute(), BasicBehaviorWalk::execute(), MSH2004InvKinWalkingEngine::executeParameterized(), InvKinWalkingEngine::executeParameterized(), GT2004WalkingEngine::executeParameterized(), BB2004InvKinWalkingEngine::executeParameterized(), fromAngle(), getAngle(), RobotPoseSymbols::getAngle(), Field::getClosestPoint(), getCos(), EvolutionSymbols::getCurrentGT2004ParametersMeasureBlind(), Parcour::getMotionRequest(), GT2004ParametersSet::getRatio(), GT2004HeadControlSymbols::getRelativeBallSpeedX(), GT2004HeadControlSymbols::getRelativeBallSpeedY(), MotionRecognition::getRobotRotationFromOdometry(), MotionRecognition::getRobotTranslationFromOdometry(), BallSymbols::getSeenRelativeSpeedX(), BallSymbols::getSeenRelativeSpeedY(), getSin(), GT2004ParametersSet::getSpeed(), SimpleBackwardParcour::getTargetPose(), ForwardTurningParcour::getTargetPose(), GT2004BehaviorControl::handleMessage(), GT2004BallLocator::handleSeenBall(), GT2004BallLocator::handleUnseenBall(), GT2004Parameters::interpolate(), BB2004InvKinWalkingEngine::learn(), InvKinWalkingEngine::limitToMaxSpeed(), minusDiff(), GT2004ParametersSet::mirrorThis(), GT2004ObstaclesLocator::moveObstaclesByOdometry(), OdometrySelfLocator::OdometrySelfLocator(), operator *(), operator+=(), operator-=(), operator<<(), operator=(), operator==(), operator>>(), Pose2D(), MotionRequest::printOut(), TeamMessage::read(), Geometry::relative2FieldCoord(), GT2004Parameters::reportRealMotion(), WalkAccelerationRestrictor::restrictAccelerations(), rotate(), LogPlayer::saveCSV(), WalkAccelerationRestrictor::saveLastWalkParameters(), GTStandardConverter::setData(), GT2004ParametersSet::setDirection(), PlayerPose::setPose(), GT2004ParametersSet::setRatio(), GT2004ParametersSet::setSpeed(), InvKinWalkingEngine::smoothMotionRequest(), GT2004WalkingEngine::smoothMotionRequest(), Parcour::update(), OpenChallengeSymbols::update(), EvolutionSymbols::update(), RobotPoseSymbols::updateGoalieDefendPosition(), BB2004InvKinWalkingEngine::updateOdometry(), and TeamMessage::write().

Vector2<double> Pose2D::translation
 

translation as an vector2

Definition at line 30 of file Pose2D.h.

Referenced by Geometry::angleTo(), GT2004HeadControl::beginBallSearchAt(), GT2004SelfLocator::calcPose(), GT2004HeadControl::calculateClosestLandmark(), AngleSymbols::calculateCombinedAngles(), InvKinWalkingEngine::calculateLegSpeeds(), GT2004WalkingEngine::calculateLegSpeeds(), GT2004ParametersSet::calculateMergedParameterSet(), ChallengeSymbols::challenge2OptimalRotation(), ChallengeSymbols::challenge2ShortestPermutation(), ChallengeSymbols::challenge2TargetPositionX(), ChallengeSymbols::challenge2TargetPositionY(), ChallengeSymbols::ChallengeSymbols(), Field::clip(), GT2004StrategySymbols::computeRole(), GT2004ObstaclesLocator::determineNextFreeTeammate(), FieldDimensions::distanceToOwnPenaltyArea(), Field::draw(), ObservationTable< 280, 200, 25 >::draw(), GT2004SelfLocator::draw(), AngleSymbols::drawAngleShownByLeds(), LandmarksPercept::estimateOffsetForFlags(), GT2004FlagSpecialist::estimateOffsetForFlags(), LandmarksPercept::estimateOffsetForGoals(), GT2004StrategySymbols::estimateTimeToReachBall(), GTStandardConverter::execute(), ObstacleAvoiderOnGreenFieldERS7::execute(), ObstacleAvoiderOnGreenField::execute(), SpecialPerceptSelfLocator::execute(), NoOdometrySelfLocator::execute(), GT2004PlayersLocator::execute(), CheckerboardDetector::execute(), GT2004CollisionDetector::execute(), GT2004BasicBehaviorGoToPoint::execute(), GT2004BasicBehaviorGoToPointAndAvoidObstacles::execute(), GT2004BasicBehaviorGoForwardToPoint::execute(), GT2004BasicBehaviorTurnAroundPoint::execute(), GT2004BasicBehaviorGoaliePositionReturn::execute(), GT2004BasicBehaviorGoaliePosition::execute(), GT2004BasicBehaviorGoToBallWithoutTurning::execute(), GT2004BasicBehaviorGoToBall::execute(), GT2004PotentialFieldBasicBehaviorOffensiveSupport::execute(), GT2004PotentialFieldBasicBehaviorSupport::execute(), GT2004PotentialFieldBasicBehaviorGoToPose::execute(), GT2004BasicBehaviorNextGT2004ParametersToBeMeasured::execute(), GT2004BasicBehaviorSendCurrentGT2004ParametersAndChooseNext::execute(), GT2004BasicBehaviorMeasureGT2004ParametersBlind::execute(), GT2004BasicBehaviorMeasureGT2004Parameters::execute(), GT2004BasicBehaviorEvolveOmniParameters::execute(), BasicBehaviorStand::execute(), BasicBehaviorWalk::execute(), MSH2004InvKinWalkingEngine::executeParameterized(), InvKinWalkingEngine::executeParameterized(), GT2004WalkingEngine::executeParameterized(), BB2004InvKinWalkingEngine::executeParameterized(), GT2004StrategySymbols::getAngleToTeammate(), Field::getClosestPoint(), GT2004HeadControlSymbols::getCommunicatedBallDistance(), EvolutionSymbols::getCurrentGT2004ParametersMeasureBlind(), GT2004ParametersSet::getDirection(), RobotPoseSymbols::getDistanceToOwnPenaltyArea(), Parcour::getMotionRequest(), GT2004ConfigurationSymbols::getOwnKickoffXByObstacles(), GT2004ConfigurationSymbols::getOwnKickoffYByObstacles(), GT2004ParametersSet::getRatio(), MotionRecognition::getRobotTranslationFromOdometry(), GT2004ParametersSet::getSpeed(), SimpleBackwardParcour::getTargetPose(), ForwardTurningParcour::getTargetPose(), GT2004SelfLocator::getTemplate(), GT2004Parameters::getValue(), GT2004BehaviorControl::handleMessage(), GT2004Parameters::interpolate(), InvKinWalkingParameters::InvKinWalkingParameters(), Field::isReallyInside(), BB2004InvKinWalkingEngine::learn(), InvKinWalkingEngine::limitToMaxSpeed(), minusDiff(), GT2004ParametersSet::mirrorThis(), GT2004ObstaclesLocator::moveObstaclesByOdometry(), OdometrySelfLocator::OdometrySelfLocator(), operator *(), operator+=(), operator-=(), operator<<(), operator=(), operator==(), operator>>(), Pose2D(), MotionRequest::printOut(), Field::randomPose(), TeamMessage::read(), GT2003MotionNetSpecialActions::readOdometryTable(), RobotPoseSymbols::registerSymbols(), Geometry::relative2FieldCoord(), GT2004Parameters::reportRealMotion(), WalkAccelerationRestrictor::restrictAccelerations(), LogPlayer::saveCSV(), WalkAccelerationRestrictor::saveLastWalkParameters(), GTStandardConverter::setData(), GT2004ParametersSet::setDirection(), PlayerPose::setPose(), GT2004ParametersSet::setRatio(), GT2004ParametersSet::setSpeed(), GT2004Parameters::setValue(), GT2004HeadControl::simpleLookAtPointOnField(), InvKinWalkingEngine::smoothMotionRequest(), GT2004WalkingEngine::smoothMotionRequest(), translate(), Parcour::update(), GT2004ConfigurationSymbols::update(), EvolutionSymbols::update(), GT2004SelfLocator::updateByFlag(), GT2004SelfLocator::updateByGoalPost(), GT2004SelfLocator::updateByOdometry(), GT2004SelfLocator::updateByPoint(), RobotPoseSymbols::updateGoalieDefendPosition(), BB2004InvKinWalkingEngine::updateOdometry(), and TeamMessage::write().


The documentation for this class was generated from the following file:
Generated on Thu Sep 23 20:10:44 2004 for GT2004 by doxygen 1.3.6