3 import SALOME_ContainerManager_idl
5 from SALOME_NamingServicePy import SALOME_NamingServicePy_i
7 from MEDCouplingCorba import *
9 def createALocalMesh():
10 targetCoords=[ 0., 0., 0., 50., 0., 0. , 200., 0., 0. , 0., 50., 0., 50., 50., 0. , 200., 50., 0., 0., 200., 0., 50., 200., 0. , 200., 200., 0. ,
11 0., 0., 50., 50., 0., 50. , 200., 0., 50. , 0., 50., 50., 50., 50., 50. , 200., 50., 50., 0., 200., 50., 50., 200., 50. , 200., 200., 50. ,
12 0., 0., 200., 50., 0., 200. , 200., 0., 200. , 0., 50., 200., 50., 50., 200. , 200., 50., 200., 0., 200., 200., 50., 200., 200. , 200., 200., 200. ];
13 targetConn=[0,1,4,3,9,10,13,12, 1,2,5,4,10,11,14,13, 3,4,7,6,12,13,16,15, 4,5,8,7,13,14,17,16,
14 9,10,13,12,18,19,22,21, 10,11,14,13,19,20,23,22, 12,13,16,15,21,22,25,24, 13,14,17,16,22,23,26,25];
15 targetMesh=MEDCouplingUMesh.New();
16 targetMesh.setMeshDimension(3);
17 targetMesh.setName("MyMesh3D");
18 targetMesh.setDescription("build3DMesh");
19 targetMesh.allocateCells(12);
21 targetMesh.insertNextCell(NORM_HEXA8,8,targetConn[8*i:8*(i+1)]);
23 targetMesh.finishInsertingCells();
24 myCoords=DataArrayDouble.New();
25 myCoords.setValues(targetCoords,27,3);
26 targetMesh.setCoords(myCoords)
27 myCoords.setName("check in case")
30 def createALocalField1():
32 field=MEDCouplingFieldDouble.New(ON_CELLS,ONE_TIME)
34 da=DataArrayDouble.New()
35 da.setValues([1.,11.,101.,1001., 2.,12.,102.,1002., 3.,13.,103.,1003., 4.,14.,104.,1004., 5.,15.,105.,1005., 6.,16.,106.,1006., 7.,17.,107.,1007., 8.,18.,108.,1008.,],8,4)
37 field.setName("vitoo")
38 field.setTime(4.5,3,4)
41 def createALocalField2():
43 field=MEDCouplingFieldDouble.New(ON_NODES,ONE_TIME)
45 da=DataArrayDouble.New()
46 da.setValues([float(3*i) for i in xrange(27)],27,1)
48 field.setName("vitooNode")
49 field.setTime(4.7,9,14)
52 def createALocalMultiField3():
53 fName="FieldOverTimeCorba"
57 for i in xrange(nbOfFields):
58 fs[i]=MEDCouplingFieldDouble.New(ON_CELLS,ONE_TIME)
60 da=DataArrayDouble.New()
61 da.setValues([0.,1.,2.+i,3.,4.,5.,7.],8,1)
64 fs[i].setTime(1.2+i,9,14)
66 ret=MEDCouplingFieldOverTime.New(fs);
69 def createALocalCMesh4():
70 mesh=MEDCouplingCMesh.New();
71 coordsX=DataArrayDouble.New();
72 arrX=[ -1., 1., 2., 4. ]
73 coordsX.setValues(arrX,4,1);
74 coordsY=DataArrayDouble.New();
76 coordsY.setValues(arrY,3,1);
77 coordsZ=DataArrayDouble.New();
78 arrZ=[ -3., 3., 6., 12., 17. ]
79 coordsZ.setValues(arrZ,5,1);
80 mesh.setCoords(coordsX,coordsY,coordsZ);
81 mesh.setName("CMeshSample")
84 def createALocalField5():
85 m=createALocalCMesh4()
86 field=MEDCouplingFieldDouble.New(ON_CELLS,ONE_TIME)
88 da=DataArrayDouble.New()
89 field.setTime(14.5,0,0)
90 da.setValues([float(7*i) for i in xrange(24)],24,1)
91 field.setName("MeshOnCMesh");
98 orb = CORBA.ORB_init([], CORBA.ORB_ID)
99 poa=orb.resolve_initial_references("RootPOA");
100 mgr=poa._get_the_POAManager();
105 naming_service = SALOME_NamingServicePy_i(orb)
106 rp=SALOME_ContainerManager_idl._0_Engines.ResourceParameters("","","",["PARAVIS"],1,10,10,1,1,"first",[])
107 cp=SALOME_ContainerManager_idl._0_Engines.ContainerParameters("","get","",1,False,"",rp)
108 sm=naming_service.Resolve("/ContainerManager")
109 cont=sm.GiveContainer(cp)
110 paraviz=naming_service.Resolve("/Containers/%s/FactoryServer/PARAVIS_inst_1"%(cont.getHostName()))
114 meshCorba=MEDCouplingUMeshServant._this(createALocalMesh())
115 ior=orb.object_to_string(meshCorba)
118 f1=MEDCouplingFieldDoubleServant._this(createALocalField1())
119 ior2=orb.object_to_string(f1)
120 print "Field on cell ",ior2
122 f2=MEDCouplingFieldDoubleServant._this(createALocalField2())
123 ior3=orb.object_to_string(f2)
124 print "Field on node ",ior3
126 fs3=MEDCouplingFieldOverTimeServant._this(createALocalMultiField3())
128 ior4=orb.object_to_string(fs3)
129 print "Fields over time ",ior4
131 m2=MEDCouplingCMeshServant._this(createALocalCMesh4())
132 ior5=orb.object_to_string(m2)
133 print "CMesh 2 : ",ior5
135 f5=MEDCouplingFieldDoubleServant._this(createALocalField5())
136 ior6=orb.object_to_string(f5)
137 print "Field on cell CMesh ",ior6
140 src1 = ParaMEDCorbaPluginSource()
142 asc=GetAnimationScene()
144 dr=Show()\ndr.Visibility = 1
147 content=script%(ior4)
148 paraviz.ExecuteScript(content)