From f7f362df359f2f376892d76264c36bbde698bafe Mon Sep 17 00:00:00 2001 From: Florent Lamiraux <florent@laas.fr> Date: Fri, 16 Jun 2023 14:02:13 +0200 Subject: [PATCH] Use int64_t as type for signal time. --- src/converter.hh | 6 +++ src/ros_publish.cpp | 4 +- src/ros_publish.hh | 11 ++-- src/ros_publish.hxx | 6 +-- src/ros_queued_subscribe.cpp | 2 +- src/ros_queued_subscribe.hh | 15 +++--- src/ros_queued_subscribe.hxx | 2 +- src/ros_subscribe.cpp | 4 ++ src/ros_subscribe.hh | 8 +-- src/ros_subscribe.hxx | 6 +-- src/ros_tf_listener.cpp | 4 +- src/ros_tf_listener.hh | 11 ++-- src/ros_time.cpp | 2 +- src/ros_time.hh | 4 +- src/sot_to_ros.cpp | 1 + src/sot_to_ros.hh | 98 ++++++++++++++++++++++-------------- 16 files changed, 109 insertions(+), 75 deletions(-) diff --git a/src/converter.hh b/src/converter.hh index 7728903..4a57f25 100644 --- a/src/converter.hh +++ b/src/converter.hh @@ -52,6 +52,11 @@ SOT_TO_ROS_IMPL(int) { dst.data = src; } ROS_TO_SOT_IMPL(int) { dst = src.data; } +// Int64 +SOT_TO_ROS_IMPL(int64_t) { dst.data = src; } + +ROS_TO_SOT_IMPL(int64_t) { dst = src.data; } + // Unsigned SOT_TO_ROS_IMPL(unsigned int) { dst.data = src; } @@ -190,6 +195,7 @@ DG_BRIDGE_TO_ROS_MAKE_STAMPED_IMPL(specific::Twist, twist, ;); DG_BRIDGE_MAKE_SHPTR_IMPL(bool); DG_BRIDGE_MAKE_SHPTR_IMPL(double); DG_BRIDGE_MAKE_SHPTR_IMPL(int); +DG_BRIDGE_MAKE_SHPTR_IMPL(int64_t); DG_BRIDGE_MAKE_SHPTR_IMPL(unsigned int); DG_BRIDGE_MAKE_SHPTR_IMPL(std::string); DG_BRIDGE_MAKE_SHPTR_IMPL(Vector); diff --git a/src/ros_publish.cpp b/src/ros_publish.cpp index 41c66ad..1052af2 100644 --- a/src/ros_publish.cpp +++ b/src/ros_publish.cpp @@ -50,6 +50,8 @@ Value Add::doExecute() { entity.add<unsigned int>(signal, topic); else if (type == "int") entity.add<int>(signal, topic); + else if (type == "int64") + entity.add<int64_t>(signal, topic); else if (type == "matrix") entity.add<Matrix>(signal, topic); else if (type == "vector") @@ -162,7 +164,7 @@ void RosPublish::clear() { } } -int& RosPublish::trigger(int& dummy, int t) { +int& RosPublish::trigger(int& dummy, sigtime_t t) { typedef std::map<std::string, bindedSignal_t>::iterator iterator_t; ros::Time aTime; if (ros::Time::isSimTime()) { diff --git a/src/ros_publish.hh b/src/ros_publish.hh index 106ec9e..ceea110 100644 --- a/src/ros_publish.hh +++ b/src/ros_publish.hh @@ -42,9 +42,9 @@ class RosPublish : public dynamicgraph::Entity { DYNAMIC_GRAPH_ENTITY_DECL(); public: - typedef boost::function<void(int)> callback_t; + typedef boost::function<void(sigtime_t)> callback_t; - typedef boost::tuple<boost::shared_ptr<dynamicgraph::SignalBase<int> >, + typedef boost::tuple<boost::shared_ptr<dynamicgraph::SignalBase<sigtime_t> >, callback_t> bindedSignal_t; @@ -61,14 +61,15 @@ class RosPublish : public dynamicgraph::Entity { std::vector<std::string> list() const; void clear(); - int& trigger(int&, int); + int& trigger(int&, sigtime_t); template <typename T> void sendData( boost::shared_ptr< realtime_tools::RealtimePublisher<typename SotToRos<T>::ros_t> > publisher, - boost::shared_ptr<typename SotToRos<T>::signalIn_t> signal, int time); + boost::shared_ptr<typename SotToRos<T>::signalIn_t> signal, + sigtime_t time); template <typename T> void add(const std::string& signal, const std::string& topic); @@ -77,7 +78,7 @@ class RosPublish : public dynamicgraph::Entity { static const std::string docstring_; ros::NodeHandle& nh_; std::map<std::string, bindedSignal_t> bindedSignal_; - dynamicgraph::SignalTimeDependent<int, int> trigger_; + dynamicgraph::SignalTimeDependent<int, sigtime_t> trigger_; ros::Duration rate_; ros::Time nextPublication_; boost::mutex mutex_; diff --git a/src/ros_publish.hxx b/src/ros_publish.hxx index 6534003..5f8c6bf 100644 --- a/src/ros_publish.hxx +++ b/src/ros_publish.hxx @@ -16,8 +16,7 @@ inline void RosPublish::sendData<std::pair<sot::MatrixHomogeneous, Vector> >( publisher, boost::shared_ptr< SotToRos<std::pair<sot::MatrixHomogeneous, Vector> >::signalIn_t> - signal, - int time) { + signal, sigtime_t time) { SotToRos<std::pair<sot::MatrixHomogeneous, Vector> >::ros_t result; if (publisher->trylock()) { publisher->msg_.child_frame_id = "/dynamic_graph/world"; @@ -31,7 +30,8 @@ void RosPublish::sendData( boost::shared_ptr< realtime_tools::RealtimePublisher<typename SotToRos<T>::ros_t> > publisher, - boost::shared_ptr<typename SotToRos<T>::signalIn_t> signal, int time) { + boost::shared_ptr<typename SotToRos<T>::signalIn_t> signal, + sigtime_t time) { typename SotToRos<T>::ros_t result; if (publisher->trylock()) { converter(publisher->msg_, signal->access(time)); diff --git a/src/ros_queued_subscribe.cpp b/src/ros_queued_subscribe.cpp index 3217318..14fc0b6 100644 --- a/src/ros_queued_subscribe.cpp +++ b/src/ros_queued_subscribe.cpp @@ -137,7 +137,7 @@ std::size_t RosQueuedSubscribe::queueSize(const std::string& signal) const { return -1; } -void RosQueuedSubscribe::readQueue(int beginReadingAt) { +void RosQueuedSubscribe::readQueue(int64_t beginReadingAt) { // Prints signal queues sizes /*for (std::map<std::string, bindedSignal_t>::const_iterator it = bindedSignal_.begin (); it != bindedSignal_.end (); it++) { diff --git a/src/ros_queued_subscribe.hh b/src/ros_queued_subscribe.hh index abfa6e1..6a674f9 100644 --- a/src/ros_queued_subscribe.hh +++ b/src/ros_queued_subscribe.hh @@ -66,7 +66,7 @@ struct BindedSignalBase { template <typename T, int BufferSize> struct BindedSignal : BindedSignalBase { - typedef dynamicgraph::Signal<T, int> Signal_t; + typedef dynamicgraph::Signal<T, sigtime_t> Signal_t; typedef boost::shared_ptr<Signal_t> SignalPtr_t; typedef std::vector<T> buffer_t; typedef typename buffer_t::size_type size_type; @@ -132,7 +132,7 @@ struct BindedSignal : BindedSignalBase { template <typename R> void writer(const R& data); - T& reader(T& val, int time); + T& reader(T& val, sigtime_t time); private: /// Indicates whether the signal has received atleast one data point @@ -159,7 +159,7 @@ class RosQueuedSubscribe : public dynamicgraph::Entity { std::vector<std::string> listTopics(); void clear(); void clearQueue(const std::string& signal); - void readQueue(int beginReadingAt); + void readQueue(int64_t beginReadingAt); std::size_t queueSize(const std::string& signal) const; bool queueReceivedData(const std::string& signal) const; void setQueueReceivedData(const std::string& signal, bool status); @@ -176,12 +176,12 @@ class RosQueuedSubscribe : public dynamicgraph::Entity { ros::NodeHandle& nh() { return nh_; } template <typename R, typename S> - void callback(boost::shared_ptr<dynamicgraph::SignalPtr<S, int> > signal, - const R& data); + void callback(boost::shared_ptr<dynamicgraph::SignalPtr<S, sigtime_t> > + signal, const R& data); template <typename R> void callbackTimestamp( - boost::shared_ptr<dynamicgraph::SignalPtr<ptime, int> > signal, + boost::shared_ptr<dynamicgraph::SignalPtr<ptime, sigtime_t> > signal, const R& data); template <typename T> @@ -193,8 +193,7 @@ class RosQueuedSubscribe : public dynamicgraph::Entity { std::map<std::string, bindedSignal_t> bindedSignal_; std::map<std::string, std::string> topics_; - int readQueue_; - // Signal<bool, int> readQueue_; + int64_t readQueue_; template <typename T> friend class internal::BindedSignal; diff --git a/src/ros_queued_subscribe.hxx b/src/ros_queued_subscribe.hxx index b398f71..2648110 100644 --- a/src/ros_queued_subscribe.hxx +++ b/src/ros_queued_subscribe.hxx @@ -92,7 +92,7 @@ void BindedSignal<T, N>::writer(const R& data) { } template <typename T, int N> -T& BindedSignal<T, N>::reader(T& data, int time) { +T& BindedSignal<T, N>::reader(T& data, sigtime_t time) { // synchronize with method clear: // If reading from the list cannot be done, then return last value. boost::mutex::scoped_lock lock(rmutex, boost::try_to_lock); diff --git a/src/ros_subscribe.cpp b/src/ros_subscribe.cpp index 0c9374e..c5c1906 100644 --- a/src/ros_subscribe.cpp +++ b/src/ros_subscribe.cpp @@ -36,6 +36,10 @@ Value Add::doExecute() { entity.add<double>(signal, topic); else if (type == "unsigned") entity.add<unsigned int>(signal, topic); + else if (type == "int") + entity.add<int>(signal, topic); + else if (type == "int64") + entity.add<int64_t>(signal, topic); else if (type == "matrix") entity.add<dg::Matrix>(signal, topic); else if (type == "vector") diff --git a/src/ros_subscribe.hh b/src/ros_subscribe.hh index 3b3bb88..21a8a09 100644 --- a/src/ros_subscribe.hh +++ b/src/ros_subscribe.hh @@ -46,7 +46,7 @@ class RosSubscribe : public dynamicgraph::Entity { typedef boost::posix_time::ptime ptime; public: - typedef std::pair<boost::shared_ptr<dynamicgraph::SignalBase<int> >, + typedef std::pair<boost::shared_ptr<dynamicgraph::SignalBase<sigtime_t> >, boost::shared_ptr<ros::Subscriber> > bindedSignal_t; @@ -71,12 +71,12 @@ class RosSubscribe : public dynamicgraph::Entity { ros::NodeHandle& nh() { return nh_; } template <typename R, typename S> - void callback(boost::shared_ptr<dynamicgraph::SignalPtr<S, int> > signal, - const R& data); + void callback(boost::shared_ptr<dynamicgraph::SignalPtr<S, sigtime_t> > + signal, const R& data); template <typename R> void callbackTimestamp( - boost::shared_ptr<dynamicgraph::SignalPtr<ptime, int> > signal, + boost::shared_ptr<dynamicgraph::SignalPtr<ptime, sigtime_t> > signal, const R& data); template <typename T> diff --git a/src/ros_subscribe.hxx b/src/ros_subscribe.hxx index 6e32261..ff98e9e 100644 --- a/src/ros_subscribe.hxx +++ b/src/ros_subscribe.hxx @@ -18,7 +18,7 @@ namespace dg = dynamicgraph; namespace dynamicgraph { template <typename R, typename S> void RosSubscribe::callback( - boost::shared_ptr<dynamicgraph::SignalPtr<S, int> > signal, const R& data) { + boost::shared_ptr<dynamicgraph::SignalPtr<S, sigtime_t> > signal, const R& data) { typedef S sot_t; sot_t value; converter(value, data); @@ -27,7 +27,7 @@ void RosSubscribe::callback( template <typename R> void RosSubscribe::callbackTimestamp( - boost::shared_ptr<dynamicgraph::SignalPtr<ptime, int> > signal, + boost::shared_ptr<dynamicgraph::SignalPtr<ptime, sigtime_t> > signal, const R& data) { ptime time = rosTimeToPtime(data->header.stamp); signal->setConstant(time); @@ -101,7 +101,7 @@ struct Add<std::pair<T, dg::Vector> > { RosSubscribe.bindedSignal()[signal] = bindedSignal; // Timestamp. - typedef dynamicgraph::SignalPtr<RosSubscribe::ptime, int> signalTimestamp_t; + typedef dynamicgraph::SignalPtr<RosSubscribe::ptime, sigtime_t> signalTimestamp_t; std::string signalTimestamp = (boost::format("%1%%2%") % signal % "Timestamp").str(); diff --git a/src/ros_tf_listener.cpp b/src/ros_tf_listener.cpp index 68e94c9..045aa60 100644 --- a/src/ros_tf_listener.cpp +++ b/src/ros_tf_listener.cpp @@ -9,7 +9,7 @@ namespace dynamicgraph { namespace internal { sot::MatrixHomogeneous& TransformListenerData::getTransform( - sot::MatrixHomogeneous& res, int time) { + sot::MatrixHomogeneous& res, sigtime_t time) { availableSig.recompute(time); bool available = availableSig.accessCopy(); @@ -29,7 +29,7 @@ sot::MatrixHomogeneous& TransformListenerData::getTransform( return res; } -bool& TransformListenerData::isAvailable(bool& available, int time) { +bool& TransformListenerData::isAvailable(bool& available, sigtime_t time) { static const ros::Time origin(0); available = false; ros::Duration elapsed; diff --git a/src/ros_tf_listener.hh b/src/ros_tf_listener.hh index d753aa4..df3958b 100644 --- a/src/ros_tf_listener.hh +++ b/src/ros_tf_listener.hh @@ -17,9 +17,9 @@ class RosTfListener; namespace internal { struct TransformListenerData { - typedef SignalTimeDependent<bool, int> AvailableSignal_t; - typedef SignalTimeDependent<sot::MatrixHomogeneous, int> MatrixSignal_t; - typedef SignalPtr<sot::MatrixHomogeneous, int> DefaultSignal_t; + typedef SignalTimeDependent<bool, sigtime_t> AvailableSignal_t; + typedef SignalTimeDependent<sot::MatrixHomogeneous, sigtime_t> MatrixSignal_t; + typedef SignalPtr<sot::MatrixHomogeneous, sigtime_t> DefaultSignal_t; RosTfListener* entity; tf2_ros::Buffer& buffer; @@ -52,9 +52,10 @@ struct TransformListenerData { signal.addDependencies(failbackSig << availableSig); } - sot::MatrixHomogeneous& getTransform(sot::MatrixHomogeneous& res, int time); + sot::MatrixHomogeneous& getTransform(sot::MatrixHomogeneous& res, + sigtime_t time); - bool& isAvailable(bool& isAvailable, int time); + bool& isAvailable(bool& isAvailable, sigtime_t time); }; } // namespace internal diff --git a/src/ros_time.cpp b/src/ros_time.cpp index 79519ca..8e7690b 100644 --- a/src/ros_time.cpp +++ b/src/ros_time.cpp @@ -31,7 +31,7 @@ RosTime::RosTime(const std::string& _name) now_.setFunction(boost::bind(&RosTime::update, this, _1, _2)); } -ptime& RosTime::update(ptime& time, const int&) { +ptime& RosTime::update(ptime& time, const sigtime_t&) { time = rosTimeToPtime(ros::Time::now()); return time; } diff --git a/src/ros_time.hh b/src/ros_time.hh index 1601d88..ce98aae 100644 --- a/src/ros_time.hh +++ b/src/ros_time.hh @@ -18,13 +18,13 @@ class RosTime : public dynamicgraph::Entity { DYNAMIC_GRAPH_ENTITY_DECL(); public: - Signal<boost::posix_time::ptime, int> now_; + Signal<boost::posix_time::ptime, sigtime_t> now_; RosTime(const std::string& name); virtual std::string getDocString() const; protected: boost::posix_time::ptime& update(boost::posix_time::ptime& time, - const int& t); + const sigtime_t& t); private: static const std::string docstring_; diff --git a/src/sot_to_ros.cpp b/src/sot_to_ros.cpp index 8b03235..af3f171 100644 --- a/src/sot_to_ros.cpp +++ b/src/sot_to_ros.cpp @@ -5,6 +5,7 @@ namespace dynamicgraph { const char* SotToRos<bool>::signalTypeName = "bool"; const char* SotToRos<double>::signalTypeName = "Double"; const char* SotToRos<int>::signalTypeName = "int"; +const char* SotToRos<int64_t>::signalTypeName = "int64"; const char* SotToRos<std::string>::signalTypeName = "string"; const char* SotToRos<unsigned int>::signalTypeName = "Unsigned"; const char* SotToRos<Matrix>::signalTypeName = "Matrix"; diff --git a/src/sot_to_ros.hh b/src/sot_to_ros.hh index d16d707..4e0ba44 100644 --- a/src/sot_to_ros.hh +++ b/src/sot_to_ros.hh @@ -6,6 +6,7 @@ #include <std_msgs/Bool.h> #include <std_msgs/Float64.h> #include <std_msgs/Int32.h> +#include <std_msgs/Int64.h> #include <std_msgs/String.h> #include <std_msgs/UInt32.h> @@ -52,9 +53,9 @@ struct SotToRos<bool> { typedef bool sot_t; typedef std_msgs::Bool ros_t; typedef std_msgs::BoolConstPtr ros_const_ptr_t; - typedef dynamicgraph::Signal<sot_t, int> signal_t; - typedef dynamicgraph::SignalPtr<sot_t, int> signalIn_t; - typedef boost::function<sot_t&(sot_t&, int)> callback_t; + typedef dynamicgraph::Signal<sot_t, sigtime_t> signal_t; + typedef dynamicgraph::SignalPtr<sot_t, sigtime_t> signalIn_t; + typedef boost::function<sot_t&(sot_t&, sigtime_t)> callback_t; static const char* signalTypeName; @@ -71,9 +72,9 @@ struct SotToRos<double> { typedef double sot_t; typedef std_msgs::Float64 ros_t; typedef std_msgs::Float64ConstPtr ros_const_ptr_t; - typedef dynamicgraph::Signal<sot_t, int> signal_t; - typedef dynamicgraph::SignalPtr<sot_t, int> signalIn_t; - typedef boost::function<sot_t&(sot_t&, int)> callback_t; + typedef dynamicgraph::Signal<sot_t, sigtime_t> signal_t; + typedef dynamicgraph::SignalPtr<sot_t, sigtime_t> signalIn_t; + typedef boost::function<sot_t&(sot_t&, sigtime_t)> callback_t; static const char* signalTypeName; @@ -90,9 +91,9 @@ struct SotToRos<unsigned int> { typedef unsigned int sot_t; typedef std_msgs::UInt32 ros_t; typedef std_msgs::UInt32ConstPtr ros_const_ptr_t; - typedef dynamicgraph::Signal<sot_t, int> signal_t; - typedef dynamicgraph::SignalPtr<sot_t, int> signalIn_t; - typedef boost::function<sot_t&(sot_t&, int)> callback_t; + typedef dynamicgraph::Signal<sot_t, sigtime_t> signal_t; + typedef dynamicgraph::SignalPtr<sot_t, sigtime_t> signalIn_t; + typedef boost::function<sot_t&(sot_t&, sigtime_t)> callback_t; static const char* signalTypeName; @@ -109,9 +110,28 @@ struct SotToRos<int> { typedef int sot_t; typedef std_msgs::Int32 ros_t; typedef std_msgs::Int32ConstPtr ros_const_ptr_t; - typedef dynamicgraph::Signal<sot_t, int> signal_t; - typedef dynamicgraph::SignalPtr<sot_t, int> signalIn_t; - typedef boost::function<sot_t&(sot_t&, int)> callback_t; + typedef dynamicgraph::Signal<sot_t, sigtime_t> signal_t; + typedef dynamicgraph::SignalPtr<sot_t, sigtime_t> signalIn_t; + typedef boost::function<sot_t&(sot_t&, sigtime_t)> callback_t; + + static const char* signalTypeName; + + template <typename S> + static void setDefault(S& s) { + s.setConstant(0); + } + + static void setDefault(sot_t& s) { s = 0; } +}; + +template <> +struct SotToRos<int64_t> { + typedef int64_t sot_t; + typedef std_msgs::Int64 ros_t; + typedef std_msgs::Int64ConstPtr ros_const_ptr_t; + typedef dynamicgraph::Signal<sot_t, sigtime_t> signal_t; + typedef dynamicgraph::SignalPtr<sot_t, sigtime_t> signalIn_t; + typedef boost::function<sot_t&(sot_t&, sigtime_t)> callback_t; static const char* signalTypeName; @@ -128,9 +148,9 @@ struct SotToRos<std::string> { typedef std::string sot_t; typedef std_msgs::String ros_t; typedef std_msgs::StringConstPtr ros_const_ptr_t; - typedef dynamicgraph::Signal<sot_t, int> signal_t; - typedef dynamicgraph::SignalPtr<sot_t, int> signalIn_t; - typedef boost::function<sot_t&(sot_t&, int)> callback_t; + typedef dynamicgraph::Signal<sot_t, sigtime_t> signal_t; + typedef dynamicgraph::SignalPtr<sot_t, sigtime_t> signalIn_t; + typedef boost::function<sot_t&(sot_t&, sigtime_t)> callback_t; static const char* signalTypeName; @@ -147,9 +167,9 @@ struct SotToRos<Matrix> { typedef Matrix sot_t; typedef dynamic_graph_bridge_msgs::Matrix ros_t; typedef dynamic_graph_bridge_msgs::MatrixConstPtr ros_const_ptr_t; - typedef dynamicgraph::SignalTimeDependent<sot_t, int> signal_t; - typedef dynamicgraph::SignalPtr<sot_t, int> signalIn_t; - typedef boost::function<sot_t&(sot_t&, int)> callback_t; + typedef dynamicgraph::SignalTimeDependent<sot_t, sigtime_t> signal_t; + typedef dynamicgraph::SignalPtr<sot_t, sigtime_t> signalIn_t; + typedef boost::function<sot_t&(sot_t&, sigtime_t)> callback_t; static const char* signalTypeName; @@ -168,9 +188,9 @@ struct SotToRos<Vector> { typedef Vector sot_t; typedef dynamic_graph_bridge_msgs::Vector ros_t; typedef dynamic_graph_bridge_msgs::VectorConstPtr ros_const_ptr_t; - typedef dynamicgraph::SignalTimeDependent<sot_t, int> signal_t; - typedef dynamicgraph::SignalPtr<sot_t, int> signalIn_t; - typedef boost::function<sot_t&(sot_t&, int)> callback_t; + typedef dynamicgraph::SignalTimeDependent<sot_t, sigtime_t> signal_t; + typedef dynamicgraph::SignalPtr<sot_t, sigtime_t> signalIn_t; + typedef boost::function<sot_t&(sot_t&, sigtime_t)> callback_t; static const char* signalTypeName; @@ -189,9 +209,9 @@ struct SotToRos<specific::Vector3> { typedef Vector sot_t; typedef geometry_msgs::Vector3 ros_t; typedef geometry_msgs::Vector3ConstPtr ros_const_ptr_t; - typedef dynamicgraph::SignalTimeDependent<sot_t, int> signal_t; - typedef dynamicgraph::SignalPtr<sot_t, int> signalIn_t; - typedef boost::function<sot_t&(sot_t&, int)> callback_t; + typedef dynamicgraph::SignalTimeDependent<sot_t, sigtime_t> signal_t; + typedef dynamicgraph::SignalPtr<sot_t, sigtime_t> signalIn_t; + typedef boost::function<sot_t&(sot_t&, sigtime_t)> callback_t; static const char* signalTypeName; @@ -209,9 +229,9 @@ struct SotToRos<sot::MatrixHomogeneous> { typedef sot::MatrixHomogeneous sot_t; typedef geometry_msgs::Transform ros_t; typedef geometry_msgs::TransformConstPtr ros_const_ptr_t; - typedef dynamicgraph::SignalTimeDependent<sot_t, int> signal_t; - typedef dynamicgraph::SignalPtr<sot_t, int> signalIn_t; - typedef boost::function<sot_t&(sot_t&, int)> callback_t; + typedef dynamicgraph::SignalTimeDependent<sot_t, sigtime_t> signal_t; + typedef dynamicgraph::SignalPtr<sot_t, sigtime_t> signalIn_t; + typedef boost::function<sot_t&(sot_t&, sigtime_t)> callback_t; static const char* signalTypeName; @@ -229,9 +249,9 @@ struct SotToRos<specific::Twist> { typedef Vector sot_t; typedef geometry_msgs::Twist ros_t; typedef geometry_msgs::TwistConstPtr ros_const_ptr_t; - typedef dynamicgraph::SignalTimeDependent<sot_t, int> signal_t; - typedef dynamicgraph::SignalPtr<sot_t, int> signalIn_t; - typedef boost::function<sot_t&(sot_t&, int)> callback_t; + typedef dynamicgraph::SignalTimeDependent<sot_t, sigtime_t> signal_t; + typedef dynamicgraph::SignalPtr<sot_t, sigtime_t> signalIn_t; + typedef boost::function<sot_t&(sot_t&, sigtime_t)> callback_t; static const char* signalTypeName; @@ -251,9 +271,9 @@ struct SotToRos<std::pair<specific::Vector3, Vector> > { typedef Vector sot_t; typedef geometry_msgs::Vector3Stamped ros_t; typedef geometry_msgs::Vector3StampedConstPtr ros_const_ptr_t; - typedef dynamicgraph::SignalTimeDependent<sot_t, int> signal_t; - typedef dynamicgraph::SignalPtr<sot_t, int> signalIn_t; - typedef boost::function<sot_t&(sot_t&, int)> callback_t; + typedef dynamicgraph::SignalTimeDependent<sot_t, sigtime_t> signal_t; + typedef dynamicgraph::SignalPtr<sot_t, sigtime_t> signalIn_t; + typedef boost::function<sot_t&(sot_t&, sigtime_t)> callback_t; static const char* signalTypeName; @@ -269,9 +289,9 @@ struct SotToRos<std::pair<sot::MatrixHomogeneous, Vector> > { typedef sot::MatrixHomogeneous sot_t; typedef geometry_msgs::TransformStamped ros_t; typedef geometry_msgs::TransformStampedConstPtr ros_const_ptr_t; - typedef dynamicgraph::SignalTimeDependent<sot_t, int> signal_t; - typedef dynamicgraph::SignalPtr<sot_t, int> signalIn_t; - typedef boost::function<sot_t&(sot_t&, int)> callback_t; + typedef dynamicgraph::SignalTimeDependent<sot_t, sigtime_t> signal_t; + typedef dynamicgraph::SignalPtr<sot_t, sigtime_t> signalIn_t; + typedef boost::function<sot_t&(sot_t&, sigtime_t)> callback_t; static const char* signalTypeName; @@ -287,9 +307,9 @@ struct SotToRos<std::pair<specific::Twist, Vector> > { typedef Vector sot_t; typedef geometry_msgs::TwistStamped ros_t; typedef geometry_msgs::TwistStampedConstPtr ros_const_ptr_t; - typedef dynamicgraph::SignalTimeDependent<sot_t, int> signal_t; - typedef dynamicgraph::SignalPtr<sot_t, int> signalIn_t; - typedef boost::function<sot_t&(sot_t&, int)> callback_t; + typedef dynamicgraph::SignalTimeDependent<sot_t, sigtime_t> signal_t; + typedef dynamicgraph::SignalPtr<sot_t, sigtime_t> signalIn_t; + typedef boost::function<sot_t&(sot_t&, sigtime_t)> callback_t; static const char* signalTypeName; -- GitLab