1 #==============================================================================
2 # File : visu_many_objects.py
4 # Author : Vadim SANDLER
6 # Copyright : Open CASCADE
8 #==============================================================================
10 # ============================================================================
11 # Check performance for many objects creations
12 # ============================================================================
16 # >>> Getting study builder ==================================================
17 myStudy = salome.myStudy
18 myBuilder = myStudy.NewBuilder()
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")
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
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")
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))
49 myRefObject = myBuilder.NewObject(myContainer)
50 myBuilder.Addreference(myRefObject,myObject1);
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))
59 myRefObject = myBuilder.NewObject(myContainer)
60 myBuilder.Addreference(myRefObject,myObject2);
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))
69 myRefObject = myBuilder.NewObject(myContainer)
70 myBuilder.Addreference(myRefObject,myObject3);
72 # >>> Updating Object Browser ================================================
73 salome.sg.updateObjBrowser(1)
75 # ============================================================================