25 trf.translation = { 0,0,0 };
26 trf.rotation = { 0,0,0,0 };
34 std::lock_guard<std::recursive_mutex> lock(m_trf_mutex);
35 std::copy_if (m_transforms.begin(), m_transforms.end(), std::back_inserter(transforms), [](
const yarp::math::FrameTransform& trf){return trf.isValid();});
41 for (
auto& it : transforms)
50 if (new_tr.
isValid()==
false)
return true;
52 std::lock_guard<std::recursive_mutex> lock(m_trf_mutex);
53 for (
auto& it : m_transforms)
61 if (it.isStatic ==
false)
82 m_transforms.push_back(new_tr);
88 std::lock_guard<std::recursive_mutex> lock(m_trf_mutex);
89 if (t1 ==
"*" && t2 ==
"*")
91 for (
size_t i = 0; i < m_transforms.size(); i++)
93 invalidateTransform(m_transforms[i]);
101 for (
size_t i = 0; i < m_transforms.size(); i++)
104 if (m_transforms[i].dst_frame_id == t2)
106 invalidateTransform(m_transforms[i]);
115 for (
size_t i = 0; i < m_transforms.size(); i++)
118 if (m_transforms[i].src_frame_id == t1)
120 invalidateTransform(m_transforms[i]);
127 for (
size_t i = 0; i < m_transforms.size(); i++)
129 if ((m_transforms[i].dst_frame_id == t1 && m_transforms[i].src_frame_id == t2) ||
130 (m_transforms[i].dst_frame_id == t2 && m_transforms[i].src_frame_id == t1))
132 invalidateTransform(m_transforms[i]);
140 yCError(FRAMETRANSFORMCONTAINER) <<
"Transformation deletion not successful";
146 std::lock_guard<std::recursive_mutex> lock(m_trf_mutex);
147 for (
size_t i = 0; i < m_transforms.size(); i++)
149 invalidateTransform(m_transforms[i]);
156 std::lock_guard<std::recursive_mutex> lock(m_trf_mutex);
159 for (
auto it= m_transforms.begin(); it!= m_transforms.end(); it++)
161 if (curr_t - it->timestamp > m_timeout &&
162 it->isStatic ==
false)
164 m_transforms.erase(it);
178 std::lock_guard<std::recursive_mutex> lock(m_trf_mutex);
179 size = m_transforms.size();
#define yCError(component,...)
#define YARP_LOG_COMPONENT(name,...)
An interface for the device drivers.
double now()
Return the current time in seconds, relative to an arbitrary starting point.
An interface to the operating system, including Port based communication.
The main, catch-all namespace for YARP.