Salome HOME
Implementation of Box python feature as a Composite feature again
[modules/shaper.git] / src / SketchPlugin / Test / TestSketchPointLine.py
1 #=========================================================================
2 # Initialization of the test
3 #=========================================================================
4 from GeomDataAPI import *
5 from ModelAPI import *
6
7 __updated__ = "2014-10-28"
8
9 aSession = ModelAPI_Session.get()
10 aDocument = aSession.moduleDocument()
11 #=========================================================================
12 # Creation of a sketch
13 #=========================================================================
14 aSession.startOperation()
15 aSketchCommonFeature = aDocument.addFeature("Sketch")
16 aSketchFeature = featureToCompositeFeature(aSketchCommonFeature)
17 assert (aSketchFeature.getKind() == "Sketch")
18 origin = geomDataAPI_Point(aSketchFeature.attribute("Origin"))
19 origin.setValue(0, 0, 0)
20 dirx = geomDataAPI_Dir(aSketchFeature.attribute("DirX"))
21 dirx.setValue(1, 0, 0)
22 diry = geomDataAPI_Dir(aSketchFeature.attribute("DirY"))
23 diry.setValue(0, 1, 0)
24 norm = geomDataAPI_Dir(aSketchFeature.attribute("Norm"))
25 norm.setValue(0, 0, 1)
26 aSession.finishOperation()
27 # check that values have been changed
28 origin = geomDataAPI_Point(aSketchFeature.attribute("Origin"))
29 assert (origin.x() == 0)
30 assert (origin.y() == 0)
31 assert (origin.z() == 0)
32 dirx = geomDataAPI_Dir(aSketchFeature.attribute("DirX"))
33 assert (dirx.x() == 1)
34 assert (dirx.y() == 0)
35 assert (dirx.z() == 0)
36 diry = geomDataAPI_Dir(aSketchFeature.attribute("DirY"))
37 assert (diry.x() == 0)
38 assert (diry.y() == 1)
39 assert (diry.z() == 0)
40 norm = geomDataAPI_Dir(aSketchFeature.attribute("Norm"))
41 assert (norm.x() == 0)
42 assert (norm.y() == 0)
43 assert (norm.z() == 1)
44 #=========================================================================
45 # Creation of a point
46 #=========================================================================
47 aSession.startOperation()
48 aSketchReflist = aSketchFeature.reflist("Features")
49 assert (not aSketchReflist.isInitialized())
50 assert(aSketchReflist.size() == 0)
51 assert (len(aSketchReflist.list()) == 0)
52 # aSketchPoint = aDocument.addFeature("SketchPoint")
53 aSketchPoint = aSketchFeature.addFeature("SketchPoint")
54 assert (aSketchPoint.getKind() == "SketchPoint")
55 coords = geomDataAPI_Point2D(aSketchPoint.attribute("PointCoordindates"))
56 assert (coords.x() == 0)
57 assert (coords.y() == 0)
58 assert (not coords.isInitialized())
59 # Simulate SketchPlugin_Point::move(...)
60 coords.setValue(10., 10.)
61 assert (coords.isInitialized())
62 aSession.finishOperation()
63 # check that values have been changed
64 aSketchReflist = aSketchFeature.reflist("Features")
65 assert (aSketchReflist.size() == 1)
66 assert (len(aSketchReflist.list()) == 1)
67 coords = geomDataAPI_Point2D(aSketchPoint.attribute("PointCoordindates"))
68 assert (coords.x() == 10.0)
69 assert (coords.y() == 10.0)
70 #=========================================================================
71 # Creation of a line
72 #=========================================================================
73 aSession.startOperation()
74 # aSketchLine = aDocument.addFeature("SketchLine")
75 aSketchLine = aSketchFeature.addFeature("SketchLine")
76 assert (aSketchLine.getKind() == "SketchLine")
77 assert (aSketchReflist.size() == 2)
78 assert (len(aSketchReflist.list()) == 2)
79 aLineStartPoint = geomDataAPI_Point2D(aSketchLine.attribute("StartPoint"))
80 aLineEndPoint = geomDataAPI_Point2D(aSketchLine.attribute("EndPoint"))
81 assert (aLineStartPoint.x() == 0)
82 assert (aLineStartPoint.y() == 0)
83 assert (not aLineStartPoint.isInitialized())
84 assert (aLineEndPoint.x() == 0)
85 assert (aLineEndPoint.y() == 0)
86 assert (not aLineEndPoint.isInitialized())
87 # Simulate SketchPlugin_Line::move(...)
88 aLineStartPoint.setValue(50., 50.)
89 aLineEndPoint.setValue(60., 60.)
90 assert (aLineStartPoint.isInitialized())
91 assert (aLineEndPoint.isInitialized())
92 aSession.finishOperation()
93 # check that values have been changed
94 aLineStartPoint = geomDataAPI_Point2D(aSketchLine.attribute("StartPoint"))
95 aLineEndPoint = geomDataAPI_Point2D(aSketchLine.attribute("EndPoint"))
96 assert (aLineStartPoint.x() == 50.0)
97 assert (aLineStartPoint.y() == 50.0)
98 assert (aLineEndPoint.x() == 60.0)
99 assert (aLineEndPoint.y() == 60.0)
100 #=========================================================================
101 # Check the results
102 #=========================================================================
103 aResult = aSketchLine.firstResult()
104 assert (aResult is not None)
105 aResultConstruction = modelAPI_ResultConstruction(aResult)
106 aShape = aResultConstruction.shape()
107 assert (aShape is not None)
108 assert (not aShape.isNull())