X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketchPlugin%2FSketchPlugin_Sketch.cpp;h=9236aa008ae5959a34ba9841cacde849b2d2dc44;hb=a85c123c5bc7c48588a5cd648110d66ae1544f8c;hp=b2541dd8ed20685860f71cf841ec4406d14df8ad;hpb=9d767228fc49cf48bdfe058fa9e9c400c812addd;p=modules%2Fshaper.git diff --git a/src/SketchPlugin/SketchPlugin_Sketch.cpp b/src/SketchPlugin/SketchPlugin_Sketch.cpp index b2541dd8e..9236aa008 100644 --- a/src/SketchPlugin/SketchPlugin_Sketch.cpp +++ b/src/SketchPlugin/SketchPlugin_Sketch.cpp @@ -14,14 +14,10 @@ #include #include +#include using namespace std; -const int SKETCH_PLANE_COLOR = Colors::COLOR_BROWN; /// the plane edge color -const double SKETCH_WIDTH = 4.0; /// the plane edge width -// face of the square-face displayed for selection of general plane -const double PLANE_SIZE = 200; - SketchPlugin_Sketch::SketchPlugin_Sketch() { @@ -138,19 +134,19 @@ void addPlane(double theX, double theY, double theZ, std::list anOrigin(new GeomAPI_Pnt(0, 0, 0)); boost::shared_ptr aNormal(new GeomAPI_Dir(theX, theY, theZ)); + double aSize = Config_PropManager::integer("Sketch definition", "Size of planes", PLANE_SIZE); boost::shared_ptr aFace = - GeomAlgoAPI_FaceBuilder::square(anOrigin, aNormal, PLANE_SIZE); + GeomAlgoAPI_FaceBuilder::square(anOrigin, aNormal, aSize); theShapes.push_back(aFace); } -boost::shared_ptr SketchPlugin_Sketch:: - getAISObject(boost::shared_ptr thePrevious) +AISObjectPtr SketchPlugin_Sketch::getAISObject(AISObjectPtr thePrevious) { boost::shared_ptr aNorm = boost::dynamic_pointer_cast(data()->attribute(SketchPlugin_Sketch::NORM_ID())); if (!aNorm || (aNorm->x() == 0 && aNorm->y() == 0 && aNorm->z() == 0)) { - boost::shared_ptr aAIS = thePrevious; + AISObjectPtr aAIS = thePrevious; if (!aAIS) { std::list > aFaces; @@ -158,25 +154,19 @@ boost::shared_ptr SketchPlugin_Sketch:: addPlane(0, 1, 0, aFaces); // XZ plane addPlane(0, 0, 1, aFaces); // XY plane boost::shared_ptr aCompound = GeomAlgoAPI_CompoundBuilder::compound(aFaces); - aAIS = boost::shared_ptr(new GeomAPI_AISObject()); + aAIS = AISObjectPtr(new GeomAPI_AISObject()); aAIS->createShape(aCompound); - aAIS->setColor(SKETCH_PLANE_COLOR); - aAIS->setWidth(SKETCH_WIDTH); + + std::vector aRGB = Config_PropManager::color("Sketch definition", + "planes_color", + SKETCH_PLANE_COLOR); + aAIS->setColor(aRGB[0], aRGB[1], aRGB[2]); + + aAIS->setWidth(Config_PropManager::integer("Sketch definition", + "planes_thikness", + SKETCH_WIDTH)); } return aAIS; } - return boost::shared_ptr(); + return AISObjectPtr(); } - -FeaturePtr SketchPlugin_Sketch::getFeature(ObjectPtr theObject) -{ - FeaturePtr aFeature = boost::dynamic_pointer_cast(theObject); - if (!aFeature) { - ResultPtr aResult = boost::dynamic_pointer_cast(theObject); - if (aResult) { - DocumentPtr aDoc = aResult->document(); - return aDoc->feature(aResult); - } - } - return aFeature; -} \ No newline at end of file