1#ifndef TESSERACT_VISUALIZATION_MARKERS_ARROW_MARKER_H
2#define TESSERACT_VISUALIZATION_MARKERS_ARROW_MARKER_H
17 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
28 Eigen::Vector3d x, y, z;
29 z = (pt2 - pt1).normalized();
30 y = z.unitOrthogonal();
31 x = (y.cross(z)).normalized();
37 pose.translation() = pt1 + (((pt2 - pt1).norm() / 2) * z);
39 double length = (pt2 - pt1).norm();
59 Eigen::Isometry3d
pose{ Eigen::Isometry3d::Identity() };
std::shared_ptr< Material > Ptr
Definition: link.h:60
An arrow marker.
Definition: arrow_marker.h:15
double head_length
The arrow head length.
Definition: arrow_marker.h:53
Eigen::Isometry3d pose
The arrow pose.
Definition: arrow_marker.h:59
int getType() const override
Get the marker type.
Definition: arrow_marker.h:44
double shaft_length
The arrow shaft length.
Definition: arrow_marker.h:47
ArrowMarker(const Eigen::Vector3d &pt1, const Eigen::Vector3d &pt2)
Define an arrow marker using two points.
Definition: arrow_marker.h:26
EIGEN_MAKE_ALIGNED_OPERATOR_NEW ArrowMarker()=default
tesseract_scene_graph::Material::Ptr material
The material information for the marker.
Definition: arrow_marker.h:62
double head_radius
The arrow head radius.
Definition: arrow_marker.h:56
double shaft_radius
The arrow shaft radius.
Definition: arrow_marker.h:50
Definition: conversions.h:39