Commit Graph

945 Commits

Author SHA1 Message Date
DeepSOIC
9d135bdc4e Sketcher: Ellipse enhancement: Negative focus on creation to improve dragging
Focus2 is thrown in automatically for ellipse arcs

(cherry picked from commit 1ab814e6b07fd946dbb2910cc1bfb8588c61afb8)
2014-12-20 12:33:33 +01:00
Abdullah Tahiri
d0362fa4a2 Sketcher Ellipse and ArcOfEllipse: Extra features and bug fixes
- Visual representation of equality constraint: Separate circle and arcofcircle implementation from ellipse and arcofellipse implementation
- Fix for Alignment constraint: Now it allows to assign a second element, one by one
- Box selection for ArcOfEllipses
  Fixes the bug that vertex far away got selected due to lack of sync between the selection and draw loops.
2014-12-20 12:33:32 +01:00
DeepSOIC
f24b589d67 Sketcher Ellipse bug fix:
- Fix placement of equality symbols at ellipses and arcs of ellipses
2014-12-20 12:33:32 +01:00
Abdullah Tahiri
a067a7c25a Sketcher Ellipse and ArcOfEllipse: Extra features and bug fixes
- Minor changes to alignment constraint selection to avoid to create objects just for simple calculations
- Equality constraint of Ellipse, ArcOfEllipse and combinations of those elements
- Bugfix for internalalignment creation of major and minor of ellipse and extension to arcofellipse
- Trim support for ellipses
- Solver threshold for rank calculation set at 1e-13.
- Trim support for arc of ellipse
- Ellipses and ArcOfEllipses as external geometry
- Validate Sketch now supports arcs of ellipse
- Tangents of Ellipse or ArcOfEllipse to any of ArcOfcircle, circle and Ellipse (using construction elements)
- Perpendicularity constraint
- Bug fix: Show/hide internal geometry not working for external geometry
- Visualization of Internal alignment constraints when selecting in the constraint widget
- Equality for ellipses and arc of ellipses
2014-12-20 12:33:31 +01:00
DeepSOIC
21354e9a8b Sketcher Ellipse bug fixes:
- Fix of internal geometry creation
- Fix swapped negative and positive ends of major radius line on creation
- Removing the fudge factor (no longer needed)
- Fix to restore internal alignment - autodecide on constraint creation which point of the line is closer to the position
2014-12-20 12:33:30 +01:00
Abdullah Tahiri
fb0d830560 Sketcher Ellipse and ArcOfEllipse: Major bug fixes
- Change mode so that focus1 is not a point, but two doubles so that visual model and solver model match in number of points.
- Solver fix to deal with reduced constraint partials accuracy (threshold for matrix rank calculation tweak)
- Changes suggested by logari81
2014-12-20 12:33:30 +01:00
DeepSOIC
e423c308af Sketcher Ellipse bug fix: Jump back on mouseup when shrinked 2014-12-20 12:33:29 +01:00
Abdullah Tahiri
a458c3e6d2 Sketcher New Feature: Ellipse support
- Ellipse introduction button via (center,majaxis extreme, a point in edge), ellipse is always CCW so that Z axis goes in the positive direction of the sketch
- Backwards compatibility with files of previous versions of ellipse not defining a phi angle
- Art by Jim (all the icons you see and the XPMs shown on creation of an ellipse)
- Element Widget support for ellipses
- Box selection for ellipses
- Point on Ellipse constraint based on the gardener's method based on Ulrich's function proposal (radcan simplified, i.e. with simplify_radical sage function)
- Tangent: Ellipse to Line based on DeepSOIC's geometric formulation (radcan simplified)

Sketcher New Feature: Internal Alignment Constraint
- The element to which internal alignment is applied has to be selected last.
- All other elements are added in the order of priority, taking into account existing elements
- Art by Jim (beautiful icons).

Sketcher New Feature: Tool to show/hide/restore the internal geometry of an element
- New functionality for show/hide internal geometry:
  toggles between hiding all unused internal geometry elements and showing all internal geometry.
  The restore function is implicit to the showing all internal geometry

Sketcher New Feature: Arc of Ellipse support
- Part::Geometry + Python implementation
- ArcOfEllipse creation method
- Art by Jim (all the icons you see and the XPMs shown on creation of arc of ellipse elements)
- Sketcher Element widget for ArcOfEllipse.

Bug fix: Select elements associated to constraints works now for foci internal alignment constraints
2014-12-20 12:33:29 +01:00
Abdullah Tahiri
6eec2e9851 Ellipse implementation: Art by Jim
- it also includes a shell script equivalent to the UpdateResources.bat for those who use linux
2014-12-20 12:31:27 +01:00
wmayer
78f07f8731 + fixes #0001790: Crash on undo/redo with a selection 2014-12-14 00:06:08 +01:00
wmayer
ff7e33b95d + reimplement copyObject based on merge document 2014-12-13 21:43:20 +01:00
wmayer
7801fbef3a + fixes #0001849: Enable Spin Boxes support for Pad, Fillet and Chamfer 2014-12-11 18:25:30 +01:00
jriegel
38fc7ba604 Merge branch 'refs/heads/master' into review-CL-Bundler 2014-11-29 15:43:19 +01:00
wmayer
c04c513b41 + fix typo, consistent icon name 2014-11-26 14:36:11 +01:00
Abdullah Tahiri
fe3beb89fd Sketcher Enhancement: Merge sketches : Art by Jim 2014-11-26 14:23:46 +01:00
Abdullah Tahiri
0f72bc68ba Sketcher Enhancement: Merge sketches
- It copies the geometry and associated constraints of a plurality of sketches into a new sketch
- The functionality is accessible from outside sketch edit mode, directly from the menu Sketch
2014-11-26 14:23:14 +01:00
Sebastian Hoogen
debca91e98 remove support for automake 2014-11-26 10:26:30 +01:00
jriegel
1bc6df8eac Merge branch 'refs/heads/master' into review-CL-Bundler
Conflicts:
	src/3rdParty/salomesmesh/CMakeLists.txt
2014-11-22 13:51:04 +01:00
DeepSOIC
86a1757c20 Sketcher: Slot: proper tangent constraints
Endpoint-to-endpoint tangency is applied now instead of
tangency+coincident.
Fixes issue #0001828 ( http://freecadweb.org/tracker/view.php?id=0001828
)
2014-11-16 23:14:41 +01:00
wmayer
62de0655d7 + fix inconsistency problem after undo/redo 2014-11-16 19:13:06 +01:00
wmayer
2ead6f9bcf + whitespace improvement 2014-11-16 19:12:34 +01:00
wmayer
7a307cdab3 + fix crash when dragging a point adter undoing the deletion of a line 2014-11-16 19:11:31 +01:00
wmayer
fc903d93df + support adding circles as external geometry not lying on the sketch plane 2014-11-15 14:31:24 +01:00
jriegel
8c1b1aa86b Port to VC12 2014-11-15 14:07:02 +01:00
wmayer
d30eb39a1e + fixes #0001808: Double Clicking Sketcher PolyLine Causing Crash 2014-11-09 17:59:54 +01:00
wmayer
e753af2fd7 + fix possible scaling problem of datum label 2014-11-08 15:55:47 +01:00
wmayer
fa3a2a0d3a + fix various rendering problems 2014-11-04 18:56:05 +01:00
wmayer
a7157ce6a9 + add new render type to 3d viewer 2014-11-03 23:09:38 +01:00
wmayer
621aebdbef + change API of GLPainter 2014-10-22 14:48:38 +02:00
Abdullah Tahiri
ca1eba6107 Sketcher: Element Widget enhancement: Support for external geometry
Python naming used is "ExternalEdge" for consistency with the name appearing in the status bar when selecting that object.

As discussed:
http://forum.freecadweb.org/viewtopic.php?f=10&t=6861&sid=bd9ad10357f8a7de146c4fbd2d53c23b&start=90
2014-10-14 18:33:21 +02:00
Sebastian Hoogen
a53a239f2f issue #1027 use unicode filepaths 2014-10-11 13:32:06 +02:00
Sebastian Hoogen
f1283cf24c fixes #1782 remove unused precsion parameters
from gp_Trsf::SetValues
2014-10-11 13:03:02 +02:00
wmayer
f02da38566 + fix Qt help problems 2014-10-01 17:16:43 +02:00
wmayer
ac010de9c9 + fix minor bug when adding coincidence constraint 2014-09-28 15:06:02 +02:00
wmayer
f0bf3cb6ab + Proper handling of sketch plane parallel to view direction 2014-09-27 15:53:21 +02:00
wmayer
032c893183 + fix warnings with clang 2014-09-24 17:46:04 +02:00
wmayer
003c2bf77d + fix warnings with clang 2014-09-24 15:55:36 +02:00
wmayer
3ff7d569c8 + fix build error 2014-09-23 12:51:31 +02:00
Stefan Tröger
72cab0c002 Adaption of FreeCAD to QuarterWidget
-removes all soqtviewer references
-create a quarter adaptor class which implements missing functionality
-adopts freecad code to make use of SoRenderManager and changed View3DInventorViewer  interface
2014-09-23 10:11:11 +02:00
Abdullah Tahiri
749abc5ed7 Sketcher fixes: Symmetry arrows properly scaled, fixed icon in constraint taskbar list contextual menu 2014-09-18 16:01:34 +02:00
Abdullah Tahiri
02cb12db52 Sketcher enhancement: Constraint icons visible over lines 2014-09-17 18:49:40 +02:00
Abdullah Tahiri
d562e1a389 Sketcher Art enhancement: New Symmetric constraint icon by Jim
There is more space in between the > < symbols now, so it is more clear as it overlaps less.

Thanks Jim!
2014-09-17 18:49:16 +02:00
Abdullah Tahiri
0adfa0a7ed Sketcher Bug fix: Arrows for symmetry constraint are back
The arrows were there in the code, but at a certain point, code was written to set the this->imgHeight value programatically, based on
whether it had text or not. As symmetry constraint does not have text the variable failed to initialize. Being zero, it did not pass
the ASSERT in the render function, so it was not rendered.

This includes Werner's fix for improver cast of a SoRayPickAction to SoGLRenderAction:
SbVec2s vp_size = static_cast<SoGLRenderAction*>(action)->getViewportRegion().getWindowSize();
to
SbVec2s vp_size = SoViewportRegionElement::get(state).getWindowSize();

At least sometimes tt is a SoRayPickAction because:

When you move with the mouse over the sketcher (when in edit mode) you enter the method ViewProviderSketch::mouseMove.
Inside there the method getPointOnRay is called to get a picked point underneath the cursor. Inside the latter method
an instance of SoRayPickAction is created to traverse the scene graph. After a long cascade of function calls you
finally enter SoDatumLabel::generatePrimitives(SoAction*).
2014-09-17 18:48:54 +02:00
Abdullah Tahiri
fdb7de1dda Sketcher visualization enhancement: Do not group sketcher symmetry icons.
Do not add a symmetry constraint icon to a group of icons, so that it lies on the line or point providing the symmetry (symmetry axis/point),
as it is more clear to the user which line this is.
2014-09-17 18:48:36 +02:00
Abdullah Tahiri
95c512d9a1 Sketcher feature enhancement: Symmetry constraint perpendicular to axis of symmetry
Solves Mantis ticket: http://www.freecadweb.org/tracker/view.php?id=1623
Unrelated minor fix: remove unused variable
2014-09-17 18:48:15 +02:00
Abdullah Tahiri
da2df00eea Sketcher visualization: Increase readability of redundant constraint solver message
Color changed to "OrangeRed" to improve readability.
2014-09-17 16:43:51 +02:00
Abdullah Tahiri
5f2670dbcf Sketcher Redundant/Conflicting art by Jim 2014-09-17 16:43:51 +02:00
Abdullah Tahiri
34cc7c3136 Sketcher new feature: Select Conflict and Redundant Constraints
Based (and solves) Mantis ticket:
http://www.freecadweb.org/tracker/view.php?id=1643

The ticket refers only to redundant, and ask for deletion.

Two commands are created, one for redundant constraints and other for conflicting constraints.

As usually removing one constraint of the "at least one" is sufficient, the implementation selects the constraints (but does not delete them).

The user therefore easily identify the constraints involved and decide to delete them.

This implementation takes into account the edit->Actsketch that ViewProvidedSketch creates for solving, as it is this instance the one that generates the messages in the Sketcher Taskbar.

No buttons in the toolbar by default (can be added by the user), but an hyperlink in the solver messages which triggers the selection of the appropriate command (conflicting or redundant).
2014-09-17 16:43:50 +02:00
Abdullah Tahiri
bdbf5140f9 Sketcher new feature: Selects the elements associated with the selected constraint(s)
Ex 1: User selects constraints from the list => right click => select "select elements" from the contextual menu => The elements (edges,vertex) involved in the constraint(s) are selected.

Ex 2: User selects (a) constraint(s) => Clicks button in toolbar (if included by the user) => The elements (edges,vertex) involved in the constraint(s) are selected.

Intended as visual aid to see which elements are being affected by a constraint.

Requested by Jim on thread:
http://forum.freecadweb.org/viewtopic.php?f=19&t=6875&start=10

Solving another Mantis ticket I can not find now.
2014-09-17 16:43:49 +02:00
Sebastian Hoogen
57db95a1c3 issue #1701 removed further except: statements 2014-09-17 11:57:32 +02:00