#pragma once #include #include #include #include #include class QueryElevationWidget : public osgWidget::Box { class QueryElevationEventHandler : public osgGA::GUIEventHandler { public: QueryElevationEventHandler(osgEarth::MapNode* mapNode, QueryElevationWidget* widget); ~QueryElevationEventHandler() override; bool handle(const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& aa) override; private: osgEarth::MapNode* mapNode_; QueryElevationWidget* widget_; }; public: QueryElevationWidget(class OEScene* oeScene); ~QueryElevationWidget() override; void AttachViewUI(class OsgViewUI* ui); void OnUpdateGeoPoint(double x, double y, double z); void ResetCanvasPosition(double width, double height); private: std::string GetElevationString(double x, double y, double z); private: class OEScene* oeScene_; osg::ref_ptr label_; };