X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchPlugin%2FSketchPlugin_ConstraintRigid.cpp;h=fe5453aa4e8dd0bb2a6d5b76c85f1ea07d9034d8;hb=5c13fa0e68725babdd09541b028c186896e27b4f;hp=c9763327e2b6f23f97452473eef478a45c902b2a;hpb=29083ee3765ce3f564eb4fa6c93620084acfb067;p=modules%2Fshaper.git diff --git a/src/SketchPlugin/SketchPlugin_ConstraintRigid.cpp b/src/SketchPlugin/SketchPlugin_ConstraintRigid.cpp index c9763327e..fe5453aa4 100644 --- a/src/SketchPlugin/SketchPlugin_ConstraintRigid.cpp +++ b/src/SketchPlugin/SketchPlugin_ConstraintRigid.cpp @@ -1,10 +1,20 @@ +// Copyright (C) 2014-20xx CEA/DEN, EDF R&D --> + // File: SketchPlugin_ConstraintRigid.cpp // Created: 13 Oct 2014 // Author: Artem ZHIDKOV #include "SketchPlugin_ConstraintRigid.h" +#include "SketchPlugin_ConstraintParallel.h" +#include "SketchPlugin_Feature.h" + +#include #include +#include + +#include +#include SketchPlugin_ConstraintRigid::SketchPlugin_ConstraintRigid() { @@ -12,7 +22,7 @@ SketchPlugin_ConstraintRigid::SketchPlugin_ConstraintRigid() void SketchPlugin_ConstraintRigid::initAttributes() { - data()->addAttribute(SketchPlugin_Constraint::ENTITY_A(), ModelAPI_AttributeRefAttr::type()); + data()->addAttribute(SketchPlugin_Constraint::ENTITY_A(), ModelAPI_AttributeRefAttr::typeId()); } void SketchPlugin_ConstraintRigid::execute() @@ -23,32 +33,5 @@ AISObjectPtr SketchPlugin_ConstraintRigid::getAISObject(AISObjectPtr thePrevious { if (!sketch()) return thePrevious; - - boost::shared_ptr aData = data(); - boost::shared_ptr anAttr = boost::dynamic_pointer_cast< - ModelAPI_AttributeRefAttr>(aData->attribute(SketchPlugin_Constraint::ENTITY_A())); - if (!anAttr || !anAttr->isObject()) - return thePrevious; - - boost::shared_ptr aConst = - boost::dynamic_pointer_cast(anAttr->object()); - if (!aConst) - return thePrevious; - - boost::shared_ptr aShape; - aShape = aConst->shape(); - - AISObjectPtr anAIS = thePrevious; - if (!anAIS) - anAIS = AISObjectPtr(new GeomAPI_AISObject); - - boost::shared_ptr aPlane = sketch()->plane(); - anAIS->createFixed(aShape, aPlane); - - // Set color from preferences - //std::vector aRGB = Config_PropManager::color("Visualization", "perpendicular_color", - // PERPENDICULAR_COLOR); - //anAIS->setColor(aRGB[0], aRGB[1], aRGB[2]); - - return anAIS; + return SketcherPrs_Factory::rigidConstraint(this, sketch()->coordinatePlane(), thePrevious); } \ No newline at end of file