]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Avoid duplication of validators
authorvsv <vitaly.smetannikov@opencascade.com>
Thu, 5 Mar 2015 14:52:36 +0000 (17:52 +0300)
committervsv <vitaly.smetannikov@opencascade.com>
Thu, 5 Mar 2015 14:52:36 +0000 (17:52 +0300)
src/SketchPlugin/SketchPlugin_Plugin.cpp
src/SketchPlugin/SketchPlugin_Validators.cpp
src/SketchPlugin/SketchPlugin_Validators.h
src/SketchPlugin/plugin-Sketch.xml

index aeaba71c8199b8553d928c49b616de542fe7f333..88f062b69fb069f6c5aa1d797bf413070123b8e1 100644 (file)
@@ -46,8 +46,8 @@ SketchPlugin_Plugin::SketchPlugin_Plugin()
   ModelAPI_ValidatorsFactory* aFactory = aMgr->validators();
   aFactory->registerValidator("SketchPlugin_DistanceAttr",
                               new SketchPlugin_DistanceAttrValidator);  
-  aFactory->registerValidator("SketchPlugin_DifferentObjects",
-                              new SketchPlugin_DifferentObjectsValidator);
+  //aFactory->registerValidator("SketchPlugin_DifferentObjects",
+  //                            new SketchPlugin_DifferentObjectsValidator);
   aFactory->registerValidator("SketchPlugin_ResultPoint", new SketchPlugin_ResultPointValidator);
   aFactory->registerValidator("SketchPlugin_ResultLine", new SketchPlugin_ResultLineValidator);
   aFactory->registerValidator("SketchPlugin_ResultArc", new SketchPlugin_ResultArcValidator);
index 29bdf3c27310df0ba7abadc7ca882ea353ef4f85..1fcac300d526f2fdaedf7b1e180de44e4baf9145 100644 (file)
@@ -57,64 +57,64 @@ bool SketchPlugin_DistanceAttrValidator::isValid(const FeaturePtr& theFeature,
   return isValid(theAttribute, theArguments);
 }
 
-bool SketchPlugin_DifferentObjectsValidator::isValid(const FeaturePtr& theFeature,
-                                                 const std::list<std::string>& theArguments,
-                                                 const ObjectPtr& theObject) const
-{
-  std::list<std::shared_ptr<ModelAPI_Attribute> > anAttrs = 
-    theFeature->data()->attributes(ModelAPI_AttributeRefAttr::type());
-  std::list<std::shared_ptr<ModelAPI_Attribute> >::iterator anAttr = anAttrs.begin();
-  for(; anAttr != anAttrs.end(); anAttr++) {
-    if (*anAttr) {
-      std::shared_ptr<ModelAPI_AttributeRefAttr> aRef = 
-        std::dynamic_pointer_cast<ModelAPI_AttributeRefAttr>(*anAttr);
-      // check the object is already presented
-      if (aRef->isObject() && aRef->object() == theObject)
-        return false;
-    }
-  }
-  return true;
-}
+//bool SketchPlugin_DifferentObjectsValidator::isValid(const FeaturePtr& theFeature,
+//                                                 const std::list<std::string>& theArguments,
+//                                                 const ObjectPtr& theObject) const
+//{
+//  std::list<std::shared_ptr<ModelAPI_Attribute> > anAttrs = 
+//    theFeature->data()->attributes(ModelAPI_AttributeRefAttr::type());
+//  std::list<std::shared_ptr<ModelAPI_Attribute> >::iterator anAttr = anAttrs.begin();
+//  for(; anAttr != anAttrs.end(); anAttr++) {
+//    if (*anAttr) {
+//      std::shared_ptr<ModelAPI_AttributeRefAttr> aRef = 
+//        std::dynamic_pointer_cast<ModelAPI_AttributeRefAttr>(*anAttr);
+//      // check the object is already presented
+//      if (aRef->isObject() && aRef->object() == theObject)
+//        return false;
+//    }
+//  }
+//  return true;
+//}
 
-bool SketchPlugin_DifferentObjectsValidator::isValid(
-  const AttributePtr& theAttribute, const std::list<std::string>& theArguments ) const
-{
-  std::shared_ptr<ModelAPI_AttributeRefAttr> anOrigAttr = 
-    std::dynamic_pointer_cast<ModelAPI_AttributeRefAttr>(theAttribute);
-  if (anOrigAttr && anOrigAttr->isObject()) {
-    const ObjectPtr& anObj = theAttribute->owner();
-    const FeaturePtr aFeature = std::dynamic_pointer_cast<ModelAPI_Feature>(anObj);
+//bool SketchPlugin_DifferentObjectsValidator::isValid(
+//  const AttributePtr& theAttribute, const std::list<std::string>& theArguments ) const
+//{
+//  std::shared_ptr<ModelAPI_AttributeRefAttr> anOrigAttr = 
+//    std::dynamic_pointer_cast<ModelAPI_AttributeRefAttr>(theAttribute);
+//  if (anOrigAttr && anOrigAttr->isObject()) {
+//    const ObjectPtr& anObj = theAttribute->owner();
+//    const FeaturePtr aFeature = std::dynamic_pointer_cast<ModelAPI_Feature>(anObj);
+//
+//    std::list<std::shared_ptr<ModelAPI_Attribute> > anAttrs = 
+//      aFeature->data()->attributes(ModelAPI_AttributeRefAttr::type());
+//    std::list<std::shared_ptr<ModelAPI_Attribute> >::iterator anAttr = anAttrs.begin();
+//    for(; anAttr != anAttrs.end(); anAttr++) {
+//      if (*anAttr && *anAttr != theAttribute) {
+//        std::shared_ptr<ModelAPI_AttributeRefAttr> aRef = 
+//          std::dynamic_pointer_cast<ModelAPI_AttributeRefAttr>(*anAttr);
+//        // check the object is already presented
+//        if (aRef->isObject() && aRef->object() == anOrigAttr->object())
+//          return false;
+//      }
+//    }
+//  }
+//  return true;
+//}
 
-    std::list<std::shared_ptr<ModelAPI_Attribute> > anAttrs = 
-      aFeature->data()->attributes(ModelAPI_AttributeRefAttr::type());
-    std::list<std::shared_ptr<ModelAPI_Attribute> >::iterator anAttr = anAttrs.begin();
-    for(; anAttr != anAttrs.end(); anAttr++) {
-      if (*anAttr && *anAttr != theAttribute) {
-        std::shared_ptr<ModelAPI_AttributeRefAttr> aRef = 
-          std::dynamic_pointer_cast<ModelAPI_AttributeRefAttr>(*anAttr);
-        // check the object is already presented
-        if (aRef->isObject() && aRef->object() == anOrigAttr->object())
-          return false;
-      }
-    }
-  }
-  return true;
-}
-
-bool SketchPlugin_DifferentObjectsValidator::isValid(const FeaturePtr& theFeature,
-  const std::list<std::string>& theArguments, const AttributePtr& theAttribute) const
-{
-  std::list<std::shared_ptr<ModelAPI_Attribute> > anAttrs = 
-    theFeature->data()->attributes(ModelAPI_AttributeRefAttr::type());
-  std::list<std::shared_ptr<ModelAPI_Attribute> >::iterator anAttr = anAttrs.begin();
-  for(; anAttr != anAttrs.end(); anAttr++) {
-    if (*anAttr) {
-      std::shared_ptr<ModelAPI_AttributeRefAttr> aRef = 
-        std::dynamic_pointer_cast<ModelAPI_AttributeRefAttr>(*anAttr);
-      // check the object is already presented
-      if (!aRef->isObject() && aRef->attr() == theAttribute)
-        return false;
-    }
-  }
-  return true;
-}
+//bool SketchPlugin_DifferentObjectsValidator::isValid(const FeaturePtr& theFeature,
+//  const std::list<std::string>& theArguments, const AttributePtr& theAttribute) const
+//{
+//  std::list<std::shared_ptr<ModelAPI_Attribute> > anAttrs = 
+//    theFeature->data()->attributes(ModelAPI_AttributeRefAttr::type());
+//  std::list<std::shared_ptr<ModelAPI_Attribute> >::iterator anAttr = anAttrs.begin();
+//  for(; anAttr != anAttrs.end(); anAttr++) {
+//    if (*anAttr) {
+//      std::shared_ptr<ModelAPI_AttributeRefAttr> aRef = 
+//        std::dynamic_pointer_cast<ModelAPI_AttributeRefAttr>(*anAttr);
+//      // check the object is already presented
+//      if (!aRef->isObject() && aRef->attr() == theAttribute)
+//        return false;
+//    }
+//  }
+//  return true;
+//}
index d6368a1eb3e30ba13697582c7c57f30a34187993..61553fea865450b327c40cd3b312ce6bd17d065b 100644 (file)
@@ -39,20 +39,21 @@ class SketchPlugin_DistanceAttrValidator : public ModelAPI_RefAttrValidator
  * Check that there is no same object was already selected in the feature.
  * For an example: to avoid perpendicularity on line and the same line.
  */
-class SketchPlugin_DifferentObjectsValidator : public ModelAPI_RefAttrValidator
-{
- public:
-  //! returns true if attribute is valid
-  //! \param theAttribute the checked attribute
-  //! \param theArguments arguments of the attribute
-  virtual bool isValid(
-    const AttributePtr& theAttribute, const std::list<std::string>& theArguments) const;
-  //! Returns true if object is good for the feature attribute
-  virtual bool isValid(const FeaturePtr& theFeature, const std::list<std::string>& theArguments,
-                       const ObjectPtr& theObject) const;
-  //! Returns true if the attribute is good for the feature attribute
-  virtual bool isValid(const FeaturePtr& theFeature, const std::list<std::string>& theArguments,
-                       const AttributePtr& theAttribute) const;
-};
+// Use PartSet_DifferentObjectsValidator
+//class SketchPlugin_DifferentObjectsValidator : public ModelAPI_RefAttrValidator
+//{
+// public:
+//  //! returns true if attribute is valid
+//  //! \param theAttribute the checked attribute
+//  //! \param theArguments arguments of the attribute
+//  virtual bool isValid(
+//    const AttributePtr& theAttribute, const std::list<std::string>& theArguments) const;
+//  //! Returns true if object is good for the feature attribute
+//  virtual bool isValid(const FeaturePtr& theFeature, const std::list<std::string>& theArguments,
+//                       const ObjectPtr& theObject) const;
+//  //! Returns true if the attribute is good for the feature attribute
+//  virtual bool isValid(const FeaturePtr& theFeature, const std::list<std::string>& theArguments,
+//                       const AttributePtr& theAttribute) const;
+//};
 
 #endif
index ff6c30559b749debe6de24c602257285d68b6ac3..9eb94b38ff2f2fa300e0c0d0a16e4beedfc10f46 100644 (file)
@@ -60,7 +60,7 @@
           label="Last object" 
           tooltip="Select point, line end point, line, center of circle or arc." 
                 shape_types="edge vertex">
-          <validator id="SketchPlugin_DifferentObjects"/>
+          <validator id="PartSet_DifferentObjects"/>
           <validator id="SketchPlugin_DistanceAttr" parameters="ConstraintEntityA"/>
           <validator id="SketchPlugin_ShapeValidator" parameters="ConstraintEntityB"/>
           <selection_filter id="MultiFilter" parameters="line,vertex"/>
         <sketch_constraint_shape_selector id="ConstraintEntityB" label="Last line" tooltip="Select a line" 
             shape_types="edge">
             <selection_filter id="EdgeFilter" parameters="line"/>
-            <validator id="SketchPlugin_DifferentObjects"/>
+            <validator id="PartSet_DifferentObjects"/>
             <validator id="SketchPlugin_ShapeValidator" parameters="ConstraintEntityA"/>
         </sketch_constraint_shape_selector>
         
         <sketch_constraint_shape_selector id="ConstraintEntityB" 
             label="Last line" tooltip="Select an line" 
             shape_types="edge">
-            <validator id="SketchPlugin_DifferentObjects"/>
+            <validator id="PartSet_DifferentObjects"/>
           <validator id="SketchPlugin_ShapeValidator" parameters="ConstraintEntityA"/>
           <selection_filter id="EdgeFilter" parameters="line"/>
     </sketch_constraint_shape_selector>