- Timestamp:
- Feb 24, 2016 6:40:50 PM (8 years ago)
- Location:
- geovis/trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
geovis/trunk/Renderer.cpp
r6049 r6050 1528 1528 _picker->addChild(_placeNodes.get()); 1529 1529 } 1530 } 1531 } 1532 1533 void Renderer::setSelectMode(SelectMode mode) 1534 { 1535 _selectMode = mode; 1536 switch (_selectMode) { 1537 case SELECT_OFF: { 1538 #ifdef USE_RTT_PICKER 1539 if (_picker.valid()) { 1540 _viewer->removeEventHandler(_picker.get()); 1541 _picker = NULL; 1542 } 1543 #endif 1544 } 1545 break; 1546 case SELECT_ON: { 1547 #ifdef USE_RTT_PICKER 1548 if (!_picker.valid()) { 1549 _picker = new osgEarth::Util::RTTPicker; 1550 _picker->addChild(_mapNode); 1551 osg::ref_ptr<SelectCallback> callback = new SelectCallback(this); 1552 _picker->setDefaultCallback(callback.get()); 1553 _viewer->addEventHandler(_picker.get()); 1554 } 1555 #endif 1556 } 1557 break; 1558 default: 1559 ERROR("Unknown select mode"); 1530 1560 } 1531 1561 } -
geovis/trunk/Renderer.h
r6049 r6050 136 136 }; 137 137 138 enum SelectMode { 139 SELECT_OFF, 140 SELECT_ON 141 }; 142 138 143 Renderer(); 139 144 virtual ~Renderer(); … … 519 524 void setPlacardConfig(const Placard& placardConf, const char *layerName); 520 525 526 void setSelectMode(SelectMode mode); 527 521 528 void selectFeatures(std::vector<unsigned long>& featureIDs, const char *layerName); 522 529 … … 628 635 PlacardHashmap _placardConfigs; 629 636 double _anchorLat, _anchorLong; 637 SelectMode _selectMode; 630 638 osg::ref_ptr<osgEarth::Annotation::FeatureNode> _selectionBox; 631 639 #ifdef USE_RTT_PICKER -
geovis/trunk/RendererCmd.cpp
r6049 r6050 3434 3434 const char *modeStr = Tcl_GetString(objv[2]); 3435 3435 // Parse mode string 3436 //Renderer::SelectMode mode; 3437 //g_renderer->setSelectMode(mode); 3436 Renderer::SelectMode mode Renderer::SELECT_OFF; 3437 if (modeStr[0] == 'o' && strcmp(modeStr, "off") == 0) { 3438 mode = Renderer::SELECT_OFF; 3439 } else if (modeStr[0] == 'o' && strcmp(modeStr, "on") == 0) { 3440 mode = Renderer::SELECT_ON; 3441 } else { 3442 Tcl_AppendResult(interp, "bad select mode \"", modeStr, 3443 "\": must be 'on' or 'off'", (char*)NULL); 3444 return TCL_ERROR; 3445 } 3446 g_renderer->setSelectMode(mode); 3438 3447 return TCL_OK; 3439 3448 }
Note: See TracChangeset
for help on using the changeset viewer.