ResInsight/ApplicationCode/GrpcInterface/Python/rips/View.py

77 lines
3.5 KiB
Python

from .PdmObject import PdmObject
class View (PdmObject):
"""ResInsight view class
Attributes:
id(int): View Id corresponding to the View Id in ResInsight project.
"""
def __init__(self, pbmObject):
self.id = pbmObject.getValue("ViewId")
PdmObject.__init__(self, pbmObject.pb2Object, pbmObject.channel)
def showGridBox(self):
"""Check if the grid box is meant to be shown in the view"""
return self.getValue("ShowGridBox")
def setShowGridBox(self, value):
"""Set if the grid box is meant to be shown in the view"""
self.setValue("ShowGridBox", value)
def backgroundColor(self):
"""Get the current background color in the view"""
return self.getValue("ViewBackgroundColor")
def setBackgroundColor(self, bgColor):
"""Set the background color in the view"""
self.setValue("ViewBackgroundColor", bgColor)
def cellResult(self):
"""Retrieve the current cell results"""
return self.children("GridCellResult")[0]
def applyCellResult(self, resultType, resultVariable):
"""Apply a regular cell result
Arguments:
resultType [str]: String representing the result category
The valid values are: "DYNAMIC_NATIVE", "STATIC_NATIVE", "SOURSIMRL",
"GENERATED", "INPUT_PROPERTY", "FORMATION_NAMES",
"FLOW_DIAGNOSTICS" and "INJECTION_FLOODING"
resultVariable [str]: String representing the result value.
"""
cellResult = self.cellResult()
cellResult.setValue("ResultType", resultType)
cellResult.setValue("ResultVariable", resultVariable)
cellResult.update()
def applyFlowDiagnosticsCellResult(self,
resultVariable = 'TOF',
selectionMode = 'FLOW_TR_BY_SELECTION',
injectors = [],
producers = []):
"""Apply a flow diagnostics cell result
Arguments:
resultVariable [str]: String representing the result value
The valid values are 'TOF', 'Fraction', 'MaxFractionTracer' and 'Communication'.
selectionMode [str]: String specifying which tracers to select.
The valid values are FLOW_TR_INJ_AND_PROD (all injector and producer tracers)
FLOW_TR_PRODUCERS (all producers)
FLOW_TR_INJECTORS (all injectors)
FLOW_TR_BY_SELECTION (specify individual tracers in the
injectorTracers and producerTracers variables)
injectorTracers [list]: List of injector names (strings) to select.
Requires selectionMode to be 'FLOW_TR_BY_SELECTION'.
producerTracers [list]: List of producer tracers (strings) to select.
Requires selectionMode to be 'FLOW_TR_BY_SELECTION'.
"""
cellResult = self.cellResult()
cellResult.setValue("ResultType", "FLOW_DIAGNOSTICS")
cellResult.setValue("ResultVariable", resultVariable)
cellResult.setValue("FlowTracerSelectionMode", selectionMode)
if selectionMode == 'FLOW_TR_BY_SELECTION':
cellResult.setValue("SelectedInjectorTracers", injectors)
cellResult.setValue("SelectedProducerTracers", producers)
cellResult.update()