Beispiel #1
0
    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()
Beispiel #2
0
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)
Beispiel #3
0
    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()
Beispiel #4
0
    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 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
Beispiel #7
0
    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()
Beispiel #8
0
 def getPointPick(self, displayPoint):
     return vis.pickPoint(displayPoint,
                          self.view,
                          obj=self.points,
                          pickType='cells',
                          tolerance=0.01)
Beispiel #9
0
 def getHandlePick(self, displayPoint):
     return vis.pickPoint(displayPoint,
                          self.view,
                          obj=self.handle,
                          pickType='cells',
                          tolerance=0.01)
Beispiel #10
0
 def getPointPick(self, displayPoint):
     return vis.pickPoint(displayPoint, self.view, obj=self.points, pickType='cells', tolerance=0.01)
Beispiel #11
0
 def getHandlePick(self, displayPoint):
     return vis.pickPoint(displayPoint, self.view, obj=self.handle, pickType='cells', tolerance=0.01)