diff --git a/src/ui/map3D/GLOverlayGeode.cc b/src/ui/map3D/GLOverlayGeode.cc index 88aea6eedb987cbe09b861d1d618c6d6465160e9..b92556c0d72de6b4ce3999d87d6303828088d657 100644 --- a/src/ui/map3D/GLOverlayGeode.cc +++ b/src/ui/map3D/GLOverlayGeode.cc @@ -1,15 +1,16 @@ #include "GLOverlayGeode.h" GLOverlayGeode::GLOverlayGeode() - : mDrawable() + : mDrawable(new GLOverlayDrawable) { - + addDrawable(mDrawable); } void GLOverlayGeode::setOverlay(px::GLOverlay &overlay) { - mDrawable.setOverlay(overlay); + mDrawable->setOverlay(overlay); + mCoordinateFrameType = overlay.coordinateframetype(); dirtyBound(); } @@ -136,6 +137,9 @@ GLOverlayGeode::GLOverlayDrawable::drawImplementation(osg::RenderInfo&) const glPushMatrix(); + glScalef(-1.0f, 1.0f, 1.0f); + glRotatef(90.0f, 0.0f, 0.0f, 1.0f); + const std::string& data = mOverlay.data(); for (size_t i = 0; i < data.size(); ++i) diff --git a/src/ui/map3D/GLOverlayGeode.h b/src/ui/map3D/GLOverlayGeode.h index cbd84309760906f3fe83cbe8533d5aa3febc682d..d84647ab0e66b72d57d2ff0bbaa7dde2b9e7e51d 100644 --- a/src/ui/map3D/GLOverlayGeode.h +++ b/src/ui/map3D/GLOverlayGeode.h @@ -28,7 +28,7 @@ private: virtual void drawImplementation(osg::RenderInfo&) const; - osg::BoundingBox computeBound() const; + virtual osg::BoundingBox computeBound() const; private: float getFloatValue(const std::string& data, size_t& mark) const; @@ -37,7 +37,7 @@ private: osg::BoundingBox mBBox; }; - GLOverlayDrawable mDrawable; + osg::ref_ptr mDrawable; px::GLOverlay::CoordinateFrameType mCoordinateFrameType; };