Salome HOME
Issue #1834: Fix length of lines
[modules/shaper.git] / src / GeomAPI / GeomAPI_ICustomPrs.h
index c398a33bce83e204803d9bfc3fa7dd6bfbba7e80..1129c1014003383f8632cb93076913369dd01be3 100644 (file)
@@ -7,18 +7,30 @@
 #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