Commit Graph

746 Commits

Author SHA1 Message Date
wmayer
aaef82e41e Qt4/Qt5 neutral changes:
+ move meta types to own header to avoid double declaration
2016-12-12 15:22:34 +01:00
wmayer
a34c441373 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
273f3995c0 add class GeomArcOfConic to reduce code duplication 2016-12-04 14:20:56 +01:00
wmayer
18d92b0dff fix encoding issue in constraint text 2016-12-02 17:04:57 +01:00
wmayer
c74ba63283 implement Line class 2016-12-01 00:04:13 +01:00
wmayer
c3fe2de155 replace Part.Line with Part.LineSegment 2016-11-30 21:25:18 +01:00
wmayer
3aedca451d port hyperbola branch to new tools classes 2016-11-27 22:43:58 +01:00
Abdullah Tahiri
2d063d7811 Sketcher: Fixing compilation warnings 2016-11-27 18:45:33 +01:00
Abdullah Tahiri
3fff7c4f9a Sketcher: Hyperbola construction endpoints autoconstraints
==========================================================

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

Allows to restore a saved hyperbola in a sketch.
2016-11-27 18:45:33 +01:00
Abdullah Tahiri
507f5605d9 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
1fe7154c27 Sketcher: Hyperbola perpendicularity constraint
=================================================

Line perpendicular to hyperbola using via point constraint.
2016-11-27 18:45:33 +01:00
Abdullah Tahiri
47a854e2ea 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
cc17e9cd2f Sketcher: Hyperbola element widget support
==========================================

Support added to the Element widgets for hyperbola
2016-11-27 18:45:33 +01:00
Abdullah Tahiri
599f8554a6 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
1062ba4b09 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
0b370a52ce Sketcher hyperbola creation fix
removing line to origin during creation
2016-11-27 18:45:33 +01:00
Abdullah Tahiri
0655976f5c Sketcher Hyperbola: Creation Method improvements
- Avoid unnecessary recomputes
- Create as construction
- Continuous mode creation
2016-11-27 18:45:33 +01:00
DeepSOIC
e61174ad00 Sketcher: Hyperbola: fix minor diameter ends swapping
Quick and dirty, but seems to work.
2016-11-27 18:45:33 +01:00
Abdullah Tahiri
27ea3fd0e2 fix partials 2016-11-27 18:45:33 +01:00
Abdullah Tahiri
76ec75a980 fix in minor axis Expose Internal Geometry for hyperbola 2016-11-27 18:45:33 +01:00
Abdullah Tahiri
cbfc4f02a0 Hyperbola InternalAlignment
Focus is working.
2016-11-27 18:45:33 +01:00
Abdullah Tahiri
298153aecd 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
fabe61c23b Hyperbola: InternalAlignment solver constraints 2016-11-27 18:45:33 +01:00
DeepSOIC
44e814e973 Sketcher: solver: transplant all arc kinds to use CurveValue constraint
arc and arc of ellipse
2016-11-27 18:45:33 +01:00
DeepSOIC
bfb1f731fe 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
132fd77d0f Sketcher: Hyperbola: fix major radius formula 2016-11-27 18:45:33 +01:00
DeepSOIC
6e6ded3b25 Sketcher: Hyperbola: fix crash when drawing a new one 2016-11-27 18:45:33 +01:00
DeepSOIC
0f27f81062 Sketcher: solver: Value constraint
(morphed from hyperbola arc range constraint)
(compiles, but untested)
2016-11-27 18:45:33 +01:00
Abdullah Tahiri
86e12e1e3b Conflict resolution 2016-11-27 18:45:33 +01:00
Abdullah Tahiri
cdbaa3a693 Hyperbola UI equality constraint representation fixed 2016-11-27 18:45:33 +01:00
Abdullah Tahiri
6b59712292 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
463c7f86ea Hyperbola: Support for moving the center of the hyperbola 2016-11-27 18:45:33 +01:00
Abdullah Tahiri
31d803d46b 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
cb5981fceb 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
e928e418ec 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
2d8e70085e rename 2d tool classes to be consistent with 3d classes 2016-11-21 14:29:51 +01:00
wmayer
7472b05b16 fixes #0002781: Build error message 2016-11-19 13:47:37 +01:00
Yorik van Havre
bf0d37bf28 Doc: Fixes in doxygen docs for Draft,Arch, FEM 2016-11-17 17:04:09 -02:00
wmayer
706094fbc2 clear expression when setting constraint non-driving 2016-11-11 12:33:20 +01:00
wmayer
4510497fd0 update documentation 2016-10-24 16:59:12 +02:00
wmayer
079ef4daf6 fix several memory leaks:
SketchObject::delGeometry
SketchObject::delExternal
SketchObject::delAllExternal
SketchObject::validateExternalLinks
2016-10-24 16:32:18 +02:00
wmayer
f590f8a868 fix memory leak in SketchObject::transferConstraints 2016-10-24 14:35:24 +02:00
wmayer
562f8eedc1 fix linking failure with gcc/clang 2016-10-23 14:10:01 +02:00
wmayer
b1904dfd28 replace hard coded numbers with static constants 2016-10-23 13:44:26 +02:00
wmayer
677ec6cd30 fix coverity issues 2016-10-08 17:43:30 +02:00
wmayer
c06b6f081f fix -Wextra in Sketcher 2016-09-22 18:34:35 +02:00
wmayer
2af6bb6e49 replace deprecated auto_ptr with unique_ptr 2016-09-22 13:01:20 +02:00
wmayer
e8554cc77a do not use doCommand without using format string, add overloaded method of runCommand 2016-09-15 18:53:37 +02:00