X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchPlugin%2FSketchPlugin_Feature.cpp;h=da25c09994581e44f9153dc447b05979ad525c63;hb=db01498dd5845ccb8d62912ae09aff5669f51a0e;hp=00c849fc9e1023abf5aa5c6f842c8852a6055722;hpb=80a21be87c81ef61f0842b32e8b2ac7d4359acb4;p=modules%2Fshaper.git diff --git a/src/SketchPlugin/SketchPlugin_Feature.cpp b/src/SketchPlugin/SketchPlugin_Feature.cpp index 00c849fc9..da25c0999 100644 --- a/src/SketchPlugin/SketchPlugin_Feature.cpp +++ b/src/SketchPlugin/SketchPlugin_Feature.cpp @@ -2,40 +2,54 @@ #include "SketchPlugin_Sketch.h" #include #include +#include #include +#include SketchPlugin_Feature::SketchPlugin_Feature() { mySketch = 0; } -void SketchPlugin_Feature::setData(boost::shared_ptr theData) +/* +SketchPlugin_Sketch* SketchPlugin_Feature::sketch() { - ModelAPI_Feature::setData(theData); - - // find sketch that references to this feature - int aSketches = document()->size("Construction"); - for(int a = 0; a < aSketches && !mySketch; a++) { - boost::shared_ptr aSketch = - boost::dynamic_pointer_cast(document()->feature("Construction", a)); - std::list > aList = - aSketch->data()->reflist(SKETCH_ATTR_FEATURES)->list(); - std::list >::iterator aSub = aList.begin(); - for(; aSub != aList.end(); aSub++) { - if ((*aSub)->data()->isEqual(theData)) { - mySketch = aSketch.get(); - break; + if (!mySketch) { + // find sketch that references to this feature + int aSketches = document()->size(ModelAPI_Feature::group()); + for (int a = 0; a < aSketches && !mySketch; a++) { + ObjectPtr anObj = document()->object(ModelAPI_Feature::group(), a); + boost::shared_ptr aSketch = + boost::dynamic_pointer_cast(anObj); + if (aSketch) { + std::list aList = aSketch->data()->reflist(SketchPlugin_Sketch::FEATURES_ID()) + ->list(); + std::list::iterator aSub = aList.begin(); + for (; aSub != aList.end(); aSub++) { + if ((*aSub)->data()->isEqual(data())) { + mySketch = aSketch.get(); + break; + } + } } } } -} + return mySketch; +}*/ -void SketchPlugin_Feature::setPreview(const boost::shared_ptr& theShape) +AISObjectPtr SketchPlugin_Feature::simpleAISObject(boost::shared_ptr theRes, + AISObjectPtr thePrevious) { - myPreview = theShape; -} + boost::shared_ptr aConstr = boost::dynamic_pointer_cast< + ModelAPI_ResultConstruction>(theRes); -const boost::shared_ptr& SketchPlugin_Feature::getPreview() const -{ - return myPreview; + boost::shared_ptr aPreview; + if (aConstr) + aPreview = aConstr->shape(); + + AISObjectPtr aResult = thePrevious; + if (!aResult) + aResult = AISObjectPtr(new GeomAPI_AISObject()); + aResult->createShape(aPreview); + return aResult; }