Salome HOME
#1721 Selecting arcs in mirror constraint is too long and removes other edges
[modules/shaper.git] / src / ModelAPI / ModelAPI_ResultConstruction.h
index 1092c4a9c1f20124ae9a2471dd40bf72e2bb0a65..4704bc43bd9af48f2dd9a100870645831aa2a7fa 100644 (file)
@@ -9,6 +9,7 @@
 
 #include "ModelAPI_Result.h"
 #include <GeomAPI_Shape.h>
+#include <GeomAPI_Face.h>
 
 #include <string>
 
@@ -23,23 +24,43 @@ class ModelAPI_ResultConstruction : public ModelAPI_Result
 {
  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()
+  inline static std::string group()
   {
     static std::string MY_GROUP = "Construction";
     return MY_GROUP;
   }
 
+  /// default color for a result construction
+  inline static const std::string& DEFAULT_COLOR()
+  {
+    static const std::string RESULT_CONSTRUCTION_COLOR("120,120,120");
+    return RESULT_CONSTRUCTION_COLOR;
+  }
+
+  /// default deflection for a result construction
+  inline static const std::string DEFAULT_DEFLECTION()
+  {
+    return "0.0001";
+  }
+
   /// Sets the result
   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;
+
+  /// By default object is not infinite.
+  virtual bool isInfinite() = 0;
+  /// Sets the flag that it is infinite
+  virtual void setInfinite(const bool theInfinite) = 0;
 };
 
 //! Pointer on feature object