Salome HOME
Avoid problem with dynamic_cast under SALOME release
[modules/shaper.git] / src / GeomAPI / GeomAPI_IPresentable.h
1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
2
3 // File:        GeomAPI_IPresentable.hxx
4 // Created:     17 July 2014
5 // Author:      Vitaly SMETANNIKOV
6
7 #ifndef GeomAPI_IPresentable_H_
8 #define GeomAPI_IPresentable_H_
9
10 #include "GeomAPI_AISObject.h"
11
12 /**
13  * A class which defines an interface of object which is able to create its own presentation
14  */
15 class GeomAPI_IPresentable
16 {
17  public:
18   virtual ~GeomAPI_IPresentable();
19   /** Returns the AIS preview
20    *   \param thePrevious - defines a presentation if it was created previously
21    */
22   virtual AISObjectPtr getAISObject(AISObjectPtr thePrevious) = 0;
23 };
24
25 typedef std::shared_ptr<GeomAPI_IPresentable> GeomPresentablePtr;
26
27 #endif