X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchPlugin%2FSketchPlugin_Plugin.cpp;h=ecc760c1e5226c889f900364e39efa826013e1c5;hb=0c54e2dea1ee3052eda2e551bfb9108f97183f90;hp=3b12526d65f173073c1bca9a414f0feb96dc4a64;hpb=1de75803e9baf3de59fa755f9eccb6ef60bb64e4;p=modules%2Fshaper.git diff --git a/src/SketchPlugin/SketchPlugin_Plugin.cpp b/src/SketchPlugin/SketchPlugin_Plugin.cpp index 3b12526d6..ecc760c1e 100644 --- a/src/SketchPlugin/SketchPlugin_Plugin.cpp +++ b/src/SketchPlugin/SketchPlugin_Plugin.cpp @@ -1,4 +1,22 @@ -// Copyright (C) 2014-20xx CEA/DEN, EDF R&D --> +// Copyright (C) 2014-2017 CEA/DEN, EDF R&D +// +// 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 +// #include #include @@ -12,9 +30,10 @@ #include #include #include +#include +#include #include #include -#include #include #include #include @@ -30,8 +49,13 @@ #include #include #include +#include #include #include +#include +#include + +#include #include #include @@ -44,6 +68,7 @@ #include #include +#include #ifdef _DEBUG #include @@ -98,6 +123,8 @@ SketchPlugin_Plugin::SketchPlugin_Plugin() new SketchPlugin_ProjectionValidator); aFactory->registerValidator("SketchPlugin_DifferentReference", new SketchPlugin_DifferentReferenceValidator); + aFactory->registerValidator("SketchPlugin_DifferentPointReference", + new SketchPlugin_DifferentPointReferenceValidator); aFactory->registerValidator("SketchPlugin_CirclePassedPointValidator", new SketchPlugin_CirclePassedPointValidator); aFactory->registerValidator("SketchPlugin_ThirdPointValidator", @@ -106,6 +133,9 @@ SketchPlugin_Plugin::SketchPlugin_Plugin() new SketchPlugin_ArcEndPointValidator); aFactory->registerValidator("SketchPlugin_ArcEndPointIntersectionValidator", new SketchPlugin_ArcEndPointIntersectionValidator); + aFactory->registerValidator("SketchPlugin_HasNoConstraint", new SketchPlugin_HasNoConstraint); + aFactory->registerValidator("SketchPlugin_ReplicationReference", + new SketchPlugin_ReplicationReferenceValidator); // register this plugin ModelAPI_Session::get()->registerPlugin(this); @@ -143,6 +173,19 @@ SketchPlugin_Plugin::SketchPlugin_Plugin() Config_PropManager::registerProp("Visualization", "xy_plane_color", "XY plane color", Config_Prop::Color, XY_PLANE_COLOR); #endif + + Config_PropManager::registerProp(SKETCH_TAB_NAME, "dimension_font", "Dimension font", + Config_Prop::String, "Times-bold"); + std::ostringstream aStream; + aStream << SketcherPrs_Tools::getDefaultTextHeight(); + + Config_PropManager::registerProp(SKETCH_TAB_NAME, "dimension_value_size", + "Dimension value size", Config_Prop::Integer, aStream.str()); + aStream.str(""); + aStream.clear(); + aStream << SketcherPrs_Tools::getDefaultArrowSize(); + Config_PropManager::registerProp(SKETCH_TAB_NAME, "dimension_arrow_size", + "Dimension arrow size", Config_Prop::Integer, aStream.str()); } FeaturePtr SketchPlugin_Plugin::createFeature(std::string theFeatureID) @@ -167,6 +210,10 @@ FeaturePtr SketchPlugin_Plugin::createFeature(std::string theFeatureID) return FeaturePtr(new SketchPlugin_ConstraintCollinear); } else if (theFeatureID == SketchPlugin_ConstraintDistance::ID()) { return FeaturePtr(new SketchPlugin_ConstraintDistance); + } else if (theFeatureID == SketchPlugin_ConstraintDistanceHorizontal::ID()) { + return FeaturePtr(new SketchPlugin_ConstraintDistanceHorizontal); + } else if (theFeatureID == SketchPlugin_ConstraintDistanceVertical::ID()) { + return FeaturePtr(new SketchPlugin_ConstraintDistanceVertical); } else if (theFeatureID == SketchPlugin_ConstraintLength::ID()) { return FeaturePtr(new SketchPlugin_ConstraintLength); } else if (theFeatureID == SketchPlugin_ConstraintParallel::ID()) { @@ -191,20 +238,24 @@ FeaturePtr SketchPlugin_Plugin::createFeature(std::string theFeatureID) return FeaturePtr(new SketchPlugin_ConstraintMirror); } else if (theFeatureID == SketchPlugin_Fillet::ID()) { return FeaturePtr(new SketchPlugin_Fillet); - } else if (theFeatureID == SketchPlugin_ConstraintSplit::ID()) { - return FeaturePtr(new SketchPlugin_ConstraintSplit); } else if (theFeatureID == SketchPlugin_MultiTranslation::ID()) { return FeaturePtr(new SketchPlugin_MultiTranslation); } else if (theFeatureID == SketchPlugin_MultiRotation::ID()) { return FeaturePtr(new SketchPlugin_MultiRotation); } else if (theFeatureID == SketchPlugin_ConstraintAngle::ID()) { return FeaturePtr(new SketchPlugin_ConstraintAngle); + } else if (theFeatureID == SketchPlugin_Split::ID()) { + return FeaturePtr(new SketchPlugin_Split); } else if (theFeatureID == SketchPlugin_Trim::ID()) { return FeaturePtr(new SketchPlugin_Trim); } else if (theFeatureID == SketchPlugin_MacroArc::ID()) { return FeaturePtr(new SketchPlugin_MacroArc); } else if (theFeatureID == SketchPlugin_MacroCircle::ID()) { return FeaturePtr(new SketchPlugin_MacroCircle); + } else if (theFeatureID == SketchPlugin_Ellipse::ID()) { + return FeaturePtr(new SketchPlugin_Ellipse); + } else if (theFeatureID == SketchPlugin_MacroEllipse::ID()) { + return FeaturePtr(new SketchPlugin_MacroEllipse); } // feature of such kind is not found return FeaturePtr(); @@ -247,6 +298,7 @@ std::shared_ptr SketchPlugin_Plugin aMsg->setState(SketchPlugin_Line::ID(), aHasSketchPlane); aMsg->setState(SketchPlugin_Circle::ID(), aHasSketchPlane); aMsg->setState(SketchPlugin_Arc::ID(), aHasSketchPlane); + aMsg->setState(SketchPlugin_Ellipse::ID(), aHasSketchPlane); aMsg->setState(SketchPlugin_Projection::ID(), aHasSketchPlane); aMsg->setState(SketchPlugin_ConstraintCoincidence::ID(), aHasSketchPlane); aMsg->setState(SketchPlugin_ConstraintCollinear::ID(), aHasSketchPlane); @@ -263,13 +315,15 @@ std::shared_ptr SketchPlugin_Plugin aMsg->setState(SketchPlugin_ConstraintMiddle::ID(), aHasSketchPlane); aMsg->setState(SketchPlugin_ConstraintMirror::ID(), aHasSketchPlane); aMsg->setState(SketchPlugin_Fillet::ID(), aHasSketchPlane); - aMsg->setState(SketchPlugin_ConstraintSplit::ID(), aHasSketchPlane); aMsg->setState(SketchPlugin_ConstraintAngle::ID(), aHasSketchPlane); aMsg->setState(SketchPlugin_MultiRotation::ID(), aHasSketchPlane); aMsg->setState(SketchPlugin_MultiTranslation::ID(), aHasSketchPlane); + aMsg->setState(SketchPlugin_Split::ID(), aHasSketchPlane); aMsg->setState(SketchPlugin_Trim::ID(), aHasSketchPlane); aMsg->setState(SketchPlugin_MacroArc::ID(), aHasSketchPlane); aMsg->setState(SketchPlugin_MacroCircle::ID(), aHasSketchPlane); + aMsg->setState(SketchPlugin_ConstraintDistanceHorizontal::ID(), aHasSketchPlane); + aMsg->setState(SketchPlugin_ConstraintDistanceVertical::ID(), aHasSketchPlane); // SketchRectangle is a python feature, so its ID is passed just as a string aMsg->setState("SketchRectangle", aHasSketchPlane); }