Salome HOME
Merge branch 'Dev_1.1.0' of newgeom:newgeom.git into Dev_1.1.0
[modules/shaper.git] / src / GeomAPI / GeomAPI_ICustomPrs.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        GeomAPI_ICustomPrs.hxx
4 // Created:     11 Dec 2014
5 // Author:      Vitaly SMETANNIKOV
6
7 #ifndef GeomAPI_ICustomPrs_H
8 #define GeomAPI_ICustomPrs_H
9
10 #include "GeomAPI.h"
11 #include "GeomAPI_AISObject.h"
12 #include "GeomAPI_AISObject.h"
13
14 #include <vector>
15 /**
16 * Interface of a class which can provide specific customization of
17 * object presentation
18 */ 
19 class ModelAPI_Result;
20
21 class GeomAPI_ICustomPrs
22 {
23 public:
24   GEOMAPI_EXPORT virtual ~GeomAPI_ICustomPrs();
25
26   /// Modifies the given presentation in the custom way.
27   virtual bool customisePresentation(std::shared_ptr<ModelAPI_Result> theResult, AISObjectPtr thePrs,
28                                      std::shared_ptr<GeomAPI_ICustomPrs> theDefaultPrs) = 0;
29 };
30
31 typedef std::shared_ptr<GeomAPI_ICustomPrs> GeomCustomPrsPtr;
32
33 #endif