Salome HOME
Merge commit 'refs/tags/V9_2_0^{}'
[modules/shaper.git] / test.API / SHAPER / Primitives / TestCone.py
1 from salome.shaper import model
2
3 model.begin()
4 partSet = model.moduleDocument()
5 Part_1 = model.addPart(partSet)
6 Part_1_doc = Part_1.document()
7
8 # Init
9 Point_1 = model.addPoint(Part_1_doc, 10, 10, 10).result()
10 Point_2 = model.selection("VERTEX", "pnt")
11 Axis_1 = model.addAxis(Part_1_doc, 0, 10, 0).result()
12 Axis_2 = model.selection("EDGE", "edge")
13
14 # Parameters
15 model.addParameter(Part_1_doc, "baseRadius", "10")
16 model.addParameter(Part_1_doc, "topRadius", "7")
17 model.addParameter(Part_1_doc, "h", "15")
18
19 # Tests
20 Cone_1 = model.addCone(Part_1_doc, model.selection("VERTEX", "PartSet/Origin"), model.selection("EDGE", "PartSet/OZ"), 10., 5., 10.)
21 Cone_2 = model.addCone(Part_1_doc, model.selection("VERTEX", "PartSet/Origin"), model.selection("EDGE", "PartSet/OZ"), 5., 10., 10.)
22 Cone_3 = model.addCone(Part_1_doc, model.selection("VERTEX", "PartSet/Origin"), model.selection("EDGE", "PartSet/OZ"), 0., 5., 10.)
23 Cone_4 = model.addCone(Part_1_doc, model.selection("VERTEX", "PartSet/Origin"), model.selection("EDGE", "PartSet/OZ"), -3., 5., 10.)
24 Cone_5 = model.addCone(Part_1_doc, model.selection("VERTEX", "PartSet/Origin"), model.selection("EDGE", "PartSet/OZ"), 10., 0., 10.)
25 Cone_6 = model.addCone(Part_1_doc, model.selection("VERTEX", "PartSet/Origin"), model.selection("EDGE", "PartSet/OZ"), 10., -5., 10.)
26 Cone_7 = model.addCone(Part_1_doc, model.selection("VERTEX", "PartSet/Origin"), model.selection("EDGE", "PartSet/OZ"), 10., 5., 0.)
27 Cone_8 = model.addCone(Part_1_doc, model.selection("VERTEX", "PartSet/Origin"), model.selection("EDGE", "PartSet/OZ"), 10., 5., -10.)
28 Cone_9 = model.addCone(Part_1_doc, Point_1, model.selection("EDGE", "PartSet/OZ"), 10., 7., 15.)
29 Cone_10 = model.addCone(Part_1_doc, Point_1, Axis_1, 10., 7., 15.)
30 Cone_11 = model.addCone(Part_1_doc, Point_2, model.selection("EDGE", "PartSet/OZ"), 10., 7., 15.)
31 Cone_12= model.addCone(Part_1_doc, Point_1, Axis_2, 10., 7., 15.)
32 Cone_13 = model.addCone(Part_1_doc, model.selection("VERTEX", "PartSet/Origin"), model.selection("EDGE", "PartSet/OZ"), 0., 0., 15.)
33 Cone_14 = model.addCone(Part_1_doc, model.selection("VERTEX", "PartSet/Origin"), model.selection("EDGE", "PartSet/OZ"), 10., 10., 15.)
34 Cone_15 = model.addCone(Part_1_doc, model.selection("VERTEX", "PartSet/Origin"), model.selection("EDGE", "PartSet/OZ"), "baseRadius", "topRadius", "h")
35
36 model.do()
37 model.end()
38
39 # Checks
40 from GeomAPI import GeomAPI_Shape
41
42 model.testNbResults(Cone_1, 1)
43 model.testNbSubResults(Cone_1, [0])
44 model.testNbSubShapes(Cone_1, GeomAPI_Shape.SOLID, [1])
45 model.testNbSubShapes(Cone_1, GeomAPI_Shape.FACE, [3])
46 model.testHaveNamingFaces(Cone_1, model, Part_1_doc)
47
48 model.testNbResults(Cone_2, 1)
49 model.testNbSubResults(Cone_2, [0])
50 model.testNbSubShapes(Cone_2, GeomAPI_Shape.SOLID, [1])
51 model.testNbSubShapes(Cone_2, GeomAPI_Shape.FACE, [3])
52 model.testHaveNamingFaces(Cone_2, model, Part_1_doc)
53
54 model.testNbResults(Cone_3, 1)
55 model.testNbSubResults(Cone_3, [0])
56 model.testNbSubShapes(Cone_3, GeomAPI_Shape.SOLID, [1])
57 model.testNbSubShapes(Cone_3, GeomAPI_Shape.FACE, [2])
58 model.testHaveNamingFaces(Cone_3, model, Part_1_doc)
59
60 model.testNbResults(Cone_5, 1)
61 model.testNbSubResults(Cone_5, [0])
62 model.testNbSubShapes(Cone_5, GeomAPI_Shape.SOLID, [1])
63 model.testNbSubShapes(Cone_5, GeomAPI_Shape.FACE, [2])
64 model.testHaveNamingFaces(Cone_5, model, Part_1_doc)
65
66 model.testNbResults(Cone_9, 1)
67 model.testNbSubResults(Cone_9, [0])
68 model.testNbSubShapes(Cone_9, GeomAPI_Shape.SOLID, [1])
69 model.testNbSubShapes(Cone_9, GeomAPI_Shape.FACE, [3])
70 model.testHaveNamingFaces(Cone_9, model, Part_1_doc)
71
72 model.testNbResults(Cone_10, 1)
73 model.testNbSubResults(Cone_10, [0])
74 model.testNbSubShapes(Cone_10, GeomAPI_Shape.SOLID, [1])
75 model.testNbSubShapes(Cone_10, GeomAPI_Shape.FACE, [3])
76 model.testHaveNamingFaces(Cone_10, model, Part_1_doc)
77
78 model.testNbResults(Cone_15, 1)
79 model.testNbSubResults(Cone_15, [0])
80 model.testNbSubShapes(Cone_15, GeomAPI_Shape.SOLID, [1])
81 model.testNbSubShapes(Cone_15, GeomAPI_Shape.FACE, [3])
82 model.testHaveNamingFaces(Cone_15, model, Part_1_doc)
83
84 model.testNbResults(Cone_4, 0)
85 assert(Cone_4.feature().error() == "Cone builder :: base radius is negative.")
86
87 model.testNbResults(Cone_6, 0)
88 assert(Cone_6.feature().error() == "Cone builder :: top radius is negative.")
89
90 model.testNbResults(Cone_7, 0)
91 assert(Cone_7.feature().error() == "Cone builder :: height is negative or null.")
92
93 model.testNbResults(Cone_8, 0)
94 assert(Cone_8.feature().error() == "Cone builder :: height is negative or null.")
95
96 model.testNbResults(Cone_11, 0)
97 assert(Cone_11.feature().error() == "Attribute \"base_point\" is not initialized.")
98
99 model.testNbResults(Cone_12, 0)
100 assert(Cone_12.feature().error() == "Attribute \"axis\" is not initialized.")
101
102 model.testNbResults(Cone_13, 0)
103 assert(Cone_13.feature().error() == "Cone builder :: base radius and top radius are negative or null.")
104
105 model.testNbResults(Cone_14, 0)
106 assert(Cone_14.feature().error() == "Cone builder :: base radius and top radius are too close.")