20 #ifndef PartSet_WidgetBSplinePoints_H
21 #define PartSet_WidgetBSplinePoints_H
24 #include "PartSet_MouseProcessor.h"
26 #include <ModuleBase_ModelWidget.h>
63 virtual void selectionModes(
int& theModuleSelectionModes, QIntList& theModes);
76 bool isValidSelectionForAttribute_(
const std::shared_ptr<ModuleBase_ViewerPrs>& theValue,
77 const std::shared_ptr<ModelAPI_Attribute>& theAttribute);
81 bool setSelectionCustom(
const std::shared_ptr<ModuleBase_ViewerPrs>& theValue);
91 std::shared_ptr<ModelAPI_CompositeFeature>
sketch()
const {
return mySketch; }
94 void setSketch(std::shared_ptr<ModelAPI_CompositeFeature> theSketch) { mySketch = theSketch; }
100 bool setPoint(
double theX,
double theY);
103 virtual bool processEscape();
107 virtual bool useSelectedShapes()
const;
128 void storeCurentValue();
132 bool restoreCurentValue();
140 void createNextPoint();
142 void removeLastPoint();
145 void storePolesAndWeights()
const;
149 std::shared_ptr<ModelAPI_AttributeRefAttrList> attributeRefAttrList()
const;
151 void fillRefAttribute(
const std::shared_ptr<ModuleBase_ViewerPrs>& theValue);
152 void fillRefAttribute(std::shared_ptr<GeomAPI_Pnt2d> theClickedPoint,
153 const std::shared_ptr<ModuleBase_ViewerPrs>& theValue);
154 void fillRefAttribute(
const ObjectPtr& theObject);
156 ObjectPtr getGeomSelection(
const std::shared_ptr<ModuleBase_ViewerPrs>& theValue);
164 QScrollArea* myScrollArea;
165 std::vector<ModuleBase_LabelValue*> myXSpin;
166 std::vector<ModuleBase_LabelValue*> myYSpin;
170 std::shared_ptr<ModuleBase_ViewerPrs> myPreSelected;
173 CompositeFeaturePtr mySketch;
175 std::string myRefAttribute;
177 bool myValueIsCashed;
178 bool myIsFeatureVisibleInCash;
179 std::vector<double> myXValueInCash;
180 std::vector<double> myYValueInCash;
181 std::vector<double> myWeightInCash;
183 std::string myWeightsAttr;
2D point defined by two coordinates
Definition: GeomAPI_Pnt2d.h:36
Feature that consists of other features: like sketcher with edges inside.
Definition: ModelAPI_CompositeFeature.h:33
Interface to ViewWindow object which contains 3d scene.
Definition: ModuleBase_IViewWindow.h:34
Class which provides access to Workshop object services.
Definition: ModuleBase_IWorkshop.h:48
Implementation of model widget for a label control.
Definition: ModuleBase_LabelValue.h:34
Customosation of ModuleBase_WidgetShapeSelector in order to provide working with sketch specific obje...
Definition: PartSet_ExternalObjectsMgr.h:43
This is an interface to allow processing of mouse events.
Definition: PartSet_MouseProcessor.h:40
virtual void mouseMoved(ModuleBase_IViewWindow *theWindow, QMouseEvent *theEvent)
Processing the mouse move event in the viewer.
Definition: PartSet_MouseProcessor.h:45
virtual void mouseReleased(ModuleBase_IViewWindow *theWindow, QMouseEvent *theEvent)
Processing the mouse release event in the viewer.
Definition: PartSet_MouseProcessor.h:55