X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FPV_SWIG%2Fpresentations.py;h=000216512bb723eaf357579d2288d3654713f2ee;hb=808c8afc6ffb56c3c5803aa792bc336c8b89fbe7;hp=c8802d0cd65056dd2a3ae09297d6465823737fdb;hpb=6534a888c8cab61e2468687334e06fe0e27257fb;p=modules%2Fparavis.git diff --git a/src/PV_SWIG/presentations.py b/src/PV_SWIG/presentations.py index c8802d0c..00021651 100644 --- a/src/PV_SWIG/presentations.py +++ b/src/PV_SWIG/presentations.py @@ -1,4 +1,4 @@ -# Copyright (C) 2010-2015 CEA/DEN, EDF R&D +# Copyright (C) 2010-2016 CEA/DEN, EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -972,7 +972,6 @@ def get_group_mesh_name(full_group_name): group_name = full_group_name.split('/')[1] return group_name - def get_group_entity(full_group_name): """Return entity type of the group by its full name.""" aList = full_group_name.split('/') @@ -1123,7 +1122,7 @@ def ScalarMapOnField(proxy, entity, field_name, timestamp_nb, 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) + pvs.ColorBy(scalarmap, (EntityType.get_pvtype(entity), field_name)) scalarmap.LookupTable = lookup_table # Add scalar bar @@ -1214,7 +1213,7 @@ def CutPlanesOnField(proxy, entity, field_name, timestamp_nb, lookup_table.RGBPoints = [data_range[0], 0, 0, 1, data_range[1], 1, 0, 0] # Set properties - cut_planes.ColorArrayName = (EntityType.get_pvtype(entity), field_name) + pvs.ColorBy(cut_planes, (EntityType.get_pvtype(entity), field_name)) cut_planes.LookupTable = lookup_table # Add scalar bar @@ -1361,7 +1360,7 @@ def CutLinesOnField(proxy, entity, field_name, timestamp_nb, lookup_table.RGBPoints = [data_range[0], 0, 0, 1, data_range[1], 1, 0, 0] # Set properties - cut_lines.ColorArrayName = (EntityType.get_pvtype(entity), field_name) + pvs.ColorBy(cut_lines, (EntityType.get_pvtype(entity), field_name)) cut_lines.LookupTable = lookup_table # Set wireframe represenatation mode @@ -1440,7 +1439,7 @@ def CutSegmentOnField(proxy, entity, field_name, timestamp_nb, lookup_table.RGBPoints = [data_range[0], 0, 0, 1, data_range[1], 1, 0, 0] # Set properties - cut_segment.ColorArrayName = (EntityType.get_pvtype(entity), field_name) + pvs.ColorBy(cut_segment, (EntityType.get_pvtype(entity), field_name)) cut_segment.LookupTable = lookup_table # Set wireframe represenatation mode @@ -1558,14 +1557,14 @@ def VectorsOnField(proxy, entity, field_name, timestamp_nb, 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 if (is_colored): - vectors.ColorArrayName = (EntityType.get_pvtype(entity), 'GlyphVector') + pvs.ColorBy(vectors, (EntityType.get_pvtype(entity), 'GlyphVector')) else: - vectors.ColorArrayName = (None, '') + pvs.ColorBy(vectors, (EntityType.get_pvtype(entity), None)) vectors.LookupTable = lookup_table vectors.LineWidth = 1.0 @@ -1667,9 +1666,9 @@ def DeformedShapeOnField(proxy, entity, field_name, # Set properties if is_colored: - defshape.ColorArrayName = (EntityType.get_pvtype(entity), field_name) + pvs.ColorBy(defshape, (EntityType.get_pvtype(entity), field_name)) else: - defshape.ColorArrayName = (None, '') + pvs.ColorBy(defshape, (EntityType.get_pvtype(entity), None)) defshape.LookupTable = lookup_table # Set wireframe represenatation mode @@ -1790,7 +1789,7 @@ def DeformedShapeAndScalarMapOnField(proxy, entity, field_name, lookup_table.RGBPoints = [data_range[0], 0, 0, 1, data_range[1], 1, 0, 0] # Set properties - defshapemap.ColorArrayName = (EntityType.get_pvtype(scalar_field_entity), scalar_field) + pvs.ColorBy(defshapemap, (EntityType.get_pvtype(scalar_field_entity), scalar_field)) defshapemap.LookupTable = lookup_table # Add scalar bar @@ -1965,7 +1964,7 @@ def Plot3DOnField(proxy, entity, field_name, timestamp_nb, lookup_table.RGBPoints = [data_range[0], 0, 0, 1, data_range[1], 1, 0, 0] # Set properties - plot3d.ColorArrayName = (EntityType.get_pvtype(entity), field_name) + pvs.ColorBy(plot3d, (EntityType.get_pvtype(entity), field_name)) plot3d.LookupTable = lookup_table # Add scalar bar @@ -2073,9 +2072,9 @@ def IsoSurfacesOnField(proxy, entity, field_name, timestamp_nb, # Set display properties if (is_colored): - isosurfaces.ColorArrayName = (EntityType.get_pvtype(entity), field_name) + pvs.ColorBy(isosurfaces, (EntityType.get_pvtype(entity), field_name)) else: - isosurfaces.ColorArrayName = (None, '') + pvs.ColorBy(isosurfaces, (EntityType.get_pvtype(entity), None)) if color: isosurfaces.DiffuseColor = color isosurfaces.LookupTable = lookup_table @@ -2202,9 +2201,9 @@ def GaussPointsOnField(proxy, entity, field_name, # Set display properties if is_colored: - gausspnt.ColorArrayName = (EntityType.get_pvtype(entity), field_name) + pvs.ColorBy(gausspnt, (EntityType.get_pvtype(entity), field_name)) else: - gausspnt.ColorArrayName = (None, '') + pvs.ColorBy(gausspnt, (EntityType.get_pvtype(entity), None)) if color: gausspnt.DiffuseColor = color @@ -2317,7 +2316,7 @@ def GaussPointsOnField1(proxy, entity, field_name, proxy.UpdatePipeline(time=time_value) # Create Gauss Points object - source = pvs.GaussPoints(proxy) + source = pvs.ELGAfieldToPointSprite(proxy) source.UpdatePipeline() # Get Gauss Points representation object @@ -2340,9 +2339,9 @@ def GaussPointsOnField1(proxy, entity, field_name, # Set display properties if is_colored: - gausspnt.ColorArrayName = (EntityType.get_pvtype(entity), field_name) + pvs.ColorBy(gausspnt, (EntityType.get_pvtype(entity), field_name)) else: - gausspnt.ColorArrayName = (None, '') + pvs.ColorBy(gausspnt, (EntityType.get_pvtype(entity), None)) if color: gausspnt.DiffuseColor = color @@ -2475,6 +2474,7 @@ def StreamLinesOnField(proxy, entity, field_name, timestamp_nb, stream.Vectors = ['POINTS', vector_array] stream.IntegrationDirection = direction stream.IntegratorType = 'Runge-Kutta 2' + stream.SeedType = 'High Resolution Line Source' stream.UpdatePipeline() # Get Stream Lines representation object @@ -2499,9 +2499,9 @@ def StreamLinesOnField(proxy, entity, field_name, timestamp_nb, # Set properties if is_colored: - streamlines.ColorArrayName = (EntityType.get_pvtype(entity), field_name) + pvs.ColorBy(streamlines, (EntityType.get_pvtype(entity), field_name)) else: - streamlines.ColorArrayName = (None, '') + pvs.ColorBy(streamlines, (EntityType.get_pvtype(entity), None)) if color: streamlines.DiffuseColor = color @@ -2583,7 +2583,7 @@ def MeshOnGroup(proxy, extrGroups, group_name): if nb_points or nb_cells: # prs = pvs.GetRepresentation(proxy) prs = pvs.Show() - prs.ColorArrayName = '' + prs.ColorArrayName = (None, '') display_only(prs) return prs @@ -2747,3 +2747,11 @@ def CreatePrsForProxy(proxy, view, prs_types, picture_dir, picture_ext): # Show and dump the presentation into a graphics file process_prs_for_test(prs, view, pic_name) return + + +def delete_pv_object(obj): + # There is a bug when repeating CreateRenderView/Delete calls + # Here is a workaround proposed by KW (#10744) + import gc + del obj + gc.collect()