Salome HOME
DCQ : Merge with Ecole Ete a6.
[modules/visu.git] / src / VISU_SWIG / visu_prs_example.py
1 #  VISU VISU_SWIG : binding of C++ implementation and Python
2 #
3 #  Copyright (C) 2003  CEA/DEN, EDF R&D
4 #
5 #
6 #
7 #  File   : visu_prs_exam.py
8 #  Module : VISU
9
10 import sys
11 import os
12 import salome
13 import SALOMEDS
14 import SALOME
15 import SALOME_MED
16 import VISU
17
18 from libSALOME_Swig import *
19 sg = SALOMEGUI_Swig()
20
21 import visu_gui
22 myVisu = visu_gui.myVisu
23
24 medFile = "pointe.med"
25 absMedFile = medFile
26 medFile = os.getenv('KERNEL_ROOT_DIR') + '/examples/' + medFile
27 print medFile
28
29 studyCurrent = salome.myStudyName
30
31 med_comp = salome.lcc.FindOrLoadComponent("FactoryServer", "MED")
32 #myVisu = salome.lcc.FindOrLoadComponent("FactoryServer", "Visu")
33
34 try:
35     if os.access(medFile, os.R_OK) :
36         print "Reading the .med file ",medFile," and pushing corba objects in the SALOME study"
37         med_comp.readStructFileWithFieldType(medFile,studyCurrent)
38         med_obj = visu_gui.visu.getMedObjectFromStudy(absMedFile)
39         print "med_obj - ", med_obj
40
41
42         nbOfMeshes = med_obj.getNumberOfMeshes()
43         print "in this med file there is(are) ",nbOfMeshes," mesh(es),"
44         meshNames = med_obj.getMeshNames()
45         meshName = meshNames[0]
46
47         supportName = "SupportOnAll_MED_NOEUD"
48
49         nbOfFields = med_obj.getNumberOfFields()
50         print "and ",nbOfFields," field(s)."
51         fieldNames = med_obj.getFieldNames()
52         fieldName = fieldNames[1]
53         nbOfIt = med_obj.getFieldNumberOfIteration(fieldName)
54         print "the field ",fieldName," has ",nbOfIt," iteration(s)"
55         dtitsfield = med_obj.getFieldIterations(fieldName)
56         dtitfield = dtitsfield[0:2]
57         dt = dtitfield[0]
58         it = dtitfield[1]
59
60 ##           myField = visu_gui.visu.getFieldObjectFromStudy(2,1)
61         # the first iteration of the second field
62         myField = visu_gui.visu.getFieldObjectFromStudy(dt, it, fieldName,
63                                                         supportName,
64                                                         meshName)
65         aMeshName = "FILED_DOUBLE_MESH"
66         anEntity = VISU.NODE
67         aTimeStampId = 0
68            
69         myResult1 = myVisu.ImportMedField(myField)
70         aMesh1 = myVisu.MeshOnEntity(myResult1, aMeshName, anEntity);
71            
72         aScalarMap1= myVisu.ScalarMapOnField(myResult1, aMeshName, anEntity, myField.getName(), aTimeStampId)
73         if(myField.getNumberOfComponents() > 1) :
74             aVectors = myVisu.VectorsOnField(myResult1, aMeshName, anEntity, myField.getName(), aTimeStampId)
75
76         myResult2 = myVisu.ImportFile(medFile)
77         aMeshName = "maa1"
78         anEntity = VISU.NODE
79         aMesh2 = myVisu.MeshOnEntity(myResult2, aMeshName, anEntity)
80
81         aScalarMap2 = myVisu.ScalarMapOnField(myResult2, aMeshName, anEntity, myField.getName(), aTimeStampId)
82         if(myField.getNumberOfComponents() > 1) :
83             aCutPlanes = myVisu.CutPlanesOnField(myResult2, aMeshName, anEntity, myField.getName(), aTimeStampId)
84
85         sg.updateObjBrowser(0)
86     else :  print  "We have no permission to read medFile, it will not be opened"; 
87 except:
88     if sys.exc_type == SALOME.SALOME_Exception :
89         print "There is no permission to read " + medFile
90     else :
91         print sys.exc_type 
92         print sys.exc_value
93         print sys.exc_traceback
94