TF can be used either with the underlying Bullet transform types or with the transform types available in the geometry_msgs package. Since tf deals with coordinate frames, every datatype that tf uses needs to be stamped, i.e. extra information is added to the datatype to represent the name of the frame in which it lives and a timestamp. The timestamp typically represents the time at which the data was created/ last valid.
tf can directly operate on the following messages or Bullet datatypes:
Pose - tf can transform poses by using the tf::transformPose function. The transformPose function can operate on:
Position - tf can transform positions (or points) using the tf::transformPoint function. The transformPoint function can operate on:
Rotation - tf can transform a rotation using the tf::transformQuaternion function. The transformQuaternion function can operate on:
Vector - tf can transform a free vector using the tf::transformVector function. The tranformVector function can operate on:
PointCloud - tf can transform point clouds directly using the tf::transformPointCloud function. This function operates on:
sensor_msgs/PointCloud - A representation of a 3D point cloud.