X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FPV_SWIG%2Fpresentations.py;h=c8802d0cd65056dd2a3ae09297d6465823737fdb;hb=809b32e8e5c5d2e9f015797d91eff00241bb5323;hp=766f89784d7fab8b25c6900737a85e83533f870f;hpb=e1f12e3e3a955aafb903f647a5398c6546250bd1;p=modules%2Fparavis.git diff --git a/src/PV_SWIG/presentations.py b/src/PV_SWIG/presentations.py index 766f8978..c8802d0c 100644 --- a/src/PV_SWIG/presentations.py +++ b/src/PV_SWIG/presentations.py @@ -955,7 +955,12 @@ def get_lookup_table(field_name, nb_components, vector_mode='Magnitude'): lookup_table.Discretize = 0 lookup_table.ColorSpace = 'HSV' - lookup_table.LockScalarRange = 0 + if hasattr(lookup_table,"LockDataRange"): + lookup_table.LockDataRange = 0 + elif hasattr(lookup_table,"LockScalarRange"): + lookup_table.LockScalarRange = 0 + else: + raise RuntimeError("Object %s has no 'LockDataRange' or 'LockScalarRange' attribute!"%(lookup_table)) return lookup_table @@ -1109,7 +1114,13 @@ def ScalarMapOnField(proxy, entity, field_name, timestamp_nb, # Set field range if necessary data_range = get_data_range(proxy, entity, field_name, vector_mode) - lookup_table.LockScalarRange = 1 + if hasattr(lookup_table,"LockDataRange"): + lookup_table.LockDataRange = 1 + elif hasattr(lookup_table,"LockScalarRange"): + lookup_table.LockScalarRange = 1 + else: + raise RuntimeError("Object %s has no 'LockDataRange' or 'LockScalarRange' attribute!"%(lookup_table)) + lookup_table.RGBPoints = [data_range[0], 0, 0, 1, data_range[1], 1, 0, 0] # Set properties scalarmap.ColorArrayName = (EntityType.get_pvtype(entity), field_name) @@ -1192,7 +1203,14 @@ def CutPlanesOnField(proxy, entity, field_name, timestamp_nb, # Set field range if necessary data_range = get_data_range(proxy, entity, field_name, vector_mode) - lookup_table.LockScalarRange = 1 + + if hasattr(lookup_table,"LockDataRange"): + lookup_table.LockDataRange = 1 + elif hasattr(lookup_table,"LockScalarRange"): + lookup_table.LockScalarRange = 1 + else: + raise RuntimeError("Object %s has no 'LockDataRange' or 'LockScalarRange' attribute!"%(lookup_table)) + lookup_table.RGBPoints = [data_range[0], 0, 0, 1, data_range[1], 1, 0, 0] # Set properties @@ -1333,7 +1351,13 @@ def CutLinesOnField(proxy, entity, field_name, timestamp_nb, # Set field range if necessary data_range = get_data_range(proxy, entity, field_name, vector_mode) - lookup_table.LockScalarRange = 1 + if hasattr(lookup_table,"LockDataRange"): + lookup_table.LockDataRange = 1 + elif hasattr(lookup_table,"LockScalarRange"): + lookup_table.LockScalarRange = 1 + else: + raise RuntimeError("Object %s has no 'LockDataRange' or 'LockScalarRange' attribute!"%(lookup_table)) + lookup_table.RGBPoints = [data_range[0], 0, 0, 1, data_range[1], 1, 0, 0] # Set properties @@ -1406,7 +1430,13 @@ def CutSegmentOnField(proxy, entity, field_name, timestamp_nb, # Set field range if necessary data_range = get_data_range(proxy, entity, field_name, vector_mode) - lookup_table.LockScalarRange = 1 + if hasattr(lookup_table,"LockDataRange"): + lookup_table.LockDataRange = 1 + elif hasattr(lookup_table,"LockScalarRange"): + lookup_table.LockScalarRange = 1 + else: + raise RuntimeError("Object %s has no 'LockDataRange' or 'LockScalarRange' attribute!"%(lookup_table)) + lookup_table.RGBPoints = [data_range[0], 0, 0, 1, data_range[1], 1, 0, 0] # Set properties @@ -1522,7 +1552,13 @@ def VectorsOnField(proxy, entity, field_name, timestamp_nb, # Set field range if necessary data_range = get_data_range(proxy, entity, field_name, vector_mode) - lookup_table.LockScalarRange = 1 + if hasattr(lookup_table,"LockDataRange"): + lookup_table.LockDataRange = 1 + elif hasattr(lookup_table,"LockScalarRange"): + lookup_table.LockScalarRange = 1 + else: + raise RuntimeError("Object %s has no 'LockDataRange' or 'LockScalarRange' attribute!"%(lookup_table)) + lookup_table.RGBPoints = [data_range[0], 0, 0, 1, data_range[1], 1, 0, 0] # Set properties @@ -1620,7 +1656,13 @@ def DeformedShapeOnField(proxy, entity, field_name, # Set field range if necessary data_range = get_data_range(proxy, entity, field_name, vector_mode) - lookup_table.LockScalarRange = 1 + if hasattr(lookup_table,"LockDataRange"): + lookup_table.LockDataRange = 1 + elif hasattr(lookup_table,"LockScalarRange"): + lookup_table.LockScalarRange = 1 + else: + raise RuntimeError("Object %s has no 'LockDataRange' or 'LockScalarRange' attribute!"%(lookup_table)) + lookup_table.RGBPoints = [data_range[0], 0, 0, 1, data_range[1], 1, 0, 0] # Set properties @@ -1738,7 +1780,13 @@ def DeformedShapeAndScalarMapOnField(proxy, entity, field_name, # Set field range if necessary data_range = get_data_range(proxy, scalar_field_entity, scalar_field, vector_mode) - lookup_table.LockScalarRange = 1 + if hasattr(lookup_table,"LockDataRange"): + lookup_table.LockDataRange = 1 + elif hasattr(lookup_table,"LockScalarRange"): + lookup_table.LockScalarRange = 1 + else: + raise RuntimeError("Object %s has no 'LockDataRange' or 'LockScalarRange' attribute!"%(lookup_table)) + lookup_table.RGBPoints = [data_range[0], 0, 0, 1, data_range[1], 1, 0, 0] # Set properties @@ -1907,7 +1955,13 @@ def Plot3DOnField(proxy, entity, field_name, timestamp_nb, # Set field range if necessary data_range = get_data_range(proxy, entity, field_name, vector_mode) - lookup_table.LockScalarRange = 1 + if hasattr(lookup_table,"LockDataRange"): + lookup_table.LockDataRange = 1 + elif hasattr(lookup_table,"LockScalarRange"): + lookup_table.LockScalarRange = 1 + else: + raise RuntimeError("Object %s has no 'LockDataRange' or 'LockScalarRange' attribute!"%(lookup_table)) + lookup_table.RGBPoints = [data_range[0], 0, 0, 1, data_range[1], 1, 0, 0] # Set properties @@ -2008,7 +2062,13 @@ def IsoSurfacesOnField(proxy, entity, field_name, timestamp_nb, # Set field range if necessary data_range = get_data_range(proxy, entity, field_name, vector_mode) - lookup_table.LockScalarRange = 1 + if hasattr(lookup_table,"LockDataRange"): + lookup_table.LockDataRange = 1 + elif hasattr(lookup_table,"LockScalarRange"): + lookup_table.LockScalarRange = 1 + else: + raise RuntimeError("Object %s has no 'LockDataRange' or 'LockScalarRange' attribute!"%(lookup_table)) + lookup_table.RGBPoints = [data_range[0], 0, 0, 1, data_range[1], 1, 0, 0] # Set display properties @@ -2131,7 +2191,13 @@ def GaussPointsOnField(proxy, entity, field_name, # Set field range if necessary data_range = get_data_range(proxy, entity, field_name, vector_mode) - lookup_table.LockScalarRange = 1 + if hasattr(lookup_table,"LockDataRange"): + lookup_table.LockDataRange = 1 + elif hasattr(lookup_table,"LockScalarRange"): + lookup_table.LockScalarRange = 1 + else: + raise RuntimeError("Object %s has no 'LockDataRange' or 'LockScalarRange' attribute!"%(lookup_table)) + lookup_table.RGBPoints = [data_range[0], 0, 0, 1, data_range[1], 1, 0, 0] # Set display properties @@ -2181,7 +2247,7 @@ def GaussPointsOnField(proxy, entity, field_name, if is_proportional: mult = multiplier - if mult is None: + if mult is None and data_range[1] != 0: mult = abs(0.1 / data_range[1]) gausspnt.RadiusScalarRange = data_range @@ -2194,8 +2260,9 @@ def GaussPointsOnField(proxy, entity, field_name, gausspnt.RadiusTransferFunctionMode = 'Table' gausspnt.RadiusScalarRange = data_range gausspnt.RadiusUseScalarRange = 1 - gausspnt.RadiusIsProportional = 1 - gausspnt.RadiusProportionalFactor = mult + if mult is not None: + gausspnt.RadiusIsProportional = 1 + gausspnt.RadiusProportionalFactor = mult else: gausspnt.RadiusTransferFunctionEnabled = 0 gausspnt.RadiusMode = 'Constant' @@ -2262,7 +2329,13 @@ def GaussPointsOnField1(proxy, entity, field_name, # Set field range if necessary data_range = get_data_range(proxy, entity, field_name, vector_mode) - lookup_table.LockScalarRange = 1 + if hasattr(lookup_table,"LockDataRange"): + lookup_table.LockDataRange = 1 + elif hasattr(lookup_table,"LockScalarRange"): + lookup_table.LockScalarRange = 1 + else: + raise RuntimeError("Object %s has no 'LockDataRange' or 'LockScalarRange' attribute!"%(lookup_table)) + lookup_table.RGBPoints = [data_range[0], 0, 0, 1, data_range[1], 1, 0, 0] # Set display properties @@ -2312,7 +2385,7 @@ def GaussPointsOnField1(proxy, entity, field_name, if is_proportional: mult = multiplier - if mult is None: + if mult is None and data_range[1] != 0: mult = abs(0.1 / data_range[1]) gausspnt.RadiusScalarRange = data_range @@ -2325,8 +2398,9 @@ def GaussPointsOnField1(proxy, entity, field_name, gausspnt.RadiusTransferFunctionMode = 'Table' gausspnt.RadiusScalarRange = data_range gausspnt.RadiusUseScalarRange = 1 - gausspnt.RadiusIsProportional = 1 - gausspnt.RadiusProportionalFactor = mult + if mult is not None: + gausspnt.RadiusIsProportional = 1 + gausspnt.RadiusProportionalFactor = mult else: gausspnt.RadiusTransferFunctionEnabled = 0 gausspnt.RadiusMode = 'Constant' @@ -2414,7 +2488,13 @@ def StreamLinesOnField(proxy, entity, field_name, timestamp_nb, # Set field range if necessary data_range = get_data_range(proxy, entity, field_name, vector_mode) - lookup_table.LockScalarRange = 1 + if hasattr(lookup_table,"LockDataRange"): + lookup_table.LockDataRange = 1 + elif hasattr(lookup_table,"LockScalarRange"): + lookup_table.LockScalarRange = 1 + else: + raise RuntimeError("Object %s has no 'LockDataRange' or 'LockScalarRange' attribute!"%(lookup_table)) + lookup_table.RGBPoints = [data_range[0], 0, 0, 1, data_range[1], 1, 0, 0] # Set properties @@ -2617,7 +2697,6 @@ def CreatePrsForProxy(proxy, view, prs_types, picture_dir, picture_ext): proxy.UpdatePipeline() # Get timestamps - entity_data_info = proxy.GetCellDataInformation() timestamps = proxy.TimestepValues.GetData() for prs_type in prs_types: @@ -2644,8 +2723,18 @@ def CreatePrsForProxy(proxy, view, prs_types, picture_dir, picture_ext): if (scalar_range[0] == scalar_range[1]): continue print "Creating " + prs_name + " on " + field_name + ", time = " + str(time) + "... " - prs = create_prs(prs_type, proxy, - field_entity, field_name, timestamp_nb) + try: + prs = create_prs(prs_type, proxy, + field_entity, field_name, timestamp_nb) + except ValueError: + """ This exception comes from get_nb_components(...) function. + The reason of exception is an implementation of MEDReader + activating the first leaf when reading MED file (refer to + MEDFileFieldRepresentationTree::activateTheFirst() and + MEDFileFieldRepresentationTree::getTheSingleActivated(...) methods). + """ + print "ValueError exception is catched" + continue if prs is None: print "FAILED" continue