26#ifndef TESSERACT_SRDF_KINEMATICS_INFORMATION_H
27#define TESSERACT_SRDF_KINEMATICS_INFORMATION_H
31#include <boost/serialization/access.hpp>
32#include <unordered_map>
37#include <Eigen/Geometry>
50using ChainGroup = std::vector<std::pair<std::string, std::string>>;
51using ChainGroups = std::unordered_map<std::string, ChainGroup>;
53using JointGroups = std::unordered_map<std::string, JointGroup>;
55using LinkGroups = std::unordered_map<std::string, LinkGroup>;
65 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
96 bool hasGroup(
const std::string& group_name)
const;
127 const std::string& state_name,
134 bool hasGroupJointState(
const std::string& group_name,
const std::string& state_name)
const;
137 void addGroupTCP(
const std::string& group_name,
const std::string& tcp_name,
const Eigen::Isometry3d& tcp);
140 void removeGroupTCP(
const std::string& group_name,
const std::string& tcp_name);
143 bool hasGroupTCP(
const std::string& group_name,
const std::string& tcp_name)
const;
150 template <
class Archive>
151 void serialize(Archive& ar,
const unsigned int version);
156#include <boost/serialization/export.hpp>
157#include <boost/serialization/tracking.hpp>
#define TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
Definition: macros.h:71
Definition: create_convex_hull.cpp:36
std::map< Key, Value, std::less< Key >, Eigen::aligned_allocator< std::pair< const Key, Value > > > AlignedMap
Definition: types.h:53
Main namespace.
Definition: collision_margins.h:49
std::unordered_map< std::string, double > GroupsJointState
Definition: kinematics_information.h:45
std::unordered_map< std::string, GroupsJointState > GroupsJointStates
Definition: kinematics_information.h:46
std::unordered_map< std::string, LinkGroup > LinkGroups
Definition: kinematics_information.h:55
std::unordered_map< std::string, JointGroup > JointGroups
Definition: kinematics_information.h:53
std::vector< std::string > JointGroup
Definition: kinematics_information.h:52
std::set< std::string > GroupNames
Definition: kinematics_information.h:56
std::unordered_map< std::string, ChainGroup > ChainGroups
Definition: kinematics_information.h:51
tesseract_common::AlignedMap< std::string, GroupsTCPs > GroupTCPs
Definition: kinematics_information.h:49
std::vector< std::string > LinkGroup
Definition: kinematics_information.h:54
std::unordered_map< std::string, GroupsJointStates > GroupJointStates
Definition: kinematics_information.h:47
std::vector< std::pair< std::string, std::string > > ChainGroup
Definition: kinematics_information.h:50
tesseract_common::AlignedMap< std::string, Eigen::Isometry3d > GroupsTCPs
Definition: kinematics_information.h:48
The kinematics plugin information structure.
Definition: types.h:149
Common Tesseract Utility Functions.
tesseract_common::JointState joint_state(joint_names, positons)
Definition: tesseract_common_unit.cpp:315
JointGroup joint_group
Definition: tesseract_srdf_unit.cpp:1805
ChainGroup chain_group
Definition: tesseract_srdf_unit.cpp:1768
LinkGroup link_group
Definition: tesseract_srdf_unit.cpp:1845