Main MRPT website > C++ reference for MRPT 1.9.9
List of all members | Classes | Public Types | Public Member Functions | Protected Types | Protected Attributes
mrpt::poses::FrameTransformer< DIM > Class Template Referenceabstract

Detailed Description

template<int DIM>
class mrpt::poses::FrameTransformer< DIM >

See docs in FrameTransformerInterface.

This class is an implementation for standalone (non ROS) applications.

See also
FrameTransformerInterface

Definition at line 92 of file FrameTransformer.h.

#include <mrpt/poses/FrameTransformer.h>

Inheritance diagram for mrpt::poses::FrameTransformer< DIM >:
Inheritance graph

Classes

struct  TF_TreeEdge
 

Public Types

typedef FrameTransformerInterface< DIM > base_t
 
typedef SE_traits< DIM >::pose_t pose_t
 This will be mapped to CPose2D (DIM=2) or CPose3D (DIM=3) More...
 
typedef SE_traits< DIM >::lightweight_pose_t lightweight_pose_t
 This will be mapped to mrpt::math::TPose2D (DIM=2) or mrpt::math::TPose3D (DIM=3) More...
 

Public Member Functions

 FrameTransformer ()
 
 ~FrameTransformer ()
 
virtual void sendTransform (const std::string &parent_frame, const std::string &child_frame, const typename base_t::pose_t &child_wrt_parent, const mrpt::system::TTimeStamp &timestamp=mrpt::system::now()) override
 
virtual FrameLookUpStatus lookupTransform (const std::string &target_frame, const std::string &source_frame, typename base_t::lightweight_pose_t &child_wrt_parent, const mrpt::system::TTimeStamp query_time=INVALID_TIMESTAMP, const double timeout_secs=.0) override
 Queries the current pose of target_frame wrt ("as seen from") source_frame. More...
 
FrameLookUpStatus lookupTransform (const std::string &target_frame, const std::string &source_frame, typename base_t::pose_t &child_wrt_parent, const mrpt::system::TTimeStamp query_time=INVALID_TIMESTAMP, const double timeout_secs=.0)
 
virtual void sendTransform (const std::string &parent_frame, const std::string &child_frame, const pose_t &child_wrt_parent, const mrpt::system::TTimeStamp &timestamp=mrpt::system::now())=0
 Publish a time-stampped transform between two frames. More...
 

Protected Types

typedef std::map< std::string, typename mrpt::aligned_containers< std::string, TF_TreeEdge >::map_t > pose_tree_t
 

Protected Attributes

pose_tree_t m_pose_edges_buffer
 

Member Typedef Documentation

◆ base_t

template<int DIM>
typedef FrameTransformerInterface<DIM> mrpt::poses::FrameTransformer< DIM >::base_t

Definition at line 95 of file FrameTransformer.h.

◆ lightweight_pose_t

This will be mapped to mrpt::math::TPose2D (DIM=2) or mrpt::math::TPose3D (DIM=3)

Definition at line 60 of file FrameTransformer.h.

◆ pose_t

template<int DIM>
typedef SE_traits<DIM>::pose_t mrpt::poses::FrameTransformerInterface< DIM >::pose_t
inherited

This will be mapped to CPose2D (DIM=2) or CPose3D (DIM=3)

Definition at line 57 of file FrameTransformer.h.

◆ pose_tree_t

template<int DIM>
typedef std::map<std::string, typename mrpt::aligned_containers< std::string, TF_TreeEdge>::map_t> mrpt::poses::FrameTransformer< DIM >::pose_tree_t
protected

Definition at line 151 of file FrameTransformer.h.

Constructor & Destructor Documentation

◆ FrameTransformer()

template<int DIM>
FrameTransformer::FrameTransformer ( )

Definition at line 41 of file FrameTransformer.cpp.

◆ ~FrameTransformer()

template<int DIM>
FrameTransformer::~FrameTransformer ( )

Definition at line 45 of file FrameTransformer.cpp.

Member Function Documentation

◆ lookupTransform() [1/2]

template<int DIM>
FrameLookUpStatus FrameTransformer::lookupTransform ( const std::string target_frame,
const std::string source_frame,
typename base_t::lightweight_pose_t child_wrt_parent,
const mrpt::system::TTimeStamp  query_time = INVALID_TIMESTAMP,
const double  timeout_secs = .0 
)
overridevirtual

Queries the current pose of target_frame wrt ("as seen from") source_frame.

It tries to return the pose at the given timepoint, unless it is INVALID_TIMESTAMP (default), which means returning the latest know transformation.

Implements mrpt::poses::FrameTransformerInterface< DIM >.

Definition at line 64 of file FrameTransformer.cpp.

Referenced by mrpt::poses::FrameTransformer< 2 >::lookupTransform(), mrpt::nav::CAbstractPTGBasedReactive::performNavigationStep(), and run_tf_test1().

Here is the caller graph for this function:

◆ lookupTransform() [2/2]

template<int DIM>
FrameLookUpStatus mrpt::poses::FrameTransformer< DIM >::lookupTransform ( const std::string target_frame,
const std::string source_frame,
typename base_t::pose_t child_wrt_parent,
const mrpt::system::TTimeStamp  query_time = INVALID_TIMESTAMP,
const double  timeout_secs = .0 
)
inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters
timeout_secsTimeout

Definition at line 114 of file FrameTransformer.h.

◆ sendTransform() [1/2]

template<int DIM>
virtual void mrpt::poses::FrameTransformerInterface< DIM >::sendTransform ( const std::string parent_frame,
const std::string child_frame,
const pose_t child_wrt_parent,
const mrpt::system::TTimeStamp timestamp = mrpt::system::now() 
)
pure virtualinherited

Publish a time-stampped transform between two frames.

◆ sendTransform() [2/2]

template<int DIM>
void FrameTransformer::sendTransform ( const std::string parent_frame,
const std::string child_frame,
const typename base_t::pose_t child_wrt_parent,
const mrpt::system::TTimeStamp timestamp = mrpt::system::now() 
)
overridevirtual

Definition at line 50 of file FrameTransformer.cpp.

Referenced by run_tf_test1().

Here is the caller graph for this function:

Member Data Documentation

◆ m_pose_edges_buffer

template<int DIM>
pose_tree_t mrpt::poses::FrameTransformer< DIM >::m_pose_edges_buffer
protected

Definition at line 152 of file FrameTransformer.h.




Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: ae4571287 Thu Nov 23 00:06:53 2017 +0100 at dom oct 27 23:51:55 CET 2019