def tick(self): if self.obj is None: self.hoverPos, prop, _ = vis.pickPoint(self.lastMovePos, self.view, pickType=self.pickType, tolerance=self.tolerance) if prop is None: self.hoverPos = None else: self.hoverPos = vis.pickPoint(self.lastMovePos, self.view, obj=self.obj, pickType=self.pickType, tolerance=self.tolerance) self.draw()
def placeHandModel(displayPoint, view, side='left'): obj, _ = vis.findPickedObject(displayPoint, view) if isinstance(obj, vis.FrameItem): _, handFrame = handFactory.placeHandModelWithTransform(obj.transform, view, side=side, parent=obj.parent()) handFrame.frameSync = vis.FrameSync() handFrame.frameSync.addFrame(obj) handFrame.frameSync.addFrame(handFrame, ignoreIncoming=True) return pickedPoint, prop, _, normal = vis.pickPoint(displayPoint, view, pickType='cells', tolerance=0.0, returnNormal=True) obj = vis.getObjectByProp(prop) if not obj: return yaxis = -normal zaxis = [0,0,1] xaxis = np.cross(yaxis, zaxis) xaxis /= np.linalg.norm(xaxis) zaxis = np.cross(xaxis, yaxis) zaxis /= np.linalg.norm(zaxis) t = transformUtils.getTransformFromAxes(-zaxis, yaxis, xaxis) t.PostMultiply() t.Translate(pickedPoint) handObj, handFrame = handFactory.placeHandModelWithTransform(t, view, side=side, parent=obj) syncFrame = getChildFrame(obj) if syncFrame: handFrame.frameSync = vis.FrameSync() handFrame.frameSync.addFrame(handFrame, ignoreIncoming=True) handFrame.frameSync.addFrame(syncFrame)
def tick(self): # get affordances affs = self.affordanceManager.getAffordances() affs = [a for a in affs if a.getProperty('Visible')] if self.filterFunc is not None: affs = [a for a in affs if self.filterFunc(a)] # get picked affordance self.hoverPos, prop, _ = vis.pickPoint(self.lastMovePos, self.view, pickType='cells', tolerance=self.tolerance, obj=affs) prevPickedObj = self.pickedObj curPickedObj = vis.getObjectByProp(prop) if curPickedObj is not prevPickedObj: if prevPickedObj is not None: prevPickedObj.setProperty('Color', self.storedProps['Color']) prevPickedObj.setProperty('Alpha', self.storedProps['Alpha']) if curPickedObj is not None: self.storedProps['Color'] = curPickedObj.getProperty('Color') self.storedProps['Alpha'] = curPickedObj.getProperty('Alpha') curPickedObj.setProperty('Color', self.hoverColor) curPickedObj.setProperty('Alpha', self.hoverAlpha) self.pickedObj = curPickedObj self.draw()
def getSelection(self, displayPoint): pickedPoint, pickedProp, pickedDataset, normal = vis.pickPoint(displayPoint, self.view, pickType='cells', tolerance=0.0, returnNormal=True) if not pickedDataset: return None linkName = self.robotModel.model.getLinkNameForMesh(pickedDataset) if not linkName: return None return pickedPoint, linkName, normal
def getSelection(self, displayPoint): pickData = vis.pickPoint(displayPoint, self.view, pickType='cells', tolerance=0.0) pickedPoint = pickData.pickedPoint pickedDataset = pickData.pickedDataset normal = pickData.pickedNormal if not pickedDataset: return None linkName = self.robotModel.model.getLinkNameForMesh(pickedDataset) if not linkName: return None return pickedPoint, linkName, normal
def getPointPick(self, displayPoint): return vis.pickPoint(displayPoint, self.view, obj=self.points, pickType='cells', tolerance=0.01)
def getHandlePick(self, displayPoint): return vis.pickPoint(displayPoint, self.view, obj=self.handle, pickType='cells', tolerance=0.01)