X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketcherPrs%2FSketcherPrs_Tools.h;h=f119a302771ea11f6eb83423bf53013ff24ab340;hb=424c919fb1637e2f26d32ffba6ff6dc513a779b5;hp=cfc15dbfc6c06cb1dcc2c4cc9be00870963739e6;hpb=a8cfbfb436c27ff96edd5c808e9a452c35cef207;p=modules%2Fshaper.git diff --git a/src/SketcherPrs/SketcherPrs_Tools.h b/src/SketcherPrs/SketcherPrs_Tools.h index cfc15dbfc..f119a3027 100644 --- a/src/SketcherPrs/SketcherPrs_Tools.h +++ b/src/SketcherPrs/SketcherPrs_Tools.h @@ -1,8 +1,22 @@ -// Copyright (C) 2014-20xx CEA/DEN, EDF R&D - -// File: SketcherPrs_Tools.h -// Created: 10 March 2015 -// Author: Vitaly SMETANNIKOV +// 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 +// #ifndef SketcherPrs_Tools_H #define SketcherPrs_Tools_H @@ -21,11 +35,11 @@ class GeomDataAPI_Point2D; class AIS_Dimension; -class Handle_Prs3d_DimensionAspect; //#define MyTextHeight 20 -/// Message that document (Part, PartSet) was created +/// Message that style of visualization of parameter is changed. +/// It will be shown as expression or value class SketcherPrs_ParameterStyleMessage : public Events_Message { public: @@ -61,14 +75,14 @@ namespace SketcherPrs_Tools { /// Enumeration with modes for activation of selection custom presentations enum SelectionModes { /// Start of enumeration - Sel_Mode_First = 100, - + Sel_Mode_First = 100, + /// Selection mode for all constraints exclude dimensions Sel_Constraint, - + /// Selection mode for whole dimension Sel_Dimension_All, - + /// Selection mode for line of dimension Sel_Dimension_Line, @@ -89,6 +103,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 @@ -131,8 +152,8 @@ namespace SketcherPrs_Tools { /// \param theAttribute an attribute name /// \param thePlane a projection plane (sketcher plane) SKETCHERPRS_EXPORT std::shared_ptr getFeaturePoint(DataPtr theData, - const std::string& theAttribute, - const std::shared_ptr& thePlane); + const std::string& theAttribute, + const std::shared_ptr& thePlane); /// Returns value of dimension arrows size SKETCHERPRS_EXPORT double getArrowSize(); @@ -144,6 +165,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); @@ -154,6 +178,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); @@ -163,36 +190,11 @@ namespace SketcherPrs_Tools { const ModelAPI_Feature* theConstraint, const std::shared_ptr& thePlane); - /// Display/hide sigma symbol in the dimension presentation - /// \param theDimension a dimension constraint - /// \param theToDisplay a boolean value - SKETCHERPRS_EXPORT void setDisplaySpecialSymbol(AIS_Dimension* theDimension, - const bool& theToDisplay); - - /// Display the parameter value instead of dimention digit - /// \param theDimension a dimension constraint - /// \param theParameter a parameter value - /// \param theToDisplay a boolean value - SKETCHERPRS_EXPORT void setDisplayParameter(AIS_Dimension* theDimension, - const std::string& theParameter, - const bool& theToDisplay); - /// 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); - /// Creates an aspect to be shown in length/radius dimension presentations - /// \return an instance of aspect - SKETCHERPRS_EXPORT Handle_Prs3d_DimensionAspect createDimensionAspect(); - - /// Update variable aspect parameters (depending on viewer scale) - /// \param theDimAspect an aspect to be changed - /// \param theDimValue an arrow value - /// \param theTextSize an arrow value - SKETCHERPRS_EXPORT void updateArrows(Handle_Prs3d_DimensionAspect theDimAspect, - double theDimValue, double theTextSize); - /// 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