Salome HOME
Creation of producedByFeature initial implementation neede for the issue #1306
[modules/shaper.git] / src / GeomAPI / GeomAPI_ICustomPrs.h
index c398a33bce83e204803d9bfc3fa7dd6bfbba7e80..2c2520ba9508f42935358c4ff69e55165113b3e8 100644 (file)
@@ -7,18 +7,29 @@
 #ifndef GeomAPI_ICustomPrs_H
 #define GeomAPI_ICustomPrs_H
 
+#include "GeomAPI.h"
 #include "GeomAPI_AISObject.h"
+#include "GeomAPI_AISObject.h"
+
+#include <vector>
 
-/**
-* Interface of a class which can provide specific customization of
-* object presentation
-*/ 
+class ModelAPI_Result;
+
+/** \class GeomAPI_ICustomPrs
+ *  \ingroup DataModel
+ *  \brief Interface of a class which can provide specific customization of
+ *         object presentation
+ */
 class GeomAPI_ICustomPrs
 {
 public:
-  virtual void customisePresentation(AISObjectPtr thePrs) = 0;
+  GEOMAPI_EXPORT virtual ~GeomAPI_ICustomPrs();
+
+  /// Modifies the given presentation in the custom way.
+  virtual bool customisePresentation(std::shared_ptr<ModelAPI_Result> theResult, AISObjectPtr thePrs,
+                                     std::shared_ptr<GeomAPI_ICustomPrs> theDefaultPrs) = 0;
 };
 
 typedef std::shared_ptr<GeomAPI_ICustomPrs> GeomCustomPrsPtr;
 
-#endif
\ No newline at end of file
+#endif