Tesseract
Motion Planning Environment
Loading...
Searching...
No Matches
mutable_state_solver.h
Go to the documentation of this file.
1
26#ifndef TESSERACT_STATE_SOLVER_MUTABLE_STATE_SOLVER_H
27#define TESSERACT_STATE_SOLVER_MUTABLE_STATE_SOLVER_H
28
30
32{
37{
38public:
39 using Ptr = std::shared_ptr<MutableStateSolver>;
40 using ConstPtr = std::shared_ptr<const MutableStateSolver>;
41 using UPtr = std::unique_ptr<MutableStateSolver>;
42 using ConstUPtr = std::unique_ptr<const MutableStateSolver>;
43
44 MutableStateSolver() = default;
45 ~MutableStateSolver() override = default;
50
55 virtual void setRevision(int revision) = 0;
56
61 virtual int getRevision() const = 0;
62
69 virtual bool addLink(const Link& link, const Joint& joint) = 0;
70
76 virtual bool moveLink(const Joint& joint) = 0;
77
86 virtual bool removeLink(const std::string& name) = 0;
87
93 virtual bool replaceJoint(const Joint& joint) = 0;
94
100 virtual bool removeJoint(const std::string& name) = 0;
101
108 virtual bool moveJoint(const std::string& name, const std::string& parent_link) = 0;
109
116 virtual bool changeJointOrigin(const std::string& name, const Eigen::Isometry3d& new_origin) = 0;
117
124 virtual bool changeJointPositionLimits(const std::string& name, double lower, double upper) = 0;
125
132 virtual bool changeJointVelocityLimits(const std::string& name, double limit) = 0;
133
140 virtual bool changeJointAccelerationLimits(const std::string& name, double limit) = 0;
141
150 virtual bool insertSceneGraph(const SceneGraph& scene_graph, const Joint& joint, const std::string& prefix = "") = 0;
151};
152} // namespace tesseract_scene_graph
153
154#endif // TESSERACT_STATE_SOLVER_MUTABLE_STATE_SOLVER_H
Definition: joint.h:281
A mutable state solver allows you to reconfigure the solver's links and joints.
Definition: mutable_state_solver.h:37
MutableStateSolver & operator=(const MutableStateSolver &)=default
std::unique_ptr< const MutableStateSolver > ConstUPtr
Definition: mutable_state_solver.h:42
std::unique_ptr< MutableStateSolver > UPtr
Definition: mutable_state_solver.h:41
MutableStateSolver(MutableStateSolver &&)=default
MutableStateSolver & operator=(MutableStateSolver &&)=default
virtual int getRevision() const =0
Get the state solver revision number.
virtual bool moveLink(const Joint &joint)=0
Move a link.
virtual bool changeJointAccelerationLimits(const std::string &name, double limit)=0
Changes the acceleration limits associated with a joint.
virtual bool addLink(const Link &link, const Joint &joint)=0
Adds a link/joint to the solver.
virtual bool replaceJoint(const Joint &joint)=0
Replace and existing joint with the provided one.
std::shared_ptr< const MutableStateSolver > ConstPtr
Definition: mutable_state_solver.h:40
virtual bool removeJoint(const std::string &name)=0
Removes a joint from the graph.
virtual bool moveJoint(const std::string &name, const std::string &parent_link)=0
Move joint to new parent link.
virtual bool changeJointOrigin(const std::string &name, const Eigen::Isometry3d &new_origin)=0
Changes the "origin" transform of the joint and recomputes the associated edge.
MutableStateSolver(const MutableStateSolver &)=default
virtual bool removeLink(const std::string &name)=0
Removes a link from the graph.
virtual bool changeJointVelocityLimits(const std::string &name, double limit)=0
Changes the velocity limits associated with a joint.
std::shared_ptr< MutableStateSolver > Ptr
Definition: mutable_state_solver.h:39
virtual bool insertSceneGraph(const SceneGraph &scene_graph, const Joint &joint, const std::string &prefix="")=0
Merge a scene into the current solver.
virtual void setRevision(int revision)=0
Set the state solver revision number.
virtual bool changeJointPositionLimits(const std::string &name, double lower, double upper)=0
Changes the position limits associated with a joint.
Definition: graph.h:125
Definition: state_solver.h:46
auto scene_graph
Definition: ikfast_kinematics_7dof_unit.cpp:51
Definition: graph.h:82
Tesseract Scene Graph State Solver Interface.
j lower
Definition: tesseract_scene_graph_joint_unit.cpp:39
j upper
Definition: tesseract_scene_graph_joint_unit.cpp:40