X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchAPI%2FSketchAPI_Rectangle.cpp;h=bf7e3d44b4e7adc39023e4e6ea2347166488704c;hb=ae92361e7d1375e324cc19e7b6a2962750e1d7ce;hp=3da59f0ff8a220b4b3c1fc5cc7260b93bd4c78fa;hpb=0aa15e9db3dea292ee9e57c32992e9c480ef8232;p=modules%2Fshaper.git diff --git a/src/SketchAPI/SketchAPI_Rectangle.cpp b/src/SketchAPI/SketchAPI_Rectangle.cpp index 3da59f0ff..bf7e3d44b 100644 --- a/src/SketchAPI/SketchAPI_Rectangle.cpp +++ b/src/SketchAPI/SketchAPI_Rectangle.cpp @@ -1,42 +1,54 @@ -// Name : SketchAPI_Rectangle.cpp -// Purpose: +// Copyright (C) 2014-2023 CEA, EDF +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // -// History: -// 17/06/16 - Sergey POKHODENKO - Creation of the file -//-------------------------------------------------------------------------------------- #include "SketchAPI_Rectangle.h" //-------------------------------------------------------------------------------------- #include //-------------------------------------------------------------------------------------- #include #include +#include + //-------------------------------------------------------------------------------------- SketchAPI_Rectangle::SketchAPI_Rectangle( const std::shared_ptr & theFeature) -: SketchAPI_SketchEntity(theFeature) + : SketchAPI_SketchEntity(theFeature) { initialize(); } -SketchAPI_Rectangle::SketchAPI_Rectangle( - const std::shared_ptr & theFeature, - double theX1, double theY1, double theX2, double theY2) -: SketchAPI_SketchEntity(theFeature) +SketchAPI_Rectangle::SketchAPI_Rectangle(const std::shared_ptr & theFeature, + double theX1, double theY1, double theX2, double theY2) + : SketchAPI_SketchEntity(theFeature) { if (initialize()) { setByCoordinates(theX1, theY1, theX2, theY2); } } -SketchAPI_Rectangle::SketchAPI_Rectangle( - const std::shared_ptr & theFeature, - const std::shared_ptr & theStartPoint, - const std::shared_ptr & theEndPoint) -: SketchAPI_SketchEntity(theFeature) +SketchAPI_Rectangle::SketchAPI_Rectangle(const std::shared_ptr & theFeature, + const std::shared_ptr & theFirstPoint, + const std::shared_ptr & theEndPoint) + : SketchAPI_SketchEntity(theFeature) { if (initialize()) { - setByPoints(theStartPoint, theEndPoint); + setByPoints(theFirstPoint, theEndPoint); } } @@ -48,21 +60,29 @@ SketchAPI_Rectangle::~SketchAPI_Rectangle() void SketchAPI_Rectangle::setByCoordinates( double theX1, double theY1, double theX2, double theY2) { + fillAttribute("RectangleTypeByCorners", type()); fillAttribute(startPoint(), theX1, theY1); fillAttribute(endPoint(), theX2, theY2); - execute(); } -void SketchAPI_Rectangle::setByPoints( - const std::shared_ptr & theStartPoint, - const std::shared_ptr & theEndPoint) +void SketchAPI_Rectangle::setByPoints(const std::shared_ptr & theFirstPoint, + const std::shared_ptr & theSecondPoint) { - fillAttribute(theStartPoint, startPoint()); - fillAttribute(theEndPoint, endPoint()); - + fillAttribute("RectangleTypeByCorners", type()); + fillAttribute(theFirstPoint, startPoint()); + fillAttribute(theSecondPoint, endPoint()); execute(); } //-------------------------------------------------------------------------------------- +std::list > SketchAPI_Rectangle::lines() const +{ + std::list aFeatures; + std::list aList = linesList()->list(); + std::list::const_iterator anIt = aList.begin(); + for (; anIt != aList.end(); ++anIt) + aFeatures.push_back(ModelAPI_Feature::feature(*anIt)); + return SketchAPI_SketchEntity::wrap(aFeatures); +}