26 #include <Gui/AbstractPreview.h> 27 #include <Gui/Action.h> 28 #include <Gui/PickingService.h> 29 #include <Gui/PropertyTree.h> 30 #include <Gui/SceneGraphInterface.h> 63 std::shared_ptr<OpenLxApp::Document> getDocument()
const;
64 std::shared_ptr<OpenLxUI::Selection> getSelection()
const;
67 std::shared_ptr<OpenLxUI::UIElement> getUIElement(std::shared_ptr<OpenLxApp::DocObject> aObj)
const;
68 std::shared_ptr<OpenLxUI::UIElement> getUIElement(
Core::DocObject* aObj)
const;
73 std::shared_ptr<OpenLxApp::Element> getPickedElement();
74 bool hasPickedNormal();
76 Gui::PickingService* getPickingService();
77 void setIntersectionPicking(
bool onoff);
78 bool isIntersectionPickingEnabled();
85 NEARESTPOINT = 1 << 2,
90 INTERSECTIONPOINT = 1 << 7,
92 ONLYVERTICES = 1 << 9,
93 ONLYVIRTUALGEO = 1 << 10,
94 CONTROLPOINT = 1 << 11,
95 INVISIBLECONTROLPOINT = 1 << 12,
96 AUXILIARYPOINT = 1 << 13
99 unsigned long getSnapMode();
100 unsigned long getSnapfor2dElements();
101 void setSnapMode(
unsigned long mode);
105 void moveMouseToWorldPnt(
const Geom::Pnt& pntTo);
106 std::shared_ptr<OpenLxApp::CartesianPoint> getMidPoint(
unsigned long snapMode);
110 void drawRubberBand(
const Geom::Pnt& fromPnt);
111 void removeRubberBand();
113 void stopHighlightByShapeType();
114 void drawElementPositionPreview(std::shared_ptr<OpenLxApp::Element> aElem,
const Geom::Pnt& startPnt);
117 void hideElementAttributesInViewer();
118 Gui::AbstractTangentArcPreview* createTangentArcPreview(
const Geom::Pnt& pnt,
const Geom::Vec& tangent);
119 Gui::AbstractLinePreview* createLinePreview(
const Geom::Pnt& startPnt);
120 Gui::AbstractArc3PointsPreview* createArc3PointsPreview(
123 Gui::AbstractArc3PointsPreview::PreviewMode mode = Gui::AbstractArc3PointsPreview::ENDPOINT_CHANGES);
124 void drawPreview(Gui::AbstractPreview* preview);
125 void removePreview(Gui::AbstractPreview* preview);
126 void removeAllPreviews();
127 void getAllPreviews(std::set<Gui::AbstractPreview*>& pw);
128 void enablePreview(Gui::AbstractPreview* preview);
129 void disablePreview(Gui::AbstractPreview* preview);
141 Gui::SG_Node drawOwnText2(
const Geom::Pnt& pnt,
147 Justification ju = Justification::CENTER);
148 Gui::SG_Node drawOwnText2(
const std::vector<Geom::Pnt>& pnts,
154 Justification ju = Justification::CENTER);
155 void removeOwnText2(Gui::SG_Node aNode);
159 void drawHelpAx2(
const Geom::Ax2& axis2,
const double& magnitude);
160 void removeHelpObjects();
164 void removeOwnDirection(Gui::SG_Node ownDirection);
166 Gui::SG_Node drawOwnLine(
const std::vector<Geom::Pnt>& pnts,
169 bool dashed =
false);
170 Gui::SG_Node drawOwnOverlayLine(
const std::vector<Geom::Pnt>& pnts,
173 bool dashed =
false);
174 void removeOwnLine(Gui::SG_Node ownLine);
176 Gui::SG_Node drawOwnMesh(
const std::vector<Geom::Pnt>& points,
177 const std::vector<int>& model,
181 void removeOwnMesh(Gui::SG_Node ownMesh);
184 void drawHelpPointMeasure(
const std::string&
name,
const Geom::Pnt& pos,
float red = 1.0f,
float green = 1.0f,
float blue = 0.0f);
185 void removeHelpPointsMeasure();
187 std::vector<std::shared_ptr<OpenLxApp::Element>> getVisibleElements()
const;
188 std::vector<std::shared_ptr<OpenLxApp::Element>> getSelectedElements()
const;
190 std::shared_ptr<OpenLxApp::Element> getActiveElement()
const;
191 std::shared_ptr<OpenLxApp::SubElement> getActiveSubElement()
const;
192 bool hasActivePoint()
const;
194 std::shared_ptr<ActiveVertex> getActiveVertex()
const;
195 std::shared_ptr<ActiveEdge> getActiveEdge()
const;
196 std::shared_ptr<ActiveFace> getActiveFace()
const;
201 UIDocument(std::shared_ptr<OpenLxApp::Document> aDoc);
203 std::shared_ptr<OpenLxUI::UIDocumentP> _pimpl;
Defines a non-persistent 3D Cartesian point.
Definition: Pnt.h:42
Core::PropertyText name
Definition: CoreDocument.h:143
Definition: UIDocument.h:58
A Utf-16 (windows) or ucs4 (unix) encoded string class.
Definition: String.h:29
ShapeType
Definition: Shape.h:47
Justification
Definition: UIDocument.h:134
Definition: ActiveEdge.h:25
Definition: UIApplication.h:48
#define OPENLXUI_EXPORT
Definition: OpenLxUI_defines.h:12
Defines a non-persistent vector in 3D space.
Definition: Vec.h:45
SnapMode
Definition: UIDocument.h:82
Definition: DocObject.h:28