X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FPythonAPI%2Fmodel%2Fsketcher%2Farc.py;h=0a7ae432dc7be7bb0484d68f10aa37590bf6eb39;hb=1c5f5c30bd6dab3055f5241744888bcff425b561;hp=b025c4636160e0be7ef2ece7c6e1f3a47bec0eb8;hpb=659f615574a9d3e4bf72ccc053e1a1d45d88e116;p=modules%2Fshaper.git diff --git a/src/PythonAPI/model/sketcher/arc.py b/src/PythonAPI/model/sketcher/arc.py index b025c4636..0a7ae432d 100644 --- a/src/PythonAPI/model/sketcher/arc.py +++ b/src/PythonAPI/model/sketcher/arc.py @@ -2,11 +2,14 @@ from GeomDataAPI import geomDataAPI_Point2D from model.errors import WrongNumberOfArguments +from model.roots import Interface + +class Arc(Interface): + """Interface to a sketch arc feature.""" + def __init__(self, feature, *args): + Interface.__init__(self, feature) + assert(self._feature.getKind() == "SketchArc") -class Arc(): - """Interface for editing a sketch arc feature.""" - def __init__(self, arc_feature, *args): - self._feature = arc_feature self._center = geomDataAPI_Point2D( self._feature.data().attribute("ArcCenter") ) @@ -24,15 +27,42 @@ class Arc(): raise WrongNumberOfArguments( "Arc takes 3 or 6 arguments (%s given)" % len(args) ) + self.execute() + + ######## + # + # Set methods + # + ######## + + def setCenter(self, x, y): + """Set arc center.""" + self._center.setValue(x, y) + + def setStartPoint(self, x, y): + """Set start point.""" + self._start_point.setValue(x, y) + + def setEndPoint(self, x, y): + """Set end point value.""" + self._end_point.setValue(x, y) + + + ######## + # + # Getters + # + ######## + def centerData(self): """Return the center point data.""" return self._center - + def startPointData(self): """Return the start point data.""" return self._start_point - + def endPointData(self): """Return the end point data.""" return self._end_point @@ -40,30 +70,25 @@ class Arc(): def result(self): """Return the arc circular line attribute.""" return self._feature.lastResult() - + + ######## # # Private methods # ######## - - def __createByCoordinates(self, center_x, center_y, - start_x, start_y, + + + def __createByCoordinates(self, center_x, center_y, + start_x, start_y, end_x, end_y): """Create an arc by point coordinates.""" - self._center.setValue(center_x, center_y) - self._start_point.setValue(start_x, start_y) - self._end_point.setValue(end_x, end_y) - self._feature.execute() - + self.setCenter(center_x, center_y) + self.setStartPoint(start_x, start_y) + self.setEndPoint(end_x, end_y) + def __createByPoints(self, center, start, end): """Create an arc with point objects.""" - self._center.setValue(center.x(), center.y()) - self._start_point.setValue(start.x(), start.y()) - self._end_point.setValue(end.x(), end.y()) - self._feature.execute() - - - - - + self.setCenter(center.x(), center.y()) + self.setStartPoint(start.x(), start.y()) + self.setEndPoint(end.x(), end.y())