Salome HOME
Issue #2024: Redesign of circle and arc of circle
[modules/shaper.git] / src / PartSet / PartSet_Tools.cpp
index e7e2458f560fe68c7a118d50c7ec2e6990d1c3b1..37cee3d6771e9b9e6eea108280de8353a0fd1a13 100755 (executable)
@@ -273,114 +273,6 @@ void PartSet_Tools::createConstraint(CompositeFeaturePtr theSketch,
   Events_Loop::loop()->flush(Events_Loop::eventByName(EVENT_OBJECT_CREATED));
 }
 
-/*std::shared_ptr<GeomDataAPI_Point2D> PartSet_Tools::
-  findAttributePoint(CompositeFeaturePtr theSketch, double theX, double theY,
-  double theTolerance, const QList<FeaturePtr>& theIgnore)
-{
-  std::shared_ptr<GeomAPI_Pnt2d> aClickedPoint = std::shared_ptr<GeomAPI_Pnt2d>(
-      new GeomAPI_Pnt2d(theX, theY));
-
-  std::list<std::shared_ptr<ModelAPI_Attribute> > anAttiributes;
-  for (int i = 0; i < theSketch->numberOfSubs(); i++) {
-    FeaturePtr aFeature = theSketch->subFeature(i);
-    if (!theIgnore.contains(aFeature)) {
-      anAttiributes = aFeature->data()->attributes(GeomDataAPI_Point2D::typeId());
-
-      std::list<std::shared_ptr<ModelAPI_Attribute> >::const_iterator anIt;
-      for (anIt = anAttiributes.cbegin(); anIt != anAttiributes.cend(); ++anIt) {
-        std::shared_ptr<GeomDataAPI_Point2D> aCurPoint = 
-          std::dynamic_pointer_cast<GeomDataAPI_Point2D>(*anIt);
-        double x = aCurPoint->x();
-        double y = aCurPoint->y();
-        if (aCurPoint && (aCurPoint->pnt()->distance(aClickedPoint) < theTolerance)) {
-          return aCurPoint;
-        }
-      }
-    }
-  }
-  return std::shared_ptr<GeomDataAPI_Point2D>();
-}*/
-
-
-std::shared_ptr<GeomDataAPI_Point2D> PartSet_Tools::findFirstEqualPointInArgumentFeatures(
-                  const FeaturePtr& theFeature, const std::shared_ptr<GeomAPI_Pnt2d>& thePoint)
-{
-  std::shared_ptr<GeomDataAPI_Point2D> aFeaturePoint;
-
-  // may be feature is not updated yet, execute is not performed and references features
-  // are not created. Case: rectangle macro feature
-  ModuleBase_Tools::flushUpdated(theFeature);
-
-  std::list<AttributePtr> anAttributes = theFeature->data()->attributes(
-                                          ModelAPI_AttributeRefList::typeId());
-  std::list<AttributePtr>::const_iterator anIt = anAttributes.begin(), aLast = anAttributes.end();
-  for (; anIt != aLast && !aFeaturePoint.get(); anIt++) {
-    std::shared_ptr<ModelAPI_AttributeRefList> aCurSelList =
-                                      std::dynamic_pointer_cast<ModelAPI_AttributeRefList>(*anIt);
-    for (int i = 0, aNb = aCurSelList->size(); i < aNb && !aFeaturePoint.get(); i++) {
-      ObjectPtr anObject = aCurSelList->object(i);
-      FeaturePtr aFeature = std::dynamic_pointer_cast<ModelAPI_Feature>(anObject);
-      if (aFeature.get())
-        aFeaturePoint = PartSet_Tools::findFirstEqualPoint(aFeature, thePoint);
-    }
-  }
-  return aFeaturePoint;
-}
-
-std::shared_ptr<GeomDataAPI_Point2D> PartSet_Tools::findFirstEqualPoint(
-                                              const FeaturePtr& theFeature,
-                                              const std::shared_ptr<GeomAPI_Pnt2d>& thePoint)
-{
-  std::shared_ptr<GeomDataAPI_Point2D> aFPoint;
-
-  // find the given point in the feature attributes
-  std::list<std::shared_ptr<ModelAPI_Attribute> > anAttiributes =
-                                    theFeature->data()->attributes(GeomDataAPI_Point2D::typeId());
-  std::list<std::shared_ptr<ModelAPI_Attribute> >::const_iterator anIt = anAttiributes.begin(),
-      aLast = anAttiributes.end();
-  ModelAPI_ValidatorsFactory* aValidators = ModelAPI_Session::get()->validators();
-
-  for (; anIt != aLast && !aFPoint; anIt++) {
-    std::shared_ptr<GeomDataAPI_Point2D> aCurPoint =
-                                             std::dynamic_pointer_cast<GeomDataAPI_Point2D>(*anIt);
-    if (aCurPoint && aCurPoint->isInitialized() &&
-        aValidators->isCase(theFeature, aCurPoint->id()) &&
-        (aCurPoint->pnt()->distance(thePoint) < Precision::Confusion())) {
-      aFPoint = aCurPoint;
-      break;
-    }
-  }
-  return aFPoint;
-}
-
-std::shared_ptr<GeomDataAPI_Point2D> PartSet_Tools::findFirstEqualPointInSketch(
-                                    const CompositeFeaturePtr& theSketch,
-                                    const std::shared_ptr<GeomDataAPI_Point2D>& theFeaturePoint,
-                                    const std::shared_ptr<GeomAPI_Pnt2d>& thePoint)
-{
-  // get all sketch features. If the point with the given coordinates belong to any sketch feature,
-  // the constraint is created between the feature point and the found sketch point
-  std::shared_ptr<ModelAPI_Data> aData = theSketch->data();
-  std::shared_ptr<ModelAPI_AttributeRefList> aRefList = std::dynamic_pointer_cast<
-      ModelAPI_AttributeRefList>(aData->attribute(SketchPlugin_Sketch::FEATURES_ID()));
-
-  std::list<ObjectPtr> aFeatures = aRefList->list();
-  std::list<ObjectPtr>::const_iterator anIt = aFeatures.begin(), aLast = aFeatures.end();
-  std::list<std::shared_ptr<ModelAPI_Attribute> > anAttiributes;
-
-  FeaturePtr aFeatureOfPoint = ModelAPI_Feature::feature(theFeaturePoint->owner());
-  std::shared_ptr<GeomDataAPI_Point2D> aFPoint;
-  for (; anIt != aLast; anIt++) {
-    FeaturePtr aFeature = std::dynamic_pointer_cast<ModelAPI_Feature>(*anIt);
-    if (!aFeature.get() || aFeatureOfPoint == aFeature)
-      continue;
-    aFPoint = PartSet_Tools::findFirstEqualPoint(aFeature, thePoint);
-    if (aFPoint.get())
-      break;
-  }
-  return aFPoint;
-}
-
 std::shared_ptr<GeomAPI_Pln> PartSet_Tools::sketchPlane(CompositeFeaturePtr theSketch)
 {
   std::shared_ptr<GeomAPI_Pln> aPlane;
@@ -491,7 +383,7 @@ ResultPtr PartSet_Tools::createFixedObjectByExternal(const TopoDS_Shape& theShap
         // Create arc
         aMyFeature = theSketch->addFeature(SketchPlugin_Arc::ID());
         if (theShape.Orientation() == TopAbs_REVERSED)
-          aMyFeature->boolean(SketchPlugin_Arc::INVERSED_ID())->setValue(true);
+          aMyFeature->boolean(SketchPlugin_Arc::REVERSED_ID())->setValue(true);
       }
       else {
         // Create circle