Changeset 4322 for trunk/packages
- Timestamp:
- Apr 7, 2014, 12:08:00 AM (11 years ago)
- Location:
- trunk/packages/vizservers/geovis
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/packages/vizservers/geovis/Renderer.cpp
r4320 r4322 671 671 } 672 672 673 bool Renderer::mapMouseCoords(float mouseX, float mouseY, osgEarth::GeoPoint& map) 673 /** 674 * \brief Map screen mouse coordinates to map coordinates 675 * 676 * This method assumes that mouse Y coordinates are 0 at the top 677 * of the screen and increase going down if invertY is set, and 678 * 0 at the bottom and increase going up otherwise. 679 */ 680 bool Renderer::mapMouseCoords(float mouseX, float mouseY, 681 osgEarth::GeoPoint& map, bool invertY) 674 682 { 675 683 if (!_mapNode.valid() || _mapNode->getTerrain() == NULL) { … … 680 688 ERROR("No Viewer"); 681 689 return false; 690 } 691 if (invertY) { 692 mouseY = ((float)_windowHeight - mouseY); 682 693 } 683 694 osg::Vec3d world; … … 1203 1214 } 1204 1215 #else 1205 if (_ coordsCallback.valid()) {1206 osgEarth::GeoPoint map ;1207 if (mapMouseCoords( x, y, map)) {1208 _coordsCallback->set(map , _viewer.get(), _mapNode);1216 if (_viewer.valid() && _coordsCallback.valid()) { 1217 osgEarth::GeoPoint mapPt; 1218 if (mapMouseCoords((float)x, (float)y, mapPt)) { 1219 _coordsCallback->set(mapPt, _viewer->asView(), _mapNode); 1209 1220 } else { 1210 _coordsCallback->reset(_viewer .get(), _mapNode);1221 _coordsCallback->reset(_viewer->asView(), _mapNode); 1211 1222 } 1223 _needsRedraw = true; 1212 1224 } 1213 1225 #endif -
trunk/packages/vizservers/geovis/Renderer.h
r4320 r4322 366 366 osg::Image *getRenderedFrame(); 367 367 368 bool mapMouseCoords(float mouseX, float mouseY, osgEarth::GeoPoint &pt); 368 bool mapMouseCoords(float mouseX, float mouseY, 369 osgEarth::GeoPoint &pt, bool invertY = true); 369 370 370 371 bool getMousePoint(double *x, double *y, double *z)
Note: See TracChangeset
for help on using the changeset viewer.