1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
3 // File: PartSet_CustomPrs.hxx
4 // Created: 30 Jun 2015
5 // Author: Natalia ERMOLAEVA
7 #ifndef PartSet_CustomPrs_H
8 #define PartSet_CustomPrs_H
12 #include <ModelAPI_Object.h>
13 #include <ModelAPI_Result.h>
15 #include <GeomAPI_ICustomPrs.h>
16 #include <GeomAPI_AISObject.h>
17 #include <GeomAPI_Shape.h>
22 class ModuleBase_IWorkshop;
25 * Interface of a class which can provide specific customization of
28 class PartSet_CustomPrs : public GeomAPI_ICustomPrs
31 PARTSET_EXPORT PartSet_CustomPrs(ModuleBase_IWorkshop* theWorkshop);
32 PARTSET_EXPORT virtual ~PartSet_CustomPrs() {};
34 void setCustomized(const ObjectPtr& theObject);
36 /// Modifies the given presentation in the custom way.
37 virtual bool customisePresentation(ResultPtr theResult, AISObjectPtr thePrs,
38 std::shared_ptr<GeomAPI_ICustomPrs> theCustomPrs);
40 ModuleBase_IWorkshop* myWorkshop; /// current workshop
42 QMap<ResultPtr, QList<GeomShapePtr> > myCustomized; /// objects, which are customized