SHAPER 9.16.0
PartSet_ExternalPointsMgr.h
1// Copyright (C) 2017-2026 CEA, EDF
2//
3// This library is free software; you can redistribute it and/or
4// modify it under the terms of the GNU Lesser General Public
5// License as published by the Free Software Foundation; either
6// version 2.1 of the License, or (at your option) any later version.
7//
8// This library is distributed in the hope that it will be useful,
9// but WITHOUT ANY WARRANTY; without even the implied warranty of
10// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11// Lesser General Public License for more details.
12//
13// You should have received a copy of the GNU Lesser General Public
14// License along with this library; if not, write to the Free Software
15// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16//
17// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18//
19
20// File: PartSet_ExternalPointsMgr.h
21// Created: 26 April 2017
22// Author: Vitaly SMETANNIKOV
23
24#ifndef PartSet_ExternalPointsMgr_H
25#define PartSet_ExternalPointsMgr_H
26
27
28#include <ModelAPI_CompositeFeature.h>
29#include <ModelAPI_Result.h>
30#include <GeomAPI_Pln.h>
31#include <GeomAPI_AISObject.h>
32
33#include <QObject>
34#include <QMap>
35
38
39
46{
47 Q_OBJECT
48public:
50 const CompositeFeaturePtr& theSketch);
51
53
54public slots:
60 void onDisplayObject(ObjectPtr theObj, AISObjectPtr theAIS);
61
67 void onEraseObject(ObjectPtr theObj, AISObjectPtr theAIS);
68
69 // Called on selection changed
70 void onSelectionChanged();
71
72private:
78 QList<std::shared_ptr<ModuleBase_ViewerPrs>> findCircularEdgesInPlane();
79
81 void updateCenterPresentations();
82
84 GeomPlanePtr plane() const;
85
91 bool isSketchObject(const ObjectPtr& theRes) const;
92
93private:
95 ModuleBase_IWorkshop* myWorkshop;
96
98 CompositeFeaturePtr mySketch;
99
101 typedef QList<AISObjectPtr> ListOfAIS;
102
104 QMap<ObjectPtr, ListOfAIS> myPresentations;
105};
106
107#endif
Class which provides access to Workshop object services.
Definition: ModuleBase_IWorkshop.h:48
Presentation.
Definition: ModuleBase_ViewerPrs.h:37
A class to manage display of presentations of center points of circular edges outside of a current sk...
Definition: PartSet_ExternalPointsMgr.h:46
void onEraseObject(ObjectPtr theObj, AISObjectPtr theAIS)
A slot which processes erase of object.
Definition: PartSet_ExternalPointsMgr.cpp:211
void onDisplayObject(ObjectPtr theObj, AISObjectPtr theAIS)
A slot which processes display of object.
Definition: PartSet_ExternalPointsMgr.cpp:206