+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
+
// File: SketchPlugin_Sketch.h
// Created: 27 Mar 2014
// Author: Mikhail PONIKAROV
#include <GeomAPI_IPresentable.h>
#include <list>
-/// the plane edge color
-#define SKETCH_PLANE_COLOR "#700000"
-
-/// the plane edge width
-#define SKETCH_WIDTH "4"
-
-/// face of the square-face displayed for selection of general plane
-#define PLANE_SIZE "200"
+#define YZ_PLANE_COLOR "#ff0000"
+#define XZ_PLANE_COLOR "#00ff00"
+#define XY_PLANE_COLOR "#0000ff"
/**\class SketchPlugin_Sketch
- * \ingroup DataModel
+ * \ingroup Plugins
* \brief Feature for creation of the new part in PartSet.
*/
class SketchPlugin_Sketch : public ModelAPI_CompositeFeature//, public GeomAPI_IPresentable
/// removes also all sub-sketch elements
SKETCHPLUGIN_EXPORT virtual void erase();
+ /// appends a feature to the sketch sub-elements container
SKETCHPLUGIN_EXPORT virtual std::shared_ptr<ModelAPI_Feature> addFeature(std::string theID);
+ /// 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;
/// Returns the point projected into the sketch plane
std::shared_ptr<GeomAPI_Pnt2d> to2D(const std::shared_ptr<GeomAPI_Pnt>& thePnt);
- SKETCHPLUGIN_EXPORT virtual void attributeChanged();
+ SKETCHPLUGIN_EXPORT virtual void attributeChanged(const std::string& theID);
protected:
- /// Creates a plane and append it to the list
- /// \param theX the X normal value
- /// \param theY the Y normal value
- /// \param theZ the Z normal value
- /// \param theShapes the list of result shapes
- //void addPlane(double theX, double theY, double theZ,
- // std::list<std::shared_ptr<GeomAPI_Shape> >& theShapes) const;
-
/// Checks whether the plane is set in the sketch.
/// \returns the boolean state
bool isPlaneSet();