Commit Graph

403 Commits

Author SHA1 Message Date
Mark A. Taff
d1e3fa4815 Ellipse implementation: Several bug fixes
I. Fix minor bug where wrong b was used to create ellipse internal geometry.

Tweak the internal geometry code a bit and reformat it so it isn't so wide.
Also begin debugging constraint conflicts on small circular ellipses.

There seem to be two issues currently in major/minor internal geometry lines:
  1) Sometimes minorLength > majorLength due to round-tripping doubles, and
  2) Constraint conflicts when majorLength > minorLength by an epsilon on the order of 1e-6

(cherry picked from commit 5c3e20af1a95c860112289dcdda54ea99778bc3a)

II. When testing for a valid ellipse, also ensure that the mangled major axis length > the mangled axis length.

This additional condition ensures that major and minor axis constraints don't conflict in the case of small
(nearly) circular ellipses.

The is still a potential bug in the solver when the major length is just slightly larger than the minor, but this fix
makes it nigh impossible to reproduce.
(cherry picked from commit 7e274bc32d9aa1a12ab52bfa33ed80353540b062)

III. Code clean up

Remove redundant 3d vectors.

(cherry picked from commit c656d5165c8bae8f101a2b46af6b12348d06cefe)
2014-12-20 12:33:37 +01:00
Abdullah Tahiri
4a5f88424c Sketcher: Ellipse implementation: Art by Jim 2014-12-20 12:33:36 +01:00
DeepSOIC
2185c21349 Fix intern. geom. placement for ellipse arc a<b
(cherry picked from commit 896372cbae2d5667f72f6ee9e628eea482846156)
2014-12-20 12:33:36 +01:00
Abdullah Tahiri
2871d05620 Sketcher: Ellipse : Integration of all conics under a single toolbar space 2014-12-20 12:33:35 +01:00
Abdullah Tahiri
be6d13efbd Sketcher: Ellipse implementation Art by Jim
- Art for setting all conics under a single icon
- Art for ellipse for 3 points creation method
2014-12-20 12:33:35 +01:00
Mark A. Taff
ceb9dacafa Implement two construction methods for ellipses:
--Center, major radius, minor radius
  --Periapsis, apoapsis, minor radius

Artist: We need an icon for periapsis, apoapsis, minor radius method.
(cherry picked from commit f0a4339621b0bf901754af14c3cd36c95ca55966)
2014-12-20 12:33:35 +01:00
Abdullah Tahiri
5733fd8693 Sketcher: Various Ellipse enhancements
- Autoconstraints for Ellipse
- Conversion of a Part.Arc of an Ellipse to Sketcher.
2014-12-20 12:33:34 +01:00
Abdullah Tahiri
52158eba19 Sketcher: Ellipse enhancement: All internal geometry is shown on creation
Elements that have internal geometry are created with the internal geometry on creation.

It has been under discussion for a long time. Ulrich was in favour (asked for it several times).
DeepSOIC implemented the focus because he hated the poor dragging of the ellipse when empty.
2014-12-20 12:33:33 +01:00
DeepSOIC
2abdd2df72 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
dbb9574033 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
7d0e01f17d 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
c4fb76eb61 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
c8f54fcfb1 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
69398fb739 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
c2dc99eacd Sketcher Ellipse bug fix: Jump back on mouseup when shrinked 2014-12-20 12:33:29 +01:00
Abdullah Tahiri
4946eddc6b 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
193ad19ddb 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
890e6d855c + fixes #0001790: Crash on undo/redo with a selection 2014-12-14 00:06:08 +01:00
wmayer
7ecb04e15a + reimplement copyObject based on merge document 2014-12-13 21:43:20 +01:00
wmayer
e9370e8096 + fixes #0001849: Enable Spin Boxes support for Pad, Fillet and Chamfer 2014-12-11 18:25:30 +01:00
jriegel
58411cbbd3 Merge branch 'refs/heads/master' into review-CL-Bundler 2014-11-29 15:43:19 +01:00
wmayer
1f600388aa + fix typo, consistent icon name 2014-11-26 14:36:11 +01:00
Abdullah Tahiri
86501ade65 Sketcher Enhancement: Merge sketches : Art by Jim 2014-11-26 14:23:46 +01:00
Abdullah Tahiri
28f7051dc9 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
46a00d1380 remove support for automake 2014-11-26 10:26:30 +01:00
jriegel
8d98a8a064 Merge branch 'refs/heads/master' into review-CL-Bundler
Conflicts:
	src/3rdParty/salomesmesh/CMakeLists.txt
2014-11-22 13:51:04 +01:00
DeepSOIC
d906249732 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
90f7e991a3 + fix inconsistency problem after undo/redo 2014-11-16 19:13:06 +01:00
wmayer
72e5d983d1 + whitespace improvement 2014-11-16 19:12:34 +01:00
wmayer
030d2de6ae + fix crash when dragging a point adter undoing the deletion of a line 2014-11-16 19:11:31 +01:00
wmayer
f8032d1f8b + support adding circles as external geometry not lying on the sketch plane 2014-11-15 14:31:24 +01:00
jriegel
640a6fc04f Port to VC12 2014-11-15 14:07:02 +01:00
wmayer
bd9b17888f + fixes #0001808: Double Clicking Sketcher PolyLine Causing Crash 2014-11-09 17:59:54 +01:00
wmayer
a6b918b276 + fix possible scaling problem of datum label 2014-11-08 15:55:47 +01:00
wmayer
8857f9825f + fix various rendering problems 2014-11-04 18:56:05 +01:00
wmayer
3da4ede31d + add new render type to 3d viewer 2014-11-03 23:09:38 +01:00
wmayer
d9093a1823 + change API of GLPainter 2014-10-22 14:48:38 +02:00
Abdullah Tahiri
bb6a27f5bf 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
01cf0f5872 issue #1027 use unicode filepaths 2014-10-11 13:32:06 +02:00
Sebastian Hoogen
6157cf3c4a fixes #1782 remove unused precsion parameters
from gp_Trsf::SetValues
2014-10-11 13:03:02 +02:00
wmayer
4e72e4a937 + fix Qt help problems 2014-10-01 17:16:43 +02:00
wmayer
24886ad909 + fix minor bug when adding coincidence constraint 2014-09-28 15:06:02 +02:00
wmayer
cff917b013 + Proper handling of sketch plane parallel to view direction 2014-09-27 15:53:21 +02:00
wmayer
696d4a5f4a + fix warnings with clang 2014-09-24 17:46:04 +02:00
wmayer
055dcb0512 + fix warnings with clang 2014-09-24 15:55:36 +02:00
wmayer
a63b94620b + fix build error 2014-09-23 12:51:31 +02:00
Stefan Tröger
512a2b94d2 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
f1035e8481 Sketcher fixes: Symmetry arrows properly scaled, fixed icon in constraint taskbar list contextual menu 2014-09-18 16:01:34 +02:00
Abdullah Tahiri
5dcd081591 Sketcher enhancement: Constraint icons visible over lines 2014-09-17 18:49:40 +02:00
Abdullah Tahiri
b3f0c4652d 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