Commit Graph

78 Commits

Author SHA1 Message Date
Abdullah Tahiri
22f8c12235 Part: Geometry intersect routines throw when OCCT throws 2018-10-28 18:32:42 +01:00
Abdullah Tahiri
c3592c8ff4 Part: Geometry Arcs inheriting from GeomTrimmedCurve 2018-10-28 18:32:15 +01:00
Abdullah Tahiri
90ae032d6d Part: Geometry - improvements/bug fixes
=======================================

routine for closest parameter to point was failing on endpoints. The former version
used the parameter of the basis curve, which sometimes was giving parameter values
incoherent. This version uses distance to endpoints when a projection on the trimmed
curve can not be found.
2018-10-28 18:31:22 +01:00
Abdullah Tahiri
8a134466ed Part: New routines for curve intersection 2018-10-28 18:31:06 +01:00
wmayer
348ed301de avoid re-throwing an exception in case normal is not defined 2018-10-04 23:31:55 +02:00
wmayer
05089339cd fix -Wabsolute-value 2018-08-17 09:47:38 +02:00
wmayer
a7f261dc13 fix warnings 2018-08-08 18:02:59 +02:00
Markus Lampert
e13c09235f Changed all catch types to references for polymorphic exceptions. 2018-08-08 15:45:30 +02:00
Abdullah Tahiri
f809d67685 Part: Improvement to closest parameter determination when the projection does not exist in the trimmer curve 2018-07-29 13:44:06 +02:00
wmayer
61729b7256 fixes #0003027: if type(App.Vector) in originSketch.Geometry: newSketch.Geometry = originSketch.Geometry Raises types in list must be 2017-11-26 22:55:26 +01:00
luzpaz
cc87c20afe Make uniform the use of B-spline visible to users
Forum thread: https://forum.freecadweb.org/viewtopic.php?f=8&t=25411
This commit does not include fixes to source  comments unless they were 'doxygenated'.
No .xml files were altered either.
2017-11-17 19:30:37 -05:00
wmayer
bf5960ce7e for circle and arc of circle also store angle to local x-axis 2017-09-29 12:52:10 +02:00
wmayer
0d617f97d6 Port to occ7.2:
+ Standard_Failure::Caught() is now marked as deprecated and should be replaced with standard C++ exception handling
2017-09-01 16:27:46 +02:00
wmayer
3fee9bad3e add methods to get normal and curvature information from surfaces 2017-08-14 12:24:42 +02:00
tomate44
ad2aedbfc2 Part GeomBezierCurve implement Save() and Restore() 2017-06-26 22:08:38 +02:00
Peter Lama
fa4bebf2e0 Use OCCT Handle macro for Handle_ classes
This is the result of running OCCT's upgrade script provided
with OCCT 7.0. See
https://www.opencascade.com/content/freecad-occt710-and-windows-rtti-data-missing#comment-form
and
https://www.forum.freecadweb.org/viewtopic.php?f=4&t=21405&start=120#p169019
for why this is necessary for OCCT >= 7.1
2017-04-20 12:27:34 +02:00
Abdullah Tahiri
621c1d74f1 Part: Geometry refactoring copy/clone 2017-04-10 08:57:25 +02:00
Abdullah Tahiri
52a0ad6e04 Part: Geometry assignTag function 2017-04-10 08:57:25 +02:00
Abdullah Tahiri
f9dd6cace1 Part: Geometry creation of copy method to distinguish from clone 2017-04-10 08:57:25 +02:00
wmayer
3663cfbd0e add method to create new tag id 2017-04-08 13:31:28 +02:00
Abdullah Tahiri
3060e28c81 Part: Geometry - implement missing setHandle functions and refactoring 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
1c34aca8ac Part: Add unique identifier to Geometry 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
2c53237492 Part: Fixing signed vs unsigned warning 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
6301b814ee Part: GeomBSpline enable direct construction from parameters 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
298e962d26 Part: GeomBSplineCurve extension to get, increase or reduce multiplicity 2017-04-08 12:58:06 +02:00
Abdullah Tahiri
0cf81e2d1f Part: Geometry add support for getting the number of knots in a B-Spline 2017-04-08 12:58:06 +02:00
Kunda
9410e751e9 source typo fixes pt4 (only on py3 merged code) 2017-03-02 13:47:21 +01:00
wmayer
a0aa4fdfef Some fixes of pr 538
fix -Wreturn-type
homogenous naming style
use official spelling of B-spline
2017-02-21 13:30:43 +01:00
Abdullah Tahiri
49fe51910c Part: Add support for reversing a geomcurve 2017-02-21 13:24:10 +01:00
Abdullah Tahiri
194dcae963 Sketcher: BSpline Increase Degree tool 2017-02-21 13:24:10 +01:00
Abdullah Tahiri
08a79d7146 Part: Geometry functionality extension
======================================

Added for curves:
getFirstParameter
getLastParameter
curvatureAt
length

Modified:
normalAt(double u, Base::Vector3d& dir)

as it was not working properly.
2017-02-21 13:24:10 +01:00
wmayer
8c5d7b7386 implement toNurbs for ellipse 2017-02-17 18:43:20 +01:00
wmayer
9baa5e9791 implement NURBS converson of circle 2017-02-13 15:13:35 +01:00
wmayer
becdede5c0 add methods to convert a curve to a B-Spline or NURBS 2017-02-13 10:38:09 +01:00
wmayer
d065c2fe5b fix whitespaces 2017-01-20 19:22:50 +01:00
wmayer
a3e30b8ca7 make indexes of GeomBSplineCurve consistent to OCC API 2017-01-20 18:49:59 +01:00
wmayer
7017a847f1 in geometry classes raise RuntimeError instead of basic exception type 2017-01-20 18:09:02 +01:00
Abdullah Tahiri
b0dc19eca9 Part: Fixes triggered by Werner's comments on my branch 2017-01-10 20:05:18 +01:00
Abdullah Tahiri
c8d56c5663 Part: Bezier serialization support extension to periodic
=======================================================

Extension for periodic + suggestions by Werner.
2017-01-10 14:44:43 +01:00
Abdullah Tahiri
5d28434ef5 Part: BSpline serialization
===========================

It stores a rational BSpline even if non-rational.

It should be extended to store in addition whether it is periodic or not, i.e. to support periodic BSplines.
2017-01-08 00:42:30 +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
9d8f765738 move methods setXAxisDir/getXAxisDir to base class 2016-12-28 14:22:12 +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
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
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
19237df7bf add class LineSegment 2016-11-30 16:26:21 +01:00