Displays a satellite map along the XY plane. More...
#include <aerialmap_display.h>
Classes | |
struct | MapObject |
Public Member Functions | |
AerialMapDisplay () | |
void | reset () override |
void | update (float, float) override |
~AerialMapDisplay () override | |
![]() | |
virtual void | deleteStatus (const QString &name) |
void | deleteStatusStd (const std::string &name) |
Display () | |
void | emitTimeSignal (ros::Time time) |
QWidget * | getAssociatedWidget () const |
PanelDockWidget * | getAssociatedWidgetPanel () |
virtual QString | getClassId () const |
Ogre::SceneNode * | getSceneNode () const |
QVariant | getViewData (int column, int role) const override |
Qt::ItemFlags | getViewFlags (int column) const override |
uint32_t | getVisibilityBits () |
void | initialize (DisplayContext *context) |
bool | isEnabled () const |
void | load (const Config &config) override |
void | save (Config config) const override |
void | setAssociatedWidget (QWidget *widget) |
virtual void | setClassId (const QString &class_id) |
void | setFixedFrame (const QString &fixed_frame) |
void | setName (const QString &name) override |
virtual void | setStatus (StatusProperty::Level level, const QString &name, const QString &text) |
void | setStatusStd (StatusProperty::Level level, const std::string &name, const std::string &text) |
virtual void | setTopic (const QString &topic, const QString &datatype) |
void | setVisibilityBits (uint32_t bits) |
void | unsetVisibilityBits (uint32_t bits) |
~Display () override | |
![]() | |
BoolProperty (const QString &name=QString(), bool default_value=false, const QString &description=QString(), Property *parent=nullptr, const char *changed_slot=nullptr, QObject *receiver=nullptr) | |
virtual bool | getBool () const |
bool | getDisableChildren () override |
bool | getDisableChildrenIfFalse () |
void | setDisableChildrenIfFalse (bool disable) |
~BoolProperty () override | |
![]() | |
virtual void | addChild (Property *child, int index=-1) |
Property * | childAt (int index) const |
virtual Property * | childAtUnchecked (int index) const |
virtual void | collapse () |
bool | contains (Property *possible_child) const |
virtual QWidget * | createEditor (QWidget *parent, const QStyleOptionViewItem &option) |
virtual void | expand () |
virtual QString | getDescription () const |
virtual bool | getHidden () const |
virtual QIcon | getIcon () const |
PropertyTreeModel * | getModel () const |
virtual QString | getName () const |
std::string | getNameStd () const |
Property * | getParent () const |
virtual bool | getReadOnly () |
virtual QVariant | getValue () const |
void | hide () |
void | insertChildSorted (Property *child) |
bool | isAncestorOf (Property *possible_child) const |
virtual void | moveChild (int from_index, int to_index) |
virtual int | numChildren () const |
virtual bool | paint (QPainter *painter, const QStyleOptionViewItem &option) const |
Property (const QString &name=QString(), const QVariant default_value=QVariant(), const QString &description=QString(), Property *parent=nullptr, const char *changed_slot=nullptr, QObject *receiver=nullptr) | |
virtual void | removeChildren (int start_index=0, int count=-1) |
int | rowNumberInParent () const |
virtual void | setDescription (const QString &description) |
virtual void | setHidden (bool hidden) |
virtual void | setIcon (const QIcon &icon) |
void | setModel (PropertyTreeModel *model) |
void | setParent (Property *new_parent) |
virtual void | setReadOnly (bool read_only) |
void | setShouldBeSaved (bool save) |
virtual bool | setValue (const QVariant &new_value) |
bool | shouldBeSaved () const |
void | show () |
virtual Property * | subProp (const QString &sub_name) |
Property * | takeChild (Property *child) |
virtual Property * | takeChildAt (int index) |
~Property () override | |
Protected Slots | |
void | updateAlpha () |
void | updateBlocks () |
void | updateDrawUnder () |
void | updateMapFrame () |
void | updateMapTransformType () |
void | updateTileUrl () |
void | updateTopic () |
void | updateUtmFrame () |
void | updateUtmZone () |
void | updateXYReference () |
void | updateZOffset () |
void | updateZoom () |
void | updateZReference () |
Protected Member Functions | |
void | assembleScene () |
void | checkRequestErrorRate () |
void | clearAll () |
void | createTileObjects () |
void | destroyTileObjects () |
void | navFixCallback (sensor_msgs::NavSatFixConstPtr const &msg) |
void | onDisable () override |
void | onEnable () override |
void | onInitialize () override |
void | requestTileTextures () |
virtual void | subscribe () |
void | tfReferencePeriodicUpdate (const ros::TimerEvent &) |
void | transformMapTileToFixedFrame () |
void | transformTileToMapFrame () |
void | transformTileToReferenceFrame () |
void | transformTileToUtmFrame () |
void | triggerSceneAssembly () |
virtual void | unsubscribe () |
bool | updateCenterTile (sensor_msgs::NavSatFixConstPtr const &msg) |
![]() | |
virtual void | clearStatuses () |
virtual void | fixedFrameChanged () |
bool | initialized () const |
![]() | |
void | loadValue (const Config &config) |
Protected Attributes | |
float | alpha_ |
the alpha value of the tile's material More... | |
FloatProperty * | alpha_property_ |
int | blocks_ |
the number of tiles loaded in each direction around the center tile More... | |
IntProperty * | blocks_property_ |
boost::optional< TileId > | center_tile_ { boost::none } |
Last request()ed tile id (which is the center tile) More... | |
geometry_msgs::PoseStamped | center_tile_pose_ |
translation of the center-tile w.r.t. the map/utm frame More... | |
bool | dirty_ { false } |
whether we need to re-query and re-assemble the tiles More... | |
bool | draw_under_ |
determines which render queue to use More... | |
Property * | draw_under_property_ |
std::string | map_frame_ |
the map frame, rigidly attached to the world with ENU convention - see https://www.ros.org/reps/rep-0105.html#map More... | |
TfFrameProperty * | map_frame_property_ |
MapTransformType | map_transform_type_ |
Whether the tiles should be transformed via an intermediate map frame, or directly via a UTM frame. More... | |
EnumProperty * | map_transform_type_property_ |
ros::Subscriber | navsat_fix_sub_ |
the subscriber for the NavSatFix topic More... | |
std::vector< MapObject > | objects_ |
the tile scene objects More... | |
boost::optional< WGSCoordinate > | ref_coords_ |
lat/lon of the reference position that lead to updating the tiles More... | |
sensor_msgs::NavSatFixConstPtr | ref_fix_ { nullptr } |
the last NavSatFix message that lead to updating the tiles More... | |
std::shared_ptr< tf2_ros::Buffer const > | tf_buffer_ { nullptr } |
buffer for tf lookups not related to fixed-frame More... | |
ros::Duration | tf_reference_update_duration_ |
timeout for periodic TF_FRAME reference update More... | |
ros::Timer | tf_reference_update_timer_ |
timer that updates the reference position when using TF_FRAME references More... | |
TileCacheDelay< OgreTile > | tile_cache_ |
caches tile images, hashed by their fetch URL More... | |
std::string | tile_url_ |
the URL of the tile server to use More... | |
StringProperty * | tile_url_property_ |
RosTopicProperty * | topic_property_ |
std::string | utm_frame_ |
the utm frame, representing a UTM coordinate frame in a chosen zone More... | |
TfFrameProperty * | utm_frame_property_ |
int | utm_zone_ |
UTM zone to work in. More... | |
IntProperty * | utm_zone_property_ |
std::string | xy_reference_frame_ |
XY position reference TF frame (if TF_FRAME type is used) More... | |
PositionReferenceProperty * | xy_reference_property_ |
PositionReferenceType | xy_reference_type_ |
Type of XY position reference. More... | |
double | z_offset_ |
Offset of the tiles in Z axis (relative to map/utm) More... | |
FloatProperty * | z_offset_property_ |
std::string | z_reference_frame_ |
Z position reference TF frame (if TF_FRAME type is used) More... | |
PositionReferenceProperty * | z_reference_property_ |
PositionReferenceType | z_reference_type_ |
Type of Z position reference. More... | |
int | zoom_ |
the zoom to use (Mercator) More... | |
IntProperty * | zoom_property_ |
![]() | |
DisplayContext * | context_ |
QString | fixed_frame_ |
Ogre::SceneManager * | scene_manager_ |
Ogre::SceneNode * | scene_node_ |
ros::NodeHandle | threaded_nh_ |
ros::NodeHandle | update_nh_ |
![]() | |
bool | child_indexes_valid_ |
QIcon | icon_ |
PropertyTreeModel * | model_ |
QVariant | value_ |
Additional Inherited Members | |
![]() | |
virtual void | onEnableChanged () |
void | queueRender () |
void | setEnabled (bool enabled) |
void | setIcon (const QIcon &icon) override |
![]() | |
bool | setBool (bool value) |
![]() | |
void | timeSignal (ros::Time time, QPrivateSignal) |
![]() | |
void | aboutToChange () |
void | changed () |
void | childListChanged (Property *this_property) |
Displays a satellite map along the XY plane.
Definition at line 66 of file aerialmap_display.h.
rviz::AerialMapDisplay::AerialMapDisplay | ( | ) |
Definition at line 65 of file aerialmap_display.cpp.
|
override |
Definition at line 160 of file aerialmap_display.cpp.
|
protected |
Generates the tile's render geometry and applies the requested textures
Definition at line 826 of file aerialmap_display.cpp.
|
protected |
Checks how may tiles were loaded successfully, and sets the status accordingly.
Definition at line 801 of file aerialmap_display.cpp.
|
protected |
Destroys the scene-object and all children and their textures, along with the center-tile memory
Definition at line 601 of file aerialmap_display.cpp.
|
protected |
Creates the tile scene-objects and their materials
Definition at line 628 of file aerialmap_display.cpp.
|
protected |
Destroys the tile scene-objects
Definition at line 611 of file aerialmap_display.cpp.
|
protected |
GPS topic callback
Definition at line 678 of file aerialmap_display.cpp.
|
overrideprotectedvirtual |
Reimplemented from rviz::Display.
Definition at line 182 of file aerialmap_display.cpp.
|
overrideprotectedvirtual |
Reimplemented from rviz::Display.
Definition at line 176 of file aerialmap_display.cpp.
|
overrideprotectedvirtual |
Reimplemented from rviz::Display.
Definition at line 166 of file aerialmap_display.cpp.
|
protected |
Load images to cache (non-blocking)
Definition at line 769 of file aerialmap_display.cpp.
|
overridevirtual |
Reimplemented from rviz::Display.
Definition at line 1248 of file aerialmap_display.cpp.
|
protectedvirtual |
Definition at line 188 of file aerialmap_display.cpp.
|
protected |
Called periodically to update TF_FRAME position references.
Definition at line 1150 of file aerialmap_display.cpp.
|
protected |
Transforms the tile objects into the fixed frame.
Definition at line 1206 of file aerialmap_display.cpp.
|
protected |
Transforms the tile objects into the map frame.
Definition at line 991 of file aerialmap_display.cpp.
|
protected |
Transforms the tile objects into the reference (map/utm) frame.
Definition at line 978 of file aerialmap_display.cpp.
|
protected |
Transforms the tile objects into the UTM frame.
Definition at line 1061 of file aerialmap_display.cpp.
|
protected |
Triggers to (re-) assemble the scene
Definition at line 820 of file aerialmap_display.cpp.
|
protectedvirtual |
Definition at line 212 of file aerialmap_display.cpp.
|
overridevirtual |
Reimplemented from rviz::Display.
Definition at line 665 of file aerialmap_display.cpp.
|
protectedslot |
Definition at line 217 of file aerialmap_display.cpp.
|
protectedslot |
Definition at line 336 of file aerialmap_display.cpp.
|
protected |
Triggers texture update if the center-tile changed w.r.t. the current one. Returns true if the tile has been actually updated.
Definition at line 688 of file aerialmap_display.cpp.
|
protectedslot |
Definition at line 243 of file aerialmap_display.cpp.
|
protectedslot |
Definition at line 417 of file aerialmap_display.cpp.
|
protectedslot |
Definition at line 378 of file aerialmap_display.cpp.
|
protectedslot |
Definition at line 269 of file aerialmap_display.cpp.
|
protectedslot |
Definition at line 363 of file aerialmap_display.cpp.
|
protectedslot |
Definition at line 446 of file aerialmap_display.cpp.
|
protectedslot |
Definition at line 475 of file aerialmap_display.cpp.
|
protectedslot |
Definition at line 504 of file aerialmap_display.cpp.
|
protectedslot |
Definition at line 594 of file aerialmap_display.cpp.
|
protectedslot |
Definition at line 306 of file aerialmap_display.cpp.
|
protectedslot |
Definition at line 554 of file aerialmap_display.cpp.
|
protected |
the alpha value of the tile's material
Definition at line 208 of file aerialmap_display.h.
|
protected |
Definition at line 197 of file aerialmap_display.h.
|
protected |
the number of tiles loaded in each direction around the center tile
Definition at line 216 of file aerialmap_display.h.
|
protected |
Definition at line 196 of file aerialmap_display.h.
|
protected |
Last request()ed tile id (which is the center tile)
Definition at line 246 of file aerialmap_display.h.
|
protected |
translation of the center-tile w.r.t. the map/utm frame
Definition at line 248 of file aerialmap_display.h.
|
protected |
whether we need to re-query and re-assemble the tiles
Definition at line 238 of file aerialmap_display.h.
|
protected |
determines which render queue to use
Definition at line 210 of file aerialmap_display.h.
|
protected |
Definition at line 198 of file aerialmap_display.h.
|
protected |
the map frame, rigidly attached to the world with ENU convention - see https://www.ros.org/reps/rep-0105.html#map
Definition at line 220 of file aerialmap_display.h.
|
protected |
Definition at line 200 of file aerialmap_display.h.
|
protected |
Whether the tiles should be transformed via an intermediate map frame, or directly via a UTM frame.
Definition at line 218 of file aerialmap_display.h.
|
protected |
Definition at line 199 of file aerialmap_display.h.
|
protected |
the subscriber for the NavSatFix topic
Definition at line 190 of file aerialmap_display.h.
|
protected |
the tile scene objects
Definition at line 187 of file aerialmap_display.h.
|
protected |
lat/lon of the reference position that lead to updating the tiles
Definition at line 242 of file aerialmap_display.h.
|
protected |
the last NavSatFix message that lead to updating the tiles
Definition at line 240 of file aerialmap_display.h.
|
protected |
buffer for tf lookups not related to fixed-frame
Definition at line 251 of file aerialmap_display.h.
|
protected |
timeout for periodic TF_FRAME reference update
Definition at line 254 of file aerialmap_display.h.
|
protected |
timer that updates the reference position when using TF_FRAME references
Definition at line 256 of file aerialmap_display.h.
|
protected |
caches tile images, hashed by their fetch URL
Definition at line 244 of file aerialmap_display.h.
|
protected |
the URL of the tile server to use
Definition at line 212 of file aerialmap_display.h.
|
protected |
Definition at line 194 of file aerialmap_display.h.
|
protected |
Definition at line 193 of file aerialmap_display.h.
|
protected |
the utm frame, representing a UTM coordinate frame in a chosen zone
Definition at line 222 of file aerialmap_display.h.
|
protected |
Definition at line 201 of file aerialmap_display.h.
|
protected |
UTM zone to work in.
Definition at line 224 of file aerialmap_display.h.
|
protected |
Definition at line 202 of file aerialmap_display.h.
|
protected |
XY position reference TF frame (if TF_FRAME type is used)
Definition at line 228 of file aerialmap_display.h.
|
protected |
Definition at line 203 of file aerialmap_display.h.
|
protected |
Type of XY position reference.
Definition at line 226 of file aerialmap_display.h.
|
protected |
Offset of the tiles in Z axis (relative to map/utm)
Definition at line 234 of file aerialmap_display.h.
|
protected |
Definition at line 205 of file aerialmap_display.h.
|
protected |
Z position reference TF frame (if TF_FRAME type is used)
Definition at line 232 of file aerialmap_display.h.
|
protected |
Definition at line 204 of file aerialmap_display.h.
|
protected |
Type of Z position reference.
Definition at line 230 of file aerialmap_display.h.
|
protected |
the zoom to use (Mercator)
Definition at line 214 of file aerialmap_display.h.
|
protected |
Definition at line 195 of file aerialmap_display.h.