comac_desk_app/GenerateReport/Resources/pyScripts/PostWidgets.py

622 lines
22 KiB
Python

# -------关联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