Main MRPT website > C++ reference for MRPT 1.9.9
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes
mrpt::math::TPose2D Struct Reference

Detailed Description

Lightweight 2D pose.

Allows coordinate access using [] operator.

See also
mrpt::poses::CPose2D

Definition at line 186 of file lightweight_geom_data.h.

#include <mrpt/math/lightweight_geom_data.h>

Inheritance diagram for mrpt::math::TPose2D:
Inheritance graph

Public Types

enum  { static_size = 3 }
 

Public Member Functions

 TPose2D (const TPoint2D &p)
 Implicit constructor from TPoint2D. More...
 
 TPose2D (const TPoint3D &p)
 Constructor from TPoint3D, losing information. More...
 
 TPose2D (const TPose3D &p)
 Constructor from TPose3D, losing information. More...
 
 TPose2D (double xx, double yy, double pphi)
 Constructor from coordinates. More...
 
 TPose2D ()
 Default fast constructor. More...
 
double & operator[] (size_t i)
 Coordinate access using operator[]. More...
 
constexpr const double & operator[] (size_t i) const
 Coordinate access using operator[]. More...
 
void getAsVector (std::vector< double > &v) const
 Transformation into vector. More...
 
void asString (std::string &s) const
 Returns a human-readable textual representation of the object (eg: "[x y yaw]", yaw in degrees) More...
 
std::string asString () const
 
mrpt::math::TPose2D operator+ (const mrpt::math::TPose2D &b) const
 Operator "oplus" pose composition: "ret=this \oplus b". More...
 
mrpt::math::TPose2D operator- (const mrpt::math::TPose2D &b) const
 Operator "ominus" pose composition: "ret=this \ominus b". More...
 
mrpt::math::TPoint2D composePoint (const TPoint2D l) const
 
mrpt::math::TPoint2D operator+ (const mrpt::math::TPoint2D &b) const
 
mrpt::math::TPoint2D inverseComposePoint (const TPoint2D g) const
 
double norm () const
 Returns the norm of the (x,y) vector (phi is not used) More...
 
void normalizePhi ()
 Forces "phi" to be in the range [-pi,pi]. More...
 
void fromString (const std::string &s)
 Set the current object value from a string generated by 'asString' (eg: "[0.02 1.04 -45.0]" ) More...
 

Static Public Member Functions

static constexpr size_t size ()
 

Public Attributes

double x
 X,Y coordinates. More...
 
double y
 
double phi
 Orientation (rads) More...
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
static_size 

Definition at line 188 of file lightweight_geom_data.h.

Constructor & Destructor Documentation

◆ TPose2D() [1/5]

mrpt::math::TPose2D::TPose2D ( const TPoint2D p)

Implicit constructor from TPoint2D.

Zeroes the phi coordinate.

See also
TPoint2D

Definition at line 55 of file lightweight_geom_data.cpp.

◆ TPose2D() [2/5]

mrpt::math::TPose2D::TPose2D ( const TPoint3D p)
explicit

Constructor from TPoint3D, losing information.

Zeroes the phi coordinate.

See also
TPoint3D

Definition at line 56 of file lightweight_geom_data.cpp.

◆ TPose2D() [3/5]

mrpt::math::TPose2D::TPose2D ( const TPose3D p)
explicit

Constructor from TPose3D, losing information.

The phi corresponds to the original pose's yaw.

See also
TPose3D

Definition at line 57 of file lightweight_geom_data.cpp.

◆ TPose2D() [4/5]

mrpt::math::TPose2D::TPose2D ( double  xx,
double  yy,
double  pphi 
)
inline

Constructor from coordinates.

Definition at line 215 of file lightweight_geom_data.h.

◆ TPose2D() [5/5]

mrpt::math::TPose2D::TPose2D ( )
inline

Default fast constructor.

Initializes to garbage.

Definition at line 221 of file lightweight_geom_data.h.

Member Function Documentation

◆ asString() [1/2]

void mrpt::math::TPose2D::asString ( std::string s) const

Returns a human-readable textual representation of the object (eg: "[x y yaw]", yaw in degrees)

See also
fromString

Definition at line 58 of file lightweight_geom_data.cpp.

References mrpt::format(), phi, and mrpt::RAD2DEG().

Referenced by mrpt::nav::CAbstractPTGBasedReactive::calc_move_candidate_scores(), and mrpt::nav::CAbstractPTGBasedReactive::performNavigationStep().

◆ asString() [2/2]

std::string mrpt::math::TPose2D::asString ( ) const
inline

Definition at line 267 of file lightweight_geom_data.h.

◆ composePoint()

mrpt::math::TPoint2D mrpt::math::TPose2D::composePoint ( const TPoint2D  l) const
inline

◆ fromString()

void mrpt::math::TPose2D::fromString ( const std::string s)

Set the current object value from a string generated by 'asString' (eg: "[0.02 1.04 -45.0]" )

See also
asString
Exceptions
std::exceptionOn invalid format

Definition at line 62 of file lightweight_geom_data.cpp.

References ASSERTMSG_, mrpt::DEG2RAD(), phi, and THROW_EXCEPTION.

◆ getAsVector()

void mrpt::math::TPose2D::getAsVector ( std::vector< double > &  v) const
inline

Transformation into vector.

Definition at line 255 of file lightweight_geom_data.h.

References phi, x, and y.

◆ inverseComposePoint()

mrpt::math::TPoint2D mrpt::math::TPose2D::inverseComposePoint ( const TPoint2D  g) const
inline

◆ norm()

double mrpt::math::TPose2D::norm ( ) const
inline

Returns the norm of the (x,y) vector (phi is not used)

Definition at line 298 of file lightweight_geom_data.h.

References mrpt::hypot_fast().

◆ normalizePhi()

void mrpt::math::TPose2D::normalizePhi ( )
inline

Forces "phi" to be in the range [-pi,pi].

Definition at line 300 of file lightweight_geom_data.h.

References phi, and mrpt::math::wrapToPi().

◆ operator+() [1/2]

mrpt::math::TPose2D mrpt::math::TPose2D::operator+ ( const mrpt::math::TPose2D b) const

Operator "oplus" pose composition: "ret=this \oplus b".

See also
CPose2D

Definition at line 73 of file lightweight_geom_data.cpp.

References mrpt::math::wrapToPi().

◆ operator+() [2/2]

mrpt::math::TPoint2D mrpt::math::TPose2D::operator+ ( const mrpt::math::TPoint2D b) const
inline

Definition at line 285 of file lightweight_geom_data.h.

References composePoint().

◆ operator-()

mrpt::math::TPose2D mrpt::math::TPose2D::operator- ( const mrpt::math::TPose2D b) const

Operator "ominus" pose composition: "ret=this \ominus b".

See also
CPose2D

Definition at line 85 of file lightweight_geom_data.cpp.

References mrpt::math::wrapToPi().

◆ operator[]() [1/2]

double& mrpt::math::TPose2D::operator[] ( size_t  i)
inline

Coordinate access using operator[].

Order: x,y,phi

Definition at line 223 of file lightweight_geom_data.h.

References phi, x, and y.

◆ operator[]() [2/2]

constexpr const double& mrpt::math::TPose2D::operator[] ( size_t  i) const
inline

Coordinate access using operator[].

Order: x,y,phi

Definition at line 238 of file lightweight_geom_data.h.

References phi, x, and y.

◆ size()

static constexpr size_t mrpt::math::TPose2D::size ( )
inlinestatic

Member Data Documentation

◆ phi

double mrpt::math::TPose2D::phi

Orientation (rads)

Definition at line 195 of file lightweight_geom_data.h.

Referenced by asString(), mrpt::nav::CAbstractPTGBasedReactive::calc_move_candidate_scores(), mrpt::obs::carmen_log_parse_line(), composePoint(), mrpt::maps::COccupancyGridMap2D::determineMatching2D(), mrpt::poses::CRobot2DPoseEstimator::extrapolateRobotPose(), fromString(), mrpt::math::TLine2D::getAsPose2D(), mrpt::math::TLine2D::getAsPose2DForcingOrigin(), getAsVector(), mrpt::poses::CRobot2DPoseEstimator::getCurrentEstimate(), mrpt::kinematics::CVehicleSimulVirtualBase::getCurrentGTVelLocal(), mrpt::kinematics::CVehicleSimulVirtualBase::getCurrentOdometricVelLocal(), mrpt::hwdrivers::CRovio::getPosition(), mrpt::slam::CICP::ICP_Method_Classic(), mrpt::maps::CPointsMap::internal_computeObservationLikelihood(), mrpt::kinematics::CVehicleSimul_Holo::internal_simulControlStep(), mrpt::kinematics::CVehicleSimul_DiffDriven::internal_simulControlStep(), inverseComposePoint(), mrpt::slam::KLF_loadBinFromParticle(), mrpt::graphs::detail::graph_ops< graph_t >::load_graph_of_poses_from_text_file(), mrpt::nav::CParameterizedTrajectoryGenerator::loadFromConfigFile(), normalizePhi(), mrpt::math::operator!=(), mrpt::math::operator==(), operator[](), mrpt::math::project2D(), mrpt::nav::CParameterizedTrajectoryGenerator::saveToConfigFile(), mrpt::tfest::se2_l2(), mrpt::kinematics::CVehicleSimul_Holo::sendVelCmd(), mrpt::kinematics::CVehicleSimulVirtualBase::simulateOneTimeStep(), mrpt::nav::PlannerRRT_SE2_TPS::solve(), TEST(), mrpt::nav::CAbstractNavigator::updateCurrentPoseAndSpeeds(), and mrpt::nav::CWaypointsNavigator::waypoints_navigationStep().

◆ x

double mrpt::math::TPose2D::x

◆ y

double mrpt::math::TPose2D::y



Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at lun oct 28 00:14:14 CET 2019