Tesseract
Motion Planning Environment
Loading...
Searching...
No Matches
Public Member Functions | Friends | List of all members
tesseract_scene_graph::OFKTRootNode Class Reference

#include <ofkt_nodes.h>

Inheritance diagram for tesseract_scene_graph::OFKTRootNode:
Inheritance graph
[legend]
Collaboration diagram for tesseract_scene_graph::OFKTRootNode:
Collaboration graph
[legend]

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW OFKTRootNode (std::string link_name)
 This should only be used for the root node of the tree. More...
 
void setParent (OFKTNode *parent) override
 Set the parent node. More...
 
void storeJointValue (double joint_value) override
 Set the nodes joint value if it has one. More...
 
void setStaticTransformation (Eigen::Isometry3d static_tf) override
 Set the static transformation. More...
 
void computeAndStoreLocalTransformation () override
 Compute and save the local transformation 'L = S * J(Joint Value)'. More...
 
void computeAndStoreWorldTransformation () override
 Compute and store the nodes world transformation. More...
 
bool updateWorldTransformationRequired () const override
 Indicates if an update of the world transformation is required. More...
 
Eigen::Isometry3d computeLocalTransformation (double joint_value) const override
 Compute the local tranformation but do not save. More...
 
- Public Member Functions inherited from tesseract_scene_graph::OFKTBaseNode
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...
 
OFKTNodegetParent () override
 Get the parent node. More...
 
const OFKTNodegetParent () 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
 
OFKTNodeoperator= (const OFKTNode &)=delete
 
 OFKTNode (OFKTNode &&)=delete
 
OFKTNodeoperator= (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 OFKTNodegetParent ()=0
 Get the parent node. More...
 
virtual const OFKTNodegetParent () 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...
 

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 >
 
- Protected Attributes inherited from tesseract_scene_graph::OFKTBaseNode
tesseract_scene_graph::JointType type_
 
OFKTNodeparent_ { 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 }
 

Constructor & Destructor Documentation

◆ OFKTRootNode()

tesseract_scene_graph::OFKTRootNode::OFKTRootNode ( std::string  link_name)

This should only be used for the root node of the tree.

Parameters
link_nameThe link name associated with the node

Member Function Documentation

◆ computeAndStoreLocalTransformation()

void tesseract_scene_graph::OFKTRootNode::computeAndStoreLocalTransformation ( )
overridevirtual

Compute and save the local transformation 'L = S * J(Joint Value)'.

This should reset the flag such that hasJointValueChanged() returns false

Implements tesseract_scene_graph::OFKTNode.

◆ computeAndStoreWorldTransformation()

void tesseract_scene_graph::OFKTRootNode::computeAndStoreWorldTransformation ( )
overridevirtual

Compute and store the nodes world transformation.

This should reset the flag such that updateWorldTransformationRequired() returns false

Reimplemented from tesseract_scene_graph::OFKTBaseNode.

◆ computeLocalTransformation()

Eigen::Isometry3d tesseract_scene_graph::OFKTRootNode::computeLocalTransformation ( double  joint_value) const
overridevirtual

Compute the local tranformation but do not save.

This provides a const method for computing the local transform.

Parameters
joint_valueThe joint value for calculating the local transformation
Returns
The local transformation for the provided joint value

Reimplemented from tesseract_scene_graph::OFKTBaseNode.

◆ setParent()

void tesseract_scene_graph::OFKTRootNode::setParent ( OFKTNode parent)
overridevirtual

Set the parent node.

This should indicate that updateWorldTransformationRequired() = true

Parameters
parentThe parent node

Reimplemented from tesseract_scene_graph::OFKTBaseNode.

◆ setStaticTransformation()

void tesseract_scene_graph::OFKTRootNode::setStaticTransformation ( Eigen::Isometry3d  static_tf)
overridevirtual

Set the static transformation.

This should recompute the local transformation and updateWorldTransformationRequired() = true.

Parameters
static_tfThe new static transformation

Reimplemented from tesseract_scene_graph::OFKTBaseNode.

◆ storeJointValue()

void tesseract_scene_graph::OFKTRootNode::storeJointValue ( double  joint_value)
overridevirtual

Set the nodes joint value if it has one.

This should indicate hasJointValueChanged() = true

Parameters
joint_valueThe joint value

Reimplemented from tesseract_scene_graph::OFKTBaseNode.

◆ updateWorldTransformationRequired()

bool tesseract_scene_graph::OFKTRootNode::updateWorldTransformationRequired ( ) const
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()

Returns
If true, the world transformation need to be recalculated.

Reimplemented from tesseract_scene_graph::OFKTBaseNode.

Friends And Related Function Documentation

◆ OFKTStateSolver

friend class OFKTStateSolver
friend

The documentation for this class was generated from the following files: