4#ifndef LANELET2_RVIZ_DISPLAY__LANELET2_MAP_HPP_
5#define LANELET2_RVIZ_DISPLAY__LANELET2_MAP_HPP_
7#include <OgreColourValue.h>
9#include <lanelet2_core/LaneletMap.h>
67 Ogre::ColourValue
colorLeft{Ogre::ColourValue(1.0, 1.0, 1.0, 1.0)};
68 Ogre::ColourValue
colorRight{Ogre::ColourValue(1.0, 1.0, 1.0, 1.0)};
72 Ogre::ColourValue
colorLaneFill{Ogre::ColourValue(0.22, 0.22, 0.22, 0.95)};
73 Ogre::ColourValue
colorArea{Ogre::ColourValue(0.9, 0.5, 0.1, 1.0)};
74 Ogre::ColourValue
colorParking{Ogre::ColourValue(0.0, 0.7, 0.3, 1.0)};
75 Ogre::ColourValue
colorSidewalk{Ogre::ColourValue(0.75, 0.75, 0.75, 0.7)};
96 Ogre::SceneNode* parent_node,
98 lanelet::LaneletMapConstPtr map_ptr);
122 void updateMap(RenderingOptions rend_opts, lanelet::LaneletMapConstPtr map_ptr);
129 void create(lanelet::LaneletMapConstPtr map_ptr);
Ogre::SceneNode * getSceneNode()
Return the root scene node used by this map.
Lanelet2Map & operator=(const Lanelet2Map &)=delete
Copy assignment is disabled because the map owns OGRE scene objects.
void clearObjects()
Remove all OGRE objects owned by this map.
Lanelet2Map::RenderingOptions rend_opts_
static int manual_object_counter_
std::vector< ClassifiedMovableObject > objects_
void updateMap(RenderingOptions rend_opts, lanelet::LaneletMapConstPtr map_ptr)
Replace the rendered map and apply the given rendering options.
Ogre::SceneNode * scene_node_
std::unique_ptr< detail::Lanelet2MapHelpers > bsd_helpers_
~Lanelet2Map()
Destroy the scene representation and its OGRE objects.
Lanelet2Map(Ogre::SceneManager *manager, Ogre::SceneNode *parent_node, Lanelet2Map::RenderingOptions rend_opts, lanelet::LaneletMapConstPtr map_ptr)
Create an RViz scene representation for a lanelet map.
std::shared_ptr< Ogre::Material > material_line_
Lanelet2Map & operator=(Lanelet2Map &&)=delete
Move assignment is disabled because OGRE scene ownership is pointer-based.
std::shared_ptr< Ogre::Material > material_surface_
void updateVisibility(const RenderingOptions &rend_opts)
Update object visibility from the supplied rendering options.
Lanelet2Map(const Lanelet2Map &)=delete
Copy construction is disabled because the map owns OGRE scene objects.
void create(lanelet::LaneletMapConstPtr map_ptr)
Create OGRE objects for all supported lanelet map layers.
Ogre::SceneManager * scene_manager_
Lanelet2Map(Lanelet2Map &&)=delete
Move construction is disabled because OGRE scene ownership is pointer-based.
std::pair< ObjectClassification, Ogre::MovableObject * > ClassifiedMovableObject
Ogre::ColourValue colorLaneletId
Ogre::ColourValue colorSeperator
bool renderLaneletLinestrings
Ogre::ColourValue colorStopLine
Ogre::ColourValue colorLaneFill
Ogre::ColourValue colorParking
double trafficLightHeightAboveGround
Ogre::ColourValue colorLeft
Ogre::ColourValue colorSidewalk
Ogre::ColourValue colorArea
Ogre::ColourValue colorTrafficLight
Ogre::ColourValue colorCrosswalk
Ogre::ColourValue colorRight
bool renderLaneletSeparators