Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
tf2_server::TF2Server Class Reference

#include <tf2_server.h>

Public Member Functions

virtual void start ()
 
 TF2Server (ros::NodeHandle &nh, ros::NodeHandle &pnh)
 

Protected Types

typedef std::vector< FrameSpecFramesList
 
typedef std::pair< std::string, std::string > FrameSpec
 
typedef std::pair< std::string, std::string > TopicsSpec
 

Protected Member Functions

virtual std::unique_ptr< FramesListgetFramesList (const RequestTransformStreamRequest &req) const
 
virtual TopicsSpec getTopicsNames (const RequestTransformStreamRequest &request)
 
virtual bool onRequestTransformStream (RequestTransformStreamRequest &req, RequestTransformStreamResponse &resp)
 
virtual void onSubscriberConnected (const TopicsSpec &topics)
 
virtual void onSubscriberDisconnected (const TopicsSpec &topics)
 
void registerInitialStreams ()
 
virtual void streamTransform (const ros::TimerEvent &event, const RequestTransformStreamRequest &request, const TopicsSpec &topics)
 
virtual void updateFramesLists ()
 

Protected Attributes

std::unique_ptr< tf2_ros::Bufferbuffer
 
std::map< RequestTransformStreamRequest, std::unique_ptr< FramesList >, RequestComparatorByFramesframes
 
std::vector< RequestTransformStreamRequest > initialStreams
 
ros::Timer initialStreamsTimer
 
ros::Duration initialStreamsWaitTime
 
std::map< std::string, tf2_msgs::TFMessage > lastStaticTransforms
 
ros::Time lastTransformsUpdateTime
 
std::unique_ptr< tf2_ros::TransformListenerlistener
 
std::mutex mutex
 
ros::NodeHandlenh
 
ros::NodeHandlepnh
 
std::map< std::string, ros::Publisherpublishers
 
ros::ServiceServer requestTransformStreamServer
 
std::unique_ptr< tf2_ros::BufferServerserver
 
bool started = false
 
std::map< std::string, ros::PublisherstaticPublishers
 
std::map< TopicsSpec, RequestTransformStreamRequest > streams
 
std::mutex streamsMutex
 
std::mutex subscriberMutex
 
std::map< TopicsSpec, size_t > subscriberNumbers
 
std::map< TopicsSpec, ros::Timertimers
 
std::unordered_set< std::string > topicNames
 
ros::Duration transformsUpdatePeriod
 

Detailed Description

Definition at line 33 of file tf2_server.h.

Member Typedef Documentation

◆ FramesList

typedef std::vector<FrameSpec> tf2_server::TF2Server::FramesList
protected

Definition at line 54 of file tf2_server.h.

◆ FrameSpec

typedef std::pair<std::string, std::string> tf2_server::TF2Server::FrameSpec
protected

Definition at line 53 of file tf2_server.h.

◆ TopicsSpec

typedef std::pair<std::string, std::string> tf2_server::TF2Server::TopicsSpec
protected

Definition at line 57 of file tf2_server.h.

Constructor & Destructor Documentation

◆ TF2Server()

tf2_server::TF2Server::TF2Server ( ros::NodeHandle nh,
ros::NodeHandle pnh 
)
explicit

Definition at line 26 of file tf2_server.cpp.

Member Function Documentation

◆ getFramesList()

std::unique_ptr< TF2Server::FramesList > tf2_server::TF2Server::getFramesList ( const RequestTransformStreamRequest &  req) const
protectedvirtual

Definition at line 384 of file tf2_server.cpp.

◆ getTopicsNames()

TF2Server::TopicsSpec tf2_server::TF2Server::getTopicsNames ( const RequestTransformStreamRequest &  request)
protectedvirtual

Definition at line 265 of file tf2_server.cpp.

◆ onRequestTransformStream()

bool tf2_server::TF2Server::onRequestTransformStream ( RequestTransformStreamRequest &  req,
RequestTransformStreamResponse &  resp 
)
protectedvirtual

Definition at line 172 of file tf2_server.cpp.

◆ onSubscriberConnected()

void tf2_server::TF2Server::onSubscriberConnected ( const TopicsSpec topics)
protectedvirtual

Definition at line 508 of file tf2_server.cpp.

◆ onSubscriberDisconnected()

void tf2_server::TF2Server::onSubscriberDisconnected ( const TopicsSpec topics)
protectedvirtual

Definition at line 519 of file tf2_server.cpp.

◆ registerInitialStreams()

void tf2_server::TF2Server::registerInitialStreams ( )
protected

Definition at line 531 of file tf2_server.cpp.

◆ start()

void tf2_server::TF2Server::start ( )
virtual

Definition at line 127 of file tf2_server.cpp.

◆ streamTransform()

void tf2_server::TF2Server::streamTransform ( const ros::TimerEvent event,
const RequestTransformStreamRequest &  request,
const TopicsSpec topics 
)
protectedvirtual

Definition at line 228 of file tf2_server.cpp.

◆ updateFramesLists()

void tf2_server::TF2Server::updateFramesLists ( )
protectedvirtual

Definition at line 486 of file tf2_server.cpp.

Member Data Documentation

◆ buffer

std::unique_ptr<tf2_ros::Buffer> tf2_server::TF2Server::buffer
protected

Definition at line 39 of file tf2_server.h.

◆ frames

std::map<RequestTransformStreamRequest, std::unique_ptr<FramesList>, RequestComparatorByFrames> tf2_server::TF2Server::frames
protected

Definition at line 55 of file tf2_server.h.

◆ initialStreams

std::vector<RequestTransformStreamRequest> tf2_server::TF2Server::initialStreams
protected

Definition at line 62 of file tf2_server.h.

◆ initialStreamsTimer

ros::Timer tf2_server::TF2Server::initialStreamsTimer
protected

Definition at line 64 of file tf2_server.h.

◆ initialStreamsWaitTime

ros::Duration tf2_server::TF2Server::initialStreamsWaitTime
protected

Definition at line 63 of file tf2_server.h.

◆ lastStaticTransforms

std::map<std::string, tf2_msgs::TFMessage> tf2_server::TF2Server::lastStaticTransforms
protected

Definition at line 51 of file tf2_server.h.

◆ lastTransformsUpdateTime

ros::Time tf2_server::TF2Server::lastTransformsUpdateTime
protected

Definition at line 66 of file tf2_server.h.

◆ listener

std::unique_ptr<tf2_ros::TransformListener> tf2_server::TF2Server::listener
protected

Definition at line 41 of file tf2_server.h.

◆ mutex

std::mutex tf2_server::TF2Server::mutex
protected

Definition at line 42 of file tf2_server.h.

◆ nh

ros::NodeHandle& tf2_server::TF2Server::nh
protected

Definition at line 36 of file tf2_server.h.

◆ pnh

ros::NodeHandle& tf2_server::TF2Server::pnh
protected

Definition at line 37 of file tf2_server.h.

◆ publishers

std::map<std::string, ros::Publisher> tf2_server::TF2Server::publishers
protected

Definition at line 49 of file tf2_server.h.

◆ requestTransformStreamServer

ros::ServiceServer tf2_server::TF2Server::requestTransformStreamServer
protected

Definition at line 46 of file tf2_server.h.

◆ server

std::unique_ptr<tf2_ros::BufferServer> tf2_server::TF2Server::server
protected

Definition at line 40 of file tf2_server.h.

◆ started

bool tf2_server::TF2Server::started = false
protected

Definition at line 69 of file tf2_server.h.

◆ staticPublishers

std::map<std::string, ros::Publisher> tf2_server::TF2Server::staticPublishers
protected

Definition at line 50 of file tf2_server.h.

◆ streams

std::map<TopicsSpec, RequestTransformStreamRequest> tf2_server::TF2Server::streams
protected

Definition at line 60 of file tf2_server.h.

◆ streamsMutex

std::mutex tf2_server::TF2Server::streamsMutex
protected

Definition at line 44 of file tf2_server.h.

◆ subscriberMutex

std::mutex tf2_server::TF2Server::subscriberMutex
protected

Definition at line 43 of file tf2_server.h.

◆ subscriberNumbers

std::map<TopicsSpec, size_t> tf2_server::TF2Server::subscriberNumbers
protected

Definition at line 59 of file tf2_server.h.

◆ timers

std::map<TopicsSpec, ros::Timer> tf2_server::TF2Server::timers
protected

Definition at line 58 of file tf2_server.h.

◆ topicNames

std::unordered_set<std::string> tf2_server::TF2Server::topicNames
protected

Definition at line 48 of file tf2_server.h.

◆ transformsUpdatePeriod

ros::Duration tf2_server::TF2Server::transformsUpdatePeriod
protected

Definition at line 67 of file tf2_server.h.


The documentation for this class was generated from the following files:


tf2_server
Author(s): Martin Pecka
autogenerated on Fri Jan 12 2024 03:42:13