X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchPlugin%2FSketchPlugin_MultiTranslation.cpp;h=71eca57ca89f10927d685525d7996c18a3e12c82;hb=61cd0845b41710ad4e7eae07cc6106904be67b9f;hp=e7b850ec214c9ba4bdcd6a435ce363bad2874b90;hpb=561727ada1614fb2cf4b863b846cd9831344a616;p=modules%2Fshaper.git diff --git a/src/SketchPlugin/SketchPlugin_MultiTranslation.cpp b/src/SketchPlugin/SketchPlugin_MultiTranslation.cpp index e7b850ec2..71eca57ca 100644 --- a/src/SketchPlugin/SketchPlugin_MultiTranslation.cpp +++ b/src/SketchPlugin/SketchPlugin_MultiTranslation.cpp @@ -18,6 +18,8 @@ #include #include +#include + SketchPlugin_MultiTranslation::SketchPlugin_MultiTranslation() { } @@ -26,7 +28,7 @@ void SketchPlugin_MultiTranslation::initAttributes() { data()->addAttribute(START_POINT_ID(), GeomDataAPI_Point2D::typeId()); data()->addAttribute(END_POINT_ID(), GeomDataAPI_Point2D::typeId()); - data()->addAttribute(NUMBER_OF_COPIES_ID(), ModelAPI_AttributeDouble::typeId()/*ModelAPI_AttributeInteger::typeId()*/); + data()->addAttribute(NUMBER_OF_COPIES_ID(), ModelAPI_AttributeInteger::typeId()); data()->addAttribute(SketchPlugin_Constraint::ENTITY_A(), ModelAPI_AttributeRefList::typeId()); data()->addAttribute(SketchPlugin_Constraint::ENTITY_B(), ModelAPI_AttributeRefList::typeId()); AttributeSelectionListPtr aSelection = @@ -40,8 +42,7 @@ void SketchPlugin_MultiTranslation::initAttributes() void SketchPlugin_MultiTranslation::execute() { AttributeSelectionListPtr aTranslationObjectRefs = selectionList(TRANSLATION_LIST_ID()); - int aNbCopies = (int)(std::dynamic_pointer_cast( - attribute(NUMBER_OF_COPIES_ID()))->value()); + int aNbCopies = integer(NUMBER_OF_COPIES_ID())->value(); // Calculate shift vector std::shared_ptr aStart = std::dynamic_pointer_cast( @@ -50,6 +51,11 @@ void SketchPlugin_MultiTranslation::execute() attribute(END_POINT_ID())); if (!aStart || !aEnd || !aStart->isInitialized() || !aEnd->isInitialized()) return; + + // make a visible points + SketchPlugin_Sketch::createPoint2DResult(this, sketch(), START_POINT_ID(), 0); + SketchPlugin_Sketch::createPoint2DResult(this, sketch(), END_POINT_ID(), 1); + std::shared_ptr aShiftVec(new GeomAPI_XY(aEnd->x() - aStart->x(), aEnd->y() - aStart->y())); // Wait all objects being created, then send update events @@ -174,8 +180,7 @@ AISObjectPtr SketchPlugin_MultiTranslation::getAISObject(AISObjectPtr thePreviou AISObjectPtr anAIS = thePrevious; if (!anAIS) { -// TODO: -// anAIS = SketcherPrs_Factory::mirrorConstraint(this, sketch()->coordinatePlane()); + anAIS = SketcherPrs_Factory::translateConstraint(this, sketch()->coordinatePlane()); } return anAIS; } @@ -208,3 +213,4 @@ ObjectPtr SketchPlugin_MultiTranslation::copyFeature(ObjectPtr theObject) } return ObjectPtr(); } +