Commit Graph

835 Commits

Author SHA1 Message Date
wwmayer
309d46137e Merge pull request #401 from abdullahtahiriyo/parabola_2017
Parabola 2017
2016-12-28 13:48:13 +01:00
Abdullah Tahiri
c6a8e3d7a9 Sketcher: Arc Of Parabola - Symmetry tool 2016-12-28 01:25:33 +01:00
Abdullah Tahiri
309d9cfc4e Sketcher: Arc Of Hyperbola - Symmetry tool 2016-12-27 02:13:23 +01:00
Abdullah Tahiri
9d65cc5672 Sketcher: Copy/Clone and Array support for Arcs of Parabola and Hyperbola 2016-12-26 23:23:34 +01:00
Abdullah Tahiri
ebfbe29d2f Sketcher: Restore internal geometry tool refactoring and extended support
=========================================================================

- Long felt need of refactoring the code so as not to repeat code already existing in SketchObject.
- Refactored code supports preexisting Ellipse and Arc of Ellipse and adds support for Arcs of Hyperbola and Parabola.
2016-12-26 22:54:47 +01:00
Abdullah Tahiri
1a535e5f4e Sketcher: Arc Of Parabola - Delete unused internal geometry on deletion 2016-12-26 22:06:40 +01:00
Abdullah Tahiri
ecc8ba57ac Sketcher: Arc Of Hyperbola - Delete unused internal geometry on deletion 2016-12-26 19:42:57 +01:00
Abdullah Tahiri
359d9dbc1d Sketcher: fix compilation warnings 2016-12-26 19:19:10 +01:00
Yorik van Havre
86b3463ee1 updated ts files 2016-12-26 12:36:24 -02:00
Abdullah Tahiri
00210c684a Sketcher: Parabola fix y axis in parabola rules constraint 2016-12-24 19:23:53 +01:00
Abdullah Tahiri
9e7d86f1b8 Sketcher: Parabola perpendicularity constraint 2016-12-24 15:24:36 +01:00
Abdullah Tahiri
d8b38032cf Sketcher: Parabola tangency support
===================================

Support for tangency with any preexisting supported geometry using angle via point.
2016-12-24 15:02:52 +01:00
Abdullah Tahiri
01ba29ed33 Sketcher: Parabola Element Widget support 2016-12-24 04:08:53 +01:00
Abdullah Tahiri
452394a154 Sketcher: Parabola icons
========================

Slightly modified icons based on Jim's original proposal:

http://forum.freecadweb.org/viewtopic.php?f=10&t=8038&hilit=hyperbola#p66129

N.B. Yes Jim, it took me slightly two years to use your 2014 icons...beter late than sorry :)
2016-12-24 04:08:42 +01:00
Abdullah Tahiri
b6919f8627 Sketcher: Parabola creation method autoconstraints 2016-12-24 03:10:44 +01:00
Abdullah Tahiri
f03a8adb73 Sketcher: Equality symbol representation 2016-12-24 02:39:51 +01:00
Abdullah Tahiri
5c9cc6221b Sketcher: Parabola solver equality constraint 2016-12-24 02:39:02 +01:00
Abdullah Tahiri
0d93c45d70 Sketcher: Point on Object solver constraint 2016-12-24 01:14:15 +01:00
Abdullah Tahiri
5f36072434 Sketcher: Parabola Skech geometry update fix 2016-12-22 16:10:53 +01:00
Abdullah Tahiri
9858368b65 Sketcher: Parabola Expose Internal Geometry
==========================================

Also automatically on creation
2016-12-22 16:10:52 +01:00
Abdullah Tahiri
3e76189f19 Sketcher: Focus solver internal geometry 2016-12-22 16:10:52 +01:00
Abdullah Tahiri
61fe4bcaee Sketcher: Parabola Arc rules solver constraint 2016-12-22 16:10:33 +01:00
Abdullah Tahiri
b2bca80796 Sketcher: Parabola box selection sign fix 2016-12-19 23:21:02 +01:00
Abdullah Tahiri
6f6cc6d961 Sketcher: Parabola Creation Command
===================================

With exception of exposure of internal geometry.
2016-12-19 22:58:20 +01:00
Abdullah Tahiri
d42033191d Sketcher: ViewProvider Parabola Representation 2016-12-19 00:10:59 +01:00
Abdullah Tahiri
d600bfa83b Sketcher: Validation of Parabola 2016-12-18 19:29:38 +01:00
wmayer
c0ad78d21a fix CIDs 129192, 129078 2016-12-18 12:42:43 +01:00
wmayer
45697ae2c7 fix CID 129530 2016-12-18 12:33:43 +01:00
wmayer
bd71e62df6 fix CIDs 154877, 154878, 154879, 154880, 154881, 154882, 154885 2016-12-18 12:15:26 +01:00
wmayer
2d68ca2f6e fix CID 154893 2016-12-18 11:57:52 +01:00
Abdullah Tahiri
9e528420f8 Sketcher: Enable Parabola creation in SketchObjectPy 2016-12-18 00:46:01 +01:00
Abdullah Tahiri
94f3f5879e Sketcher: Parabola SketchObject basic functionality
===================================================

Except Trimming & Expose Internal Geometry, that will be added separately.
2016-12-18 00:41:40 +01:00
Abdullah Tahiri
5f963c8d02 Sketcher: Parabola Solver Sketch Implementation
===============================================

Main Sketch solver parabola addition and update, with exception of the rules of the parabola arc, that will be implemented with the solver constraints.
2016-12-18 00:03:57 +01:00
Abdullah Tahiri
e360dc15ef Sketcher: Freegcs Parabola geometry definition 2016-12-17 20:12:16 +01:00
wmayer
5e375a6238 Add switch to select between Qt4 and Qt5 2016-12-13 15:53:13 +01:00
wmayer
166fc624eb remove superfluous Qt includes 2016-12-13 15:40:49 +01:00
wmayer
433202a881 drop inheritance of PropertyItem from BaseClass 2016-12-13 14:53:43 +01:00
wmayer
0afd327f2a remove superfluous Qt includes 2016-12-13 14:33:16 +01:00
wmayer
b2487828f0 Qt4/Qt5 neutral changes:
+ change inheritance of PropertyItem to not derive from BaseClass (and QObject) any more to fix crashes with Qt5
2016-12-12 17:01:26 +01:00
wmayer
07943d2a9a Qt4/Qt5 neutral changes:
+ move meta types to own header to avoid double declaration
2016-12-12 15:22:34 +01:00
wmayer
1cdee20953 Qt4/Qt5 neutral changes:
+ replace Q_WS_WIN with Q_OS_WIN
+ replace Q_WS_X11 with Q_OS_LINUX
+ replace Q_WS_MACX with Q_OS_MACX
+ set explicit cast to HWND
2016-12-12 14:09:21 +01:00
wmayer
932eab40fc add class GeomArcOfConic to reduce code duplication 2016-12-04 14:20:56 +01:00
wmayer
2313b05db5 fix encoding issue in constraint text 2016-12-02 17:04:57 +01:00
wmayer
c6529d21fe implement Line class 2016-12-01 00:04:13 +01:00
wmayer
1855c80f36 replace Part.Line with Part.LineSegment 2016-11-30 21:25:18 +01:00
wmayer
b503d55299 port hyperbola branch to new tools classes 2016-11-27 22:43:58 +01:00
Abdullah Tahiri
bc728c217b Sketcher: Fixing compilation warnings 2016-11-27 18:45:33 +01:00
Abdullah Tahiri
22457c41dd Sketcher: Hyperbola construction endpoints autoconstraints
==========================================================

Support for coincident autoconstraint for endpoints
2016-11-27 18:45:33 +01:00
Abdullah Tahiri
a879296ca7 Sketcher: Minor fix - hyperbolic arc icon reference 2016-11-27 18:45:33 +01:00
Abdullah Tahiri
8bba2427c3 Sketcher: Hyperbola added supported type
========================================

Allows to restore a saved hyperbola in a sketch.
2016-11-27 18:45:33 +01:00
Abdullah Tahiri
1c77657354 Sketch: Hyperbola tangency to line
==================================

As a way to lock a line to hyperbola tangency to a branch has not been identified, this tangency is implemented
by adding a point at the tangency point in order to avoid the jumping.
2016-11-27 18:45:33 +01:00
Abdullah Tahiri
73930c4294 Sketcher: Hyperbola perpendicularity constraint
=================================================

Line perpendicular to hyperbola using via point constraint.
2016-11-27 18:45:33 +01:00
Abdullah Tahiri
50ab33aeb4 Sketcher: Hyperbola Tangency to Curves
======================================

Implementation of the Tangency via point for all curves to Hyperbola (no line to Hyperbola yet).
2016-11-27 18:45:33 +01:00
Abdullah Tahiri
14a2437b72 Sketcher: Hyperbola element widget support
==========================================

Support added to the Element widgets for hyperbola
2016-11-27 18:45:33 +01:00
Abdullah Tahiri
26bef1d2c8 Sketcher Hyperbola Icons
========================

Slightly modified icons based on Jim's original proposal (with the center instead of the focus point):

http://forum.freecadweb.org/viewtopic.php?f=10&t=8038&hilit=hyperbola#p66129
2016-11-27 18:45:33 +01:00
Abdullah Tahiri
cdb14deb99 Sketcher Hyperbola: Creation method autoconstraints
Correction of center and curve on major axis position.

Still to fix the endpoints (determination of CCW or CW drawn curve)
2016-11-27 18:45:33 +01:00
Abdullah Tahiri
3a33fc292e Sketcher hyperbola creation fix
removing line to origin during creation
2016-11-27 18:45:33 +01:00
Abdullah Tahiri
96ae5272db Sketcher Hyperbola: Creation Method improvements
- Avoid unnecessary recomputes
- Create as construction
- Continuous mode creation
2016-11-27 18:45:33 +01:00
DeepSOIC
95043e58ea Sketcher: Hyperbola: fix minor diameter ends swapping
Quick and dirty, but seems to work.
2016-11-27 18:45:33 +01:00
Abdullah Tahiri
4e2d672e13 fix partials 2016-11-27 18:45:33 +01:00
Abdullah Tahiri
6c612b270a fix in minor axis Expose Internal Geometry for hyperbola 2016-11-27 18:45:33 +01:00
Abdullah Tahiri
b6c1e15493 Hyperbola InternalAlignment
Focus is working.
2016-11-27 18:45:33 +01:00
Abdullah Tahiri
fb12cb83fc Solver InternalAlignment: Change to diameters instead of radii to be able to draw asymptotes
GCS and Sketch.cpp support
2016-11-27 18:45:33 +01:00
Abdullah Tahiri
4fce95a7da Hyperbola: InternalAlignment solver constraints 2016-11-27 18:45:33 +01:00
DeepSOIC
df820bef59 Sketcher: solver: transplant all arc kinds to use CurveValue constraint
arc and arc of ellipse
2016-11-27 18:45:33 +01:00
DeepSOIC
2d0ad5ac11 Sketcher: solver: implement Value for all other curves
for line, circle, and ellipse.
Compiles, but untested.
2016-11-27 18:45:33 +01:00
DeepSOIC
180e01bcfc Sketcher: Hyperbola: fix major radius formula 2016-11-27 18:45:33 +01:00
DeepSOIC
6fce841404 Sketcher: Hyperbola: fix crash when drawing a new one 2016-11-27 18:45:33 +01:00
DeepSOIC
c1da7d6125 Sketcher: solver: Value constraint
(morphed from hyperbola arc range constraint)
(compiles, but untested)
2016-11-27 18:45:33 +01:00
Abdullah Tahiri
3c6ac70577 Conflict resolution 2016-11-27 18:45:33 +01:00
Abdullah Tahiri
4f6374eef6 Hyperbola UI equality constraint representation fixed 2016-11-27 18:45:33 +01:00
Abdullah Tahiri
5556228d07 Hyperbola solver equality constraint
The Ellipse radii solver constraint was reused generalised to MajorAxisConic class.

UI representation of the Equality sign not yet handled (appears on the origin).
2016-11-27 18:45:33 +01:00
Abdullah Tahiri
8de37eb193 Hyperbola: Support for moving the center of the hyperbola 2016-11-27 18:45:33 +01:00
Abdullah Tahiri
0cf0f5cc6e Hyperbola PointOnObject UI Constraint
You can add a point to be on the hyperbola and it will lock to it.

The endpoints of the hyperbola go crazy because of the

HyperbolicArcRangeToEndPoints code that is the one of Ellipse <= Awaiting DeepSOIC help ;)
2016-11-27 18:45:33 +01:00
Abdullah Tahiri
27a76afa94 In Part:Geometry:
- Fixing Hyperbola classes to get CCW emulation (like Ellipse classes).

In Sketcher:
- The Sketcher representation deals with the right branch of the Hyperbola only.
- Solver model is: Center, Focus1 (focus of the right branch), minor radius (b).
- HyperbolicArcRangeToEndPoints code is the one of Ellipse <= Awaiting DeepSOIC help ;)
- ConstraintPointOnHyperbola solver constraint is now implemented and should be working.
- No InternalAligment constraints implemented yet.
2016-11-27 18:45:33 +01:00
Abdullah Tahiri
590e3fbec6 Sketcher: New Feature: Hyperbola/ArcOfHyperbola
===============================================

- ArcOfHyperbola creation method
- Solver representation (undefined moving)
- SketchObjectPyImp (here we still miss the Part->Partdesign conversion)
- Sketch validation for hyperbola
- Hyperbola creation method: shows the "proof of concept", but it is very buggy!!

Notes:
- Missing icons, probably missing geo normal curve implementation - rebasing -
- Fixes to adapt Hyperbola to Derivector implementation and make it compile
2016-11-27 18:45:33 +01:00
wmayer
e54e9515fc rename 2d tool classes to be consistent with 3d classes 2016-11-21 14:29:51 +01:00
wmayer
5e3381be25 fixes #0002781: Build error message 2016-11-19 13:47:37 +01:00
Yorik van Havre
af97583026 Doc: Fixes in doxygen docs for Draft,Arch, FEM 2016-11-17 17:04:09 -02:00
wmayer
1df6da7df0 clear expression when setting constraint non-driving 2016-11-11 12:33:20 +01:00
wmayer
cb996431e6 update documentation 2016-10-24 16:59:12 +02:00
wmayer
b34f58a492 fix several memory leaks:
SketchObject::delGeometry
SketchObject::delExternal
SketchObject::delAllExternal
SketchObject::validateExternalLinks
2016-10-24 16:32:18 +02:00
wmayer
bf129d3a33 fix memory leak in SketchObject::transferConstraints 2016-10-24 14:35:24 +02:00
wmayer
efff1b7773 fix linking failure with gcc/clang 2016-10-23 14:10:01 +02:00
wmayer
222e9b6b46 replace hard coded numbers with static constants 2016-10-23 13:44:26 +02:00
wmayer
68ea7fdac5 fix coverity issues 2016-10-08 17:43:30 +02:00
wmayer
15d7ae5e2c fix -Wextra in Sketcher 2016-09-22 18:34:35 +02:00
wmayer
f944ab3846 replace deprecated auto_ptr with unique_ptr 2016-09-22 13:01:20 +02:00
wmayer
f44df3cdf0 do not use doCommand without using format string, add overloaded method of runCommand 2016-09-15 18:53:37 +02:00
wmayer
7e127c9b6a replace hard-coded shortcut 2016-09-10 14:49:39 +02:00
wmayer
7f2a9da5d3 fix Coverity issues 2016-08-22 13:15:21 +02:00
wmayer
8e71e4038b fix Coverity issues 2016-08-21 23:13:22 +02:00
wmayer
d39bd4906b fix Coverity issues 2016-08-20 19:45:36 +02:00
wmayer
d80c05e186 fix Coverity issues 2016-08-20 17:21:01 +02:00
wmayer
de7978434d fix Coverity issues 2016-08-19 22:51:33 +02:00
wmayer
d98337b5f2 Coverity: fix high impact issues 2016-08-17 15:33:04 +02:00
wmayer
e4f0ddad84 Coverity issues: check return value of dynamic_cast or replace it with static_cast 2016-08-17 10:43:58 +02:00
wmayer
c5d0e08cbc fix disappearing constraint icons when using a symmetry constraint 2016-08-14 19:25:53 +02:00
wmayer
5013e89271 fix displacement of constraint icons in sketch edit mode 2016-08-14 18:02:22 +02:00
wmayer
65fbd5933b make code more readable 2016-08-14 16:46:58 +02:00