X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FSketchPlugin%2FSketchPlugin_Feature.h;h=076b1d038f3f5456a92aef3b17fc5ef6a66bf932;hb=5be4a656f7f45e94dc40385cf164a88375e4403b;hp=66d59467b5682dfb6fc6ebcf95a0aeb1083edb73;hpb=9e10a25021a539ae9bb44e85e244a8e3fa8119ed;p=modules%2Fshaper.git diff --git a/src/SketchPlugin/SketchPlugin_Feature.h b/src/SketchPlugin/SketchPlugin_Feature.h index 66d59467b..076b1d038 100644 --- a/src/SketchPlugin/SketchPlugin_Feature.h +++ b/src/SketchPlugin/SketchPlugin_Feature.h @@ -15,6 +15,12 @@ #include #include +#include + +#define SKETCH_EDGE_COLOR "#ff0000" +#define SKETCH_POINT_COLOR "#ff0000" +#define SKETCH_EXTERNAL_EDGE_COLOR "#00ff00" + class SketchPlugin_Sketch; class GeomAPI_Pnt2d; class Handle_AIS_InteractiveObject; @@ -67,20 +73,33 @@ class SketchPlugin_Feature : public ModelAPI_Feature, public GeomAPI_ICustomPrs /// Customize presentation of the feature virtual void customisePresentation(AISObjectPtr thePrs) { + std::vector aRGB; // if this is an edge if (thePrs->getShapeType() == 6) { thePrs->setWidth(3); - if (isExternal()) - thePrs->setColor(0,255,0); + if (isExternal()) { + // Set color from preferences + aRGB = Config_PropManager::color("Visualization", "sketch_external_color", + SKETCH_EXTERNAL_EDGE_COLOR); + } + else { + // Set color from preferences + aRGB = Config_PropManager::color("Visualization", "sketch_edge_color", + SKETCH_EDGE_COLOR); + } + } + else if (thePrs->getShapeType() == 7) { // otherwise this is a vertex + // Set color from preferences + aRGB = Config_PropManager::color("Visualization", "sketch_point_color", + SKETCH_POINT_COLOR); } // if this is a vertex //else if (thePrs->getShapeType() == 7) // thePrs->setPointMarker(6, 2.); + if (!aRGB.empty()) + thePrs->setColor(aRGB[0], aRGB[1], aRGB[2]); } - /// removes also all sub-sketch elements - SKETCHPLUGIN_EXPORT virtual void erase(); - /// Returns the sketch of this feature SketchPlugin_Sketch* sketch(); protected: