Exemple #1
0
    def __init__(self, parent=None):
        QtWidgets.QWidget.__init__(self, parent)
        Ui_IsoCutterPanelBase.__init__(self)
        self.setupUi(self)
        #current object key
        self.__key = -1

        #default setting of the panel
        self.vrpCheckBoxMapVariable.setEnabled(False)
        self.vrpComboBoxVariable.setEnabled(False)
        self.visibilityCheckBox.setVisible(
            covise.coConfigIsOn("vr-prepare.AdditionalVisibilityCheckbox",
                                False))

        self.__baseVariable = None

        #temporary storage of this parameter part
        self.colorCreator = {}

        middleFloatInRangeCtrls = [self.floatInRangeIsoValue]
        self.__boundingBox = Box()
        for w, r in zip(middleFloatInRangeCtrls,
                        self.__boundingBox.getTuple()):
            w.setRange(r)
        sideRange = 0, self.__heuristicProbeMaxSideLengthFromBox(
            self.__boundingBox.getTuple())

        IsoCutterPanelConnector(self)
Exemple #2
0
    def getPartsBoundingBox(self):
        """ get the bounding box from all originally unfiltered/untransformed/unreduced/un... import modules """

        box = Box((0, 0), (0, 0), (0, 0))
        for key in globalKeyHandler().getAllElements():
            # get bounding box of all parts
            if globalKeyHandler().getObject(key) and globalKeyHandler(
            ).getObject(key).typeNr in [TYPE_3D_PART, TYPE_2D_PART]:
                tmpBB = globalKeyHandler().getObject(
                    key).importModule.getBoxFromGeoRWCovise()
                box = box + tmpBB
        return box
    def executeSampleData(self, varname, bbox=None, outside=USER_DEFINED):
        if not covise.coConfigIsOn("vr-prepare.UseSamplingModules", False):
            return

        if bbox==None:
            if not (varname,outside) in self._bbox:
                self._bbox[(varname,outside)] = Box()
            box = self._bbox[(varname,outside)]
        else:
            box = bbox
        self._updateSample( varname, box, outside)                   
        sample = self._sample[(varname,outside)]

        saveExecute(sample)
    def _initSample( self, varname, outside ):
        if not (varname,outside) in self._sample:
            self._sample[(varname,outside)] = Sample()
            theNet().add(self._sample[(varname,outside)])
            self._bbox[(varname,USER_DEFINED)] = Box()
            self._bbox[(varname,MAX_FLT)] = Box()

#            connect( Import3DModule.geoConnectionPoint(self), ConnectionPoint(self._sample[(varname,outside)], 'GridIn') )
#            connect( Import3DModule.dataConnectionPoint(self, varname), ConnectionPoint(self._sample[(varname,outside)], 'DataIn') )
            connect( ParentClass3D.geoConnectionPoint(self), ConnectionPoint(self._sample[(varname,outside)], 'GridIn') )
            connect( ParentClass3D.dataConnectionPoint(self, varname), ConnectionPoint(self._sample[(varname,outside)], 'DataIn') )

            sample = self._sample[(varname,outside)]
            sample.set_outside(outside)
            if not ParentClass3D.executeOct(self) and not ParentClass3D.executeData(self, varname):
                saveExecute(sample)

        # reconnect Sample
#        print "RECONNECTING 3D SAMPLE"
        theNet().disconnectAllFromModulePort(self._sample[(varname,outside)], 'GridIn')
        theNet().disconnectAllFromModulePort(self._sample[(varname,outside)], 'DataIn')
        connect( ParentClass3D.geoConnectionPoint(self), ConnectionPoint(self._sample[(varname,outside)], 'GridIn') )
        connect( ParentClass3D.dataConnectionPoint(self, varname), ConnectionPoint(self._sample[(varname,outside)], 'DataIn') )
Exemple #5
0
    def __init__(self,
                 parent,
                 doApply,
                 doApplyRadioBttn,
                 doParamChange,
                 typeRec=TRACER,
                 startStyle=PLANE):
        QtCore.QObject.__init__(self)

        assert parent
        assert doApply

        #slots to be registered by parent
        self.__parent = parent
        self.__apply = doApply
        self.__applyRadioBttn = doApplyRadioBttn
        self.__paramChange = doParamChange
        self.__type = typeRec

        middleFloatInRangeCtrls = [
            self.__parent.floatInRangeX, self.__parent.floatInRangeY,
            self.__parent.floatInRangeZ
        ]
        sideFloatInRangeCtrls = []
        rotFloatInRangeCtrls = []
        endPointFloatInRangeCtrls = []

        # a streamlines panel will have these widgets so they will get connected
        if typeRec == TRACER:
            endPointFloatInRangeCtrls = [
                self.__parent.floatInRangeEndPointX,
                self.__parent.floatInRangeEndPointY,
                self.__parent.floatInRangeEndPointZ
            ]

        self.__boundingBox = ((-1, 1), (-1, 1), (-1, 1))
        for w, r in zip(middleFloatInRangeCtrls, self.__boundingBox):
            w.setRange(r)
        #if not typeRec == POINTPROBING:
        if startStyle == PLANE:
            sideRange = 0, self.__heuristicProbeMaxSideLengthFromBox(
                self.__boundingBox)
            if self.__type == TRACER:
                sideFloatInRangeCtrls = [
                    self.__parent.floatInRangeWidth,
                    self.__parent.floatInRangeHeight
                ]
                for w in sideFloatInRangeCtrls:
                    w.setRange(sideRange)
            rotFloatInRangeCtrls = [
                self.__parent.floatInRangeRotX, self.__parent.floatInRangeRotY,
                self.__parent.floatInRangeRotZ
            ]
            for w in rotFloatInRangeCtrls:
                w.setRange((-180., 180.))
        elif startStyle == LINE:
            endPointFloatInRangeCtrls = [
                self.__parent.floatInRangeEndPointX,
                self.__parent.floatInRangeEndPointY,
                self.__parent.floatInRangeEndPointZ
            ]
            for w, r in zip(endPointFloatInRangeCtrls, self.__boundingBox):
                w.setRange(r)
            sideFloatInRangeCtrls = []
            rotFloatInRangeCtrls = []
        #else:
        #    sideFloatInRangeCtrls = []
        #    rotFloatInRangeCtrls = []

        for w in middleFloatInRangeCtrls + sideFloatInRangeCtrls + rotFloatInRangeCtrls + endPointFloatInRangeCtrls:
            w.sigSliderReleased.connect(self.__apply)
            if self.__paramChange:
                w.sigValueChanged.connect(self.__paramChange)

        #if not typeRec == POINTPROBING:
        for w in [
                self.__parent.xAxisRadioButton, self.__parent.yAxisRadioButton,
                self.__parent.zAxisRadioButton
        ]:
            w.clicked.connect(self.__radioButtonClick)

        self.__boundingBox = Box((-1, 1), (-1, 1), (-1, 1))
Exemple #6
0
 def getBox(self, forceExecute=False):
     box = Box((0, 0), (0, 0), (0, 0))
     for part in self._parts:
         box = box + part.getBox(forceExecute)
     return box
Exemple #7
0
 def getBoxFromGeoRWCovise(self):
     box = Box((0, 0), (0, 0), (0, 0))
     for part in self._parts:
         box = box + part.getBoxFromGeoRWCovise()
     return box