Salome HOME
Initial version
[modules/gui.git] / src / SALOME_SWIG / test_big_table.py
1 #  Copyright (C) 2003  CEA/DEN, EDF R&D
2 #
3 #
4 #
5 #  File   : test_big_table.py
6 #  Author : Vadim SANDLER
7 #  Module : SALOME
8 #  $Header$
9
10 import salome
11 import math
12 import SALOMEDS
13
14 # >>> Getting study builder ==================================================
15 myStudy = salome.myStudy
16 myBuilder = myStudy.NewBuilder()
17
18 # >>> Creating virtual component =============================================
19 myComponent = myStudy.FindComponent("VirtualComponent")
20 if not myComponent:
21    myComponent = myBuilder.NewComponent("VirtualComponent")
22    aName = myBuilder.FindOrCreateAttribute(myComponent, "AttributeName")
23    aName.SetValue("VirtualComponent")
24
25 # >>> Creating object with Table of real[ 200 * 20 ] ========================
26 myTRealObject = myBuilder.NewObject(myComponent)
27 AName = myBuilder.FindOrCreateAttribute(myTRealObject, "AttributeName")
28 AName.SetValue("Table Of Real")
29 ARealTable = myBuilder.FindOrCreateAttribute(myTRealObject, "AttributeTableOfReal")
30 myHorNb = 10
31 myVerNb = 200
32
33 k={}
34 for j in range(0,myHorNb):
35    k[j] = j*10+1
36 ARealTable.AddRow(k.values())
37 ARealTable.SetRowTitle(1, "Frequency")
38 ARealTable.SetRowUnit(1, "Hz")
39
40 for i in range(1,myVerNb+1):
41    for j in range(0,myHorNb):
42       if j % 2 == 1:
43          k[j] = math.log10(j*30*math.pi/180) * 20 + i * 15 + j*5
44       else:
45          k[j] = math.sin(j*30*math.pi/180) * 20 + i * 15 + j*5 
46    ARealTable.AddRow(k.values())
47    ARealTable.SetRowTitle(i+1, "Power " + str(i))
48    ARealTable.SetRowUnit(i+1, "Wt")
49 ARealTable.SetTitle("Very useful data")
50
51 # >>> Updating Object Browser ================================================
52 salome.sg.updateObjBrowser(1)
53
54 # ============================================================================