示例#1
0
文件: VrmlVis.py 项目: nixz/covise
    def setParams(self, params, negMsgHandler=None, sendToCover=True):
        """ set parameters from outside """
        _infoer.function = str(self.setParams)
        _infoer.write("setParams")

        if not params.isVisible == self.params.isVisible:
            if params.isVisible and not self.__connected:
                connect(self.connectionPoint(), globalRenderer().connectionPoint())
                self.__connected = True
            elif not params.isVisible and self.__connected:
                disconnect(self.connectionPoint(), globalRenderer().connectionPoint())
                self.__connected = False

        realChange = ParamsDiff(self.params, params)
        VisItem.setParams(self, params, negMsgHandler, sendToCover)

        if params.clickedSensorID != None:
            msg = coGRObjSensorEventMsg(coGRMsg.SENSOR_EVENT, params.filename, params.clickedSensorID, True, True)
            covise.sendRendMsg(msg.c_str())
            msg = coGRObjSensorEventMsg(coGRMsg.SENSOR_EVENT, params.filename, params.clickedSensorID, True, False)
            covise.sendRendMsg(msg.c_str())

            # clickedSensorButtonEvent was handled and can be removed
            self.params.clickedSensorID = None
            self.sendParams()
示例#2
0
    def setParams( self, params, negMsgHandler=None, sendToCover=True):
        """ set parameters from outside """
        _infoer.function = str(self.setParams)
        _infoer.write("setParams")

        realChange = ParamsDiff(self.params, params)

        VisItem.setParams(self, params, negMsgHandler, sendToCover)
        
        if 'filename' in realChange:
            self.parseCoxml()
            
        if sendToCover:
            if ('transX' in realChange) or \
               ('transY' in realChange) or \
               ('transZ' in realChange):
                self.sendObjMoved()
            if 'width' in realChange or 'height' in realChange or 'length' in realChange:
                self.sendGeometry()
            if 'variant_selected' in realChange:
                self.sendVariants()
            if 'appearance_colors' in realChange:
                self.sendAppearance()
            if 'kinematics_state' in realChange:
                self.sendKinematics();
            if len(self.params.children) > 0:
                self.sendChildren()
示例#3
0
    def setParams(self, params, negMsgHandler=None, sendToCover=True):
        """ set parameters from outside """
        _infoer.function = str(self.setParams)
        _infoer.write("setParams")

        realChange = ParamsDiff(self.params, params)

        VisItem.setParams(self, params, negMsgHandler, sendToCover)

        if 'filename' in realChange:
            self.parseCoxml()

        if sendToCover:
            if ('transX' in realChange) or \
               ('transY' in realChange) or \
               ('transZ' in realChange):
                self.sendObjMoved()
            if 'width' in realChange or 'height' in realChange or 'length' in realChange:
                self.sendGeometry()
            if 'variant_selected' in realChange:
                self.sendVariants()
            if 'appearance_colors' in realChange:
                self.sendAppearance()
            if 'kinematics_state' in realChange:
                self.sendKinematics()
            if len(self.params.children) > 0:
                self.sendChildren()
示例#4
0
    def setParams( self, params, negMsgHandler=None, sendToCover=True):
        _infoer.function = str(self.setParams)
        _infoer.write(" ")
        
        self.sendImagePathToWebserver()

        realChange = ParamsDiff( self.params, params )

        # make sure, variable change is removed from params again
        if hasattr(self.params, 'changed'):
            oldChanged = self.params.changed
        else:
            oldChanged = False

        VisItem.setParams(self, params)
        self.params.changed = oldChanged

        #if 'imageName' in realChange and sendToCover:
        #    self.sendImageName()
        #    self.sendPosition()
        #    self.sendVisibility()
        if 'pageNo' in realChange and sendToCover:
            self.sendPageNo()
        if 'size' in realChange and sendToCover:
            self.sendSize()
        if 'scaling' in realChange and sendToCover:
           self.sendScaling()
        if 'pos' in realChange and sendToCover:
            self.sendPosition()

        # changed in realChange happens when doc is changed in gui
        if 'changed' in realChange:
            # tell the coPresentationMgr that doc has changed
            globalKeyHandler().getObject(globalPresentationMgrKey).documentChanged(self.params.documentName, self.params.pos, self.params.isVisible, self.params.scaling, self.params.size, negMsgHandler)
示例#5
0
    def setParams(self, params, negMsgHandler=None, sendToCover=True):
        """ set parameters from outside """
        _infoer.function = str(self.setParams)
        _infoer.write("setParams")

        if not params.isVisible == self.params.isVisible:
            if params.isVisible and not self.__connected:
                connect(self.connectionPoint(),
                        globalRenderer().connectionPoint())
                self.__connected = True
            elif not params.isVisible and self.__connected:
                disconnect(self.connectionPoint(),
                           globalRenderer().connectionPoint())
                self.__connected = False

        realChange = ParamsDiff(self.params, params)
        VisItem.setParams(self, params, negMsgHandler, sendToCover)

        if params.clickedSensorID != None:
            msg = coGRObjSensorEventMsg(coGRMsg.SENSOR_EVENT, params.filename,
                                        params.clickedSensorID, True, True)
            covise.sendRendMsg(msg.c_str())
            msg = coGRObjSensorEventMsg(coGRMsg.SENSOR_EVENT, params.filename,
                                        params.clickedSensorID, True, False)
            covise.sendRendMsg(msg.c_str())

            # clickedSensorButtonEvent was handled and can be removed
            self.params.clickedSensorID = None
            self.sendParams()
示例#6
0
    def setParams( self, params, negMsgHandler=None, sendToCover=True):
        _infoer.function = str(self.setParams)
        _infoer.write("%s" % params.isVisible)
        if params.id == None:
            return
        realChange = ParamsDiff( self.params, params )
        oldID = self.params.id
        if hasattr(self.params, 'confirmed'):
            oldConfirmed = self.params.confirmed
        else:
            oldConfirmed = True
        if hasattr(self.params, 'changed'):
            oldChanged = self.params.changed
        else:
            oldChanged = False
        VisItem.setParams(self, params, negMsgHandler, sendToCover)
        self.params.confirmed = oldConfirmed
        self.params.changed = oldChanged

        # confirmed and id in realChange happens when loading a project and having different default viewpoints
        if 'confirmed' in realChange and 'id' in realChange:
            self.params.confirmed = True
            if self.params.isVisible:
                self.show()
            # tell the coPresentationMgr that viewpoint is now confirmed and the id has changed
            globalKeyHandler().getObject(globalPresentationMgrKey).changeUnconfirmedViewpointID(oldID, params.id, negMsgHandler)
        else:
            if 'confirmed' in realChange:
                self.params.confirmed = True
                if self.params.isVisible:
                    self.show()
                # tell the coPresentationMgr that viewpoint is confirmed
                globalKeyHandler().getObject(globalPresentationMgrKey).setViewpointConfirmed(params.id, negMsgHandler)
            if 'id' in realChange:
                # tell the presenterManager that my id has changed
                globalKeyHandler().getObject(globalPresentationMgrKey).changeViewPointID(oldID, params.id, negMsgHandler)
        if hasattr(self.params, 'delete'):
            self.delete(False, negMsgHandler)
            return
        if 'isVisible' in realChange and sendToCover and params.isVisible and hasattr(self.params, 'confirmed') and self.params.confirmed:
            _infoer.function = str(self.setParams)
            _infoer.write("send viewpoint")
            self.show()
            globalKeyHandler().getObject(self.parentKey).makeOthersInvisible(self, negMsgHandler)
        if 'name' in realChange and sendToCover:
            #send new name to cover
            msg = coGRChangeViewpointNameMsg( self.params.id, params.name )
            covise.sendRendMsg(msg.c_str())

        # changed in realChange happens when viewpoint is changed in gui
        if 'changed' in realChange:
            # tell the coPresentationMgr that obj has changed
            globalKeyHandler().getObject(globalPresentationMgrKey).viewpointChanged(self.params.id, self.params.view, negMsgHandler)
示例#7
0
    def setParams(self, params, negMsgHandler=None, sendToCover=True):
        realChange = ParamsDiff(self.params, params)
        VisItem.setParams(self, params, negMsgHandler, sendToCover)

        needsTransparency = False
        needsShader = False

        if 'isMoveable' in realChange:
            self.sendIsMoveable()

        if 'isMoveSelected' in realChange:
            self.sendIsMoveSelected()

        if 'transparency' in realChange or 'transparencyOn' in realChange:
            needsTransparency = True

        if hasattr(params, 'color'
                   ) and 'color' in realChange and params.color == NO_COLOR:
            self.revertColor()
            needsTransparency = True

        if hasattr(params, 'color') and self.params.color == MATERIAL:
            if 'ambient' in realChange or 'r' in realChange or 'g' in realChange or 'b' in realChange or 'specular' in realChange or 'shininess' in realChange or 'transparency' in realChange or 'transparencyOn' in realChange or 'color' in realChange:
                self.sendMaterial()

        if hasattr(params, 'color') and params.color == RGB_COLOR:
            if 'r' in realChange or 'g' in realChange or 'b' in realChange or 'color' in realChange:
                self.sendColor()

        if ('shaderFilename' in realChange):
            needsTransparency = True
            needsShader = True

        # always send transparency before shader:
        # sendTransparency will ignore any shader transparency but sendShader respects the regular transparency if possible
        if needsTransparency and (params.shaderFilename != ""):
            needsShader = True
        if needsTransparency:
            self.sendTransparency()
        if needsShader:
            self.sendShader()

        # transformation matrix
        if 'rotAngle' in realChange or \
            (self.params.rotAngle != 0 and ('rotX' in realChange or \
                                            'rotY' in realChange or \
                                            'rotZ' in realChange)) or \
            ('transX' in realChange or 'transY' in realChange or 'transZ' in realChange) or \
            ('scaleX' in realChange or 'scaleY' in realChange or 'scaleZ' in realChange):
            self.sendTransform()
示例#8
0
    def setParams(self, params, negMsgHandler = None, sendToCover = True):
        realChange = ParamsDiff(self.params, params)
        VisItem.setParams(self, params, negMsgHandler, sendToCover)
        
        needsTransparency = False
        needsShader = False
        
        if 'isMoveable' in realChange:
            self.sendIsMoveable()

        if 'isMoveSelected' in realChange:
            self.sendIsMoveSelected();

        if 'transparency' in realChange or 'transparencyOn' in realChange:
            needsTransparency = True

        if hasattr (params, 'color') and 'color' in realChange and params.color==NO_COLOR:
            self.revertColor()
            needsTransparency = True

        if hasattr (params, 'color') and self.params.color == MATERIAL:
            if 'ambient' in realChange or 'r' in realChange or 'g' in realChange or 'b' in realChange or 'specular' in realChange or 'shininess' in realChange or 'transparency' in realChange or 'transparencyOn' in realChange or 'color' in realChange:
                self.sendMaterial()

        if hasattr (params, 'color') and params.color==RGB_COLOR:
            if 'r' in realChange or 'g' in realChange or 'b' in realChange or 'color' in realChange:
                self.sendColor()

        if ('shaderFilename' in realChange):
            needsTransparency = True
            needsShader = True

        # always send transparency before shader:
        # sendTransparency will ignore any shader transparency but sendShader respects the regular transparency if possible
        if needsTransparency and (params.shaderFilename != ""):
            needsShader = True
        if needsTransparency:
            self.sendTransparency()
        if needsShader:
            self.sendShader()

        # transformation matrix
        if 'rotAngle' in realChange or \
            (self.params.rotAngle != 0 and ('rotX' in realChange or \
                                            'rotY' in realChange or \
                                            'rotZ' in realChange)) or \
            ('transX' in realChange or 'transY' in realChange or 'transZ' in realChange) or \
            ('scaleX' in realChange or 'scaleY' in realChange or 'scaleZ' in realChange):
            self.sendTransform()
示例#9
0
    def setParams( self, params, negMsgHandler=None, sendToCover=True, realChange=None):
        ''' set parameters from outside
            + init module if necessary
            + mainly receive parameter changes from Gui
            + send status messages to COVER if state has changed
        '''
        _infoer.function = str(self.setParams)
        _infoer.write("setParams")
        
        if realChange==None:
            realChange = ParamsDiff( self.params, params )
        VisItem.setParams(self, params)

        # only connect to COVER if this visualizer really is visible and wasnt connected before
        if self._module:
            if self.params.isVisible and not self.__connectedToCOVER:
                VisItem.connectToCover( self, self )
                self.__connectedToCOVER = True
示例#10
0
文件: coDNAMgr.py 项目: nixz/covise
    def setParams(self, params, negMsgHandler = None, sendToCover = True):
        print("setParams ", self.params.name)
        realChange = ParamsDiff(self.params, params)
        VisItem.setParams(self, params, negMsgHandler, sendToCover)

        #if ('rotAngle' in realChange or (self.params.rotAngle > 0 and ('rotX' in realChange or 'rotY' in realChange or 'rotZ' in realChange)) or \
        #    ('transX' in realChange or 'transY' in realChange or 'transZ' in realChange)): 
        self.sendTransformation()        
        
        #send all connections
        for conn in self.params.connectionPoints:
            self.sendConnections(conn, [self.params.connectionPoints[conn], self.params.connectionPointsDisable[conn]])
                        
        # check if need connections is on and set variable nextPresStep
        self.params.nextPresStep = True
        if self.params.needConn:
            for cp in self.params.connectionPoints:
                if self.params.connectionPointsDisable[cp] and not self.params.connectionPoints[cp]:
                    self.params.nextPresStep = False
示例#11
0
    def setParams(self,
                  params,
                  negMsgHandler=None,
                  sendToCover=True,
                  realChange=None):
        ''' set parameters from outside
            + init module if necessary
            + mainly receive parameter changes from Gui
            + send status messages to COVER if state has changed
        '''
        _infoer.function = str(self.setParams)
        _infoer.write("setParams")

        if realChange == None:
            realChange = ParamsDiff(self.params, params)
        VisItem.setParams(self, params)

        # only connect to COVER if this visualizer really is visible and wasnt connected before
        if self._module:
            if self.params.isVisible and not self.__connectedToCOVER:
                VisItem.connectToCover(self, self)
                self.__connectedToCOVER = True
示例#12
0
    def setParams(self, params, negMsgHandler=None, sendToCover=True):
        _infoer.function = str(self.setParams)
        _infoer.write(" ")

        self.sendImagePathToWebserver()

        realChange = ParamsDiff(self.params, params)

        # make sure, variable change is removed from params again
        if hasattr(self.params, 'changed'):
            oldChanged = self.params.changed
        else:
            oldChanged = False

        VisItem.setParams(self, params)
        self.params.changed = oldChanged

        #if 'imageName' in realChange and sendToCover:
        #    self.sendImageName()
        #    self.sendPosition()
        #    self.sendVisibility()
        if 'pageNo' in realChange and sendToCover:
            self.sendPageNo()
        if 'size' in realChange and sendToCover:
            self.sendSize()
        if 'scaling' in realChange and sendToCover:
            self.sendScaling()
        if 'pos' in realChange and sendToCover:
            self.sendPosition()

        # changed in realChange happens when doc is changed in gui
        if 'changed' in realChange:
            # tell the coPresentationMgr that doc has changed
            globalKeyHandler().getObject(
                globalPresentationMgrKey).documentChanged(
                    self.params.documentName, self.params.pos,
                    self.params.isVisible, self.params.scaling,
                    self.params.size, negMsgHandler)
示例#13
0
    def setParams(self, params, negMsgHandler=None, sendToCover=True):
        print("setParams ", self.params.name)
        realChange = ParamsDiff(self.params, params)
        VisItem.setParams(self, params, negMsgHandler, sendToCover)

        #if ('rotAngle' in realChange or (self.params.rotAngle > 0 and ('rotX' in realChange or 'rotY' in realChange or 'rotZ' in realChange)) or \
        #    ('transX' in realChange or 'transY' in realChange or 'transZ' in realChange)):
        self.sendTransformation()

        #send all connections
        for conn in self.params.connectionPoints:
            self.sendConnections(conn, [
                self.params.connectionPoints[conn],
                self.params.connectionPointsDisable[conn]
            ])

        # check if need connections is on and set variable nextPresStep
        self.params.nextPresStep = True
        if self.params.needConn:
            for cp in self.params.connectionPoints:
                if self.params.connectionPointsDisable[
                        cp] and not self.params.connectionPoints[cp]:
                    self.params.nextPresStep = False
示例#14
0
    def setParams(self, params, negMsgHandler=None, sendToCover=True):
        _infoer.function = str(self.setParams)
        _infoer.write("%s" % params.isVisible)
        if params.id == None:
            return
        realChange = ParamsDiff(self.params, params)
        oldID = self.params.id
        if hasattr(self.params, 'confirmed'):
            oldConfirmed = self.params.confirmed
        else:
            oldConfirmed = True
        if hasattr(self.params, 'changed'):
            oldChanged = self.params.changed
        else:
            oldChanged = False
        VisItem.setParams(self, params, negMsgHandler, sendToCover)
        self.params.confirmed = oldConfirmed
        self.params.changed = oldChanged

        # confirmed and id in realChange happens when loading a project and having different default viewpoints
        if 'confirmed' in realChange and 'id' in realChange:
            self.params.confirmed = True
            if self.params.isVisible:
                self.show()
            # tell the coPresentationMgr that viewpoint is now confirmed and the id has changed
            globalKeyHandler().getObject(
                globalPresentationMgrKey).changeUnconfirmedViewpointID(
                    oldID, params.id, negMsgHandler)
        else:
            if 'confirmed' in realChange:
                self.params.confirmed = True
                if self.params.isVisible:
                    self.show()
                # tell the coPresentationMgr that viewpoint is confirmed
                globalKeyHandler().getObject(
                    globalPresentationMgrKey).setViewpointConfirmed(
                        params.id, negMsgHandler)
            if 'id' in realChange:
                # tell the presenterManager that my id has changed
                globalKeyHandler().getObject(
                    globalPresentationMgrKey).changeViewPointID(
                        oldID, params.id, negMsgHandler)
        if hasattr(self.params, 'delete'):
            self.delete(False, negMsgHandler)
            return
        if 'isVisible' in realChange and sendToCover and params.isVisible and hasattr(
                self.params, 'confirmed') and self.params.confirmed:
            _infoer.function = str(self.setParams)
            _infoer.write("send viewpoint")
            self.show()
            globalKeyHandler().getObject(self.parentKey).makeOthersInvisible(
                self, negMsgHandler)
        if 'name' in realChange and sendToCover:
            #send new name to cover
            msg = coGRChangeViewpointNameMsg(self.params.id, params.name)
            covise.sendRendMsg(msg.c_str())

        # changed in realChange happens when viewpoint is changed in gui
        if 'changed' in realChange:
            # tell the coPresentationMgr that obj has changed
            globalKeyHandler().getObject(
                globalPresentationMgrKey).viewpointChanged(
                    self.params.id, self.params.view, negMsgHandler)
示例#15
0
    def setParams(self, params, negMsgHandler=None, sendToCover=True):
        """ set parameters from outside """
        _infoer.function = str(self.setParams)
        _infoer.write("setParams")

        VisItem.setParams(self, params)