X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketcherPrs%2FSketcherPrs_Tools.h;h=33254fd1804c8587cea1560cae52f16147dd5c7d;hb=ca95b8880b63f9998cb09d3ea7d91716f3ea4390;hp=33111fa88fa36e64098e6d324eba4767038a4b00;hpb=2532fb2df83ee1ddd9ff3e8b381d3788eaa15b69;p=modules%2Fshaper.git diff --git a/src/SketcherPrs/SketcherPrs_Tools.h b/src/SketcherPrs/SketcherPrs_Tools.h index 33111fa88..33254fd18 100644 --- a/src/SketcherPrs/SketcherPrs_Tools.h +++ b/src/SketcherPrs/SketcherPrs_Tools.h @@ -1,4 +1,4 @@ -// Copyright (C) 2014-2017 CEA/DEN, EDF R&D +// Copyright (C) 2014-2020 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 @@ -12,9 +12,9 @@ // // 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 +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // #ifndef SketcherPrs_Tools_H @@ -27,49 +27,29 @@ #include #include #include +#include +#include #include #include #include class GeomDataAPI_Point2D; -class AIS_Dimension; -//#define MyTextHeight 20 +namespace SketcherPrs_Tools { -/// Message that style of visualization of parameter is changed. -/// It will be shown as expression or value -class SketcherPrs_ParameterStyleMessage : public Events_Message -{ -public: /// \enum ParameterStyle lists styles of parameter enum ParameterStyle { ParameterValue, ///< using symbol with the parameter value ParameterText ///< using parameter text }; -public: - /// Creates an empty message - SKETCHERPRS_EXPORT SketcherPrs_ParameterStyleMessage(const Events_ID theID, - const void* theSender = 0) - : Events_Message(theID, theSender) {} - /// The virtual destructor - SKETCHERPRS_EXPORT virtual ~SketcherPrs_ParameterStyleMessage() {} - /// Static. Returns EventID of the message. - SKETCHERPRS_EXPORT static Events_ID eventId() - { - static const char * MY_EVENT_PARAMETER_STYLE_ID("ParameterStyle"); - return Events_Loop::eventByName(MY_EVENT_PARAMETER_STYLE_ID); - } - /// Returns a document stored in the message - SKETCHERPRS_EXPORT ParameterStyle style() const { return myStyle; } - /// Sets a document to the message - SKETCHERPRS_EXPORT void setStyle(ParameterStyle theStyle) { myStyle = theStyle; } -private: - ParameterStyle myStyle; /// style of the parameter visualization -}; + /// Set dimensions parameters style + /// \param theStyle new style + SKETCHERPRS_EXPORT void setParameterStyle(ParameterStyle theStyle); -namespace SketcherPrs_Tools { + /// Return dimensions parameters style + SKETCHERPRS_EXPORT ParameterStyle parameterStyle(); /// Enumeration with modes for activation of selection custom presentations enum SelectionModes { @@ -102,6 +82,13 @@ namespace SketcherPrs_Tools { ANGLE_BACKWARD ///< Angle from the second line to the first line }; + /// Type of dimension location + enum LocationType{ + LOCATION_RIGHT, ///< Position is marked by right arrow placed on the left + LOCATION_AUTOMATIC, ///< Position is marked by two arrow placed on the both sides + LOCATION_LEFT ///< Position is marked by left arrow placed on the left + }; + /// Event ID about expression visual state has been changed, the symbol with a digit /// or parameter text is shown @@ -147,6 +134,11 @@ namespace SketcherPrs_Tools { const std::string& theAttribute, const std::shared_ptr& thePlane); + /// Collect all sketch points which are not connected with other entities. + /// \param theSketch sketch feature + /// \return list of results of SketchPlugin_Point features + SKETCHERPRS_EXPORT std::list getFreePoints(const CompositeFeaturePtr& theSketch); + /// Returns value of dimension arrows size SKETCHERPRS_EXPORT double getArrowSize(); @@ -157,6 +149,9 @@ namespace SketcherPrs_Tools { /// Returns default value of dimension arrows size SKETCHERPRS_EXPORT int getDefaultArrowSize(); + /// Returns value of dimension arrows size set in preferences + SKETCHERPRS_EXPORT int getConfigArrowSize(); + /// Set value of dimension text height /// \param theHeight a height value SKETCHERPRS_EXPORT void setTextHeight(double theHeight); @@ -167,6 +162,9 @@ namespace SketcherPrs_Tools { /// Returns default value of dimension text height SKETCHERPRS_EXPORT double getDefaultTextHeight(); + /// Returns value of dimension text height set in preferences + SKETCHERPRS_EXPORT double getConfigTextHeight(); + /// Get flayout distance of the dimension constraint /// \param theConstraint a dimension constraint object SKETCHERPRS_EXPORT double getFlyoutDistance(const ModelAPI_Feature* theConstraint); @@ -176,16 +174,15 @@ namespace SketcherPrs_Tools { const ModelAPI_Feature* theConstraint, const std::shared_ptr& thePlane); - /// Sends event about expression visualization type is changed for dimension presentations - /// Sends event to redisplay all sub-features of composite feature - /// \param theState a new state - SKETCHERPRS_EXPORT void sendExpressionShownEvent(const bool& theState); - /// Throws an exception(in debug mode) and sends a signal about necessity to hide the object /// \param theFeature a feature where AIS presentation is empty /// \param theError a debug error information SKETCHERPRS_EXPORT void sendEmptyPresentationError(ModelAPI_Feature* theFeature, const std::string theError); + + SKETCHERPRS_EXPORT void setPixelRatio(int theRatio); + + SKETCHERPRS_EXPORT int pixelRatio(); }; #endif