Salome HOME
Issue #1834: Fix length of lines
[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 class ModelAPI_Result;
17
18 /** \class GeomAPI_ICustomPrs
19  *  \ingroup DataModel
20  *  \brief Interface of a class which can provide specific customization of
21  *         object presentation
22  */
23 class GeomAPI_ICustomPrs
24 {
25 public:
26   GEOMAPI_EXPORT virtual ~GeomAPI_ICustomPrs();
27
28   /// Modifies the given presentation in the custom way.
29   virtual bool customisePresentation(std::shared_ptr<ModelAPI_Result> theResult, 
30                                      AISObjectPtr thePrs,
31                                      std::shared_ptr<GeomAPI_ICustomPrs> theDefaultPrs) = 0;
32 };
33
34 typedef std::shared_ptr<GeomAPI_ICustomPrs> GeomCustomPrsPtr;
35
36 #endif