Changeset 4354 for trunk/packages
- Timestamp:
- May 8, 2014, 12:36:24 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/packages/vizservers/geovis/Renderer.cpp
r4349 r4354 67 67 _scaleBarUnits(UNITS_METERS) 68 68 { 69 TRACE("Enter"); 70 69 71 _bgColor[0] = 0; 70 72 _bgColor[1] = 0; … … 247 249 void Renderer::finalizeViewer() { 248 250 initViewer(); 251 int screen = 0; 252 const char *displayEnv = getenv("DISPLAY"); 253 if (displayEnv != NULL) { 254 // 3 parts: host, display, screen 255 int part = 0; 256 for (size_t c = 0; c < strlen(displayEnv); c++) { 257 if (displayEnv[c] == ':') { 258 part = 1; 259 } else if (part == 1 && displayEnv[c] == '.') { 260 part = 2; 261 } else if (part == 2) { 262 screen = atoi(&displayEnv[c]); 263 break; 264 } 265 } 266 } 249 267 if (!_viewer->isRealized()) { 250 268 #ifdef USE_OFFSCREEN_RENDERING … … 294 312 _captureCallback = new ScreenCaptureCallback(texture2D); 295 313 _viewer->getCamera()->setFinalDrawCallback(_captureCallback.get()); 296 _viewer->setUpViewInWindow(0, 0, _windowWidth, _windowHeight );314 _viewer->setUpViewInWindow(0, 0, _windowWidth, _windowHeight, screen); 297 315 #endif 298 316 #else … … 300 318 _viewer->getCamera()->setFinalDrawCallback(_captureCallback.get()); 301 319 //_viewer->getCamera()->getDisplaySettings()->setDoubleBuffer(false); 302 _viewer->setUpViewInWindow(0, 0, _windowWidth, _windowHeight );320 _viewer->setUpViewInWindow(0, 0, _windowWidth, _windowHeight, screen); 303 321 #endif 304 322 _viewer->realize(); … … 1633 1651 } 1634 1652 break; 1635 case UNITS_US_SURVEY_FEET: 1653 case UNITS_US_SURVEY_FEET: { 1654 double feet = meters * 3937.0/1200.0; 1655 scale = feet / pixelWidth; 1656 feet = normalizeScaleFeet(feet); 1657 pixelWidth = feet / scale; 1658 if (_scaleLabel.valid()) { 1659 if (feet >= 5280) { 1660 _scaleLabel->setText(osgEarth::Stringify() 1661 << feet / 5280.0 1662 << " miUS"); 1663 } else { 1664 _scaleLabel->setText(osgEarth::Stringify() 1665 << feet 1666 << " ftUS"); 1667 } 1668 } 1669 } 1670 break; 1636 1671 case UNITS_INTL_FEET: { 1637 double feet; 1638 if (_scaleBarUnits == UNITS_US_SURVEY_FEET) { 1639 feet = meters * 3937.0/1200.0; 1640 } else { 1641 feet = 5280.0 * meters / 1609.344; 1642 } 1672 double feet = 5280.0 * meters / 1609.344; 1643 1673 scale = feet / pixelWidth; 1644 1674 feet = normalizeScaleFeet(feet);
Note: See TracChangeset
for help on using the changeset viewer.