Salome HOME
Issue #412: Crash on delete sketch line with constraints
[modules/shaper.git] / src / ModelAPI / ModelAPI_ResultConstruction.h
index 0a7cf17b6ed39458ce88df92e8b2502e590e5b2d..6040b35a599aded5b57267c02746a2632b79a6df 100644 (file)
@@ -1,3 +1,5 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
 // File:        ModelAPI_ResultConstruction.h
 // Created:     07 Jul 2014
 // Author:      Mikhail PONIKAROV
@@ -7,6 +9,7 @@
 
 #include "ModelAPI_Result.h"
 #include <GeomAPI_Shape.h>
+#include <GeomAPI_Face.h>
 
 #include <string>
 
  */
 class ModelAPI_ResultConstruction : public ModelAPI_Result
 {
-public:
+ public:
   /// Returns the group identifier of this result
-  virtual std::string groupName()
-    { return group(); }
+  MODELAPI_EXPORT virtual std::string groupName();
 
   /// Returns the group identifier of this result
-  static std::string group()
-    {static std::string MY_GROUP = "Construction"; return MY_GROUP;}
-
-
-  /// Returns the shape-result produced by this feature
-  virtual boost::shared_ptr<GeomAPI_Shape>& shape() = 0;
+  inline static std::string group()
+  {
+    static std::string MY_GROUP = "Construction";
+    return MY_GROUP;
+  }
 
   /// Sets the result
-  virtual void setShape(boost::shared_ptr<GeomAPI_Shape> theShape) = 0;
+  virtual void setShape(std::shared_ptr<GeomAPI_Shape> theShape) = 0;
 
   /// Sets the flag that it must be displayed in history (default is true)
   virtual void setIsInHistory(const bool isInHistory) = 0;
+
+  /// if the construction result may be used as faces, this method returns not zero number of faces
+  virtual int facesNum() = 0;
+  /// if the construction result may be used as faces, this method returns face by zero based index
+  virtual std::shared_ptr<GeomAPI_Face> face(const int theIndex) = 0;
 };
 
 //! Pointer on feature object
-typedef boost::shared_ptr<ModelAPI_ResultConstruction> ResultConstructionPtr;
+typedef std::shared_ptr<ModelAPI_ResultConstruction> ResultConstructionPtr;
 
 #endif