Salome HOME
projects
/
modules
/
shaper.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Issue #1502 Select sub-solids in viewer : set selection priority for the owner less...
[modules/shaper.git]
/
src
/
SketchPlugin
/
SketchPlugin_ConstraintDistance.h
diff --git
a/src/SketchPlugin/SketchPlugin_ConstraintDistance.h
b/src/SketchPlugin/SketchPlugin_ConstraintDistance.h
index e633e9fe42e391b5b8b6f63d9aa6ae76757e9092..ef9e3eb1a506e6eaaa98a944130b628fcb7f9c7d 100644
(file)
--- a/
src/SketchPlugin/SketchPlugin_ConstraintDistance.h
+++ b/
src/SketchPlugin/SketchPlugin_ConstraintDistance.h
@@
-1,50
+1,80
@@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
+
// File: SketchPlugin_ConstraintDistance.h
// Created: 23 May 2014
// Author: Artem ZHIDKOV
// File: SketchPlugin_ConstraintDistance.h
// Created: 23 May 2014
// Author: Artem ZHIDKOV
-#ifndef SketchPlugin_ConstraintDistance_H
eaderFile
-#define SketchPlugin_ConstraintDistance_H
eaderFile
+#ifndef SketchPlugin_ConstraintDistance_H
_
+#define SketchPlugin_ConstraintDistance_H
_
#include "SketchPlugin.h"
#include "SketchPlugin.h"
-#include "SketchPlugin_Constraint.h"
-#include <SketchPlugin_Sketch.h>
+#include "SketchPlugin_ConstraintBase.h"
+#include "SketchPlugin_Sketch.h"
+#include "ModelAPI_Data.h"
+
+#include <GeomAPI_ICustomPrs.h>
+
#include <list>
#include <list>
-/// Distance constraint kind
-c
onst std::string SKETCH_CONSTRAINT_DISTANCE_KIND("SketchConstraintDistance")
;
+class SketchPlugin_Line;
+c
lass GeomDataAPI_Point2D
;
/** \class SketchPlugin_ConstraintDistance
/** \class SketchPlugin_ConstraintDistance
- * \ingroup
DataModel
+ * \ingroup
Plugins
* \brief Feature for creation of a new constraint which defines a distance
* between a point and another feature (point, line, plane or face)
*
* \brief Feature for creation of a new constraint which defines a distance
* between a point and another feature (point, line, plane or face)
*
- * Th
ese
constraint has three attributes:
- *
CONSTRAINT_ATTR_VALUE, CONSTRAINT_ATTR_ENTITY_A and CONSTRAINT_ATTR_ENTITY_B
+ * Th
is
constraint has three attributes:
+ *
SketchPlugin_Constraint::VALUE(), SketchPlugin_Constraint::ENTITY_A() and SketchPlugin_Constraint::ENTITY_B()
*/
*/
-class SketchPlugin_ConstraintDistance
: public SketchPlugin_Constraint
+class SketchPlugin_ConstraintDistance
: public SketchPlugin_ConstraintBase
{
{
-public:
+ public:
+ /// Distance constraint kind
+ inline static const std::string& ID()
+ {
+ static const std::string MY_CONSTRAINT_DISTANCE_ID("SketchConstraintDistance");
+ return MY_CONSTRAINT_DISTANCE_ID;
+ }
+
/// \brief Returns the kind of a feature
/// \brief Returns the kind of a feature
- SKETCHPLUGIN_EXPORT virtual const std::string& getKind()
- {static std::string MY_KIND = SKETCH_CONSTRAINT_DISTANCE_KIND; return MY_KIND;}
+ SKETCHPLUGIN_EXPORT virtual const std::string& getKind()
+ {
+ static std::string MY_KIND = SketchPlugin_ConstraintDistance::ID();
+ return MY_KIND;
+ }
/// \brief Creates a new part document if needed
/// \brief Creates a new part document if needed
- SKETCHPLUGIN_EXPORT virtual void execute(
boost::shared_ptr<ModelAPI_Result>& theResult
);
+ SKETCHPLUGIN_EXPORT virtual void execute();
/// \brief Request for initialization of data model of the feature: adding all attributes
SKETCHPLUGIN_EXPORT virtual void initAttributes();
/// \brief Request for initialization of data model of the feature: adding all attributes
SKETCHPLUGIN_EXPORT virtual void initAttributes();
+ /// Retuns the parameters of color definition in the resources config manager
+ SKETCHPLUGIN_EXPORT virtual void colorConfigInfo(std::string& theSection, std::string& theName,
+ std::string& theDefault);
+
/// Returns the AIS preview
/// Returns the AIS preview
- SKETCHPLUGIN_EXPORT virtual boost::shared_ptr<GeomAPI_AISObject> getAISObject(
- boost::shared_ptr<GeomAPI_AISObject> thePrevious);
+ SKETCHPLUGIN_EXPORT virtual AISObjectPtr getAISObject(AISObjectPtr thePrevious);
/// Moves the feature
/// \param theDeltaX the delta for X coordinate is moved
/// \param theDeltaY the delta for Y coordinate is moved
SKETCHPLUGIN_EXPORT virtual void move(const double theDeltaX, const double theDeltaY);
/// Moves the feature
/// \param theDeltaX the delta for X coordinate is moved
/// \param theDeltaY the delta for Y coordinate is moved
SKETCHPLUGIN_EXPORT virtual void move(const double theDeltaX, const double theDeltaY);
+ /// Called on change of any argument-attribute of this object
+ /// \param theID identifier of changed attribute
+ SKETCHPLUGIN_EXPORT virtual void attributeChanged(const std::string& theID);
+
/// \brief Use plugin manager for features creation
SketchPlugin_ConstraintDistance();
/// \brief Use plugin manager for features creation
SketchPlugin_ConstraintDistance();
+
+protected:
+ /// Returns the current distance between the feature attributes
+ double calculateCurrentDistance();
+
+private:
+ bool myFlyoutUpdate; ///< to avoid cyclic dependencies on automatic updates of flyout point
};
#endif
};
#endif