Tesseract
Motion Planning Environment
|
#include <ofkt_nodes.h>
Public Member Functions | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW | OFKTBaseNode (tesseract_scene_graph::JointType type, OFKTNode *parent, std::string link_name) |
OFKTBaseNode (tesseract_scene_graph::JointType type, OFKTNode *parent, std::string link_name, std::string joint_name, const Eigen::Isometry3d &static_tf) | |
JointType | getType () const override |
Get the type of joint associated with the node. More... | |
void | setParent (OFKTNode *parent) override |
Set the parent node. More... | |
OFKTNode * | getParent () override |
Get the parent node. More... | |
const OFKTNode * | getParent () const override |
Get the parent node (const) More... | |
const std::string & | getLinkName () const override |
Get the link name associated with the node. More... | |
const std::string & | getJointName () const override |
Get the joint name associated with the node. More... | |
void | storeJointValue (double joint_value) override |
Set the nodes joint value if it has one. More... | |
double | getJointValue () const override |
Get the current joint value. More... | |
bool | hasJointValueChanged () const override |
Indicates that the joint value has changed and that local and world transformation need to be recomputed. More... | |
void | setStaticTransformation (Eigen::Isometry3d static_tf) override |
Set the static transformation. More... | |
const Eigen::Isometry3d & | getStaticTransformation () const override |
Get the nodes static transformation. More... | |
const Eigen::Isometry3d & | getLocalTransformation () const override |
Get the local transformation: 'L = S * J'. More... | |
Eigen::Isometry3d | computeLocalTransformation (double joint_value) const override |
Compute the local tranformation but do not save. More... | |
void | computeAndStoreWorldTransformation () override |
Compute and store the nodes world transformation. More... | |
const Eigen::Isometry3d & | getWorldTransformation () const override |
Get the nodes world transformation. More... | |
bool | updateWorldTransformationRequired () const override |
Indicates if an update of the world transformation is required. More... | |
Eigen::Matrix< double, 6, 1 > | getLocalTwist () const override |
Return the twist of the node in its local frame. More... | |
void | addChild (OFKTNode *node) override |
Add a child node. More... | |
void | removeChild (const OFKTNode *node) override |
Remove a child node assiciated with this node. More... | |
std::vector< OFKTNode * > & | getChildren () override |
Get a vector of child nodes associated with this node. More... | |
const std::vector< const OFKTNode * > & | getChildren () const override |
Get a vector of child nodes associated with this node (Const) More... | |
Public Member Functions inherited from tesseract_scene_graph::OFKTNode | |
OFKTNode ()=default | |
virtual | ~OFKTNode ()=default |
OFKTNode (const OFKTNode &)=delete | |
OFKTNode & | operator= (const OFKTNode &)=delete |
OFKTNode (OFKTNode &&)=delete | |
OFKTNode & | operator= (OFKTNode &&)=delete |
virtual JointType | getType () const =0 |
Get the type of joint associated with the node. More... | |
virtual void | setParent (OFKTNode *parent)=0 |
Set the parent node. More... | |
virtual OFKTNode * | getParent ()=0 |
Get the parent node. More... | |
virtual const OFKTNode * | getParent () const =0 |
Get the parent node (const) More... | |
virtual const std::string & | getLinkName () const =0 |
Get the link name associated with the node. More... | |
virtual const std::string & | getJointName () const =0 |
Get the joint name associated with the node. More... | |
virtual void | storeJointValue (double joint_value)=0 |
Set the nodes joint value if it has one. More... | |
virtual double | getJointValue () const =0 |
Get the current joint value. More... | |
virtual bool | hasJointValueChanged () const =0 |
Indicates that the joint value has changed and that local and world transformation need to be recomputed. More... | |
virtual void | setStaticTransformation (Eigen::Isometry3d static_tf)=0 |
Set the static transformation. More... | |
virtual const Eigen::Isometry3d & | getStaticTransformation () const =0 |
Get the nodes static transformation. More... | |
virtual void | computeAndStoreLocalTransformation ()=0 |
Compute and save the local transformation 'L = S * J(Joint Value)'. More... | |
virtual const Eigen::Isometry3d & | getLocalTransformation () const =0 |
Get the local transformation: 'L = S * J'. More... | |
virtual Eigen::Isometry3d | computeLocalTransformation (double joint_value) const =0 |
Compute the local tranformation but do not save. More... | |
virtual void | computeAndStoreWorldTransformation ()=0 |
Compute and store the nodes world transformation. More... | |
virtual const Eigen::Isometry3d & | getWorldTransformation () const =0 |
Get the nodes world transformation. More... | |
virtual bool | updateWorldTransformationRequired () const =0 |
Indicates if an update of the world transformation is required. More... | |
virtual Eigen::Matrix< double, 6, 1 > | getLocalTwist () const =0 |
Return the twist of the node in its local frame. More... | |
virtual void | addChild (OFKTNode *node)=0 |
Add a child node. More... | |
virtual void | removeChild (const OFKTNode *node)=0 |
Remove a child node assiciated with this node. More... | |
virtual std::vector< OFKTNode * > & | getChildren ()=0 |
Get a vector of child nodes associated with this node. More... | |
virtual const std::vector< const OFKTNode * > & | getChildren () const =0 |
Get a vector of child nodes associated with this node (Const) More... | |
Protected Attributes | |
tesseract_scene_graph::JointType | type_ |
OFKTNode * | parent_ { nullptr } |
std::string | link_name_ |
std::string | joint_name_ |
Eigen::Isometry3d | static_tf_ { Eigen::Isometry3d::Identity() } |
Eigen::Isometry3d | joint_tf_ { Eigen::Isometry3d::Identity() } |
Eigen::Isometry3d | local_tf_ { Eigen::Isometry3d::Identity() } |
Eigen::Isometry3d | world_tf_ { Eigen::Isometry3d::Identity() } |
Eigen::Matrix< double, 6, 1 > | local_twist_ { Eigen::VectorXd::Zero(6) } |
double | joint_value_ { 0 } |
bool | joint_value_changed_ { false } |
std::vector< OFKTNode * > | children_ |
std::vector< const OFKTNode * > | children_const_ |
bool | update_world_required_ { true } |
Friends | |
class | OFKTStateSolver |
Additional Inherited Members | |
Public Types inherited from tesseract_scene_graph::OFKTNode | |
using | UPtr = std::unique_ptr< OFKTNode > |
using | Ptr = std::shared_ptr< OFKTNode > |
using | ConstPtr = std::shared_ptr< const OFKTNode > |
tesseract_scene_graph::OFKTBaseNode::OFKTBaseNode | ( | tesseract_scene_graph::JointType | type, |
OFKTNode * | parent, | ||
std::string | link_name | ||
) |
tesseract_scene_graph::OFKTBaseNode::OFKTBaseNode | ( | tesseract_scene_graph::JointType | type, |
OFKTNode * | parent, | ||
std::string | link_name, | ||
std::string | joint_name, | ||
const Eigen::Isometry3d & | static_tf | ||
) |
|
overridevirtual |
Add a child node.
node | The node which is a child of this node |
Implements tesseract_scene_graph::OFKTNode.
|
overridevirtual |
Compute and store the nodes world transformation.
This should reset the flag such that updateWorldTransformationRequired() returns false
Implements tesseract_scene_graph::OFKTNode.
Reimplemented in tesseract_scene_graph::OFKTRootNode.
|
overridevirtual |
Compute the local tranformation but do not save.
This provides a const method for computing the local transform.
joint_value | The joint value for calculating the local transformation |
Implements tesseract_scene_graph::OFKTNode.
Reimplemented in tesseract_scene_graph::OFKTRootNode, tesseract_scene_graph::OFKTFixedNode, tesseract_scene_graph::OFKTRevoluteNode, tesseract_scene_graph::OFKTContinuousNode, and tesseract_scene_graph::OFKTPrismaticNode.
|
overridevirtual |
Get a vector of child nodes associated with this node (Const)
Implements tesseract_scene_graph::OFKTNode.
|
overridevirtual |
Get a vector of child nodes associated with this node.
Implements tesseract_scene_graph::OFKTNode.
|
overridevirtual |
Get the joint name associated with the node.
Implements tesseract_scene_graph::OFKTNode.
|
overridevirtual |
Get the current joint value.
Implements tesseract_scene_graph::OFKTNode.
Reimplemented in tesseract_scene_graph::OFKTFixedNode.
|
overridevirtual |
Get the link name associated with the node.
Implements tesseract_scene_graph::OFKTNode.
|
overridevirtual |
Get the local transformation: 'L = S * J'.
Implements tesseract_scene_graph::OFKTNode.
|
overridevirtual |
Return the twist of the node in its local frame.
Implements tesseract_scene_graph::OFKTNode.
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
Get the nodes static transformation.
Implements tesseract_scene_graph::OFKTNode.
|
overridevirtual |
Get the type of joint associated with the node.
Implements tesseract_scene_graph::OFKTNode.
|
overridevirtual |
Get the nodes world transformation.
Implements tesseract_scene_graph::OFKTNode.
|
overridevirtual |
Indicates that the joint value has changed and that local and world transformation need to be recomputed.
Implements tesseract_scene_graph::OFKTNode.
|
overridevirtual |
Remove a child node assiciated with this node.
node | The child node to be removed |
Implements tesseract_scene_graph::OFKTNode.
|
overridevirtual |
Set the parent node.
This should indicate that updateWorldTransformationRequired() = true
parent | The parent node |
Implements tesseract_scene_graph::OFKTNode.
Reimplemented in tesseract_scene_graph::OFKTRootNode.
|
overridevirtual |
Set the static transformation.
This should recompute the local transformation and updateWorldTransformationRequired() = true.
static_tf | The new static transformation |
Implements tesseract_scene_graph::OFKTNode.
Reimplemented in tesseract_scene_graph::OFKTRootNode, and tesseract_scene_graph::OFKTFixedNode.
|
overridevirtual |
Set the nodes joint value if it has one.
This should indicate hasJointValueChanged() = true
joint_value | The joint value |
Implements tesseract_scene_graph::OFKTNode.
Reimplemented in tesseract_scene_graph::OFKTRootNode, tesseract_scene_graph::OFKTFixedNode, and tesseract_scene_graph::OFKTRevoluteNode.
|
overridevirtual |
Indicates if an update of the world transformation is required.
This should get set to true when either of the following happen.
Note: setJointValue() is not handle here because that is captured by hasJointValueChanged()
Implements tesseract_scene_graph::OFKTNode.
Reimplemented in tesseract_scene_graph::OFKTRootNode.
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |