Ejemplo n.º 1
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()
Ejemplo n.º 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)
Ejemplo n.º 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()