#include <OGRE/OgreManualObject.h>
#include <OGRE/OgreMaterialManager.h>
#include <OGRE/OgreSceneManager.h>
#include <OGRE/OgreSceneNode.h>
#include <OGRE/OgreTextureManager.h>
#include <OGRE/OgreTechnique.h>
#include <GeographicLib/UTMUPS.hpp>
#include "rviz/display_context.h"
#include "rviz/frame_manager.h"
#include "rviz/properties/enum_property.h"
#include "rviz/properties/float_property.h"
#include "rviz/properties/int_property.h"
#include "rviz/properties/property.h"
#include "rviz/properties/ros_topic_property.h"
#include "rviz/properties/string_property.h"
#include "rviz/properties/tf_frame_property.h"
#include <tf2/LinearMath/Vector3.h>
#include <tf2_geometry_msgs/tf2_geometry_msgs.h>
#include "aerialmap_display.h"
#include "mercator.h"
#include "position_reference_property.h"
#include <regex>
#include <unordered_map>
#include <pluginlib/class_list_macros.h>
Go to the source code of this file.
Namespaces | |
rviz | |
Variables | |
std::unordered_map< MapTransformType, QString > | rviz::mapTransformTypeStrings |
The sequence of events is rather complex due to the asynchronous nature of the tile texture updates, and the different coordinate systems and frame transforms involved:
The navSatFixCallback calls the updateCenterTile function, which then queries a texture update and calls transformTileToMapFrame. The latter finds and stores the transform from the NavSatFix frame to the map-frame, to which the tiles are rigidly attached by ENU convention and Mercator projection. On each frame, update() is called, which calls transformMapTileToFixedFrame, which then transforms the tile-map from the map-frame to the fixed-frame. Splitting this transform lookup is necessary to mitigate frame jitter.
Definition in file aerialmap_display.cpp.