Ejemplo n.º 1
0
    def run(self, runmode, negMsgHandler):
        if os.getenv('VR_PREPARE_DEBUG_RUN'):
            print("PartTracerVis.run")
        """ create a new visulisation
            + register for events from Covise if not done yet
            + runmode RUN_GEO and RUN_OCT are ignored
            + update module parameter
            + exec the tracer module
        """
        assert negMsgHandler

        if runmode == RUN_ALL:

            _infoer.function = str(self.run)
            _infoer.write("go")

            if not hasattr(self, 'importModule'):
                return

            self.__update(negMsgHandler)

            PartColoredVis.run(self, runmode, negMsgHandler, self._module,
                               self.fromRecreation)
            PartModuleVis.run(self, runmode, negMsgHandler)
            PartInteractorVis.run(self, runmode, negMsgHandler)
Ejemplo n.º 2
0
    def __update(self, negMsgHandler):
        """ __update is called from the run method to update the module parameter before execution
            + do init if the cutting surface module if necessary
            + update module parameters """
        self.__init(negMsgHandler)
        PartModuleVis._update(self, negMsgHandler)
        PartColoredVis._update(self, negMsgHandler)
        PartInteractorVis._update(self, negMsgHandler)
        
        # other parameters
        aRectangleIn3d1Mid1Norm = convertAlignedRectangleToCutRectangle( self.params.alignedRectangle)
        self._module.set_point(*aRectangleIn3d1Mid1Norm.point)
        self._module.set_vertex(*aRectangleIn3d1Mid1Norm.normal)
        self._module.set_option(1)
        self._module.set_vector(self.params.vector)
        if globalKeyHandler().getObject(self.params.colorTableKey[self.currentVariable()]).params.mode==coColorTableParams.LOCAL :
            self._module.set_autoScales('TRUE')
        else :
            self._module.set_autoScales('FALSE')
        self._module.setTitle( self.params.name )

        # init params in case of arrows
        if hasattr(self.params, 'length'): self._module.set_length(self.params.length)
        if hasattr(self.params, 'scale'):
            self._module.set_scale(0.0, 1.0, self.params.scale)
            self._module.set_num_sectors(3)
        if hasattr(self.params, 'arrow_head_factor'): self._module.set_arrow_head_factor(self.params.arrow_head_factor)
        if hasattr(self.params, 'project_arrows'): self._module.set_project_lines(str(self.params.project_arrows))
Ejemplo n.º 3
0
    def __update(self, negMsgHandler):
        """ __update is called from the run method to update the module parameter before execution
            + do init if the tracer module if necessary
            + update module parameters """
        self.__init(negMsgHandler)
        PartModuleVis._update(self, negMsgHandler)
        PartColoredVis._update(self, negMsgHandler)
        PartInteractorVis._update(self, negMsgHandler)

        if not hasattr(self, 'importModule'):
            return

        #update params
        # no of starting points
        if self.params.no_startp<12:
            min_start = 1
            max_start = 20
        elif self.params.no_startp<100:
            min_start = 1
            max_start = 2*self.params.no_startp
        else:
            min_start = 0.5 * self.params.no_startp
            max_start = 4 * self.params.no_startp
        self._module.set_no_startp( min_start, max_start, self.params.no_startp )
        # other parameters
        if self.params.alignedRectangle.orthogonalAxis=='line':
            s0 = self.params.alignedRectangle.getStartPoint()
            s1 = self.params.alignedRectangle.getEndPoint()
            self._module.set_startpoint1(s0[0], s0[1], s0[2] )
            self._module.set_startpoint2(s1[0], s1[1], s1[2] )
        else :
            aRectangleIn3d2Ps1Dir = convertAlignedRectangleToGeneral( self.params.alignedRectangle)
            self._module.set_startpoint1(*aRectangleIn3d2Ps1Dir.pointA)
            self._module.set_startpoint2(*aRectangleIn3d2Ps1Dir.pointC)
            self._module.set_direction(*aRectangleIn3d2Ps1Dir.direction)
        self._module.set_trace_len(self.params.len)
        self._module.set_trace_eps(self.params.eps)
        self._module.set_trace_abs(self.params.abs)
        self._module.set_min_vel(self.params.min_vel)
        self._module.set_tdirection(self.params.direction)
        self._module.set_grid_tol(self.params.grid_tol)
        self._module.set_maxOutOfDomain(self.params.maxOutOfDomain)

        if PartColoredVis.currentVariable(self) and PartColoredVis.currentVariable(self) in self.params.colorTableKey and globalKeyHandler().getObject(self.params.colorTableKey[self.currentVariable()]).params.mode==coColorTableParams.LOCAL :
            self._module.set_autoScales('TRUE')
        else :
            self._module.set_autoScales('FALSE')

        self._module.setTitle( self.params.name )
        # init params in case of moving points or pathlines
        if hasattr(self.params, 'duration' ):     self._module.set_stepDuration(self.params.duration)
        if hasattr(self.params, 'sphereRadius' ): self._module.set_SphereRadius(self.params.sphereRadius)
        if hasattr(self.params, 'tubeWidth' ): self._module.set_TubeWidth(self.params.tubeWidth)
        if hasattr(self.params, 'numSteps' ): self._module.set_MaxPoints(self.params.numSteps)
        if hasattr(self.params, 'start_style'): self._module.set_startStyle(self.params.start_style)
        if hasattr(self.params, 'freeStartPoints'): 
            if self.params.freeStartPoints == '':
                if hasattr(self, 'oldFreeStartPoints'):
                    self.params.freeStartPoints = self.oldFreeStartPoints
            self._module.set_FreeStartPoints(self.params.freeStartPoints)
Ejemplo n.º 4
0
    def setParams(self, params, negMsgHandler=None, sendToCover=True):
        """ set parameters from outside
            + init cutting surface 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")

        realChange = ParamsDiff(self.params, params)

        PartModuleVis.setParams(self, params, negMsgHandler, sendToCover,
                                realChange)
        PartColoredVis.setParams(self, params, negMsgHandler, sendToCover,
                                 realChange)
        PartInteractorVis.setParams(self, params, negMsgHandler, sendToCover,
                                    realChange)

        if 'isVisible' in realChange:
            if self.params.isVisible:
                self.sendClipPlane()
            else:
                self.sendClipPlaneOFF()

        if (('attachedClipPlane_index' in realChange)
                or ('attachedClipPlane_offset' in realChange)
                or ('attachedClipPlane_flip' in realChange)):
            self.sendClipPlane()
Ejemplo n.º 5
0
    def __update(self, negMsgHandler):
        """ __update is called from the run method to update the module parameter before execution
            + do init if the cutting surface module if necessary
            + update module parameters """
        self.__init(negMsgHandler)
        PartModuleVis._update(self, negMsgHandler)
        PartColoredVis._update(self, negMsgHandler)
        PartInteractorVis._update(self, negMsgHandler)

        # other parameters
        aRectangleIn3d1Mid1Norm = convertAlignedRectangleToCutRectangle(
            self.params.alignedRectangle)
        self._module.set_point(*aRectangleIn3d1Mid1Norm.point)
        self._module.set_vertex(*aRectangleIn3d1Mid1Norm.normal)
        self._module.set_option(1)
        self._module.set_vector(self.params.vector)
        if globalKeyHandler().getObject(
                self.params.colorTableKey[self.currentVariable(
                )]).params.mode == coColorTableParams.LOCAL:
            self._module.set_autoScales('TRUE')
        else:
            self._module.set_autoScales('FALSE')
        self._module.setTitle(self.params.name)

        # init params in case of arrows
        if hasattr(self.params, 'length'):
            self._module.set_length(self.params.length)
        if hasattr(self.params, 'scale'):
            self._module.set_scale(0.0, 1.0, self.params.scale)
            self._module.set_num_sectors(3)
        if hasattr(self.params, 'arrow_head_factor'):
            self._module.set_arrow_head_factor(self.params.arrow_head_factor)
        if hasattr(self.params, 'project_arrows'):
            self._module.set_project_lines(str(self.params.project_arrows))
Ejemplo n.º 6
0
    def setParams( self, params, negMsgHandler=None, sendToCover=True):
        """ set parameters from outside
            + init cutting surface 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")

        realChange = ParamsDiff( self.params, params )

        PartModuleVis.setParams(self, params, negMsgHandler, sendToCover, realChange)
        PartColoredVis.setParams(self, params, negMsgHandler, sendToCover, realChange)
        PartInteractorVis.setParams(self, params, negMsgHandler, sendToCover, realChange)
        
        if 'isVisible' in realChange:
            if self.params.isVisible:
                self.sendClipPlane()
            else:
                self.sendClipPlaneOFF()

        if (   ('attachedClipPlane_index' in realChange)
            or ('attachedClipPlane_offset' in realChange)
            or ('attachedClipPlane_flip' in realChange)):
            self.sendClipPlane()
Ejemplo n.º 7
0
 def __init__(self, geoInput=[], geoSampleInput=[], dataSampleInput=[], dataInInput=[], sampleType=MAX_FLT):
     if os.getenv('VR_PREPARE_DEBUG_RUN'):
         print("PartCuttingSurfaceVis.__init__")
     PartModuleVis.__init__(self,CuttingSurfaceComp, VIS_PLANE, self.__class__.__name__, geoInput, [], geoSampleInput, dataSampleInput, dataInInput, [], [], sampleType)
     PartColoredVis.__init__(self)
     PartInteractorVis.__init__(self, 1) # mode 1 means cuttingsurface interactor
     self.params = PartPlaneVisParams()
     self.__initBase()
Ejemplo n.º 8
0
 def recreate(self, negMsgHandler, parentKey, geoInput=[], geoSampleInput=[], dataSampleInput=[], dataInInput=[], sampleType=MAX_FLT, offset=0):
     """ recreate is called after all classes of the session have been unpickled """
     self.__initBase()
     self.params.setMoreParams()
     PartInteractorVis.setFormat(self, 1)
     PartModuleVis.recreate(self, negMsgHandler, parentKey, offset, CuttingSurfaceComp, geoInput, [], geoSampleInput, dataSampleInput, dataInInput, [], [], sampleType)
     PartColoredVis.recreate(self,negMsgHandler, parentKey, offset )
     PartColoredVis.setColorMap(self,True)
Ejemplo n.º 9
0
 def recreate(self, negMsgHandler, parentKey, offset):
     """ recreate is called after all classes of the session have been unpickled """
     self.__initBase()
     self.__correctParams()
     PartInteractorVis.setFormat(self, 0)
     PartModuleVis.recreate(self, negMsgHandler, parentKey, offset, TracerComp, 
                           ['meshIn'],['octtreesIn'],['SampleGeom'],['SampleData'],['dataIn'],['fieldIn'],['pointsIn'] )
     PartColoredVis.recreate(self, negMsgHandler, parentKey, offset)
     PartColoredVis.setColorMap(self,True)
Ejemplo n.º 10
0
 def recreate(self, negMsgHandler, parentKey, offset):
     """ recreate is called after all classes of the session have been unpickled """
     self.__initBase()
     self.__correctParams()
     PartInteractorVis.setFormat(self, 0)
     PartModuleVis.recreate(self, negMsgHandler, parentKey, offset,
                            TracerComp, ['meshIn'], ['octtreesIn'],
                            ['SampleGeom'], ['SampleData'], ['dataIn'],
                            ['fieldIn'], ['pointsIn'])
     PartColoredVis.recreate(self, negMsgHandler, parentKey, offset)
     PartColoredVis.setColorMap(self, True)
Ejemplo n.º 11
0
    def __init__(self):
        if os.getenv('VR_PREPARE_DEBUG_RUN'):
            print("PartTracerVis.__init__")

        PartModuleVis.__init__(self, TracerComp, VIS_STREAMLINE, self.__class__.__name__, ['meshIn'],['octtreesIn'],['SampleGeom'],['SampleData'],['dataIn'],['fieldIn'],['pointsIn'], USER_DEFINED)
        PartColoredVis.__init__(self)
        PartInteractorVis.__init__(self)

        self.params = PartStreamlineVisParams()
        self.__initBase()
        self.oldFreeStartPoints = ''
Ejemplo n.º 12
0
    def __init__(self):
        if os.getenv('VR_PREPARE_DEBUG_RUN'):
            print("PartTracerVis.__init__")

        PartModuleVis.__init__(self, TracerComp, VIS_STREAMLINE,
                               self.__class__.__name__, ['meshIn'],
                               ['octtreesIn'], ['SampleGeom'], ['SampleData'],
                               ['dataIn'], ['fieldIn'], ['pointsIn'],
                               USER_DEFINED)
        PartColoredVis.__init__(self)
        PartInteractorVis.__init__(self)

        self.params = PartStreamlineVisParams()
        self.__initBase()
        self.oldFreeStartPoints = ''
Ejemplo n.º 13
0
    def setParams( self, params, negMsgHandler=None, sendToCover=True):
        """ set parameters from outside
            + init tracer 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")

        realChange = ParamsDiff( self.params, params )

        PartModuleVis.setParams(self, params, negMsgHandler, sendToCover, realChange)
        PartColoredVis.setParams(self, params, negMsgHandler, sendToCover, realChange)
        PartInteractorVis.setParams(self, params, negMsgHandler, sendToCover, realChange)

        if 'use2DPartKey' in realChange: PartInteractorVis.sendInteractorPosibility(self)
Ejemplo n.º 14
0
 def __init__(self,
              geoInput=[],
              geoSampleInput=[],
              dataSampleInput=[],
              dataInInput=[],
              sampleType=MAX_FLT):
     if os.getenv('VR_PREPARE_DEBUG_RUN'):
         print("PartCuttingSurfaceVis.__init__")
     PartModuleVis.__init__(self, CuttingSurfaceComp, VIS_PLANE,
                            self.__class__.__name__, geoInput, [],
                            geoSampleInput, dataSampleInput, dataInInput,
                            [], [], sampleType)
     PartColoredVis.__init__(self)
     PartInteractorVis.__init__(self,
                                1)  # mode 1 means cuttingsurface interactor
     self.params = PartPlaneVisParams()
     self.__initBase()
Ejemplo n.º 15
0
    def setParams( self, params, negMsgHandler=None, sendToCover=True):

        return # TODO: probe is not working at the moment: stuck in saveExecute (data or grid missing)

        """ set parameters from outside
            + init tracer 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")

        realChange = ParamsDiff( self.params, params )
        
        PartModuleVis.setParams(self, params, negMsgHandler, sendToCover, realChange)
        PartColoredVis.setParams(self, params, negMsgHandler, sendToCover, realChange)
        PartInteractorVis.setParams(self, params, negMsgHandler, sendToCover, realChange)        
Ejemplo n.º 16
0
    def __update(self, negMsgHandler):
        """ __update is called from the run method to update the module parameter before execution
            + do init if the tracer module if necessary
            + update module parameters """
        self.__init(negMsgHandler)

        PartModuleVis._update(self, negMsgHandler)
        PartColoredVis._update(self, negMsgHandler)
        PartInteractorVis._update(self, negMsgHandler)           
        
        if not hasattr(self, 'importModule'):
             return

        self._module.set_startpoint1(self.params.startpoint[0],self.params.startpoint[1],self.params.startpoint[2])
        self._module.set_startpoint2(self.params.startpoint[0],self.params.startpoint[1],self.params.startpoint[2])

        self._module.setTitle( self.params.name )
Ejemplo n.º 17
0
 def recreate(self,
              negMsgHandler,
              parentKey,
              geoInput=[],
              geoSampleInput=[],
              dataSampleInput=[],
              dataInInput=[],
              sampleType=MAX_FLT,
              offset=0):
     """ recreate is called after all classes of the session have been unpickled """
     self.__initBase()
     self.params.setMoreParams()
     PartInteractorVis.setFormat(self, 1)
     PartModuleVis.recreate(self, negMsgHandler, parentKey, offset,
                            CuttingSurfaceComp, geoInput, [],
                            geoSampleInput, dataSampleInput, dataInInput,
                            [], [], sampleType)
     PartColoredVis.recreate(self, negMsgHandler, parentKey, offset)
     PartColoredVis.setColorMap(self, True)
Ejemplo n.º 18
0
    def __init(self, negMsgHandler):
        if os.getenv('VR_PREPARE_DEBUG_RUN'):
            print("PartTracerVis.__init")
        """ __init is called from __update

            + start TracerComp module if it does not already exist and connect output to COVER
            + set default parameters of Tracer
            + set default boundingBox which is also used in the GUI to set borders of the float sliders
            + send params to the gui
        """
        if self.__firstTime == True:
            self.__firstTime = False

            # disable sampling if import is transient
            if self.importModule.getIsTransient():
                self._geoSampleNames = []
                self._dataSampleNames = []

            PartModuleVis._init(self, negMsgHandler, USER_DEFINED)
            PartColoredVis._init(self, negMsgHandler, self._module,
                                 'colorMapIn')
            PartInteractorVis._init(self, negMsgHandler)
            self.__register(negMsgHandler)

            #init params
            self._module.set_taskType(self.params.taskType)

            # spread initial line in between bounding box
            # but not when unpickled or values will be overwritten
            if hasattr(
                    self.params, 'start_style'
            ) and self.params.start_style == 1 and not self.fromRecreation:
                self.params.alignedRectangle.setStartEndPoint(
                    self.params.boundingBox.getXMin() / 2.0,
                    self.params.boundingBox.getYMin() / 2.0,
                    self.params.boundingBox.getZMax(),
                    self.params.boundingBox.getXMax() / 2.0,
                    self.params.boundingBox.getYMax() / 2.0,
                    self.params.boundingBox.getZMax())

            # send params to gui
            self.sendParams()
Ejemplo n.º 19
0
    def setParams(self, params, negMsgHandler=None, sendToCover=True):
        """ set parameters from outside
            + init tracer 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")

        realChange = ParamsDiff(self.params, params)

        PartModuleVis.setParams(self, params, negMsgHandler, sendToCover,
                                realChange)
        PartColoredVis.setParams(self, params, negMsgHandler, sendToCover,
                                 realChange)
        PartInteractorVis.setParams(self, params, negMsgHandler, sendToCover,
                                    realChange)

        if 'use2DPartKey' in realChange:
            PartInteractorVis.sendInteractorPosibility(self)
Ejemplo n.º 20
0
    def __init(self, negMsgHandler):
        if os.getenv('VR_PREPARE_DEBUG_RUN'):
            print("PartCuttingSurfaceVis.__init")
        """ __init is called from __update
            + start CuttingSurfaceComp module if it does not already exist and connect output to COVER
            + set default parameters of cuttingsurface
            + set default boundingBox which is also used in the GUI to set borders of the float sliders
            + send params to the gui
        """
        if self.__firstTime == True:
            self.__firstTime = False

            # disable sampling if import is transient
            if self.importModule.getIsTransient():
                self._geoSampleNames = []
                self._dataSampleNames = []

                # special case for PartVectorVis:
                # transient data cannot have sample modules attached to, so do not try to connect CuttingSurface module to sample modules
                if self.params.vector == 3:
                    PartModuleVis._initBase(self, CuttingSurfaceComp,
                                            ['GridIn0'], [], [], [],
                                            ['DataIn0'], [], [], USER_DEFINED)

            PartModuleVis._init(self, negMsgHandler)
            PartColoredVis._init(self, negMsgHandler, self._module)
            PartInteractorVis._init(self, negMsgHandler)
            self.__register(negMsgHandler)

            #init params
            self._module.set_option(1)  # plane
            self._module.set_vector(self.params.vector)

            if hasattr(self.params.boundingBox, 'getXMin') and hasattr(
                    self.params, 'scale'):
                if self.params.scale < 0:
                    self.params.scale = self.params.boundingBox.getMaxEdgeLength(
                    ) * 0.1

            # send params to gui
            self.sendParams()
Ejemplo n.º 21
0
    def __init(self, negMsgHandler):
        if os.getenv('VR_PREPARE_DEBUG_RUN'):
            print("PartTracerVis.__init")
            
        """ __init is called from __update

            + start TracerComp module if it does not already exist and connect output to COVER
            + set default parameters of Tracer
            + set default boundingBox which is also used in the GUI to set borders of the float sliders
            + send params to the gui
        """
        if self.__firstTime==True:
            self.__firstTime = False

            # disable sampling if import is transient
            if self.importModule.getIsTransient():
                self._geoSampleNames  = []
                self._dataSampleNames = []

            PartModuleVis._init(self, negMsgHandler, USER_DEFINED)
            PartColoredVis._init(self, negMsgHandler, self._module, 'colorMapIn')
            PartInteractorVis._init(self, negMsgHandler)
            self.__register(negMsgHandler)

            #init params
            self._module.set_taskType(self.params.taskType)

            # spread initial line in between bounding box
            # but not when unpickled or values will be overwritten
            if hasattr(self.params, 'start_style') and self.params.start_style == 1 and not self.fromRecreation:
                self.params.alignedRectangle.setStartEndPoint(self.params.boundingBox.getXMin() / 2.0,
                                                              self.params.boundingBox.getYMin() / 2.0,
                                                              self.params.boundingBox.getZMax(),
                                                              self.params.boundingBox.getXMax() / 2.0,
                                                              self.params.boundingBox.getYMax() / 2.0,
                                                              self.params.boundingBox.getZMax())

            # send params to gui
            self.sendParams()
Ejemplo n.º 22
0
    def __init(self, negMsgHandler):
        """ __init is called from __update

            + start probe3D module if it does not already exist and connect output to COVER
            + set default parameters of Tracer
            + set default boundingBox which is also used in the GUI to set borders of the float sliders
            + send params to the gui
        """
        if self.__firstTime==True:
            PartModuleVis._init(self, negMsgHandler)
            PartColoredVis._init(self, negMsgHandler, self._module, 'colorMapIn')
            PartInteractorVis._init(self, negMsgHandler)      
            self.__register(negMsgHandler)

            #init params
            self._module.set_dimensionality(1) 
            self._module.set_probe_type(self.params.type)
            self._module.set_startpoint1(self.params.startpoint[0],self.params.startpoint[1],self.params.startpoint[2])
            self._module.set_startpoint2(self.params.startpoint[0],self.params.startpoint[1],self.params.startpoint[2])

            # send params to gui
            self.sendParams()
Ejemplo n.º 23
0
    def run(self, runmode, negMsgHandler):

        return # TODO: probe is not working at the moment: stuck in saveExecute (data or grid missing)

        """ create a new visulisation
            + register for events from Covise if not done yet
            + runmode RUN_GEO and RUN_OCT are ignored
            + update module parameter
            + exec the tracer module
        """
        assert negMsgHandler

        if runmode==RUN_ALL:
            _infoer.function = str(self.run)
            _infoer.write("go")

            if not hasattr(self, 'importModule'):
                return

            self.__update(negMsgHandler)
            PartColoredVis.run(self, runmode, negMsgHandler, self._module, self.fromRecreation )
            PartInteractorVis.run(self, runmode, negMsgHandler)
            PartModuleVis.run(self, runmode, negMsgHandler)
Ejemplo n.º 24
0
    def run(self, runmode, negMsgHandler):
        if os.getenv('VR_PREPARE_DEBUG_RUN'):
            print("PartCuttingSurfaceVis.run")
        """ create a new visulisation
            + register for events from Covise if not done yet
            + runmode RUN_GEO and RUN_OCT are ignored
            + update module parameter
            + exec the cutting surface module
        """
        #assert negMsgHandler

        if runmode==RUN_ALL:
            _infoer.function = str(self.run)
            _infoer.write("go")

            if not hasattr(self, 'importModule'):
                return

            self.__update(negMsgHandler)

            PartColoredVis.run(self, runmode, negMsgHandler, self._module)
            PartModuleVis.run(self, runmode, negMsgHandler)
            PartInteractorVis.run(self, runmode, negMsgHandler)
Ejemplo n.º 25
0
    def __init(self, negMsgHandler):
        if os.getenv('VR_PREPARE_DEBUG_RUN'):
            print("PartCuttingSurfaceVis.__init")
        """ __init is called from __update
            + start CuttingSurfaceComp module if it does not already exist and connect output to COVER
            + set default parameters of cuttingsurface
            + set default boundingBox which is also used in the GUI to set borders of the float sliders
            + send params to the gui
        """
        if self.__firstTime==True:
            self.__firstTime = False

            # disable sampling if import is transient
            if self.importModule.getIsTransient():
                self._geoSampleNames  = []
                self._dataSampleNames = []

                # special case for PartVectorVis:
                # transient data cannot have sample modules attached to, so do not try to connect CuttingSurface module to sample modules
                if self.params.vector == 3:
                    PartModuleVis._initBase(self, CuttingSurfaceComp, ['GridIn0'], [], [], [], ['DataIn0'], [], [], USER_DEFINED)

            PartModuleVis._init(self, negMsgHandler)
            PartColoredVis._init(self, negMsgHandler, self._module)  
            PartInteractorVis._init(self, negMsgHandler)
            self.__register(negMsgHandler)  

            #init params
            self._module.set_option(1) # plane
            self._module.set_vector(self.params.vector)

            if hasattr(self.params.boundingBox, 'getXMin' ) and hasattr(self.params, 'scale'):
                if self.params.scale < 0:
                    self.params.scale = self.params.boundingBox.getMaxEdgeLength() * 0.1

            # send params to gui
            self.sendParams()
Ejemplo n.º 26
0
 def __init__(self):
     PartModuleVis.__init__(self,Probe3D, VIS_POINTPROBING, self.__class__.__name__,['meshIn'],['gOcttreesIn'],[],[],['gdataIn'],[],[], 1, True, True)
     PartColoredVis.__init__(self)
     PartInteractorVis.__init__(self)
     self.params = PartPointProbingVisParams()
     self.__initBase()
Ejemplo n.º 27
0
    def __update(self, negMsgHandler):
        """ __update is called from the run method to update the module parameter before execution
            + do init if the tracer module if necessary
            + update module parameters """
        self.__init(negMsgHandler)
        PartModuleVis._update(self, negMsgHandler)
        PartColoredVis._update(self, negMsgHandler)
        PartInteractorVis._update(self, negMsgHandler)

        if not hasattr(self, 'importModule'):
            return

        #update params
        # no of starting points
        if self.params.no_startp < 12:
            min_start = 1
            max_start = 20
        elif self.params.no_startp < 100:
            min_start = 1
            max_start = 2 * self.params.no_startp
        else:
            min_start = 0.5 * self.params.no_startp
            max_start = 4 * self.params.no_startp
        self._module.set_no_startp(min_start, max_start, self.params.no_startp)
        # other parameters
        if self.params.alignedRectangle.orthogonalAxis == 'line':
            s0 = self.params.alignedRectangle.getStartPoint()
            s1 = self.params.alignedRectangle.getEndPoint()
            self._module.set_startpoint1(s0[0], s0[1], s0[2])
            self._module.set_startpoint2(s1[0], s1[1], s1[2])
        else:
            aRectangleIn3d2Ps1Dir = convertAlignedRectangleToGeneral(
                self.params.alignedRectangle)
            self._module.set_startpoint1(*aRectangleIn3d2Ps1Dir.pointA)
            self._module.set_startpoint2(*aRectangleIn3d2Ps1Dir.pointC)
            self._module.set_direction(*aRectangleIn3d2Ps1Dir.direction)
        self._module.set_trace_len(self.params.len)
        self._module.set_trace_eps(self.params.eps)
        self._module.set_trace_abs(self.params.abs)
        self._module.set_min_vel(self.params.min_vel)
        self._module.set_tdirection(self.params.direction)
        self._module.set_grid_tol(self.params.grid_tol)
        self._module.set_maxOutOfDomain(self.params.maxOutOfDomain)

        if PartColoredVis.currentVariable(
                self) and PartColoredVis.currentVariable(
                    self) in self.params.colorTableKey and globalKeyHandler(
                    ).getObject(self.params.colorTableKey[self.currentVariable(
                    )]).params.mode == coColorTableParams.LOCAL:
            self._module.set_autoScales('TRUE')
        else:
            self._module.set_autoScales('FALSE')

        self._module.setTitle(self.params.name)
        # init params in case of moving points or pathlines
        if hasattr(self.params, 'duration'):
            self._module.set_stepDuration(self.params.duration)
        if hasattr(self.params, 'sphereRadius'):
            self._module.set_SphereRadius(self.params.sphereRadius)
        if hasattr(self.params, 'tubeWidth'):
            self._module.set_TubeWidth(self.params.tubeWidth)
        if hasattr(self.params, 'numSteps'):
            self._module.set_MaxPoints(self.params.numSteps)
        if hasattr(self.params, 'start_style'):
            self._module.set_startStyle(self.params.start_style)
        if hasattr(self.params, 'freeStartPoints'):
            if self.params.freeStartPoints == '':
                if hasattr(self, 'oldFreeStartPoints'):
                    self.params.freeStartPoints = self.oldFreeStartPoints
            self._module.set_FreeStartPoints(self.params.freeStartPoints)