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;
+//}
* 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
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>