Exotica
Public Member Functions | Public Attributes | Private Member Functions | List of all members
exotica::KinematicElement Class Reference

#include <kinematic_element.h>

Collaboration diagram for exotica::KinematicElement:
Collaboration graph

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW KinematicElement (int _id, std::shared_ptr< KinematicElement > _parent, const KDL::Segment &_segment)
 
 ~KinematicElement ()
 
void UpdateClosestRobotLink ()
 
KDL::Frame GetPose (const double &x=0.0)
 
void RemoveExpiredChildren ()
 

Public Attributes

int id
 
int control_id = -1
 
bool is_controlled = false
 
std::weak_ptr< KinematicElementparent
 
std::string parent_name
 
std::vector< std::weak_ptr< KinematicElement > > children
 
std::weak_ptr< KinematicElementclosest_robot_link = std::shared_ptr<KinematicElement>(nullptr)
 
KDL::Segment segment = KDL::Segment()
 
KDL::Frame frame = KDL::Frame::Identity()
 
KDL::Frame generated_offset = KDL::Frame::Identity()
 
bool is_trajectory_generated = false
 
std::vector< double > joint_limits
 
double velocity_limit = std::numeric_limits<double>::quiet_NaN()
 
double acceleration_limit = std::numeric_limits<double>::quiet_NaN()
 
shapes::ShapeConstPtr shape = nullptr
 
std::string shape_resource_path = std::string()
 
Eigen::Vector3d scale = Eigen::Vector3d::Ones()
 
bool is_robot_link = false
 
Eigen::Vector4d color = Eigen::Vector4d(0.5, 0.5, 0.5, 1.0)
 
std::vector< VisualElementvisual
 

Private Member Functions

void SetChildrenClosestRobotLink ()
 

Constructor & Destructor Documentation

◆ KinematicElement()

EIGEN_MAKE_ALIGNED_OPERATOR_NEW exotica::KinematicElement::KinematicElement ( int  _id,
std::shared_ptr< KinematicElement _parent,
const KDL::Segment &  _segment 
)
inline

◆ ~KinematicElement()

exotica::KinematicElement::~KinematicElement ( )
inline

Member Function Documentation

◆ GetPose()

KDL::Frame exotica::KinematicElement::GetPose ( const double &  x = 0.0)
inline

◆ RemoveExpiredChildren()

void exotica::KinematicElement::RemoveExpiredChildren ( )
inline

◆ SetChildrenClosestRobotLink()

void exotica::KinematicElement::SetChildrenClosestRobotLink ( )
inlineprivate

◆ UpdateClosestRobotLink()

void exotica::KinematicElement::UpdateClosestRobotLink ( )
inline

Member Data Documentation

◆ acceleration_limit

double exotica::KinematicElement::acceleration_limit = std::numeric_limits<double>::quiet_NaN()

◆ children

std::vector<std::weak_ptr<KinematicElement> > exotica::KinematicElement::children

◆ closest_robot_link

std::weak_ptr<KinematicElement> exotica::KinematicElement::closest_robot_link = std::shared_ptr<KinematicElement>(nullptr)

◆ color

Eigen::Vector4d exotica::KinematicElement::color = Eigen::Vector4d(0.5, 0.5, 0.5, 1.0)

◆ control_id

int exotica::KinematicElement::control_id = -1

◆ frame

KDL::Frame exotica::KinematicElement::frame = KDL::Frame::Identity()

◆ generated_offset

KDL::Frame exotica::KinematicElement::generated_offset = KDL::Frame::Identity()

◆ id

int exotica::KinematicElement::id

◆ is_controlled

bool exotica::KinematicElement::is_controlled = false

◆ is_robot_link

bool exotica::KinematicElement::is_robot_link = false

◆ is_trajectory_generated

bool exotica::KinematicElement::is_trajectory_generated = false

◆ joint_limits

std::vector<double> exotica::KinematicElement::joint_limits

◆ parent

std::weak_ptr<KinematicElement> exotica::KinematicElement::parent

◆ parent_name

std::string exotica::KinematicElement::parent_name

◆ scale

Eigen::Vector3d exotica::KinematicElement::scale = Eigen::Vector3d::Ones()

◆ segment

KDL::Segment exotica::KinematicElement::segment = KDL::Segment()

◆ shape

shapes::ShapeConstPtr exotica::KinematicElement::shape = nullptr

◆ shape_resource_path

std::string exotica::KinematicElement::shape_resource_path = std::string()

◆ velocity_limit

double exotica::KinematicElement::velocity_limit = std::numeric_limits<double>::quiet_NaN()

◆ visual

std::vector<VisualElement> exotica::KinematicElement::visual

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