Salome HOME
NRI : Comment unused ComponentType enum.
[modules/kernel.git] / src / SALOME_SWIG / test_many_objects.py
1 #==============================================================================
2 #  File      : visu_many_objects.py
3 #  Created   : 28/02/03
4 #  Author    : Vadim SANDLER
5 #  Project   : SALOME
6 #  Copyright : Open CASCADE
7 #  $Header$
8 #==============================================================================
9
10 # ============================================================================
11 # Check performance for many objects creations
12 # ============================================================================
13 import salome
14 import SALOMEDS
15
16 # >>> Getting study builder ==================================================
17 myStudy = salome.myStudy
18 myBuilder = myStudy.NewBuilder()
19
20 # >>> Creating virtual component =============================================
21 myComponent = myBuilder.NewComponent("VIRTUAL")
22 AName = myBuilder.FindOrCreateAttribute(myComponent, "AttributeName")
23 AName.SetValue("Virtual")
24 ACmt = myBuilder.FindOrCreateAttribute(myComponent, "AttributeComment")
25 ACmt.SetValue("Virtual")
26
27 # >>> Creating objects =======================================================
28 # TO CHANGE TOTAL NUMBER OF OBJECTS, SET PROPER <myNb1>, <myNb2>, <myNb3>
29 # IF YOU DON'T WANT TO ADD REFERENCES, SET <myAddRef> = 0
30 myNb1 = 20
31 myNb2 = 5
32 myNb3 = 3
33 myAddRef = 1
34
35 if myAddRef == 1:
36     myContainer =  myBuilder.NewObject(myComponent)
37     AName = myBuilder.FindOrCreateAttribute(myContainer, "AttributeName")
38     AName.SetValue("References")
39     ACmt = myBuilder.FindOrCreateAttribute(myContainer, "AttributeComment")
40     ACmt.SetValue("Container for objects")
41
42 for i in range(0,myNb1):
43     myObject1 = myBuilder.NewObject(myComponent)
44     AName = myBuilder.FindOrCreateAttribute(myObject1, "AttributeName")
45     AName.SetValue("Object "+str(i))
46     ACmt = myBuilder.FindOrCreateAttribute(myObject1, "AttributeComment")
47     ACmt.SetValue("Virtual object "+str(i))
48     if myAddRef == 1:
49         myRefObject = myBuilder.NewObject(myContainer)
50         myBuilder.Addreference(myRefObject,myObject1);
51
52     for j in range(0,myNb2):
53         myObject2 = myBuilder.NewObject(myObject1)
54         AName = myBuilder.FindOrCreateAttribute(myObject2, "AttributeName")
55         AName.SetValue("Object "+str(i)+"-"+str(j))
56         ACmt = myBuilder.FindOrCreateAttribute(myObject2, "AttributeComment")
57         ACmt.SetValue("Virtual object "+str(i)+"-"+str(j))
58         if myAddRef == 1:
59             myRefObject = myBuilder.NewObject(myContainer)
60             myBuilder.Addreference(myRefObject,myObject2);
61
62         for k in range(0,myNb3):
63             myObject3 = myBuilder.NewObject(myObject2)
64             AName = myBuilder.FindOrCreateAttribute(myObject3, "AttributeName")
65             AName.SetValue("Object "+str(i)+"-"+str(j)+"-"+str(k))
66             ACmt = myBuilder.FindOrCreateAttribute(myObject3, "AttributeComment")
67             ACmt.SetValue("Virtual object "+str(i)+"-"+str(j)+"-"+str(k))
68             if myAddRef == 1:
69                 myRefObject = myBuilder.NewObject(myContainer)
70                 myBuilder.Addreference(myRefObject,myObject3);
71
72 # >>> Updating Object Browser ================================================
73 salome.sg.updateObjBrowser(1)
74
75 # ============================================================================
76
77