# -------关联C++库--------------- import ctypes import platform from ctypes import * system = platform.system() if system == "Windows": pre = "./" suff = ".dll" else: pre = "./lib" suff = ".so" libfile = ctypes.cdll.LoadLibrary filename = pre + "PostWidgets" + suff postWidgets = libfile(filename) # --------------------------------- # #--------------New_script_FilterClip--------- # #-------定义函数------------------ class PostGain3DPlotData: def __init__(self): self.m_id = -1 self.m_isLogTheData = False self.m_scaleFactor = 1 self.m_isScalarBarVisible = False self.m_scalarBarLabelNum = 6 self.m_scalarBarTitle = "" self.m_isScalarBarAutoRange = True self.m_scalarBarManualMin = 0 self.m_scalarBarManualMax = 1 self.m_opacity = 1 self.m_cameraViewUp = "" self.m_cameraPosition = "" self.m_cameraFocalPoint = "" def setID(self, id): self.m_id = id def setIsLogTheData(self, isLog): self.m_isLogTheData = isLog def setScaleFactor(self, scale): self.m_scaleFactor = scale def setIsScalarBarVisible(self, visible): self.m_isScalarBarVisible = visible def setScalarBarProperty(self, scalarBarTitle, scalarBarLabelNum, autoRange, manualMin, manualMax): self.m_scalarBarTitle = scalarBarTitle self.m_scalarBarLabelNum = scalarBarLabelNum self.m_isScalarBarAutoRange = autoRange self.m_scalarBarManualMin = manualMin self.m_scalarBarManualMax = manualMax def setOpacity(self, opacity): self.m_opacity = opacity def setCameraParameters(self, viewUp, position, focalPoint): self.m_cameraViewUp = viewUp self.m_cameraPosition = position self.m_cameraFocalPoint = focalPoint def savePostGain3DPlotData(self): postWidgets.savePostGain3DPlotData(c_int(self.m_id), c_bool(self.m_isLogTheData),c_double(self.m_scaleFactor), c_bool(self.m_isScalarBarVisible), bytes(self.m_scalarBarTitle,encoding='utf-8'), c_int(self.m_scalarBarLabelNum), c_bool(self.m_isScalarBarAutoRange), c_double(self.m_scalarBarManualMin), c_double(self.m_scalarBarManualMax), c_double(self.m_opacity), bytes(self.m_cameraViewUp,encoding='utf-8'), bytes(self.m_cameraPosition,encoding='utf-8'), bytes(self.m_cameraFocalPoint,encoding='utf-8') ) del self class PostPolarSystemData: def __init__(self): self.m_id = -1 self.m_currentTag = 0 self.m_currentScanningID = 0 self.m_keyChosenList = "" self.m_chosenValue = "" self.m_isCurveAdded = False self.m_isNormalize = False self.m_isLog = False self.m_chartTitleName = "" self.m_chartTitleColor = "" self.m_chartTitleFontSize = 32 self.m_isArcIntervalAuto = True self.m_arcIntervalManual = 30 self.m_arcPrecision = 2 self.m_isPolarRangeAuto = True self.m_polarRangeManualMin = 0 self.m_polarRangeManualMax = 1 self.m_isPolarIntervalAuto = True self.m_polarIntervalManual = 1 self.m_polarPrecision = 2 def setID(self, id): self.m_id = id def setCurrentTag(self, tag): self.m_currentTag = tag def setCurrentScanningID(self, currentScanningID): self.m_currentScanningID = currentScanningID def setKeyChosenList(self, keyChosenList): self.m_keyChosenList = keyChosenList def setChosenValue(self, chosenValue): self.m_chosenValue = chosenValue def setIsCurveAdded(self, isCurveAdded): self.m_isCurveAdded = isCurveAdded def setIsNormalize(self, isNormalize): self.m_isNormalize = isNormalize def setIsLog(self, isLog): self.m_isLog = isLog def setChartTitleProperty(self, chartTitleName,chartTitleColor,chartTitleFontSize): self.m_chartTitleName = chartTitleName self.m_chartTitleColor = chartTitleColor self.m_chartTitleFontSize = chartTitleFontSize def setArcAxisProperty(self, arcIntervalAuto, arcIntervalManual, arcPrecision): self.m_isArcIntervalAuto = arcIntervalAuto self.m_arcIntervalManual = arcIntervalManual self.m_arcPrecision = arcPrecision def setPolarAxisRangeProperty(self, polarRangeAuto, polarRangeManualMin, polarRangeManualMax): self.m_isPolarRangeAuto = polarRangeAuto self.m_polarRangeManualMin = polarRangeManualMin self.m_polarRangeManualMax = polarRangeManualMax def setPolarAxisIntervalProperty(self, polarIntervalAuto, polarIntervalManual): self.m_isPolarIntervalAuto = polarIntervalAuto self.m_polarIntervalManual = polarIntervalManual def setPolarAxisPrecision(self, precision): self.m_polarPrecision = precision def savePostPolarSystemData(self): postWidgets.savePolarSystemData( c_int(self.m_id), c_int(self.m_currentTag), c_int(self.m_currentScanningID ), bytes(self.m_keyChosenList, encoding='utf-8'), bytes(self.m_chosenValue, encoding='utf-8'), c_bool(self.m_isCurveAdded), c_bool(self.m_isNormalize), c_bool(self.m_isLog), bytes(self.m_chartTitleName, encoding='utf-8'), bytes(self.m_chartTitleColor, encoding='utf-8'), c_int(self.m_chartTitleFontSize), c_bool(self.m_isArcIntervalAuto), c_double(self.m_arcIntervalManual), c_int(self.m_arcPrecision), c_bool(self.m_isPolarRangeAuto), c_double(self.m_polarRangeManualMin), c_double(self.m_polarRangeManualMax), c_bool(self.m_isPolarIntervalAuto), c_double(self.m_polarIntervalManual), c_int(self.m_polarPrecision), ) del self class PostSmithGraphData: def __init__(self): self.m_id = -1 self.m_isEnablePick = False self.m_markerSize = 50 self.m_pickerSize = 50 def setID(self, id): self.m_id = id def setEnablePick(self, enablePick): self.m_isEnablePick = enablePick def setMarkerSize(self, markerSize): self.m_markerSize = markerSize def setPickerSize(self, pickerSize): self.m_pickerSize = pickerSize def savePostSmithGraphData(self): postWidgets.saveSmithGraphData(c_int(self.m_id), c_bool(self.m_isEnablePick),c_int(self.m_markerSize),c_int(self.m_pickerSize) ) del self class PostFieldGraphData: def __init__(self): self.m_id = -1 self.m_currentTag = 0 self.m_isScalarFieldShowing = True self.m_scalarIndex = 0 self.m_scalarComponentText = "" self.m_scalarManifestation = "SURFACE" self.m_scalarTransparency = 0 self.m_isScalarBarDisplay = True self.m_scalarBarTitle = "Scalar Filed" self.m_scalarBarTickNum = 6 self.m_isScalarBarAutoRange = True self.m_scalarBarManualMin = 0. self.m_scalarBarManualMax = 1. self.m_isVectorFieldShowing = False self.m_vectorIndex = 0 self.m_vectorFieldArrowSize = 10 self.m_vectorSampleCoefficient = 50 self.m_isVectorBarDisplay = True self.m_vectorBarTitle = "Vector Filed" self.m_vectorBarTickNum = 6 self.m_isVectorBarAutoRange = True self.m_vectorBarManualMin = 0. self.m_vectorBarManualMax = 1. self.m_isSliceFieldShowing = False self.m_sliceIndex = 0 self.m_sliceComponentText = "" self.m_sliceManifestation = "SURFACE" self.m_sliceShape = "PLANE" self.m_isSliceBarDisplay = True self.m_sliceBarTitle = "Cutter Filed" self.m_sliceBarTickNum = 6 self.m_isSliceBarAutoRange = True self.m_sliceBarManualMin = 0. self.m_sliceBarManualMax = 1. self.m_cameraViewUp = "" self.m_cameraPosition = "" self.m_cameraFocalPoint = "" def setID(self, id): self.m_id = id def setCurrentTag(self ,tag): self.m_currentTag = tag def setIsScalarFieldShowing(self, m_isShowing): self.m_isScalarFieldShowing = m_isShowing def setScalarIndex(self, index): self.m_scalarIndex = index def setScalarComponentText(self, componentText): self.m_scalarComponentText = componentText def setScalarManifestation(self, manifestation): self.m_scalarManifestation = manifestation def setScalarTransparency(self, transparency): self.m_scalarTransparency = transparency def setScalarBarProperty(self, isScalarBarDisplay, title, tickNum, isAuto, min, max): self.m_isScalarBarDisplay = isScalarBarDisplay self.m_scalarBarTitle = title self.m_scalarBarTickNum = tickNum self.m_isScalarBarAutoRange = isAuto self.m_scalarBarManualMin = min self.m_scalarBarManualMax = max def setIsVectorFieldShowing(self, isShowing): self.m_isVectorFieldShowing = isShowing def setVectorIndex(self, index): self.m_vectorIndex = index def setVectorFieldArrowSize(self, size): self.m_vectorFieldArrowSize = size def setVectorFieldSampleCoeff(self, coeff): self.m_vectorSampleCoefficient = coeff def setVectorBarProperty(self, isVectorBarDisplay, title, tickNum, isAuto, min, max): self.m_isVectorBarDisplay = isVectorBarDisplay self.m_vectorBarTitle = title self.m_vectorBarTickNum = tickNum self.m_isVectorBarAutoRange = isAuto self.m_vectorBarManualMin = min self.m_vectorBarManualMax = max def setIsSliceFieldShowing(self, isShowing): self.m_isSliceFieldShowing = isShowing def setSliceIndex(self, index): self.m_sliceIndex = index def setSliceComponentText(self, componentText): self.m_sliceComponentText = componentText def setSliceManifestation(self, manifestation): self.m_sliceManifestation = manifestation def setSliceShape(self, shape): self.m_sliceShape = shape def setSliceBarProperty(self, isSliceBarDisplay, title, tickNum, isAuto, min, max): self.m_isSliceBarDisplay = isSliceBarDisplay self.m_sliceBarTitle = title self.m_sliceBarTickNum = tickNum self.m_isSliceBarAutoRange = isAuto self.m_sliceBarManualMin = min self.m_sliceBarManualMax = max def setCameraParameters(self, viewUp, position, focalPoint): self.m_cameraViewUp = viewUp self.m_cameraPosition = position self.m_cameraFocalPoint = focalPoint def saveFieldGraphData(self): postWidgets.saveFieldGraphData(c_int(self.m_id),c_int(self.m_currentTag),c_bool(self.m_isScalarFieldShowing),c_int(self.m_scalarIndex), bytes(self.m_scalarComponentText,encoding='utf-8'), bytes(self.m_scalarManifestation,encoding='utf-8'),c_double(self.m_scalarTransparency),c_bool(self.m_isScalarBarDisplay), bytes(self.m_scalarBarTitle, encoding='utf-8'),c_int(self.m_scalarBarTickNum),c_bool(self.m_isScalarBarAutoRange), c_double(self.m_scalarBarManualMin),c_double(self.m_scalarBarManualMax), c_bool(self.m_isVectorFieldShowing),c_int(self.m_vectorIndex), c_double(self.m_vectorFieldArrowSize),c_int(self.m_vectorSampleCoefficient),c_bool(self.m_isVectorBarDisplay),bytes(self.m_vectorBarTitle,encoding='utf-8'), c_int(self.m_vectorBarTickNum),c_bool(self.m_isVectorBarAutoRange),c_double(self.m_vectorBarManualMin),c_double(self.m_vectorBarManualMax), c_bool(self.m_isSliceFieldShowing),c_int(self.m_sliceIndex),bytes(self.m_sliceComponentText, encoding='utf-8'),bytes(self.m_sliceManifestation, encoding='utf-8'), bytes(self.m_sliceShape, encoding='utf-8'),c_bool(self.m_isSliceBarDisplay),bytes(self.m_sliceBarTitle, encoding='utf-8'),c_int(self.m_sliceBarTickNum), c_bool(self.m_isSliceBarAutoRange),c_double(self.m_sliceBarManualMin),c_double(self.m_sliceBarManualMax),bytes(self.m_cameraViewUp,encoding='utf-8'), bytes(self.m_cameraPosition,encoding='utf-8'), bytes(self.m_cameraFocalPoint,encoding='utf-8') ) del self class Post2DCurveData: def __init__(self): self.m_id = -1 self.m_currentTag = 0 self.m_currentScanningID = 0 self.m_keyChosenList = "" self.m_chosenValue = "" self.m_isNormalize = False self.m_isLog = False self.m_chartTitleName = "" self.m_chartTitleColor = "" self.m_chartTitleFontSize = 32 self.m_isShowLegend = True self.m_legendFontSize = 10 self.m_XTitleName = "Theta" self.m_XTitleColor = "" self.m_XTickColor = "" self.m_XMinorSpace = 5 self.m_XIsUseTickNum = False self.m_XTickNum = 6 self.m_XPrecision = 2 self.m_XIsUseAutoRange = True self.m_XRangeMin = 0. self.m_XRangeMax = 0. self.m_XAxisTitleSize = 24 self.m_YTitleName = "Theta" self.m_YTitleColor = "" self.m_YTickColor = "" self.m_YMinorSpace = 5 self.m_YIsUseTickNum = False self.m_YTickNum = 6 self.m_YPrecision = 2 self.m_YIsUseAutoRange = True self.m_YRangeMin = 0. self.m_YRangeMax = 0. self.m_YAxisTitleSize = 24 self.m_isApplyButtomClicked = False def setID(self, id): self.m_id = id def setCurrentTag(self, tag): self.m_currentTag = tag def setCurrentScanningID(self, currentScanningID): self.m_currentScanningID = currentScanningID def setKeyChosenList(self, keyChosenList): self.m_keyChosenList = keyChosenList def setChosenValue(self, chosenValue): self.m_chosenValue = chosenValue def setIsNormalize(self, isNormalize): self.m_isNormalize = isNormalize def setIsLog(self, isLog): self.m_isLog = isLog def setChartTitleName(self, chartTitleName): self.m_chartTitleName = chartTitleName def setChartTitleColor(self, chartTitleColor): self.m_chartTitleColor = chartTitleColor def setChartTitleFontSize(self, chartTitleFontSize): self.m_chartTitleFontSize = chartTitleFontSize def setIsShowLegend(self, isShowLegend): self.m_isShowLegend = isShowLegend def setLegnedFontSize(self, legendFontSize): self.m_legendFontSize = legendFontSize def setXTitleName(self, XTitleName): self.m_XTitleName = XTitleName def setXTitleColor(self, XTitleColor): self.m_XTitleColor = XTitleColor def setXTickColor(self, XTickColor): self.m_XTickColor = XTickColor def setXMinorSpace(self, XminorSpace): self.m_XMinorSpace = XminorSpace def setXisUseTickNum(self, XisUseTickNum): self.m_XIsUseTickNum = XisUseTickNum def setXTickNum(self, XTickNum): self.m_XTickNum = XTickNum def setXPrecision(self, XPrecision): self.m_XPrecision = XPrecision def setXisUseAutoRange(self, XisUseAutoRange): self.m_XIsUseAutoRange = XisUseAutoRange def setXRangeMin(self, XRangeMin): self.m_XRangeMin = XRangeMin def setXRangeMax(self, XRangeMax): self.m_XRangeMax = XRangeMax def setXAxisTitleFontSize(self,XAxisTitleSize): self.m_XAxisTitleSize = XAxisTitleSize def setYTitleName(self, YTitleName): self.m_YTitleName = YTitleName def setYTitleColor(self, YTitleColor): self.m_YTitleColor = YTitleColor def setYTickColor(self, YTickColor): self.m_YTickColor = YTickColor def setYMinorSpace(self, YminorSpace): self.m_YMinorSpace = YminorSpace def setYisUseTickNum(self, YisUseTickNum): self.m_YIsUseTickNum = YisUseTickNum def setYTickNum(self, YTickNum): self.m_YTickNum = YTickNum def setYPrecision(self, YPrecision): self.m_YPrecision = YPrecision def setYisUseAutoRange(self, YisUseAutoRange): self.m_YIsUseAutoRange = YisUseAutoRange def setYRangeMin(self, YRangeMin): self.m_YRangeMin = YRangeMin def setYRangeMax(self, YRangeMax): self.m_YRangeMax = YRangeMax def setYAxisTitleFontSize(self,YAxisTitleSize): self.m_YAxisTitleSize = YAxisTitleSize def setIsApplyButtomClicked(self, isApplyButtomClicked): self.m_isApplyButtomClicked = isApplyButtomClicked def save2DCurveData(self): postWidgets.save2DCurveData( c_int(self.m_id), c_int(self.m_currentTag), c_int(self.m_currentScanningID ), bytes(self.m_keyChosenList, encoding='utf-8'), bytes(self.m_chosenValue, encoding='utf-8'), c_bool(self.m_isNormalize), c_bool(self.m_isLog), bytes(self.m_chartTitleName, encoding='utf-8'), bytes(self.m_chartTitleColor, encoding='utf-8'), c_int(self.m_chartTitleFontSize), c_bool(self.m_isShowLegend ), c_int(self.m_legendFontSize ), bytes(self.m_XTitleName, encoding='utf-8'), bytes(self.m_XTitleColor, encoding='utf-8'), bytes(self.m_XTickColor, encoding='utf-8'), c_int(self.m_XMinorSpace ), c_bool(self.m_XIsUseTickNum), c_int(self.m_XTickNum ), c_int(self.m_XPrecision ), c_bool(self.m_XIsUseAutoRange ), c_double(self.m_XRangeMin), c_double(self.m_XRangeMax), c_int(self.m_XAxisTitleSize), bytes(self.m_YTitleName, encoding='utf-8'), bytes(self.m_YTitleColor, encoding='utf-8'), bytes(self.m_YTickColor, encoding='utf-8'), c_int(self.m_YMinorSpace ), c_bool(self.m_YIsUseTickNum ), c_int(self.m_YTickNum ), c_int(self.m_YPrecision), c_bool(self.m_YIsUseAutoRange), c_double(self.m_YRangeMin ), c_double(self.m_YRangeMax ), c_int(self.m_YAxisTitleSize), c_bool(self.m_isApplyButtomClicked)) del self class PostThreeDimensionGraphData: def __init__(self): self.m_id = -1 self.m_isLogTheData = False self.m_isNormalized = False self.m_scaleFactor = 1 self.m_scalarBarTitle = "" self.m_scalarBarColor = "" self.m_isScalarBarAutoRange = True self.m_scalarBarManualMin = 0 self.m_scalarBarManualMax = 1 self.m_m_scalarBarTitleSize = 8 self.m_graphOpacity = 1 self.m_meshOpacity = 1 self.m_cameraViewUp = "" self.m_cameraPosition = "" self.m_cameraFocalPoint = "" self.m_currentFreqIndex = 0 self.m_isEnableSlice = False self.m_sliceDirectionIndex = 0 self.m_slicePositionIndex = 0 self.m_currentTagIndex = 0 def setID(self, id): print(id) self.m_id = id def setIsLogTheData(self, isLog): self.m_isLogTheData = isLog def setIsNormalizeTheData(self, isNormalize): self.m_isNormalized = isNormalize def setScaleFactor(self, scale): self.m_scaleFactor = scale def setScalarBarProperty(self, scalarBarTitle, scalarBarColor, autoRange, manualMin, manualMax, titleSize): self.m_scalarBarTitle = scalarBarTitle self.m_scalarBarColor = scalarBarColor self.m_isScalarBarAutoRange = autoRange self.m_scalarBarManualMin = manualMin self.m_scalarBarManualMax = manualMax self.m_m_scalarBarTitleSize = titleSize def setGraphOpacity(self, opacity): self.m_graphOpacity = opacity def setMeshOpacity(self, opacity): self.m_meshOpacity = opacity def setCameraParameters(self, viewUp, position, focalPoint): self.m_cameraViewUp = viewUp self.m_cameraPosition = position self.m_cameraFocalPoint = focalPoint def setCurrentFreqIndex(self, currentFreqIndex): self.m_currentFreqIndex = currentFreqIndex def setIsEnableSlice(self, isEnableSlice): self.m_isEnableSlice = isEnableSlice def setSliceDirectionIndex(self, sliceDirectionIndex): self.m_sliceDirectionIndex = sliceDirectionIndex def setSlicePositionIndex(self, slicePositionIndex): self.m_slicePositionIndex = slicePositionIndex def setCurrentTagIndex(self, currentTagIndex): self.m_currentTagIndex = currentTagIndex def savePostThreeDimensionGraphData(self): postWidgets.savePostThreeDimensionGraphData( c_int(self.m_id), c_bool(self.m_isLogTheData), c_bool(self.m_isNormalized), c_double(self.m_scaleFactor), bytes(self.m_scalarBarTitle,encoding='utf-8'), bytes(self.m_scalarBarColor,encoding='utf-8'), c_bool(self.m_isScalarBarAutoRange), c_double(self.m_scalarBarManualMin), c_double(self.m_scalarBarManualMax), c_int(self.m_m_scalarBarTitleSize), c_double(self.m_graphOpacity), c_double(self.m_meshOpacity), bytes(self.m_cameraViewUp,encoding='utf-8'), bytes(self.m_cameraPosition,encoding='utf-8'), bytes(self.m_cameraFocalPoint,encoding='utf-8') , c_int(self.m_currentFreqIndex), c_bool(self.m_isEnableSlice), c_int(self.m_sliceDirectionIndex), c_int(self.m_slicePositionIndex), c_int(self.m_currentTagIndex)) del self