tf2_eigen  master
Eigen binding for tf2.
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
tf2 Namespace Reference

Namespaces

 impl
 

Classes

class  BufferCore
 
class  BufferCoreInterface
 
class  ConnectivityException
 
class  ExtrapolationException
 
class  InvalidArgumentException
 
class  LookupException
 
class  Matrix3x3
 
struct  Matrix3x3DoubleData
 
struct  Matrix3x3FloatData
 
class  Quaternion
 
class  Stamped
 
class  StaticCache
 
class  tf2Vector4
 
class  TimeCache
 
class  TimeCacheInterface
 
class  TimeoutException
 
class  Transform
 
struct  TransformDoubleData
 
class  TransformException
 
struct  TransformFloatData
 
class  TransformStorage
 
struct  Vector3DoubleData
 
struct  Vector3FloatData
 
class  WithCovarianceStamped
 

Typedefs

typedef std::pair< TimePoint, CompactFrameIDP_TimeAndFrameID
 
typedef uint64_t TransformableRequestHandle
 
typedef std::shared_ptr< TimeCacheInterfaceTimeCacheInterfacePtr
 
typedef std::chrono::nanoseconds Duration
 
typedef std::chrono::time_point< std::chrono::system_clock, DurationTimePoint
 
typedef std::chrono::duration< int, std::nanoIDuration
 
typedef uint32_t CompactFrameID
 

Enumerations

enum  TransformableResult
 
enum  TF2Error {
  TF2Error::NO_ERROR, TF2Error::LOOKUP_ERROR, TF2Error::CONNECTIVITY_ERROR, TF2Error::EXTRAPOLATION_ERROR,
  TF2Error::INVALID_ARGUMENT_ERROR, TF2Error::TIMEOUT_ERROR, TF2Error::TRANSFORM_ERROR
}
 

Functions

void doTransform (const T &data_in, T &data_out, const geometry_msgs::msg::TransformStamped &transform)
 
tf2::TimePoint getTimestamp (const T &t)
 
std::string getFrameId (const T &t)
 
std::array< std::array< double, 6 >, 6 > getCovarianceMatrix (const T &t)
 
tf2::TimePoint getTimestamp (const tf2::Stamped< P > &t)
 
std::string getFrameId (const tf2::Stamped< P > &t)
 
std::array< std::array< double, 6 >, 6 > getCovarianceMatrix (const tf2::WithCovarianceStamped< P > &t)
 
toMsg (const A &a)
 
void fromMsg (const A &, B &b)
 
void convert (const A &a, B &b)
 
void convert (const A &a1, A &a2)
 
std::array< std::array< double, 6 >, 6 > covarianceRowMajorToNested (const std::array< double, 36 > &row_major)
 
std::array< double, 36 > covarianceNestedToRowMajor (const std::array< std::array< double, 6 >, 6 > &nested_array)
 
TF2SIMD_FORCE_INLINE Vector3 operator* (const Matrix3x3 &m, const Vector3 &v)
 
TF2SIMD_FORCE_INLINE Vector3 operator* (const Vector3 &v, const Matrix3x3 &m)
 
TF2SIMD_FORCE_INLINE Matrix3x3 operator* (const Matrix3x3 &m1, const Matrix3x3 &m2)
 
TF2SIMD_FORCE_INLINE bool operator== (const Matrix3x3 &m1, const Matrix3x3 &m2)
 
 ATTRIBUTE_ALIGNED16 (class) QuadWord
 
TF2SIMD_FORCE_INLINE Quaternion operator- (const Quaternion &q)
 
TF2SIMD_FORCE_INLINE Quaternion operator* (const Quaternion &q1, const Quaternion &q2)
 
TF2SIMD_FORCE_INLINE Quaternion operator* (const Quaternion &q, const Vector3 &w)
 
TF2SIMD_FORCE_INLINE Quaternion operator* (const Vector3 &w, const Quaternion &q)
 
TF2SIMD_FORCE_INLINE tf2Scalar dot (const Quaternion &q1, const Quaternion &q2)
 
TF2SIMD_FORCE_INLINE tf2Scalar length (const Quaternion &q)
 
TF2SIMD_FORCE_INLINE tf2Scalar angle (const Quaternion &q1, const Quaternion &q2)
 
TF2SIMD_FORCE_INLINE tf2Scalar angleShortestPath (const Quaternion &q1, const Quaternion &q2)
 
TF2SIMD_FORCE_INLINE Quaternion inverse (const Quaternion &q)
 
TF2SIMD_FORCE_INLINE Quaternion slerp (const Quaternion &q1, const Quaternion &q2, const tf2Scalar &t)
 
TF2SIMD_FORCE_INLINE Vector3 quatRotate (const Quaternion &rotation, const Vector3 &v)
 
TF2SIMD_FORCE_INLINE Quaternion shortestArcQuat (const Vector3 &v0, const Vector3 &v1)
 
TF2SIMD_FORCE_INLINE Quaternion shortestArcQuatNormalize2 (Vector3 &v0, Vector3 &v1)
 
TF2SIMD_FORCE_INLINE bool operator== (const Transform &t1, const Transform &t2)
 
TF2SIMD_FORCE_INLINE Vector3 operator+ (const Vector3 &v1, const Vector3 &v2)
 
TF2SIMD_FORCE_INLINE Vector3 operator* (const Vector3 &v1, const Vector3 &v2)
 
TF2SIMD_FORCE_INLINE Vector3 operator- (const Vector3 &v1, const Vector3 &v2)
 
TF2SIMD_FORCE_INLINE Vector3 operator- (const Vector3 &v)
 
TF2SIMD_FORCE_INLINE Vector3 operator* (const Vector3 &v, const tf2Scalar &s)
 
TF2SIMD_FORCE_INLINE Vector3 operator* (const tf2Scalar &s, const Vector3 &v)
 
TF2SIMD_FORCE_INLINE Vector3 operator/ (const Vector3 &v, const tf2Scalar &s)
 
TF2SIMD_FORCE_INLINE Vector3 operator/ (const Vector3 &v1, const Vector3 &v2)
 
TF2SIMD_FORCE_INLINE tf2Scalar tf2Dot (const Vector3 &v1, const Vector3 &v2)
 
TF2SIMD_FORCE_INLINE tf2Scalar tf2Distance2 (const Vector3 &v1, const Vector3 &v2)
 
TF2SIMD_FORCE_INLINE tf2Scalar tf2Distance (const Vector3 &v1, const Vector3 &v2)
 
TF2SIMD_FORCE_INLINE tf2Scalar tf2Angle (const Vector3 &v1, const Vector3 &v2)
 
TF2SIMD_FORCE_INLINE Vector3 tf2Cross (const Vector3 &v1, const Vector3 &v2)
 
TF2SIMD_FORCE_INLINE tf2Scalar tf2Triple (const Vector3 &v1, const Vector3 &v2, const Vector3 &v3)
 
TF2SIMD_FORCE_INLINE Vector3 lerp (const Vector3 &v1, const Vector3 &v2, const tf2Scalar &t)
 
TF2SIMD_FORCE_INLINE void tf2SwapScalarEndian (const tf2Scalar &sourceVal, tf2Scalar &destVal)
 
TF2SIMD_FORCE_INLINE void tf2SwapVector3Endian (const Vector3 &sourceVec, Vector3 &destVec)
 
TF2SIMD_FORCE_INLINE void tf2UnSwapVector3Endian (Vector3 &vector)
 
TF2SIMD_FORCE_INLINE void tf2PlaneSpace1 (const Vector3 &n, Vector3 &p, Vector3 &q)
 
TimePoint get_now ()
 
Duration durationFromSec (double t_sec)
 
TimePoint timeFromSec (double t_sec)
 
double durationToSec (const tf2::Duration &input)
 
double timeToSec (const TimePoint &timepoint)
 
std::string displayTimePoint (const TimePoint &stamp)
 
bool operator== (const Stamped< T > &a, const Stamped< T > &b)
 
bool operator== (const WithCovarianceStamped< T > &a, const WithCovarianceStamped< T > &b)
 
void getEulerYPR (const A &a, double &yaw, double &pitch, double &roll)
 
double getYaw (const A &a)
 
getTransformIdentity ()
 
Eigen::Isometry3d transformToEigen (const geometry_msgs::msg::Transform &t)
 Convert a timestamped transform to the equivalent Eigen data type. More...
 
Eigen::Isometry3d transformToEigen (const geometry_msgs::msg::TransformStamped &t)
 Convert a timestamped transform to the equivalent Eigen data type. More...
 
geometry_msgs::msg::TransformStamped eigenToTransform (const Eigen::Affine3d &T)
 Convert an Eigen Affine3d transform to the equivalent geometry_msgs message type. More...
 
geometry_msgs::msg::TransformStamped eigenToTransform (const Eigen::Isometry3d &T)
 Convert an Eigen Isometry3d transform to the equivalent geometry_msgs message type. More...
 
template<>
void doTransform (const Eigen::Vector3d &t_in, Eigen::Vector3d &t_out, const geometry_msgs::msg::TransformStamped &transform)
 Apply a geometry_msgs TransformStamped to an Eigen-specific Vector3d type. This function is a specialization of the doTransform template defined in tf2/convert.h, although it can not be used in tf2_ros::BufferInterface::transform because this functions rely on the existence of a time stamp and a frame id in the type which should get transformed. More...
 
geometry_msgs::msg::Point toMsg (const Eigen::Vector3d &in)
 Convert a Eigen Vector3d type to a Point message. This function is a specialization of the toMsg template defined in tf2/convert.h. More...
 
void fromMsg (const geometry_msgs::msg::Point &msg, Eigen::Vector3d &out)
 Convert a Point message type to a Eigen-specific Vector3d type. This function is a specialization of the fromMsg template defined in tf2/convert.h. More...
 
geometry_msgs::msg::Vector3 & toMsg (const Eigen::Vector3d &in, geometry_msgs::msg::Vector3 &out)
 Convert an Eigen Vector3d type to a Vector3 message. This function is a specialization of the toMsg template defined in tf2/convert.h. More...
 
void fromMsg (const geometry_msgs::msg::Vector3 &msg, Eigen::Vector3d &out)
 Convert a Vector3 message type to a Eigen-specific Vector3d type. This function is a specialization of the fromMsg template defined in tf2/convert.h. More...
 
template<>
void doTransform (const tf2::Stamped< Eigen::Vector3d > &t_in, tf2::Stamped< Eigen::Vector3d > &t_out, const geometry_msgs::msg::TransformStamped &transform)
 Apply a geometry_msgs TransformStamped to an Eigen-specific Vector3d type. This function is a specialization of the doTransform template defined in tf2/convert.h. More...
 
geometry_msgs::msg::PointStamped toMsg (const tf2::Stamped< Eigen::Vector3d > &in)
 Convert a stamped Eigen Vector3d type to a PointStamped message. This function is a specialization of the toMsg template defined in tf2/convert.h. More...
 
void fromMsg (const geometry_msgs::msg::PointStamped &msg, tf2::Stamped< Eigen::Vector3d > &out)
 Convert a PointStamped message type to a stamped Eigen-specific Vector3d type. This function is a specialization of the fromMsg template defined in tf2/convert.h. More...
 
template<>
void doTransform (const Eigen::Affine3d &t_in, Eigen::Affine3d &t_out, const geometry_msgs::msg::TransformStamped &transform)
 Apply a geometry_msgs Transform to an Eigen Affine3d transform. This function is a specialization of the doTransform template defined in tf2/convert.h, although it can not be used in tf2_ros::BufferInterface::transform because this function relies on the existence of a time stamp and a frame id in the type which should get transformed. More...
 
template<>
void doTransform (const Eigen::Isometry3d &t_in, Eigen::Isometry3d &t_out, const geometry_msgs::msg::TransformStamped &transform)
 
geometry_msgs::msg::Quaternion toMsg (const Eigen::Quaterniond &in)
 Convert a Eigen Quaterniond type to a Quaternion message. This function is a specialization of the toMsg template defined in tf2/convert.h. More...
 
void fromMsg (const geometry_msgs::msg::Quaternion &msg, Eigen::Quaterniond &out)
 Convert a Quaternion message type to a Eigen-specific Quaterniond type. This function is a specialization of the fromMsg template defined in tf2/convert.h. More...
 
template<>
void doTransform (const Eigen::Quaterniond &t_in, Eigen::Quaterniond &t_out, const geometry_msgs::msg::TransformStamped &transform)
 Apply a geometry_msgs TransformStamped to an Eigen-specific Quaterniond type. This function is a specialization of the doTransform template defined in tf2/convert.h, although it can not be used in tf2_ros::BufferInterface::transform because this functions rely on the existence of a time stamp and a frame id in the type which should get transformed. More...
 
geometry_msgs::msg::QuaternionStamped toMsg (const Stamped< Eigen::Quaterniond > &in)
 Convert a stamped Eigen Quaterniond type to a QuaternionStamped message. This function is a specialization of the toMsg template defined in tf2/convert.h. More...
 
void fromMsg (const geometry_msgs::msg::QuaternionStamped &msg, Stamped< Eigen::Quaterniond > &out)
 Convert a QuaternionStamped message type to a stamped Eigen-specific Quaterniond type. This function is a specialization of the fromMsg template defined in tf2/convert.h. More...
 
template<>
void doTransform (const tf2::Stamped< Eigen::Quaterniond > &t_in, tf2::Stamped< Eigen::Quaterniond > &t_out, const geometry_msgs::msg::TransformStamped &transform)
 Apply a geometry_msgs TransformStamped to an Eigen-specific Quaterniond type. This function is a specialization of the doTransform template defined in tf2/convert.h. More...
 
geometry_msgs::msg::Pose toMsg (const Eigen::Affine3d &in)
 Convert a Eigen Affine3d transform type to a Pose message. This function is a specialization of the toMsg template defined in tf2/convert.h. More...
 
geometry_msgs::msg::Pose toMsg (const Eigen::Isometry3d &in)
 Convert a Eigen Isometry3d transform type to a Pose message. This function is a specialization of the toMsg template defined in tf2/convert.h. More...
 
geometry_msgs::msg::Vector3 toMsg2 (const Eigen::Vector3d &in)
 Convert a Eigen::Vector3d type to a geometry_msgs::msg::Vector3. This function is a specialization of the toMsg template defined in tf2/convert.h. The function was renamed to toMsg2 to avoid overloading conflicts with definitions above. More...
 
void fromMsg (const geometry_msgs::msg::Pose &msg, Eigen::Affine3d &out)
 Convert a Pose message transform type to a Eigen Affine3d. This function is a specialization of the toMsg template defined in tf2/convert.h. More...
 
void fromMsg (const geometry_msgs::msg::Pose &msg, Eigen::Isometry3d &out)
 Convert a Pose message transform type to a Eigen Isometry3d. This function is a specialization of the toMsg template defined in tf2/convert.h. More...
 
geometry_msgs::msg::Twist toMsg (const Eigen::Matrix< double, 6, 1 > &in)
 Convert a Eigen 6x1 Matrix type to a Twist message. This function is a specialization of the toMsg template defined in tf2/convert.h. More...
 
void fromMsg (const geometry_msgs::msg::Twist &msg, Eigen::Matrix< double, 6, 1 > &out)
 Convert a Twist message transform type to a Eigen 6x1 Matrix. This function is a specialization of the toMsg template defined in tf2/convert.h. More...
 
template<>
void doTransform (const tf2::Stamped< Eigen::Affine3d > &t_in, tf2::Stamped< Eigen::Affine3d > &t_out, const geometry_msgs::msg::TransformStamped &transform)
 Apply a geometry_msgs TransformStamped to an Eigen Affine3d transform. This function is a specialization of the doTransform template defined in tf2/convert.h, although it can not be used in tf2_ros::BufferInterface::transform because this function relies on the existence of a time stamp and a frame id in the type which should get transformed. More...
 
template<>
void doTransform (const tf2::Stamped< Eigen::Isometry3d > &t_in, tf2::Stamped< Eigen::Isometry3d > &t_out, const geometry_msgs::msg::TransformStamped &transform)
 Apply a geometry_msgs TransformStamped to an Eigen Isometry transform. This function is a specialization of the doTransform template defined in tf2/convert.h, although it can not be used in tf2_ros::BufferInterface::transform because this function relies on the existence of a time stamp and a frame id in the type which should get transformed. More...
 
geometry_msgs::msg::PoseStamped toMsg (const tf2::Stamped< Eigen::Affine3d > &in)
 Convert a stamped Eigen Affine3d transform type to a Pose message. This function is a specialization of the toMsg template defined in tf2/convert.h. More...
 
geometry_msgs::msg::PoseStamped toMsg (const tf2::Stamped< Eigen::Isometry3d > &in)
 
void fromMsg (const geometry_msgs::msg::PoseStamped &msg, tf2::Stamped< Eigen::Affine3d > &out)
 Convert a Pose message transform type to a stamped Eigen Affine3d. This function is a specialization of the toMsg template defined in tf2/convert.h. More...
 
void fromMsg (const geometry_msgs::msg::PoseStamped &msg, tf2::Stamped< Eigen::Isometry3d > &out)
 

Variables

 TransformAvailable
 
 TransformFailure
 
constexpr tf2::Duration TIMECACHE_DEFAULT_MAX_STORAGE_TIME
 

Detailed Description

Author
Koji Terada

Function Documentation

◆ transformToEigen() [1/2]

Eigen::Isometry3d tf2::transformToEigen ( const geometry_msgs::msg::Transform &  t)
inline

Convert a timestamped transform to the equivalent Eigen data type.

Parameters
tThe transform to convert, as a geometry_msgs Transform message.
Returns
The transform message converted to an Eigen Isometry3d transform.

◆ transformToEigen() [2/2]

Eigen::Isometry3d tf2::transformToEigen ( const geometry_msgs::msg::TransformStamped &  t)
inline

Convert a timestamped transform to the equivalent Eigen data type.

Parameters
tThe transform to convert, as a geometry_msgs TransformedStamped message.
Returns
The transform message converted to an Eigen Isometry3d transform.

◆ eigenToTransform() [1/2]

geometry_msgs::msg::TransformStamped tf2::eigenToTransform ( const Eigen::Affine3d &  T)
inline

Convert an Eigen Affine3d transform to the equivalent geometry_msgs message type.

Parameters
TThe transform to convert, as an Eigen Affine3d transform.
Returns
The transform converted to a TransformStamped message.

◆ eigenToTransform() [2/2]

geometry_msgs::msg::TransformStamped tf2::eigenToTransform ( const Eigen::Isometry3d &  T)
inline

Convert an Eigen Isometry3d transform to the equivalent geometry_msgs message type.

Parameters
TThe transform to convert, as an Eigen Isometry3d transform.
Returns
The transform converted to a TransformStamped message.

◆ doTransform() [1/8]

template<>
void tf2::doTransform ( const Eigen::Vector3d &  t_in,
Eigen::Vector3d &  t_out,
const geometry_msgs::msg::TransformStamped &  transform 
)
inline

Apply a geometry_msgs TransformStamped to an Eigen-specific Vector3d type. This function is a specialization of the doTransform template defined in tf2/convert.h, although it can not be used in tf2_ros::BufferInterface::transform because this functions rely on the existence of a time stamp and a frame id in the type which should get transformed.

Parameters
t_inThe vector to transform, as a Eigen Vector3d data type.
t_outThe transformed vector, as a Eigen Vector3d data type.
transformThe timestamped transform to apply, as a TransformStamped message.

◆ toMsg() [1/10]

geometry_msgs::msg::Point tf2::toMsg ( const Eigen::Vector3d &  in)
inline

Convert a Eigen Vector3d type to a Point message. This function is a specialization of the toMsg template defined in tf2/convert.h.

Parameters
inThe timestamped Eigen Vector3d to convert.
Returns
The vector converted to a Point message.

◆ fromMsg() [1/10]

void tf2::fromMsg ( const geometry_msgs::msg::Point &  msg,
Eigen::Vector3d &  out 
)
inline

Convert a Point message type to a Eigen-specific Vector3d type. This function is a specialization of the fromMsg template defined in tf2/convert.h.

Parameters
msgThe Point message to convert.
outThe point converted to a Eigen Vector3d.

◆ toMsg() [2/10]

geometry_msgs::msg::Vector3& tf2::toMsg ( const Eigen::Vector3d &  in,
geometry_msgs::msg::Vector3 &  out 
)
inline

Convert an Eigen Vector3d type to a Vector3 message. This function is a specialization of the toMsg template defined in tf2/convert.h.

Parameters
inThe Eigen Vector3d to convert.
Returns
The vector converted to a Vector3 message.

◆ fromMsg() [2/10]

void tf2::fromMsg ( const geometry_msgs::msg::Vector3 &  msg,
Eigen::Vector3d &  out 
)
inline

Convert a Vector3 message type to a Eigen-specific Vector3d type. This function is a specialization of the fromMsg template defined in tf2/convert.h.

Parameters
msgThe Vector3 message to convert.
outThe vector converted to a Eigen Vector3d.

◆ doTransform() [2/8]

template<>
void tf2::doTransform ( const tf2::Stamped< Eigen::Vector3d > &  t_in,
tf2::Stamped< Eigen::Vector3d > &  t_out,
const geometry_msgs::msg::TransformStamped &  transform 
)
inline

Apply a geometry_msgs TransformStamped to an Eigen-specific Vector3d type. This function is a specialization of the doTransform template defined in tf2/convert.h.

Parameters
t_inThe vector to transform, as a timestamped Eigen Vector3d data type.
t_outThe transformed vector, as a timestamped Eigen Vector3d data type.
transformThe timestamped transform to apply, as a TransformStamped message.

◆ toMsg() [3/10]

geometry_msgs::msg::PointStamped tf2::toMsg ( const tf2::Stamped< Eigen::Vector3d > &  in)
inline

Convert a stamped Eigen Vector3d type to a PointStamped message. This function is a specialization of the toMsg template defined in tf2/convert.h.

Parameters
inThe timestamped Eigen Vector3d to convert.
Returns
The vector converted to a PointStamped message.

◆ fromMsg() [3/10]

void tf2::fromMsg ( const geometry_msgs::msg::PointStamped &  msg,
tf2::Stamped< Eigen::Vector3d > &  out 
)
inline

Convert a PointStamped message type to a stamped Eigen-specific Vector3d type. This function is a specialization of the fromMsg template defined in tf2/convert.h.

Parameters
msgThe PointStamped message to convert.
outThe point converted to a timestamped Eigen Vector3d.

◆ doTransform() [3/8]

template<>
void tf2::doTransform ( const Eigen::Affine3d &  t_in,
Eigen::Affine3d &  t_out,
const geometry_msgs::msg::TransformStamped &  transform 
)
inline

Apply a geometry_msgs Transform to an Eigen Affine3d transform. This function is a specialization of the doTransform template defined in tf2/convert.h, although it can not be used in tf2_ros::BufferInterface::transform because this function relies on the existence of a time stamp and a frame id in the type which should get transformed.

Parameters
t_inThe frame to transform, as a Eigen Affine3d transform.
t_outThe transformed frame, as a Eigen Affine3d transform.
transformThe timestamped transform to apply, as a TransformStamped message.

◆ doTransform() [4/8]

template<>
void tf2::doTransform ( const Eigen::Isometry3d &  t_in,
Eigen::Isometry3d &  t_out,
const geometry_msgs::msg::TransformStamped &  transform 
)
inline

◆ toMsg() [4/10]

geometry_msgs::msg::Quaternion tf2::toMsg ( const Eigen::Quaterniond &  in)
inline

Convert a Eigen Quaterniond type to a Quaternion message. This function is a specialization of the toMsg template defined in tf2/convert.h.

Parameters
inThe Eigen Quaterniond to convert.
Returns
The quaternion converted to a Quaterion message.

◆ fromMsg() [4/10]

void tf2::fromMsg ( const geometry_msgs::msg::Quaternion &  msg,
Eigen::Quaterniond &  out 
)
inline

Convert a Quaternion message type to a Eigen-specific Quaterniond type. This function is a specialization of the fromMsg template defined in tf2/convert.h.

Parameters
msgThe Quaternion message to convert.
outThe quaternion converted to a Eigen Quaterniond.

◆ doTransform() [5/8]

template<>
void tf2::doTransform ( const Eigen::Quaterniond &  t_in,
Eigen::Quaterniond &  t_out,
const geometry_msgs::msg::TransformStamped &  transform 
)
inline

Apply a geometry_msgs TransformStamped to an Eigen-specific Quaterniond type. This function is a specialization of the doTransform template defined in tf2/convert.h, although it can not be used in tf2_ros::BufferInterface::transform because this functions rely on the existence of a time stamp and a frame id in the type which should get transformed.

Parameters
t_inThe vector to transform, as a Eigen Quaterniond data type.
t_outThe transformed vector, as a Eigen Quaterniond data type.
transformThe timestamped transform to apply, as a TransformStamped message.

◆ toMsg() [5/10]

geometry_msgs::msg::QuaternionStamped tf2::toMsg ( const Stamped< Eigen::Quaterniond > &  in)
inline

Convert a stamped Eigen Quaterniond type to a QuaternionStamped message. This function is a specialization of the toMsg template defined in tf2/convert.h.

Parameters
inThe timestamped Eigen Quaterniond to convert.
Returns
The quaternion converted to a QuaternionStamped message.

◆ fromMsg() [5/10]

void tf2::fromMsg ( const geometry_msgs::msg::QuaternionStamped &  msg,
Stamped< Eigen::Quaterniond > &  out 
)
inline

Convert a QuaternionStamped message type to a stamped Eigen-specific Quaterniond type. This function is a specialization of the fromMsg template defined in tf2/convert.h.

Parameters
msgThe QuaternionStamped message to convert.
outThe quaternion converted to a timestamped Eigen Quaterniond.

◆ doTransform() [6/8]

template<>
void tf2::doTransform ( const tf2::Stamped< Eigen::Quaterniond > &  t_in,
tf2::Stamped< Eigen::Quaterniond > &  t_out,
const geometry_msgs::msg::TransformStamped &  transform 
)
inline

Apply a geometry_msgs TransformStamped to an Eigen-specific Quaterniond type. This function is a specialization of the doTransform template defined in tf2/convert.h.

Parameters
t_inThe vector to transform, as a timestamped Eigen Quaterniond data type.
t_outThe transformed vector, as a timestamped Eigen Quaterniond data type.
transformThe timestamped transform to apply, as a TransformStamped message.

◆ toMsg() [6/10]

geometry_msgs::msg::Pose tf2::toMsg ( const Eigen::Affine3d &  in)
inline

Convert a Eigen Affine3d transform type to a Pose message. This function is a specialization of the toMsg template defined in tf2/convert.h.

Parameters
inThe Eigen Affine3d to convert.
Returns
The Eigen transform converted to a Pose message.

◆ toMsg() [7/10]

geometry_msgs::msg::Pose tf2::toMsg ( const Eigen::Isometry3d &  in)
inline

Convert a Eigen Isometry3d transform type to a Pose message. This function is a specialization of the toMsg template defined in tf2/convert.h.

Parameters
inThe Eigen Isometry3d to convert.
Returns
The Eigen transform converted to a Pose message.

◆ toMsg2()

geometry_msgs::msg::Vector3 tf2::toMsg2 ( const Eigen::Vector3d &  in)
inline

Convert a Eigen::Vector3d type to a geometry_msgs::msg::Vector3. This function is a specialization of the toMsg template defined in tf2/convert.h. The function was renamed to toMsg2 to avoid overloading conflicts with definitions above.

Parameters
inThe Eigen::Vector3d to convert.
Returns
The Eigen::Vector3d converted to a geometry_msgs::msg::Vector3 message.

◆ fromMsg() [6/10]

void tf2::fromMsg ( const geometry_msgs::msg::Pose &  msg,
Eigen::Affine3d &  out 
)
inline

Convert a Pose message transform type to a Eigen Affine3d. This function is a specialization of the toMsg template defined in tf2/convert.h.

Parameters
msgThe Pose message to convert.
outThe pose converted to a Eigen Affine3d.

◆ fromMsg() [7/10]

void tf2::fromMsg ( const geometry_msgs::msg::Pose &  msg,
Eigen::Isometry3d &  out 
)
inline

Convert a Pose message transform type to a Eigen Isometry3d. This function is a specialization of the toMsg template defined in tf2/convert.h.

Parameters
msgThe Pose message to convert.
outThe pose converted to a Eigen Isometry3d.

◆ toMsg() [8/10]

geometry_msgs::msg::Twist tf2::toMsg ( const Eigen::Matrix< double, 6, 1 > &  in)
inline

Convert a Eigen 6x1 Matrix type to a Twist message. This function is a specialization of the toMsg template defined in tf2/convert.h.

Parameters
inThe 6x1 Eigen Matrix to convert.
Returns
The Eigen Matrix converted to a Twist message.

◆ fromMsg() [8/10]

void tf2::fromMsg ( const geometry_msgs::msg::Twist &  msg,
Eigen::Matrix< double, 6, 1 > &  out 
)
inline

Convert a Twist message transform type to a Eigen 6x1 Matrix. This function is a specialization of the toMsg template defined in tf2/convert.h.

Parameters
msgThe Twist message to convert.
outThe twist converted to a Eigen 6x1 Matrix.

◆ doTransform() [7/8]

template<>
void tf2::doTransform ( const tf2::Stamped< Eigen::Affine3d > &  t_in,
tf2::Stamped< Eigen::Affine3d > &  t_out,
const geometry_msgs::msg::TransformStamped &  transform 
)
inline

Apply a geometry_msgs TransformStamped to an Eigen Affine3d transform. This function is a specialization of the doTransform template defined in tf2/convert.h, although it can not be used in tf2_ros::BufferInterface::transform because this function relies on the existence of a time stamp and a frame id in the type which should get transformed.

Parameters
t_inThe frame to transform, as a timestamped Eigen Affine3d transform.
t_outThe transformed frame, as a timestamped Eigen Affine3d transform.
transformThe timestamped transform to apply, as a TransformStamped message.

◆ doTransform() [8/8]

template<>
void tf2::doTransform ( const tf2::Stamped< Eigen::Isometry3d > &  t_in,
tf2::Stamped< Eigen::Isometry3d > &  t_out,
const geometry_msgs::msg::TransformStamped &  transform 
)
inline

Apply a geometry_msgs TransformStamped to an Eigen Isometry transform. This function is a specialization of the doTransform template defined in tf2/convert.h, although it can not be used in tf2_ros::BufferInterface::transform because this function relies on the existence of a time stamp and a frame id in the type which should get transformed.

Parameters
t_inThe frame to transform, as a timestamped Eigen Isometry transform.
t_outThe transformed frame, as a timestamped Eigen Isometry transform.
transformThe timestamped transform to apply, as a TransformStamped message.

◆ toMsg() [9/10]

geometry_msgs::msg::PoseStamped tf2::toMsg ( const tf2::Stamped< Eigen::Affine3d > &  in)
inline

Convert a stamped Eigen Affine3d transform type to a Pose message. This function is a specialization of the toMsg template defined in tf2/convert.h.

Parameters
inThe timestamped Eigen Affine3d to convert.
Returns
The Eigen transform converted to a PoseStamped message.

◆ toMsg() [10/10]

geometry_msgs::msg::PoseStamped tf2::toMsg ( const tf2::Stamped< Eigen::Isometry3d > &  in)
inline

◆ fromMsg() [9/10]

void tf2::fromMsg ( const geometry_msgs::msg::PoseStamped &  msg,
tf2::Stamped< Eigen::Affine3d > &  out 
)
inline

Convert a Pose message transform type to a stamped Eigen Affine3d. This function is a specialization of the toMsg template defined in tf2/convert.h.

Parameters
msgThe PoseStamped message to convert.
outThe pose converted to a timestamped Eigen Affine3d.

◆ fromMsg() [10/10]

void tf2::fromMsg ( const geometry_msgs::msg::PoseStamped &  msg,
tf2::Stamped< Eigen::Isometry3d > &  out 
)
inline