Changeset 4328 for trunk/packages
- Timestamp:
- Apr 7, 2014, 3:51:09 AM (11 years ago)
- Location:
- trunk/packages/vizservers/geovis
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/packages/vizservers/geovis/RenderServer.cpp
r4320 r4328 56 56 #endif 57 57 #endif 58 59 static int 60 queueViewpoint() 61 { 62 osgEarth::Viewpoint view = g_renderer->getViewpoint(); 63 64 std::ostringstream oss; 65 size_t len = 0; 66 oss << "nv>camera get " 67 << view.x() << " " 68 << view.y() << " " 69 << view.z() << " " 70 << view.getHeading() << " " 71 << view.getPitch() << " " 72 << view.getRange() 73 << " {" << ((view.getSRS() == NULL) ? "" : view.getSRS()->getHorizInitString()) << "}" 74 << " {" << ((view.getSRS() == NULL) ? "" : view.getSRS()->getVertInitString()) << "}" 75 << "\n"; 76 len = oss.str().size(); 77 #ifdef USE_THREADS 78 queueResponse(oss.str().c_str(), len, Response::VOLATILE); 79 #else 80 ssize_t bytesWritten = SocketWrite(oss.str().c_str(), len); 81 82 if (bytesWritten < 0) { 83 return TCL_ERROR; 84 } 85 #endif /*USE_THREADS*/ 86 return TCL_OK; 87 } 58 88 59 89 #ifdef USE_THREADS … … 536 566 if (imgData->s() == g_renderer->getWindowWidth() && 537 567 imgData->t() == g_renderer->getWindowHeight()) { 568 queueViewpoint(); 538 569 #ifdef USE_THREADS 539 570 queueFrame(g_outQueue, imgData->data()); -
trunk/packages/vizservers/geovis/Renderer.cpp
r4322 r4328 656 656 { 657 657 if (_manipulator.valid()) { 658 TRACE("Setting viewpoint: %g %g %g %g %g %g", 659 v.x(), v.y(), v.z(), v.getHeading(), v.getPitch(), v.getRange()); 658 660 _manipulator->setViewpoint(v, durationSecs); 659 661 _needsRedraw = true; 662 } else { 663 ERROR("No manipulator"); 660 664 } 661 665 } … … 1115 1119 TRACE("camDist: %g", _manipulator->getDistance()); 1116 1120 // FIXME: zoom here wants y mouse coords in normalized viewport coords 1117 //_manipulator->zoom(0, y); 1118 1121 #if 1 1122 _manipulator->zoom(0, y); 1123 #else 1119 1124 double dist = _manipulator->getDistance(); 1120 1125 dist *= (1.0 + y); 1121 1126 _manipulator->setDistance(dist); 1122 1127 #endif 1123 1128 _needsRedraw = true; 1124 1129 }
Note: See TracChangeset
for help on using the changeset viewer.