]> SALOME platform Git repositories - modules/visu.git/blob - src/VISU_SWIG/visu_succcessive_animation.py
Salome HOME
43db1288c988ac50c566046d4f3bd3a613f84038
[modules/visu.git] / src / VISU_SWIG / visu_succcessive_animation.py
1 #  -*- coding: iso-8859-1 -*-
2 #  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
3 #
4 #  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
5 #  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 #
7 #  This library is free software; you can redistribute it and/or
8 #  modify it under the terms of the GNU Lesser General Public
9 #  License as published by the Free Software Foundation; either
10 #  version 2.1 of the License.
11 #
12 #  This library is distributed in the hope that it will be useful,
13 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
14 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15 #  Lesser General Public License for more details.
16 #
17 #  You should have received a copy of the GNU Lesser General Public
18 #  License along with this library; if not, write to the Free Software
19 #  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
20 #
21 #  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 #
23 #  VISU VISU_SWIG : binding of C++ implementation and Python
24 #  File   : visu_view3d.py
25 #  Module : VISU
26 #
27 import os
28 import time
29 import math
30 import VISU
31 import SALOMEDS
32 import salome
33 from visu_gui import *
34
35 aDelay = 0
36
37 myVisu.SetCurrentStudy(salome.myStudy)
38
39 myViewManager = myVisu.GetViewManager();
40
41 myView = myViewManager.Create3DView();
42 myView.SetTitle("The viewer for Animation")
43 print "myViewManager.Create3DView()"
44 time.sleep(aDelay)
45
46 medFile = "TimeStamps.med"
47 myFieldName = "temperature"
48
49 medFile = os.getenv('DATA_DIR') + '/MedFiles/' + medFile
50 myResult = myVisu.ImportFile(medFile)
51
52 anAnim = myVisu.CreateAnimation(myView);
53 anAnim.setAnimationMode(VISU.Animation.SUCCESSIVE);
54
55 aSObj = myStudy.FindObjectIOR(myResult.GetID())
56 aSObj = aSObj.FindSubObject(1)[1]
57 aSObj = aSObj.FindSubObject(3)[1]
58 aSObj = aSObj.FindSubObject(1)[1]
59 print "addField 1 : ", anAnim.addField(aSObj)
60
61 medFile1 = "TimeStamps_import22.med"
62 myFieldName1 = "pression"
63
64 medFile1 = os.getenv('DATA_DIR') + '/MedFiles/' + medFile1
65 myResult1 = myVisu.ImportFile(medFile1)
66
67 aSObj1 = myStudy.FindObjectIOR(myResult1.GetID())
68 aSObj1 = aSObj1.FindSubObject(1)[1]
69 aSObj1 = aSObj1.FindSubObject(3)[1]
70 aSObj1 = aSObj1.FindSubObject(3)[1]
71 print "addField 2 : ", anAnim.addField(aSObj1)
72
73 print "Generate presentations for ", anAnim.getNbFields(), " fields"
74 for i in range(0,anAnim.getNbFields()):
75     anAnim.setPresentationType(i,VISU.TPLOT3D)
76     anAnim.generatePresentations(i)
77
78 print "Generate frames"
79 anAnim.generateFrames()
80
81 print "Start Animation"
82 anAnim.setSpeed(22)
83 anAnim.startAnimation()
84 myView.FitAll()
85
86 while 1:
87     time.sleep(1+aDelay)
88     if not anAnim.isRunning():
89         anAnim.stopAnimation()
90         break
91
92 anAnim.publishInStudy()
93 anAnim.saveAnimation()
94
95 if anAnim.getAnimationMode() == VISU.Animation.SUCCESSIVE:
96    print "End of succcessive animation for 2 fields with presentation type VISU.Animation.SUCCESSIVE"
97    
98 anAnim.clearFields()
99 print "The number of fields in animation after clearFields method is", anAnim.getNbFields()
100