17#ifndef TESSERACT_VISUALIZATION_MARKERS_MARKER_H
18#define TESSERACT_VISUALIZATION_MARKERS_MARKER_H
24#include <Eigen/Geometry>
77 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
79 using Ptr = std::shared_ptr<Marker>;
80 using ConstPtr = std::shared_ptr<const Marker>;
111 virtual void setLifetime(
const std::chrono::steady_clock::duration& lifetime);
117 virtual std::chrono::steady_clock::duration
getLifetime()
const;
141 virtual const Eigen::Vector3d&
getScale()
const;
154 Eigen::Vector3d
scale_{ Eigen::Vector3d(1, 1, 1) };
virtual void setLifetime(const std::chrono::steady_clock::duration &lifetime)
Set the lifetime of the this marker.
Definition: marker.cpp:10
virtual int getType() const =0
Get the marker type.
Marker(Marker &&)=default
virtual std::chrono::steady_clock::duration getLifetime() const
Get the lifetime of this Marker.
Definition: marker.cpp:12
std::chrono::steady_clock::duration lifetime_
The lifetime of this Marker.
Definition: marker.h:145
std::shared_ptr< Marker > Ptr
Definition: marker.h:79
virtual void setParentLink(std::string parent_link)
The parent link name the marker should be attached to.
Definition: marker.cpp:6
virtual ~Marker()=default
Marker(const Marker &)=default
std::string parent_link_
The parent link the marker is attched to. If empty relative to world.
Definition: marker.h:148
std::shared_ptr< const Marker > ConstPtr
Definition: marker.h:80
int layer_
The layer of the marker.
Definition: marker.h:151
Eigen::Vector3d scale_
The marker scale.
Definition: marker.h:154
Marker & operator=(Marker &&)=default
virtual const std::string & getParentLink() const
Get the parent link name that marker should be attached to.
Definition: marker.cpp:8
Marker & operator=(const Marker &)=default
virtual void setScale(const Eigen::Vector3d &scale)
Set the marker scale.
Definition: marker.cpp:18
virtual const Eigen::Vector3d & getScale() const
Get the marker scale.
Definition: marker.cpp:20
virtual int getLayer() const
Get the layer of this Marker.
Definition: marker.cpp:16
virtual void setLayer(int layer)
Set the layer of this Marker.
Definition: marker.cpp:14
double scale
Definition: collision_margin_data_unit.cpp:133
#define TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
Definition: macros.h:71
Definition: create_convex_hull.cpp:36
Definition: conversions.h:39
MarkerType
Definition: marker.h:30
@ TRIANGLE_LIST
Triangle list primitive.
@ LINE_LIST
Line list primitive.
@ TOOLPATH
Toolpath marker.
@ TRIANGLE_STRIP
Triangle strip primitive.
@ POINTS
Points primitive.
@ TRIANGLE_FAN
Triangle fan primitive.
@ GEOMETRY
Tesseract geometry.
@ LINE_STRIP
Line strip primitive.
@ CONTACT_RESULTS
Contact results marker.