]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Merge branch 'Dev_1.1.0' of newgeom:newgeom into Dev_1.1.0
authornds <natalia.donis@opencascade.com>
Fri, 20 Feb 2015 10:24:08 +0000 (13:24 +0300)
committernds <natalia.donis@opencascade.com>
Fri, 20 Feb 2015 10:24:08 +0000 (13:24 +0300)
1  2 
src/SketchPlugin/SketchPlugin_Feature.h
src/SketchPlugin/SketchPlugin_Sketch.h

index 248f19c7b8db3f747478b18fc9194377c2935024,549586efb5b139f0a2af3585d66a5f4715bad7d7..076b1d038f3f5456a92aef3b17fc5ef6a66bf932
  #include <ModelAPI_AttributeSelection.h>
  #include <GeomAPI_ICustomPrs.h>
  
 +#include <Config_PropManager.h>
 +
 +#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;
@@@ -73,43 -67,17 +73,33 @@@ class SketchPlugin_Feature : public Mod
    /// Customize presentation of the feature
    virtual void customisePresentation(AISObjectPtr thePrs)
    {
 +    std::vector<int> 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()
-   {
-     /*SketchPlugin_Sketch* aSketch = sketch();
-     if (aSketch)
-       aSketch->removeFeature(this);
-       */
-     ModelAPI_Feature::erase();
-   }
    /// Returns the sketch of this feature
    SketchPlugin_Sketch* sketch();
  protected:
index f6978b6ab16b1f15045f6d8c8ba2750e98bb3fd5,801b866c98c7437515ca1f190cd119baa989cac8..c4721f547bfb114dbd7d50a0f6d9c948d3d4b966
  #include <GeomAPI_IPresentable.h>
  #include <list>
  
 +#define YZ_PLANE_COLOR "#ff0000"
 +#define XZ_PLANE_COLOR "#00ff00"
 +#define XY_PLANE_COLOR "#0000ff"
 +
  /**\class SketchPlugin_Sketch
   * \ingroup Plugins
   * \brief Feature for creation of the new part in PartSet.
@@@ -114,8 -110,8 +114,8 @@@ class SketchPlugin_Sketch : public Mode
    /// appends a feature to the sketch sub-elements container
    SKETCHPLUGIN_EXPORT virtual std::shared_ptr<ModelAPI_Feature> addFeature(std::string theID);
  
-   /// appends a feature from the sketch sub-elements container
-   SKETCHPLUGIN_EXPORT virtual void removeFeature(ModelAPI_Feature* theFeature);
+   /// Just to synchronise the container of sub-features
+   virtual void removeFeature(std::shared_ptr<ModelAPI_Feature> theFeature);
  
    /// Returns the number of sub-elements
    SKETCHPLUGIN_EXPORT virtual int numberOfSubs() const;