def selectLink(self, displayPoint, view): if not self.enabled(): return False robotModel, _ = vis.findPickedObject(displayPoint, view) try: robotModel.model.getLinkNameForMesh except AttributeError: return False model = robotModel.model pickedPoint, _, polyData = vis.pickProp(displayPoint, view) linkName = model.getLinkNameForMesh(polyData) if not linkName: return False fadeValue = 1.0 if linkName == self.selectedLink else 0.05 for name in model.getLinkNames(): linkColor = model.getLinkColor(name) linkColor.setAlphaF(fadeValue) model.setLinkColor(name, linkColor) if linkName == self.selectedLink: self.selectedLink = None vis.hideCaptionWidget() om.removeFromObjectModel( om.findObjectByName("selected link frame")) else: self.selectedLink = linkName linkColor = model.getLinkColor(self.selectedLink) linkColor.setAlphaF(1.0) model.setLinkColor(self.selectedLink, linkColor) vis.showCaptionWidget( robotModel.getLinkFrame(self.selectedLink).GetPosition(), self.selectedLink, view=view, ) vis.updateFrame( robotModel.getLinkFrame(self.selectedLink), "selected link frame", scale=0.2, parent=robotModel, ) return True
def selectLink(self, displayPoint, view): if not self.enabled(): return False robotModel, _ = vis.findPickedObject(displayPoint, view) try: robotModel.model.getLinkNameForMesh except AttributeError: return False model = robotModel.model pickedPoint, _, polyData = vis.pickProp(displayPoint, view) linkName = model.getLinkNameForMesh(polyData) if not linkName: return False fadeValue = 1.0 if linkName == self.selectedLink else 0.05 for name in model.getLinkNames(): linkColor = model.getLinkColor(name) linkColor.setAlphaF(fadeValue) model.setLinkColor(name, linkColor) if linkName == self.selectedLink: self.selectedLink = None vis.hideCaptionWidget() om.removeFromObjectModel(om.findObjectByName('selected link frame')) else: self.selectedLink = linkName linkColor = model.getLinkColor(self.selectedLink) linkColor.setAlphaF(1.0) model.setLinkColor(self.selectedLink, linkColor) vis.showCaptionWidget(robotModel.getLinkFrame(self.selectedLink).GetPosition(), self.selectedLink, view=view) vis.updateFrame(robotModel.getLinkFrame(self.selectedLink), 'selected link frame', scale=0.2, parent=robotModel) return True
def zoomToPick(displayPoint, view): pickedPoint, prop, _ = vis.pickProp(displayPoint, view) if not prop: return flyer = cameracontrol.Flyer(view) flyer.zoomTo(pickedPoint)