Salome HOME
Merge Python 3 porting.
[modules/kernel.git] / doc / salome / examples / example3
1
2 #       create AttributeSequenceOfReal      
3 #=================================
4 A = batchmode_geompy.myBuilder.FindOrCreateAttribute(batchmode_geompy.father, "AttributeSequenceOfReal")
5 if A == None :
6         raise  RuntimeError, "Can't create AttributeSequenceOfReal attribute"
7 A = A._narrow(SALOMEDS.AttributeSequenceOfReal)
8 if A == None :
9         raise  RuntimeError, "_narrow returns None instead of AttributeSequenceOfReal pointer"
10
11 A.Add(0.0293)
12 A.Add(625.1e+2)
13 A.Add(0.928e+100)
14 A.Add(83.287)
15
16 print("initial values ",A.Value(1), A.Value(2), A.Value(3), A.Value(4))
17 A.Remove(3)
18 print("after remove ", A.Value(1), A.Value(2), A.Value(3))
19 A.ChangeValue(2,76.265)
20 print("after second item change", A.Value(1), A.Value(2), A.Value(3))
21
22 if A.Length() != 3:
23         print("Error : wrong length of SequenceOfReal")
24 if A.Value(1) != 0.0293 or A.Value(2) != 76.265 or A.Value(3) != 83.287:
25         print("Error : wrong value of  AttributeSequenceOfReal")
26
27 #      save / restore study      
28 #=================================
29 str= os.getenv("TmpDir")
30 if str == None:
31         str = "/tmp"
32 file = str+"/test.hdf"
33
34 batchmode_geompy.myStudy.SaveAs(file)
35 openedStudy=batchmode_geompy.myStudy.Open(file);
36
37 if openedStudy == None:
38         raise  RuntimeError, "Can't open saved study!"
39
40
41 father = openedStudy.FindComponent("GEOM")
42 if father is None:
43          raise  RuntimeError, "Geom component is not found!  Wrong study is opened." 
44
45
46 #     find AttributeSequenceOfReal
47 #=================================
48
49 res,A=father.FindAttribute("AttributeSequenceOfReal")
50 if res == 0 or A == None:
51         raise  RuntimeError, "Error:  not found AttributeSequenceOfReal"
52
53 A = A._narrow(SALOMEDS.AttributeSequenceOfReal)
54
55 if A.Length() != 3:
56         print("Error : wrong length of SequenceOfReal")
57 if A.Value(1) != 0.0293 or A.Value(2) != 76.265 or A.Value(3) != 83.287:
58         print("Error : wrong value of  AttributeSequenceOfReal")
59 print("after restoring ", A.Value(1), A.Value(2), A.Value(3))
60