Lightweight 2D pose.
Allows coordinate access using [] operator.
Definition at line 148 of file lightweight_geom_data.h.
#include <mrpt/math/lightweight_geom_data.h>
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 (const mrpt::poses::CPose2D &p) | |
Implicit constructor from heavyweight type. 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... | |
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... | |
void | composePoint (const TPoint2D l, TPoint2D &g) const |
void | inverseComposePoint (const TPoint2D g, TPoint2D &l) const |
double | norm () const |
Returns the norm of the (x,y) vector (phi is not used) 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 size_t | size () |
Public Attributes | |
double | x |
double | y |
X,Y coordinates. More... | |
double | phi |
Orientation (rads) More... | |
anonymous enum |
Enumerator | |
---|---|
static_size |
Definition at line 149 of file lightweight_geom_data.h.
mrpt::math::TPose2D::TPose2D | ( | const TPoint2D & | p | ) |
Implicit constructor from TPoint2D.
Zeroes the phi coordinate.
Definition at line 60 of file lightweight_geom_data.cpp.
|
explicit |
Constructor from TPoint3D, losing information.
Zeroes the phi coordinate.
Definition at line 61 of file lightweight_geom_data.cpp.
|
explicit |
Constructor from TPose3D, losing information.
The phi corresponds to the original pose's yaw.
Definition at line 62 of file lightweight_geom_data.cpp.
mrpt::math::TPose2D::TPose2D | ( | const mrpt::poses::CPose2D & | p | ) |
Implicit constructor from heavyweight type.
Definition at line 63 of file lightweight_geom_data.cpp.
|
inline |
Constructor from coordinates.
Definition at line 174 of file lightweight_geom_data.h.
|
inline |
Default fast constructor.
Initializes to garbage.
Definition at line 178 of file lightweight_geom_data.h.
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)
Definition at line 64 of file lightweight_geom_data.cpp.
References mrpt::mrpt::format(), phi, and mrpt::mrpt::utils::RAD2DEG().
Referenced by mrpt::nav::CAbstractPTGBasedReactive::calc_move_candidate_scores(), and mrpt::nav::CAbstractPTGBasedReactive::performNavigationStep().
|
inline |
Definition at line 194 of file lightweight_geom_data.h.
References asString().
Referenced by asString().
Definition at line 198 of file lightweight_geom_data.h.
References mrpt::math::TPoint2D::x, and mrpt::math::TPoint2D::y.
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]" )
std::exception | On invalid format |
Definition at line 67 of file lightweight_geom_data.cpp.
References ASSERTMSG_, DEG2RAD, phi, mrpt::mrpt::math::size(), and THROW_EXCEPTION.
|
inline |
Transformation into vector.
Definition at line 186 of file lightweight_geom_data.h.
Definition at line 203 of file lightweight_geom_data.h.
References mrpt::math::TPoint2D::x, and mrpt::math::TPoint2D::y.
Referenced by mrpt::nav::CReactiveNavigationSystem::checkCollisionWithLatestObstacles(), mrpt::nav::CReactiveNavigationSystem3D::checkCollisionWithLatestObstacles(), and mrpt::nav::CParameterizedTrajectoryGenerator::evalClearanceSingleObstacle().
|
inline |
Returns the norm of the (x,y) vector (phi is not used)
Definition at line 209 of file lightweight_geom_data.h.
References mrpt::mrpt::math::hypot_fast().
mrpt::math::TPose2D mrpt::math::TPose2D::operator+ | ( | const mrpt::math::TPose2D & | b | ) | const |
Operator "oplus" pose composition: "ret=this \oplus b".
Definition at line 76 of file lightweight_geom_data.cpp.
References mrpt::math::wrapToPi().
mrpt::math::TPose2D mrpt::math::TPose2D::operator- | ( | const mrpt::math::TPose2D & | b | ) | const |
Operator "ominus" pose composition: "ret=this \ominus b".
Definition at line 87 of file lightweight_geom_data.cpp.
References mrpt::math::wrapToPi().
|
inline |
Coordinate access using operator[].
Order: x,y,phi
Definition at line 180 of file lightweight_geom_data.h.
|
inline |
Coordinate access using operator[].
Order: x,y,phi
Definition at line 182 of file lightweight_geom_data.h.
|
inlinestatic |
Definition at line 218 of file lightweight_geom_data.h.
Referenced by mrpt::maps::CPointsMap::determineMatching2D().
double mrpt::math::TPose2D::phi |
Orientation (rads)
Definition at line 151 of file lightweight_geom_data.h.
Referenced by asString(), mrpt::nav::CAbstractPTGBasedReactive::calc_move_candidate_scores(), mrpt::obs::carmen_log_parse_line(), mrpt::maps::COccupancyGridMap2D::determineMatching2D(), mrpt::poses::CRobot2DPoseEstimator::extrapolateRobotPose(), fromString(), mrpt::poses::CRobot2DPoseEstimator::getCurrentEstimate(), mrpt::kinematics::CVehicleSimulVirtualBase::getCurrentGTVelLocal(), mrpt::kinematics::CVehicleSimulVirtualBase::getCurrentOdometricVelLocal(), mrpt::utils::CRobotSimulator::getPHI(), 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(), mrpt::graphs::detail::graph_ops< graph_t >::load_graph_of_poses_from_text_stream(), mrpt::nav::CParameterizedTrajectoryGenerator::loadFromConfigFile(), mrpt::math::operator!=(), mrpt::math::operator<<(), mrpt::math::operator==(), mrpt::math::operator>>(), mrpt::nav::CParameterizedTrajectoryGenerator::saveToConfigFile(), mrpt::tfest::se2_l2(), mrpt::kinematics::CVehicleSimulVirtualBase::simulateOneTimeStep(), mrpt::nav::PlannerRRT_SE2_TPS::solve(), mrpt::nav::CAbstractNavigator::updateCurrentPoseAndSpeeds(), and mrpt::nav::CWaypointsNavigator::waypoints_navigationStep().
double mrpt::math::TPose2D::x |
Definition at line 150 of file lightweight_geom_data.h.
Referenced by mrpt::nav::CAbstractPTGBasedReactive::calc_move_candidate_scores(), mrpt::obs::carmen_log_parse_line(), mrpt::poses::CPose2D::CPose2D(), mrpt::maps::COccupancyGridMap2D::determineMatching2D(), mrpt::poses::CRobot2DPoseEstimator::extrapolateRobotPose(), mrpt::hwdrivers::CRovio::getPosition(), mrpt::hwdrivers::CRovio::getRovioState(), mrpt::utils::CRobotSimulator::getX(), mrpt::slam::CICP::ICP_Method_Classic(), mrpt::maps::CPointsMap::internal_computeObservationLikelihood(), mrpt::graphs::detail::graph_ops< graph_t >::load_graph_of_poses_from_text_stream(), mrpt::nav::CParameterizedTrajectoryGenerator::loadFromConfigFile(), mrpt::math::operator!=(), mrpt::math::operator<<(), mrpt::math::operator==(), mrpt::math::operator>>(), mrpt::nav::CAbstractNavigator::performNavigationStepNavigating(), mrpt::nav::CParameterizedTrajectoryGenerator::saveToConfigFile(), mrpt::tfest::se2_l2(), mrpt::kinematics::CVehicleSimulVirtualBase::simulateOneTimeStep(), TEST(), mrpt::nav::CParameterizedTrajectoryGenerator::updateNavDynamicState(), and mrpt::nav::CWaypointsNavigator::waypoints_navigationStep().
double mrpt::math::TPose2D::y |
X,Y coordinates.
Definition at line 150 of file lightweight_geom_data.h.
Referenced by mrpt::nav::CAbstractPTGBasedReactive::calc_move_candidate_scores(), mrpt::obs::carmen_log_parse_line(), mrpt::poses::CPose2D::CPose2D(), mrpt::maps::COccupancyGridMap2D::determineMatching2D(), mrpt::poses::CRobot2DPoseEstimator::extrapolateRobotPose(), mrpt::hwdrivers::CRovio::getPosition(), mrpt::utils::CRobotSimulator::getY(), mrpt::slam::CICP::ICP_Method_Classic(), mrpt::maps::CPointsMap::internal_computeObservationLikelihood(), mrpt::graphs::detail::graph_ops< graph_t >::load_graph_of_poses_from_text_stream(), mrpt::nav::CParameterizedTrajectoryGenerator::loadFromConfigFile(), mrpt::math::operator!=(), mrpt::math::operator<<(), mrpt::math::operator==(), mrpt::math::operator>>(), mrpt::nav::CAbstractNavigator::performNavigationStepNavigating(), mrpt::nav::CParameterizedTrajectoryGenerator::saveToConfigFile(), mrpt::tfest::se2_l2(), TEST(), mrpt::nav::CParameterizedTrajectoryGenerator::updateNavDynamicState(), and mrpt::nav::CWaypointsNavigator::waypoints_navigationStep().
Page generated by Doxygen 1.8.14 for MRPT 1.5.7 Git: 5902e14cc Wed Apr 24 15:04:01 2019 +0200 at lun oct 28 01:39:17 CET 2019 |