26#include <SimoxUtility/math/pose.h>
49 simox::math::transform_position(
pose.matrix(),
length * Eigen::Vector3f::UnitY()))
56 core::Graph::ConstVertex vertex,
60 if (res.pose.has_value())
62 draw(layer, vertex.attrib().getLocationName(), res.pose.value());
69 if (this->pose.has_value())
71 layer.
add(this->pose->draw(name,
pose));
81 const std::string& targetName,
85 return viz::Arrow(sourceName +
" -> " + targetName)
86 .
fromTo(source.translation(), target.translation())
93 core::Graph::ConstEdge edge,
101 if (src.pose.has_value() && tar.pose.has_value() &&
arrow.has_value())
103 layer.
add(
arrow->draw(edge.source().attrib().getLocationName(),
104 edge.target().attrib().getLocationName(),
115 for (core::Graph::ConstVertex v :
graph.vertices())
117 vertex->draw(layer, v, info);
120 if (
edge.has_value())
122 for (core::Graph::ConstEdge e :
graph.edges())
124 edge->draw(layer, e, info);
DerivedT & pose(Eigen::Matrix4f const &pose)
DerivedT & color(Color color)
DerivedT & scale(Eigen::Vector3f scale)
void resolveLocation(Graph::Vertex &vertex, const aron::data::DictPtr &locationData)
This file is part of ArmarX.
viz::Arrow draw(const std::string &sourceName, const std::string &targetName, const core::Pose &source, const core::Pose &target) const
void draw(viz::Layer &layer, core::Graph::ConstEdge edge, visu::ObjectParserInfo info) const
std::optional< Arrow > arrow
std::optional< EdgeVisu > edge
std::optional< VertexVisu > vertex
void draw(viz::Layer &layer, const core::Graph &graph, visu::ObjectParserInfo info) const
viz::Arrow draw(const std::string &name, const core::Pose &pose) const
viz::Pose draw(const std::string &name, const core::Pose &pose) const
std::optional< Pose > pose
std::optional< ForwardArrow > forwardArrow
void draw(viz::Layer &layer, core::Graph::ConstVertex vertex, visu::ObjectParserInfo info) const
const objpose::ObjectPoseMap & objects
const std::vector< ObjectInfo > & info
Arrow & fromTo(const Eigen::Vector3f &from, const Eigen::Vector3f &to)
void add(ElementT const &element)