30 #include <OGRE/OgreVector3.h> 31 #include <OGRE/OgreSceneNode.h> 32 #include <OGRE/OgreSceneManager.h> 35 #include <tuw_multi_robot_msgs/Vertex.h> 68 static double timeOld_;
69 if (timeOld_ == msg->header.stamp.toSec())
73 timeOld_ = msg->header.stamp.toSec();
75 pathLine.resize(msg->vertices.size());
77 for (
size_t i = 0; i <
pathLine.size(); ++i)
79 tuw_multi_robot_msgs::Vertex seg = msg->vertices[i];
80 geometry_msgs::Point p1 = seg.path.front();
81 geometry_msgs::Point p2 = seg.path.back();
85 Ogre::Quaternion rotation;
90 Ogre::Quaternion rotation2 = Ogre::Quaternion(Ogre::Radian(-Ogre::Math::PI / 2.), Ogre::Vector3::UNIT_Y);
94 pathLine[i]->setPoints(Ogre::Vector3((p1.x) * msg->resolution + msg->origin.position.x, (p1.y) * msg->resolution + msg->origin.position.y, p1.z * msg->resolution + msg->origin.position.z), Ogre::Vector3((p2.x) * msg->resolution + msg->origin.position.x, (p2.y) * msg->resolution + msg->origin.position.y, p2.z * msg->resolution + msg->origin.position.z));
99 crossingShape[2 * i]->setPosition(Ogre::Vector3((p1.x) * msg->resolution + msg->origin.position.x, (p1.y) * msg->resolution + msg->origin.position.y, p1.z * msg->resolution + msg->origin.position.z));
105 crossingShape[2 * i + 1]->setPosition(Ogre::Vector3((p2.x) * msg->resolution + msg->origin.position.x, (p2.y) * msg->resolution + msg->origin.position.y, p2.z * msg->resolution + msg->origin.position.z));
106 crossingShape[2 * i + 1]->setOrientation(rotation * rotation2);
std::vector< boost::shared_ptr< rviz::Shape > > crossingShape
void setFrameOrientation(const Ogre::Quaternion &orientation)
Ogre::SceneManager * scene_manager_
void setPathScale(float scale)
void setFramePosition(const Ogre::Vector3 &position)
Ogre::SceneNode * frame_node_
virtual ~VoronoiGraphVisual()
VoronoiGraphVisual(Ogre::SceneManager *scene_manager, Ogre::SceneNode *parent_node)
std::vector< boost::shared_ptr< rviz::Line > > pathLine
void setPointScale(float scale)
void setMessage(const tuw_multi_robot_msgs::Graph::ConstPtr &msg)
Ogre::ColourValue colorPath_
void setPathColor(Ogre::ColourValue color)