| 
|   | OFKTStateSolver (const tesseract_scene_graph::SceneGraph &scene_graph, const std::string &prefix="") | 
|   | 
|   | OFKTStateSolver (const std::string &root_name) | 
|   | 
|   | ~OFKTStateSolver () override=default | 
|   | 
|   | OFKTStateSolver (const OFKTStateSolver &other) | 
|   | 
| OFKTStateSolver &  | operator= (const OFKTStateSolver &other) | 
|   | 
|   | OFKTStateSolver (OFKTStateSolver &&)=delete | 
|   | 
| OFKTStateSolver &  | operator= (OFKTStateSolver &&)=delete | 
|   | 
| void  | setRevision (int revision) override final | 
|   | Set the state solver revision number.  More...
  | 
|   | 
| int  | getRevision () const override final | 
|   | Get the state solver revision number.  More...
  | 
|   | 
| void  | setState (const Eigen::Ref< const Eigen::VectorXd > &joint_values) override final | 
|   | Set the current state of the solver.  More...
  | 
|   | 
| void  | setState (const std::unordered_map< std::string, double > &joint_values) override final | 
|   | Set the current state of the solver.  More...
  | 
|   | 
| void  | setState (const std::vector< std::string > &joint_names, const Eigen::Ref< const Eigen::VectorXd > &joint_values) override final | 
|   | 
| SceneState  | getState (const Eigen::Ref< const Eigen::VectorXd > &joint_values) const override final | 
|   | Get the state of the solver given the joint values.  More...
  | 
|   | 
| SceneState  | getState (const std::unordered_map< std::string, double > &joint_values) const override final | 
|   | Get the state of the scene for a given set or subset of joint values.  More...
  | 
|   | 
| SceneState  | getState (const std::vector< std::string > &joint_names, const Eigen::Ref< const Eigen::VectorXd > &joint_values) const override final | 
|   | 
| SceneState  | getState () const override final | 
|   | Get the current state of the scene.  More...
  | 
|   | 
| SceneState  | getRandomState () const override final | 
|   | Get the random state of the environment.  More...
  | 
|   | 
| Eigen::MatrixXd  | getJacobian (const Eigen::Ref< const Eigen::VectorXd > &joint_values, const std::string &link_name) const override final | 
|   | Get the jacobian of the solver given the joint values.  More...
  | 
|   | 
| Eigen::MatrixXd  | getJacobian (const std::unordered_map< std::string, double > &joints_values, const std::string &link_name) const override final | 
|   | Get the jacobian of the scene for a given set or subset of joint values.  More...
  | 
|   | 
| Eigen::MatrixXd  | getJacobian (const std::vector< std::string > &joint_names, const Eigen::Ref< const Eigen::VectorXd > &joint_values, const std::string &link_name) const override final | 
|   | 
| std::vector< std::string >  | getJointNames () const override final | 
|   | Get the vector of joint names.  More...
  | 
|   | 
| std::vector< std::string >  | getActiveJointNames () const override final | 
|   | Get the vector of joint names which align with the limits.  More...
  | 
|   | 
| std::string  | getBaseLinkName () const override final | 
|   | Get the base link name.  More...
  | 
|   | 
| std::vector< std::string >  | getLinkNames () const override final | 
|   | Get the vector of link names.  More...
  | 
|   | 
| std::vector< std::string >  | getActiveLinkNames () const override final | 
|   | Get the vector of active link names.  More...
  | 
|   | 
| std::vector< std::string >  | getStaticLinkNames () const override final | 
|   | Get a vector of static link names in the environment.  More...
  | 
|   | 
| bool  | isActiveLinkName (const std::string &link_name) const override final | 
|   | Check if link is an active link.  More...
  | 
|   | 
| bool  | hasLinkName (const std::string &link_name) const override final | 
|   | Check if link name exists.  More...
  | 
|   | 
| tesseract_common::VectorIsometry3d  | getLinkTransforms () const override final | 
|   | Get all of the links transforms.  More...
  | 
|   | 
| Eigen::Isometry3d  | getLinkTransform (const std::string &link_name) const override final | 
|   | Get the transform corresponding to the link.  More...
  | 
|   | 
| Eigen::Isometry3d  | getRelativeLinkTransform (const std::string &from_link_name, const std::string &to_link_name) const override final | 
|   | Get transform between two links using the current state.  More...
  | 
|   | 
| tesseract_common::KinematicLimits  | getLimits () const override final | 
|   | Getter for kinematic limits.  More...
  | 
|   | 
| bool  | addLink (const Link &link, const Joint &joint) override final | 
|   | Adds a link/joint to the solver.  More...
  | 
|   | 
| bool  | moveLink (const Joint &joint) override final | 
|   | Move a link.  More...
  | 
|   | 
| bool  | removeLink (const std::string &name) override final | 
|   | Removes a link from the graph.  More...
  | 
|   | 
| bool  | replaceJoint (const Joint &joint) override final | 
|   | Replace and existing joint with the provided one.  More...
  | 
|   | 
| bool  | removeJoint (const std::string &name) override final | 
|   | Removes a joint from the graph.  More...
  | 
|   | 
| bool  | moveJoint (const std::string &name, const std::string &parent_link) override final | 
|   | Move joint to new parent link.  More...
  | 
|   | 
| bool  | changeJointOrigin (const std::string &name, const Eigen::Isometry3d &new_origin) override final | 
|   | Changes the "origin" transform of the joint and recomputes the associated edge.  More...
  | 
|   | 
| bool  | changeJointPositionLimits (const std::string &name, double lower, double upper) override final | 
|   | Changes the position limits associated with a joint.  More...
  | 
|   | 
| bool  | changeJointVelocityLimits (const std::string &name, double limit) override final | 
|   | Changes the velocity limits associated with a joint.  More...
  | 
|   | 
| bool  | changeJointAccelerationLimits (const std::string &name, double limit) override final | 
|   | Changes the acceleration limits associated with a joint.  More...
  | 
|   | 
| bool  | insertSceneGraph (const SceneGraph &scene_graph, const Joint &joint, const std::string &prefix="") override final | 
|   | Merge a scene into the current solver.  More...
  | 
|   | 
| StateSolver::UPtr  | clone () const override final | 
|   | This should clone the object so it may be used in a multi threaded application where each thread would clone the solver.  More...
  | 
|   | 
|   | MutableStateSolver ()=default | 
|   | 
|   | ~MutableStateSolver () override=default | 
|   | 
|   | MutableStateSolver (const MutableStateSolver &)=default | 
|   | 
| MutableStateSolver &  | operator= (const MutableStateSolver &)=default | 
|   | 
|   | MutableStateSolver (MutableStateSolver &&)=default | 
|   | 
| MutableStateSolver &  | operator= (MutableStateSolver &&)=default | 
|   | 
| virtual void  | setRevision (int revision)=0 | 
|   | Set the state solver revision number.  More...
  | 
|   | 
| virtual int  | getRevision () const =0 | 
|   | Get the state solver revision number.  More...
  | 
|   | 
| virtual bool  | addLink (const Link &link, const Joint &joint)=0 | 
|   | Adds a link/joint to the solver.  More...
  | 
|   | 
| virtual bool  | moveLink (const Joint &joint)=0 | 
|   | Move a link.  More...
  | 
|   | 
| virtual bool  | removeLink (const std::string &name)=0 | 
|   | Removes a link from the graph.  More...
  | 
|   | 
| virtual bool  | replaceJoint (const Joint &joint)=0 | 
|   | Replace and existing joint with the provided one.  More...
  | 
|   | 
| virtual bool  | removeJoint (const std::string &name)=0 | 
|   | Removes a joint from the graph.  More...
  | 
|   | 
| virtual bool  | moveJoint (const std::string &name, const std::string &parent_link)=0 | 
|   | Move joint to new parent link.  More...
  | 
|   | 
| 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.  More...
  | 
|   | 
| virtual bool  | changeJointPositionLimits (const std::string &name, double lower, double upper)=0 | 
|   | Changes the position limits associated with a joint.  More...
  | 
|   | 
| virtual bool  | changeJointVelocityLimits (const std::string &name, double limit)=0 | 
|   | Changes the velocity limits associated with a joint.  More...
  | 
|   | 
| virtual bool  | changeJointAccelerationLimits (const std::string &name, double limit)=0 | 
|   | Changes the acceleration limits associated with a joint.  More...
  | 
|   | 
| virtual bool  | insertSceneGraph (const SceneGraph &scene_graph, const Joint &joint, const std::string &prefix="")=0 | 
|   | Merge a scene into the current solver.  More...
  | 
|   | 
|   | StateSolver ()=default | 
|   | 
| virtual  | ~StateSolver ()=default | 
|   | 
|   | StateSolver (const StateSolver &)=default | 
|   | 
| StateSolver &  | operator= (const StateSolver &)=default | 
|   | 
|   | StateSolver (StateSolver &&)=default | 
|   | 
| StateSolver &  | operator= (StateSolver &&)=default | 
|   | 
| virtual StateSolver::UPtr  | clone () const =0 | 
|   | This should clone the object so it may be used in a multi threaded application where each thread would clone the solver.  More...
  | 
|   | 
| virtual void  | setState (const Eigen::Ref< const Eigen::VectorXd > &joint_values)=0 | 
|   | Set the current state of the solver.  More...
  | 
|   | 
| virtual void  | setState (const std::unordered_map< std::string, double > &joint_values)=0 | 
|   | Set the current state of the solver.  More...
  | 
|   | 
| virtual void  | setState (const std::vector< std::string > &joint_names, const Eigen::Ref< const Eigen::VectorXd > &joint_values)=0 | 
|   | 
| virtual SceneState  | getState (const Eigen::Ref< const Eigen::VectorXd > &joint_values) const =0 | 
|   | Get the state of the solver given the joint values.  More...
  | 
|   | 
| virtual SceneState  | getState (const std::unordered_map< std::string, double > &joint_values) const =0 | 
|   | Get the state of the scene for a given set or subset of joint values.  More...
  | 
|   | 
| virtual SceneState  | getState (const std::vector< std::string > &joint_names, const Eigen::Ref< const Eigen::VectorXd > &joint_values) const =0 | 
|   | 
| virtual SceneState  | getState () const =0 | 
|   | Get the current state of the scene.  More...
  | 
|   | 
| virtual Eigen::MatrixXd  | getJacobian (const Eigen::Ref< const Eigen::VectorXd > &joint_values, const std::string &link_name) const =0 | 
|   | Get the jacobian of the solver given the joint values.  More...
  | 
|   | 
| virtual Eigen::MatrixXd  | getJacobian (const std::unordered_map< std::string, double > &joint_values, const std::string &link_name) const =0 | 
|   | Get the jacobian of the scene for a given set or subset of joint values.  More...
  | 
|   | 
| virtual Eigen::MatrixXd  | getJacobian (const std::vector< std::string > &joint_names, const Eigen::Ref< const Eigen::VectorXd > &joint_values, const std::string &link_name) const =0 | 
|   | 
| virtual SceneState  | getRandomState () const =0 | 
|   | Get the random state of the environment.  More...
  | 
|   | 
| virtual std::vector< std::string >  | getJointNames () const =0 | 
|   | Get the vector of joint names.  More...
  | 
|   | 
| virtual std::vector< std::string >  | getActiveJointNames () const =0 | 
|   | Get the vector of joint names which align with the limits.  More...
  | 
|   | 
| virtual std::string  | getBaseLinkName () const =0 | 
|   | Get the base link name.  More...
  | 
|   | 
| virtual std::vector< std::string >  | getLinkNames () const =0 | 
|   | Get the vector of link names.  More...
  | 
|   | 
| virtual std::vector< std::string >  | getActiveLinkNames () const =0 | 
|   | Get the vector of active link names.  More...
  | 
|   | 
| virtual std::vector< std::string >  | getStaticLinkNames () const =0 | 
|   | Get a vector of static link names in the environment.  More...
  | 
|   | 
| virtual bool  | isActiveLinkName (const std::string &link_name) const =0 | 
|   | Check if link is an active link.  More...
  | 
|   | 
| virtual bool  | hasLinkName (const std::string &link_name) const =0 | 
|   | Check if link name exists.  More...
  | 
|   | 
| virtual tesseract_common::VectorIsometry3d  | getLinkTransforms () const =0 | 
|   | Get all of the links transforms.  More...
  | 
|   | 
| virtual Eigen::Isometry3d  | getLinkTransform (const std::string &link_name) const =0 | 
|   | Get the transform corresponding to the link.  More...
  | 
|   | 
| virtual Eigen::Isometry3d  | getRelativeLinkTransform (const std::string &from_link_name, const std::string &to_link_name) const =0 | 
|   | Get transform between two links using the current state.  More...
  | 
|   | 
| virtual tesseract_common::KinematicLimits  | getLimits () const =0 | 
|   | Getter for kinematic limits.  More...
  | 
|   | 
 | 
| bool  | initHelper (const tesseract_scene_graph::SceneGraph &scene_graph, const std::string &prefix) | 
|   | 
| void  | clear () | 
|   | 
| void  | loadActiveLinkNamesRecursive (std::vector< std::string > &active_link_names, const OFKTNode *node, bool active) const | 
|   | load the active link names  More...
  | 
|   | 
| void  | loadStaticLinkNamesRecursive (std::vector< std::string > &static_link_names, const OFKTNode *node) const | 
|   | load the static link names  More...
  | 
|   | 
| void  | update (OFKTNode *node, bool update_required) | 
|   | This update the local and world transforms.  More...
  | 
|   | 
| void  | update (SceneState &state, const OFKTNode *node, Eigen::Isometry3d parent_world_tf, bool update_required) const | 
|   | This is a const version of the function above.  More...
  | 
|   | 
| Eigen::MatrixXd  | calcJacobianHelper (const std::unordered_map< std::string, double > &joints, const std::string &link_name) const | 
|   | Given a set of joint values calculate the jacobian for the provided link_name.  More...
  | 
|   | 
| void  | cloneHelper (OFKTStateSolver &cloned, const OFKTNode *node) const | 
|   | A helper function used for cloning the OFKTStateSolver.  More...
  | 
|   | 
| void  | addNode (const Joint &joint, const std::string &joint_name, const std::string &parent_link_name, const std::string &child_link_name, std::vector< JointLimits::ConstPtr > &new_joint_limits) | 
|   | Add a node to the tree.  More...
  | 
|   | 
| void  | removeNode (OFKTNode *node, std::vector< std::string > &removed_links, std::vector< std::string > &removed_joints, std::vector< std::string > &removed_active_joints, std::vector< long > &removed_active_joints_indices) | 
|   | Remove a node and all of its children.  More...
  | 
|   | 
| void  | moveLinkHelper (std::vector< JointLimits::ConstPtr > &new_joint_limits, const Joint &joint) | 
|   | This a helper function for moving a link.  More...
  | 
|   | 
| void  | replaceJointHelper (std::vector< JointLimits::ConstPtr > &new_joint_limits, const Joint &joint) | 
|   | This is a helper function for replacing a joint.  More...
  | 
|   | 
| void  | removeJointHelper (const std::vector< std::string > &removed_links, const std::vector< std::string > &removed_joints, const std::vector< std::string > &removed_active_joints, const std::vector< long > &removed_active_joints_indices) | 
|   | This will clean up member variables joint_names_ and limits_.  More...
  | 
|   | 
| void  | addNewJointLimits (const std::vector< JointLimits::ConstPtr > &new_joint_limits) | 
|   | appends the new joint limits  More...
  | 
|   | 
An implementation of the Optimized Forward Kinematic Tree as a stat solver. 
Starke, S., Hendrich, N., & Zhang, J. (2018). A Forward Kinematics Data Structure for Efficient Evolutionary Inverse Kinematics. In Computational Kinematics (pp. 560-568). Springer, Cham.