X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchPlugin%2FSketchPlugin_ConstraintFillet.h;h=b1199bcb89c5f3e3b12aad061884138127cdcc98;hb=eff4b9f47ed1d703c54830b51681eeab7021aaf0;hp=6a1dfa8f09f14b13914dc1d81c594f5eebaa8573;hpb=77ae7df9bc56751ccd47e4ef084451e0ff19cdbc;p=modules%2Fshaper.git diff --git a/src/SketchPlugin/SketchPlugin_ConstraintFillet.h b/src/SketchPlugin/SketchPlugin_ConstraintFillet.h index 6a1dfa8f0..b1199bcb8 100644 --- a/src/SketchPlugin/SketchPlugin_ConstraintFillet.h +++ b/src/SketchPlugin/SketchPlugin_ConstraintFillet.h @@ -25,6 +25,12 @@ class SketchPlugin_ConstraintFillet : public SketchPlugin_ConstraintBase { public: + struct FilletFeatures { + std::list> baseEdgesState; ///< list of objects the fillet is based and its states + std::list resultEdges; ///< list of result edges + std::list resultConstraints; ///< list of constraints provided by the fillet + }; + /// Fillet constraint kind inline static const std::string& ID() { @@ -58,23 +64,22 @@ class SketchPlugin_ConstraintFillet : public SketchPlugin_ConstraintBase /// \brief Use plugin manager for features creation SketchPlugin_ConstraintFillet(); - /// \return base points list; - SKETCHPLUGIN_EXPORT const std::list basePoints() const {return myBasePoints;}; - - /// \return base edges list; - SKETCHPLUGIN_EXPORT const std::list baseEdges() const {return myBaseEdges;}; + /// \return map of base points and features; + SKETCHPLUGIN_EXPORT const std::map pointsFeaturesMap() const { + return myPointFeaturesMap; + }; - /// \return result edges list; - SKETCHPLUGIN_EXPORT const std::list resultEdges() const {return myResultEdges;}; +private: + /// \ Removes all produced features and restore base edges. + void clearResults(); private: - std::list myBasePoints; ///< list of base points - std::list myBaseEdges; ///< list of objects the fillet is based - std::list myResultEdges; ///< list of result edges - std::list myProducedFeatures; ///< list of constraints provided by the fillet + std::set myNewPoints; ///< set of new points + std::map myPointFeaturesMap; ///< map of point and features for fillet bool myListOfPointsChangedInCode; ///< flag to track that list of points changed in code bool myRadiusChangedByUser; ///< flag to track that radius changed by user bool myRadiusChangedInCode; ///< flag to track that radius changed in code + bool myRadiusInitialized; /// < flag to track that radius initialized }; #endif