Salome HOME
Merge branch 'master' of newgeom:newgeom.git
[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-07-24"
8
9 aPluginManager = ModelAPI_PluginManager.get()
10 aDocument = aPluginManager.rootDocument()
11 #=========================================================================
12 # Creation of a sketch
13 #=========================================================================
14 aDocument.startOperation()
15 aSketchFeature = aDocument.addFeature("Sketch")
16 assert (aSketchFeature.getKind() == "Sketch")
17 aSketchFeatureData = aSketchFeature.data()
18 origin = geomDataAPI_Point(aSketchFeatureData.attribute("Origin"))
19 origin.setValue(0, 0, 0)
20 dirx = geomDataAPI_Dir(aSketchFeatureData.attribute("DirX"))
21 dirx.setValue(1, 0, 0)
22 diry = geomDataAPI_Dir(aSketchFeatureData.attribute("DirY"))
23 diry.setValue(0, 1, 0)
24 norm = geomDataAPI_Dir(aSketchFeatureData.attribute("Norm"))
25 norm.setValue(0, 0, 1)
26 aDocument.finishOperation()
27 # check that values have been changed
28 origin = geomDataAPI_Point(aSketchFeatureData.attribute("Origin"))
29 assert (origin.x() == 0)
30 assert (origin.y() == 0)
31 assert (origin.z() == 0)
32 dirx = geomDataAPI_Dir(aSketchFeatureData.attribute("DirX"))
33 assert (dirx.x() == 1)
34 assert (dirx.y() == 0)
35 assert (dirx.z() == 0)
36 diry = geomDataAPI_Dir(aSketchFeatureData.attribute("DirY"))
37 assert (diry.x() == 0)
38 assert (diry.y() == 1)
39 assert (diry.z() == 0)
40 norm = geomDataAPI_Dir(aSketchFeatureData.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 aDocument.startOperation()
48 aSketchReflist = aSketchFeatureData.reflist("Features")
49 assert (not aSketchReflist.isInitialized())
50 assert(aSketchReflist.size() == 0)
51 assert (len(aSketchReflist.list()) == 0)
52 aSketchPoint = aDocument.addFeature("SketchPoint")
53 assert (aSketchPoint.getKind() == "SketchPoint")
54 aSketchReflist.append(aSketchPoint)
55 aSketchPointData = aSketchPoint.data()
56 coords = geomDataAPI_Point2D(aSketchPointData.attribute("PointCoordindates"))
57 assert (coords.x() == 0)
58 assert (coords.y() == 0)
59 assert (not coords.isInitialized())
60 # Simulate SketchPlugin_Point::move(...)
61 coords.setValue(10., 10.)
62 assert (coords.isInitialized())
63 aDocument.finishOperation()
64 # check that values have been changed
65 aSketchReflist = aSketchFeatureData.reflist("Features")
66 assert (aSketchReflist.size() == 1)
67 assert (len(aSketchReflist.list()) == 1)
68 aSketchPointData = aSketchPoint.data()
69 coords = geomDataAPI_Point2D(aSketchPointData.attribute("PointCoordindates"))
70 assert (coords.x() == 10.0)
71 assert (coords.y() == 10.0)
72 #===============================================================================
73 # Creation of a line
74 #===============================================================================
75 aDocument.startOperation()
76 aSketchLine = aDocument.addFeature("SketchLine")
77 assert (aSketchLine.getKind() == "SketchLine")
78 aSketchReflist.append(aSketchLine)
79 assert (aSketchReflist.size() == 2)
80 assert (len(aSketchReflist.list()) == 2)
81 aSketchLineData = aSketchLine.data()
82 aLineStartPoint = geomDataAPI_Point2D(aSketchLineData.attribute("StartPoint"))
83 aLineEndPoint= geomDataAPI_Point2D(aSketchLineData.attribute("EndPoint"))
84 assert (aLineStartPoint.x() == 0)
85 assert (aLineStartPoint.y() == 0)
86 assert (not aLineStartPoint.isInitialized())
87 assert (aLineEndPoint.x() == 0)
88 assert (aLineEndPoint.y() == 0)
89 assert (not aLineEndPoint.isInitialized())
90 # Simulate SketchPlugin_Line::move(...)
91 aLineStartPoint.setValue(50., 50.)
92 aLineEndPoint.setValue(60., 60.)
93 assert (aLineStartPoint.isInitialized())
94 assert (aLineEndPoint.isInitialized())
95 aDocument.finishOperation()
96 # check that values have been changed
97 aSketchLineData = aSketchLine.data()
98 aLineStartPoint = geomDataAPI_Point2D(aSketchLineData.attribute("StartPoint"))
99 aLineEndPoint= geomDataAPI_Point2D(aSketchLineData.attribute("EndPoint"))
100 assert (aLineStartPoint.x() == 50.0)
101 assert (aLineStartPoint.y() == 50.0)
102 assert (aLineEndPoint.x() == 60.0)
103 assert (aLineEndPoint.y() == 60.0)
104 #===============================================================================
105 # Check the results
106 #===============================================================================
107 aResult = aSketchLine.firstResult()
108 aResultConstruction = modelAPI_ResultConstruction(aResult)
109 aShape = aResultConstruction.shape()
110 assert (aShape is not None)
111 assert (not aShape.isNull())