Commit Graph

667 Commits

Author SHA1 Message Date
Abdullah Tahiri
ca8b39516b Part: Enable BSpline creation from poles 2017-01-07 02:00:12 +01:00
Abdullah Tahiri
e026378e7d Part: GeomBSpline extension for basic BSPline Sketcher support
==============================================================

1) Basic set/get interface for poles, weights, knots and multiplicities

2) Introduction of GeomBoundedCurve class replicating OCC hierarchy. Why? To provide seamless start/end point interface for any bounded curve, i.e. Bezier, BSpline,

Note: The ArcOfConic start/end point interface relies on GeomTrimmedCurve, and introduces CCW/CW correcting code which relies on Axis. Axis are introduced in GeomConic and are
not part of GeomBounded.

Note 2: In the future, it may be thought to make GeomArcOfConic (the equivalent of GeomTrimmedCurve) deriving from GeomBoundedCurve, as to fully replicate OCC hierarchy. GeomBoundedCurve
defines the functions as virtual to allow seamless integration.
2017-01-05 11:58:33 +01:00
wmayer
7d842679bd in forward declaration replace class keyword when struct is expected
comment out unused parameters
2016-12-29 17:52:39 +01:00
wmayer
a421803c09 fix whitespaces 2016-12-28 14:22:42 +01:00
wmayer
9d8f765738 move methods setXAxisDir/getXAxisDir to base class 2016-12-28 14:22:12 +01:00
wwmayer
52a65710f8 Merge pull request #401 from abdullahtahiriyo/parabola_2017
Parabola 2017
2016-12-28 13:48:13 +01:00
Abdullah Tahiri
a2acb7ad30 Sketcher: Parabola fix loading from file 2016-12-24 22:15:41 +01:00
Abdullah Tahiri
2ab4297069 Part::Geometry: ArcOfParabola CCW emulation support/fix
=========================================================

Correction of the emulation so that arcs of parabola are always CCW.
2016-12-24 16:11:15 +01:00
Abdullah Tahiri
505dd6e440 Part: Parabola Python Creation from Focus, Center and Normal Vector 2016-12-19 17:35:39 +01:00
wmayer
8afd7dc231 fix CID 154895 2016-12-18 11:32:45 +01:00
Abdullah Tahiri
7f2f9a19c3 Part: ArcOfParabola extension to set the symmetry axis 2016-12-18 00:03:53 +01:00
Abdullah Tahiri
abb3e1d0b5 Part: Parabola Extension to support getting occ focus 2016-12-17 22:50:46 +01:00
wmayer
19c9a9f819 remove superfluous Qt includes 2016-12-13 14:33:16 +01:00
Stefan Tröger
90aabe7207 Extension: remove unneeded debug messages 2016-12-07 06:41:40 +01:00
Stefan Tröger
117ae4e6ab Port attachment UI to Part for general use
Furthermore change PartDesign primitives to use the new task dialog
2016-12-07 06:41:40 +01:00
Stefan Tröger
67d76b309c Port Attacher codde to the extension framework
AttachableObjects are desired in multiple occasions, and the current AttachableObject is not flexible enough to handle all cases. Hence the code is portet to an extension, which gives the needed flexibility.
2016-12-07 06:41:40 +01:00
Stefan Tröger
c4911aeca1 Extensions: Add changed property handling 2016-12-07 06:37:27 +01:00
wmayer
17d6d739e6 fix warnings 2016-12-04 17:04:48 +01:00
wmayer
273f3995c0 add class GeomArcOfConic to reduce code duplication 2016-12-04 14:20:56 +01:00
wmayer
4ba8b565dc add class GeomConic to reduce code duplication 2016-12-04 11:36:50 +01:00
wmayer
f56a570e9a code optimization 2016-12-03 22:27:07 +01:00
wmayer
4ffce9699c implement BSplineCurve2d 2016-12-03 22:17:04 +01:00
wmayer
07c2334839 implement BezierCurve2d 2016-12-03 18:23:55 +01:00
wmayer
ad41408b73 set type names of geom classes 2016-12-03 13:26:12 +01:00
wmayer
dd1d45b081 fix bug in Curve class 2016-12-03 11:04:24 +01:00
wmayer
5551f9c3d2 implement Curve2d 2016-12-03 11:01:44 +01:00
wmayer
4b9d3915f4 in old mode Edge.Curve returns a line segment instead of an infinite line 2016-12-02 12:51:00 +01:00
wwmayer
bc7dd1e18f Merge pull request #357 from mlampert/PathGeom
Path: Path->Wire transformation and other goemetry helpers.
2016-12-01 12:48:03 +01:00
wmayer
c74ba63283 implement Line class 2016-12-01 00:04:13 +01:00
wmayer
19237df7bf add class LineSegment 2016-11-30 16:26:21 +01:00
Markus Lampert
abe7c4404d Enhance makeHelix to also support helixes that spiral downwards. 2016-11-28 15:10:25 -08:00
Abdullah Tahiri
8107674550 Part::Geometry: ArcOfHyperbola CCW emulation support/fix
===================================================

Correction of the emulation so that arcs of hyperbola are always CCW. This fixes mismatching of end points and edge in Sketcher.
2016-11-27 18:45:33 +01:00
DeepSOIC
bc1f9396f4 Sketcher: Hyperbola: fix - remove periodicity correction
Not needed, since hyperbola is not periodic, unlike circle and ellipse
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
wmayer
a832640743 port TopoShape::exportStep to occ7.1 2016-11-27 11:01:15 +01:00
wmayer
86b99e55dc add method to extract pcurve from an edge 2016-11-26 19:28:06 +01:00
wmayer
0e320ae8cf implement Line2d 2016-11-26 15:30:00 +01:00
wmayer
fca22e332b fix -Wunused-parameter 2016-11-26 14:11:30 +01:00
wmayer
f5a3c8ab48 implement Line2dSegment, fix doc strings 2016-11-26 14:08:14 +01:00
wmayer
e841178b83 implement OffsetCurve2d 2016-11-25 23:45:14 +01:00
wmayer
58d448da34 implement ArcOfParabola2d 2016-11-25 18:11:37 +01:00
wmayer
20b801efc3 implement Hyperbola2d and ArcOfHyperbola2d 2016-11-25 17:50:52 +01:00
wmayer
5eb3e0386b implement Ellipse2d and ArcOfEllipse2d 2016-11-25 17:20:58 +01:00
wmayer
14228c5f2c implement ArcOfConic2d and ArcOfCircle2d 2016-11-25 10:07:55 +01:00
wmayer
dc23e23acd implement Circle2d 2016-11-24 23:45:05 +01:00
wmayer
1b406d3a97 implement Conic2d and Parabola2d 2016-11-24 21:16:32 +01:00
wmayer
70240b52f4 fix build failure on Linux 2016-11-23 19:27:41 +01:00
wmayer
6cbb86cf08 create gp_Trsf2d from gp_Trsf 2016-11-23 18:53:48 +01:00
wmayer
4be07a25e5 implement methods of Geometry2dPy 2016-11-23 15:05:55 +01:00
wmayer
6b5dd05d51 use cmake's OBJECTS library option 2016-11-23 15:04:58 +01:00