Salome HOME
projects
/
modules
/
paravis.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Moved PVSERVER CORBA engine from PARAVIS to GUI.
[modules/paravis.git]
/
src
/
PV_SWIG
/
presentations.py
diff --git
a/src/PV_SWIG/presentations.py
b/src/PV_SWIG/presentations.py
index fa4fc3595aad3892c578642de94b1f5001dc6c2d..766f89784d7fab8b25c6900737a85e83533f870f 100644
(file)
--- a/
src/PV_SWIG/presentations.py
+++ b/
src/PV_SWIG/presentations.py
@@
-222,6
+222,7
@@
def process_prs_for_test(prs, view, picture_name, show_bar=True):
display_only(prs, view)
# Show scalar bar
display_only(prs, view)
# Show scalar bar
+ global _current_bar
if show_bar and _current_bar:
_current_bar.Visibility = 1
if show_bar and _current_bar:
_current_bar.Visibility = 1
@@
-235,6
+236,7
@@
def process_prs_for_test(prs, view, picture_name, show_bar=True):
os.makedirs(pic_dir)
# Save picture
os.makedirs(pic_dir)
# Save picture
+ print "Write image:", file_name
pvs.WriteImage(file_name, view=view, Magnification=1)
pvs.WriteImage(file_name, view=view, Magnification=1)
@@
-292,7
+294,7
@@
def display_only(prs, view=None):
def set_visible_lines(xy_prs, lines):
"""Set visible only the given lines for XYChartRepresentation."""
def set_visible_lines(xy_prs, lines):
"""Set visible only the given lines for XYChartRepresentation."""
- sv = xy_prs.GetProperty("SeriesVisibility
Info
").GetData()
+ sv = xy_prs.GetProperty("SeriesVisibility").GetData()
visible = '0'
for i in xrange(0, len(sv)):
visible = '0'
for i in xrange(0, len(sv)):
@@
-805,9
+807,6
@@
def select_cells_with_data(proxy, on_points=[], on_cells=[], on_gauss=[]):
fields_info = proxy.GetProperty("FieldsTreeInfo")[::2]
arr_name_with_dis=[elt.split("/")[-1] for elt in fields_info]
fields_info = proxy.GetProperty("FieldsTreeInfo")[::2]
arr_name_with_dis=[elt.split("/")[-1] for elt in fields_info]
- proxy.AllArrays = []
- proxy.UpdatePipeline()
-
fields = []
for name in on_gauss:
fields.append(name+_med_field_sep+'GAUSS')
fields = []
for name in on_gauss:
fields.append(name+_med_field_sep+'GAUSS')
@@
-821,13
+820,14
@@
def select_cells_with_data(proxy, on_points=[], on_cells=[], on_gauss=[]):
if arr_name_with_dis.count(name) > 0:
index = arr_name_with_dis.index(name)
field_list.append(fields_info[index])
if arr_name_with_dis.count(name) > 0:
index = arr_name_with_dis.index(name)
field_list.append(fields_info[index])
-
- proxy.AllArrays = field_list
- proxy.UpdatePipeline()
+
+ if field_list:
+ proxy.AllArrays = field_list
+ proxy.UpdatePipeline()
return len(field_list) != 0
# TODO: VTN. Looks like this code is out of date.
return len(field_list) != 0
# TODO: VTN. Looks like this code is out of date.
-
+
#all_cell_types = proxy.CellTypes.Available
all_cell_types = proxy.Entity.Available
all_arrays = list(proxy.CellArrays.GetData())
#all_cell_types = proxy.CellTypes.Available
all_cell_types = proxy.Entity.Available
all_arrays = list(proxy.CellArrays.GetData())
@@
-927,13
+927,11
@@
def add_scalar_bar(field_name, nb_components,
# Reassign the current bar
_current_bar = scalar_bar
# Reassign the current bar
_current_bar = scalar_bar
- return
scalar
_bar
+ return
_current
_bar
def get_bar():
"""Get current scalar bar."""
def get_bar():
"""Get current scalar bar."""
- global _current_bar
-
return _current_bar
return _current_bar
@@
-1002,10
+1000,10
@@
def get_group_names(extrGrps):
def get_time(proxy, timestamp_nb):
"""Get time value by timestamp number."""
def get_time(proxy, timestamp_nb):
"""Get time value by timestamp number."""
- proxy.UpdatePipeline()
+
#
proxy.UpdatePipeline()
# Check timestamp number
timestamps = []
# Check timestamp number
timestamps = []
-
+
if (hasattr(proxy, 'TimestepValues')):
timestamps = proxy.TimestepValues.GetData()
elif (hasattr(proxy.Input, 'TimestepValues')):
if (hasattr(proxy, 'TimestepValues')):
timestamps = proxy.TimestepValues.GetData()
elif (hasattr(proxy.Input, 'TimestepValues')):
@@
-1015,6
+1013,9
@@
def get_time(proxy, timestamp_nb):
if (timestamp_nb > 0 and (timestamp_nb - 1) not in xrange(length) ) or (timestamp_nb < 0 and -timestamp_nb > length):
raise ValueError("Timestamp number is out of range: " + str(timestamp_nb))
if (timestamp_nb > 0 and (timestamp_nb - 1) not in xrange(length) ) or (timestamp_nb < 0 and -timestamp_nb > length):
raise ValueError("Timestamp number is out of range: " + str(timestamp_nb))
+ if not timestamps:
+ return 0.0
+
# Return time value
if timestamp_nb > 0:
return timestamps[timestamp_nb - 1]
# Return time value
if timestamp_nb > 0:
return timestamps[timestamp_nb - 1]
@@
-1111,8
+1112,7
@@
def ScalarMapOnField(proxy, entity, field_name, timestamp_nb,
lookup_table.LockScalarRange = 1
lookup_table.RGBPoints = [data_range[0], 0, 0, 1, data_range[1], 1, 0, 0]
# Set properties
lookup_table.LockScalarRange = 1
lookup_table.RGBPoints = [data_range[0], 0, 0, 1, data_range[1], 1, 0, 0]
# Set properties
- scalarmap.ColorAttributeType = EntityType.get_pvtype(entity)
- scalarmap.ColorArrayName = field_name
+ scalarmap.ColorArrayName = (EntityType.get_pvtype(entity), field_name)
scalarmap.LookupTable = lookup_table
# Add scalar bar
scalarmap.LookupTable = lookup_table
# Add scalar bar
@@
-1196,8
+1196,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
lookup_table.RGBPoints = [data_range[0], 0, 0, 1, data_range[1], 1, 0, 0]
# Set properties
- cut_planes.ColorAttributeType = EntityType.get_pvtype(entity)
- cut_planes.ColorArrayName = field_name
+ cut_planes.ColorArrayName = (EntityType.get_pvtype(entity), field_name)
cut_planes.LookupTable = lookup_table
# Add scalar bar
cut_planes.LookupTable = lookup_table
# Add scalar bar
@@
-1338,8
+1337,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
lookup_table.RGBPoints = [data_range[0], 0, 0, 1, data_range[1], 1, 0, 0]
# Set properties
- cut_lines.ColorAttributeType = EntityType.get_pvtype(entity)
- cut_lines.ColorArrayName = field_name
+ cut_lines.ColorArrayName = (EntityType.get_pvtype(entity), field_name)
cut_lines.LookupTable = lookup_table
# Set wireframe represenatation mode
cut_lines.LookupTable = lookup_table
# Set wireframe represenatation mode
@@
-1412,8
+1410,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
lookup_table.RGBPoints = [data_range[0], 0, 0, 1, data_range[1], 1, 0, 0]
# Set properties
- cut_segment.ColorAttributeType = EntityType.get_pvtype(entity)
- cut_segment.ColorArrayName = field_name
+ cut_segment.ColorArrayName = (EntityType.get_pvtype(entity), field_name)
cut_segment.LookupTable = lookup_table
# Set wireframe represenatation mode
cut_segment.LookupTable = lookup_table
# Set wireframe represenatation mode
@@
-1487,7
+1484,7
@@
def VectorsOnField(proxy, entity, field_name, timestamp_nb,
glyph = pvs.Glyph(source)
glyph.Vectors = vector_array
glyph.ScaleMode = 'vector'
glyph = pvs.Glyph(source)
glyph.Vectors = vector_array
glyph.ScaleMode = 'vector'
- glyph.MaskPoints = 0
+
#
glyph.MaskPoints = 0
# Set glyph type
glyph.GlyphType = glyph_type
# Set glyph type
glyph.GlyphType = glyph_type
@@
-1508,11
+1505,11
@@
def VectorsOnField(proxy, entity, field_name, timestamp_nb,
glyph.GlyphType.Center = [0.0, 0.0, 0.0]
if scale_factor is not None:
glyph.GlyphType.Center = [0.0, 0.0, 0.0]
if scale_factor is not None:
- glyph.S
etS
caleFactor = scale_factor
+ glyph.ScaleFactor = scale_factor
else:
def_scale = get_default_scale(PrsTypeEnum.DEFORMEDSHAPE,
proxy, entity, field_name)
else:
def_scale = get_default_scale(PrsTypeEnum.DEFORMEDSHAPE,
proxy, entity, field_name)
- glyph.S
etS
caleFactor = def_scale
+ glyph.ScaleFactor = def_scale
glyph.UpdatePipeline()
glyph.UpdatePipeline()
@@
-1530,9
+1527,9
@@
def VectorsOnField(proxy, entity, field_name, timestamp_nb,
# Set properties
if (is_colored):
# Set properties
if (is_colored):
- vectors.ColorArrayName =
'GlyphVector'
+ vectors.ColorArrayName =
(EntityType.get_pvtype(entity), 'GlyphVector')
else:
else:
- vectors.ColorArrayName =
''
+ vectors.ColorArrayName =
(None, '')
vectors.LookupTable = lookup_table
vectors.LineWidth = 1.0
vectors.LookupTable = lookup_table
vectors.LineWidth = 1.0
@@
-1589,6
+1586,7
@@
def DeformedShapeOnField(proxy, entity, field_name,
# Do merge
source = pvs.MergeBlocks(proxy)
# Do merge
source = pvs.MergeBlocks(proxy)
+ pvs.UpdatePipeline()
# Cell data to point data
if is_data_on_cells(proxy, field_name):
# Cell data to point data
if is_data_on_cells(proxy, field_name):
@@
-1627,10
+1625,9
@@
def DeformedShapeOnField(proxy, entity, field_name,
# Set properties
if is_colored:
# Set properties
if is_colored:
- defshape.ColorAttributeType = EntityType.get_pvtype(entity)
- defshape.ColorArrayName = field_name
+ defshape.ColorArrayName = (EntityType.get_pvtype(entity), field_name)
else:
else:
- defshape.ColorArrayName =
''
+ defshape.ColorArrayName =
(None, '')
defshape.LookupTable = lookup_table
# Set wireframe represenatation mode
defshape.LookupTable = lookup_table
# Set wireframe represenatation mode
@@
-1707,6
+1704,7
@@
def DeformedShapeAndScalarMapOnField(proxy, entity, field_name,
# Do merge
source = pvs.MergeBlocks(proxy)
# Do merge
source = pvs.MergeBlocks(proxy)
+ pvs.UpdatePipeline()
# Cell data to point data
if is_data_on_cells(proxy, field_name):
# Cell data to point data
if is_data_on_cells(proxy, field_name):
@@
-1744,9
+1742,8
@@
def DeformedShapeAndScalarMapOnField(proxy, entity, field_name,
lookup_table.RGBPoints = [data_range[0], 0, 0, 1, data_range[1], 1, 0, 0]
# Set properties
lookup_table.RGBPoints = [data_range[0], 0, 0, 1, data_range[1], 1, 0, 0]
# Set properties
- defshapemap.ColorArrayName =
scalar_field
+ defshapemap.ColorArrayName =
(EntityType.get_pvtype(scalar_field_entity), scalar_field)
defshapemap.LookupTable = lookup_table
defshapemap.LookupTable = lookup_table
- defshapemap.ColorAttributeType = EntityType.get_pvtype(scalar_field_entity)
# Add scalar bar
add_scalar_bar(field_name, nb_components,
# Add scalar bar
add_scalar_bar(field_name, nb_components,
@@
-1914,8
+1911,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
lookup_table.RGBPoints = [data_range[0], 0, 0, 1, data_range[1], 1, 0, 0]
# Set properties
- plot3d.ColorAttributeType = EntityType.get_pvtype(entity)
- plot3d.ColorArrayName = field_name
+ plot3d.ColorArrayName = (EntityType.get_pvtype(entity), field_name)
plot3d.LookupTable = lookup_table
# Add scalar bar
plot3d.LookupTable = lookup_table
# Add scalar bar
@@
-1970,6
+1966,7
@@
def IsoSurfacesOnField(proxy, entity, field_name, timestamp_nb,
# Do merge
source = pvs.MergeBlocks(proxy)
# Do merge
source = pvs.MergeBlocks(proxy)
+ pvs.UpdatePipeline()
# Transform cell data into point data if necessary
if is_data_on_cells(proxy, field_name):
# Transform cell data into point data if necessary
if is_data_on_cells(proxy, field_name):
@@
-2016,10
+2013,9
@@
def IsoSurfacesOnField(proxy, entity, field_name, timestamp_nb,
# Set display properties
if (is_colored):
# Set display properties
if (is_colored):
- isosurfaces.ColorAttributeType = EntityType.get_pvtype(entity)
- isosurfaces.ColorArrayName = field_name
+ isosurfaces.ColorArrayName = (EntityType.get_pvtype(entity), field_name)
else:
else:
- isosurfaces.ColorArrayName =
''
+ isosurfaces.ColorArrayName =
(None, '')
if color:
isosurfaces.DiffuseColor = color
isosurfaces.LookupTable = lookup_table
if color:
isosurfaces.DiffuseColor = color
isosurfaces.LookupTable = lookup_table
@@
-2088,7
+2084,7
@@
def GaussPointsOnField(proxy, entity, field_name,
# Set timestamp
pvs.GetRenderView().ViewTime = time_value
# Set timestamp
pvs.GetRenderView().ViewTime = time_value
- p
roxy.UpdatePipeline(time=time_value
)
+ p
vs.UpdatePipeline(time_value, proxy
)
source = proxy
source = proxy
@@
-2110,8
+2106,7
@@
def GaussPointsOnField(proxy, entity, field_name,
vector_array = field_name
# If the given vector array has only 2 components, add the third one
if nb_components == 2:
vector_array = field_name
# If the given vector array has only 2 components, add the third one
if nb_components == 2:
- calc = get_add_component_calc(source,
- EntityType.NODE, field_name)
+ calc = get_add_component_calc(source, EntityType.NODE, field_name)
vector_array = calc.ResultArrayName
source = calc
vector_array = calc.ResultArrayName
source = calc
@@
-2141,10
+2136,9
@@
def GaussPointsOnField(proxy, entity, field_name,
# Set display properties
if is_colored:
# Set display properties
if is_colored:
- gausspnt.ColorAttributeType = EntityType.get_pvtype(entity)
- gausspnt.ColorArrayName = field_name
+ gausspnt.ColorArrayName = (EntityType.get_pvtype(entity), field_name)
else:
else:
- gausspnt.ColorArrayName =
''
+ gausspnt.ColorArrayName =
(None, '')
if color:
gausspnt.DiffuseColor = color
if color:
gausspnt.DiffuseColor = color
@@
-2258,7
+2252,7
@@
def GaussPointsOnField1(proxy, entity, field_name,
# Create Gauss Points object
source = pvs.GaussPoints(proxy)
source.UpdatePipeline()
# Create Gauss Points object
source = pvs.GaussPoints(proxy)
source.UpdatePipeline()
-
+
# Get Gauss Points representation object
gausspnt = pvs.GetRepresentation(source)
# Get Gauss Points representation object
gausspnt = pvs.GetRepresentation(source)
@@
-2273,10
+2267,9
@@
def GaussPointsOnField1(proxy, entity, field_name,
# Set display properties
if is_colored:
# Set display properties
if is_colored:
- gausspnt.ColorAttributeType = EntityType.get_pvtype(entity)
- gausspnt.ColorArrayName = field_name
+ gausspnt.ColorArrayName = (EntityType.get_pvtype(entity), field_name)
else:
else:
- gausspnt.ColorArrayName =
''
+ gausspnt.ColorArrayName =
(None, '')
if color:
gausspnt.DiffuseColor = color
if color:
gausspnt.DiffuseColor = color
@@
-2385,12
+2378,13
@@
def StreamLinesOnField(proxy, entity, field_name, timestamp_nb,
# Do merge
source = pvs.MergeBlocks(proxy)
# Do merge
source = pvs.MergeBlocks(proxy)
+ pvs.UpdatePipeline()
# Cell data to point data
if is_data_on_cells(proxy, field_name):
cell_to_point = pvs.CellDatatoPointData(source)
cell_to_point.PassCellData = 1
# Cell data to point data
if is_data_on_cells(proxy, field_name):
cell_to_point = pvs.CellDatatoPointData(source)
cell_to_point.PassCellData = 1
-
cell_to_point
.UpdatePipeline()
+
pvs
.UpdatePipeline()
source = cell_to_point
vector_array = field_name
source = cell_to_point
vector_array = field_name
@@
-2398,14
+2392,13
@@
def StreamLinesOnField(proxy, entity, field_name, timestamp_nb,
if nb_components == 2:
calc = get_add_component_calc(source, EntityType.NODE, field_name)
vector_array = calc.ResultArrayName
if nb_components == 2:
calc = get_add_component_calc(source, EntityType.NODE, field_name)
vector_array = calc.ResultArrayName
-
calc
.UpdatePipeline()
+
pvs
.UpdatePipeline()
source = calc
# Stream Tracer
stream = pvs.StreamTracer(source)
stream.SeedType = "Point Source"
stream.Vectors = ['POINTS', vector_array]
source = calc
# Stream Tracer
stream = pvs.StreamTracer(source)
stream.SeedType = "Point Source"
stream.Vectors = ['POINTS', vector_array]
- stream.SeedType = "Point Source"
stream.IntegrationDirection = direction
stream.IntegratorType = 'Runge-Kutta 2'
stream.UpdatePipeline()
stream.IntegrationDirection = direction
stream.IntegratorType = 'Runge-Kutta 2'
stream.UpdatePipeline()
@@
-2426,10
+2419,9
@@
def StreamLinesOnField(proxy, entity, field_name, timestamp_nb,
# Set properties
if is_colored:
# Set properties
if is_colored:
- streamlines.ColorAttributeType = EntityType.get_pvtype(entity)
- streamlines.ColorArrayName = field_name
+ streamlines.ColorArrayName = (EntityType.get_pvtype(entity), field_name)
else:
else:
- streamlines.ColorArrayName =
''
+ streamlines.ColorArrayName =
(None, '')
if color:
streamlines.DiffuseColor = color
if color:
streamlines.DiffuseColor = color
@@
-2463,8
+2455,6
@@
def MeshOnEntity(proxy, mesh_name, entity):
if not mesh_full_name:
raise RuntimeError, "The given mesh name was not found"
# Select only the given mesh
if not mesh_full_name:
raise RuntimeError, "The given mesh name was not found"
# Select only the given mesh
- proxy.AllArrays = []
- proxy.UpdatePipeline()
proxy.AllArrays = [mesh_full_name]
proxy.UpdatePipeline()
proxy.AllArrays = [mesh_full_name]
proxy.UpdatePipeline()
@@
-2472,8
+2462,9
@@
def MeshOnEntity(proxy, mesh_name, entity):
prs = None
if (proxy.GetDataInformation().GetNumberOfPoints() or
proxy.GetDataInformation().GetNumberOfCells()):
prs = None
if (proxy.GetDataInformation().GetNumberOfPoints() or
proxy.GetDataInformation().GetNumberOfCells()):
- prs = pvs.GetRepresentation(proxy)
- prs.ColorArrayName = ''
+ my_view = pvs.GetRenderView()
+ prs = pvs.GetRepresentation(proxy, view=my_view)
+ prs.ColorArrayName = (None, '')
return prs
return prs
@@
-2518,14
+2509,13
@@
def MeshOnGroup(proxy, extrGroups, group_name):
return prs
return prs
-def CreatePrsForFile(
paravis_instance,
file_name, prs_types,
+def CreatePrsForFile(file_name, prs_types,
picture_dir, picture_ext):
"""Build presentations of the given types for the file.
Build presentations for all fields on all timestamps.
Arguments:
picture_dir, picture_ext):
"""Build presentations of the given types for the file.
Build presentations for all fields on all timestamps.
Arguments:
- paravis_instance: ParaVis module instance object
file_name: full path to the MED file
prs_types: the list of presentation types to build
picture_dir: the directory path for saving snapshots
file_name: full path to the MED file
prs_types: the list of presentation types to build
picture_dir: the directory path for saving snapshots
@@
-2540,13
+2530,16
@@
def CreatePrsForFile(paravis_instance, file_name, prs_types,
if proxy is None:
print "FAILED"
else:
if proxy is None:
print "FAILED"
else:
- proxy.UpdatePipeline()
+
#
proxy.UpdatePipeline()
print "OK"
except:
print "FAILED"
else:
# Get view
view = pvs.GetRenderView()
print "OK"
except:
print "FAILED"
else:
# Get view
view = pvs.GetRenderView()
+ time_value = get_time(proxy, 0)
+ view.ViewTime = time_value
+ pvs.UpdatePipeline(time=time_value, proxy=proxy)
# Create required presentations for the proxy
CreatePrsForProxy(proxy, view, prs_types,
# Create required presentations for the proxy
CreatePrsForProxy(proxy, view, prs_types,
@@
-2589,7
+2582,7
@@
def CreatePrsForProxy(proxy, view, prs_types, picture_dir, picture_ext):
print "OK"
# Construct image file name
pic_name = picture_dir + get_field_short_name(mesh_name) + "." + picture_ext
print "OK"
# Construct image file name
pic_name = picture_dir + get_field_short_name(mesh_name) + "." + picture_ext
-
+
# Show and dump the presentation into a graphics file
process_prs_for_test(prs, view, pic_name, False)
# Show and dump the presentation into a graphics file
process_prs_for_test(prs, view, pic_name, False)
@@
-2607,7
+2600,7
@@
def CreatePrsForProxy(proxy, view, prs_types, picture_dir, picture_ext):
print "OK"
# Construct image file name
pic_name = picture_dir + get_group_short_name(group) + "." + picture_ext
print "OK"
# Construct image file name
pic_name = picture_dir + get_group_short_name(group) + "." + picture_ext
-
+
# Show and dump the presentation into a graphics file
process_prs_for_test(prs, view, pic_name, False)
# Show and dump the presentation into a graphics file
process_prs_for_test(prs, view, pic_name, False)
@@
-2618,12
+2611,9
@@
def CreatePrsForProxy(proxy, view, prs_types, picture_dir, picture_ext):
if field_name == get_field_mesh_name(field):
continue
field_entity = get_field_entity(field)
if field_name == get_field_mesh_name(field):
continue
field_entity = get_field_entity(field)
- # Clear fields selection state
- proxy.AllArrays = []
- proxy.UpdatePipeline()
# Select only the current field:
# necessary for getting the right timestamps
# Select only the current field:
# necessary for getting the right timestamps
- proxy.AllArrays =
field
+ proxy.AllArrays =
[field]
proxy.UpdatePipeline()
# Get timestamps
proxy.UpdatePipeline()
# Get timestamps