Commit Graph

57 Commits

Author SHA1 Message Date
luz.paz
4cfda0c3a5 Misc. typos
Found via `codespell`
2019-02-08 11:01:24 -02:00
wmayer
a624fee2c2 add GUI functions to flip orientation of input curves 2018-09-07 23:03:07 +02:00
wmayer
864767221d add boolean list to handle orientation of boundary curves 2018-09-07 11:48:11 +02:00
wmayer
cd5ee548f6 CMP0050: make Surface module aware of cmake policy 2018-08-20 14:56:30 +02:00
Markus Lampert
0b40519f3f Changed all catch types to references for polymorphic exceptions. 2018-08-08 15:45:30 +02:00
tomate44
b5779a8610 add comments 2018-04-02 15:51:39 +02:00
tomate44
6ca441d1be fix crash when boundary edges are not ordered 2018-04-02 15:51:16 +02:00
wmayer
011eed3a64 add feature to extend given surface 2017-12-19 13:23:39 +01:00
wmayer
58a55aeebf set global link scope of surface features 2017-11-27 22:11:13 +01:00
luzpaz
706141b967 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
949c86d364 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
b47805dcc6 Extend task panel for filling function 2017-04-24 11:12:12 +02:00
wmayer
0335e2a21c Extend task panel for filling function 2017-04-22 14:46:26 +02:00
wmayer
a76ebbcec9 Initial task panel for filling function 2017-04-22 11:12:13 +02:00
Peter Lama
a75a98ef27 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
wmayer
884b8202ea rename SurfaceFeature to GeomFillSurface 2017-04-17 16:20:44 +02:00
wmayer
951bf59ef4 remove superfluous classes BezierSurface and BSplineSurface 2017-04-17 16:20:44 +02:00
wmayer
ff34c3eece move handling of Bezier and BSpline surface creation into a common class to increase flexibility 2017-04-17 16:20:44 +02:00
wmayer
3eed50918b improve undo/redo handling 2017-04-17 16:20:44 +02:00
wmayer
5689e4c13b remove superfluous FillType enum 2017-04-17 16:20:44 +02:00
wmayer
ffa88e559b do not make property read-only in property editor 2017-04-17 16:20:44 +02:00
wmayer
39f433a410 choose more comprehensive class and file names 2017-04-17 16:20:44 +02:00
wmayer
4b25a0febc polish filling feature 2017-04-17 16:20:44 +02:00
wmayer
a5452e9363 polish sewing feature 2017-04-17 16:20:44 +02:00
wmayer
1fd27d18df port Surface module to v0.17 2017-04-17 16:20:44 +02:00
wmayer
e29636a88d + fix bugs in edge checking 2017-04-17 16:20:44 +02:00
wmayer
a303b76334 + fix design flaw to reduce side effects 2017-04-17 16:20:44 +02:00
wmayer
88b15392eb + move FillType.h to App folder 2017-04-17 16:20:44 +02:00
wmayer
d3ac517146 + make surface module compile with v0.17 and occ 7 2017-04-17 16:20:44 +02:00
wmayer
7706124df7 + use PyCXX for module initialization 2017-04-17 16:20:44 +02:00
wmayer
6bf1dc8144 + delete superfluous files 2017-04-17 16:20:44 +02:00
balazs-bamer
a8adbaa125 Fix: edges of a solid can be used as surface input
Edges of a solid can be used as surface input. The real subName is
passed instead of the constant 'Edge1'
2017-04-17 16:20:44 +02:00
balazs-bamer
307105f1ab Curve validation is done in a common ancestor of App and GUI
Curve validation is done in a common ancestor class of Surface::BSurf
and SurfaceGui::CmdSurfaceBSurf
2017-04-17 16:20:44 +02:00
balazs-bamer
d980889b3a Check for null shape before calling ShapeType
Check for null shape before calling ShapeType
2017-04-17 16:20:44 +02:00
balazs-bamer
e681dc3771 Unhide surface props and set the filltype to read-only in data tab
I made the surface property (FillType and boundary) default again.
Status bit 2 is set on fill type to hide it in data tab.
2017-04-17 16:20:44 +02:00
balazs-bamer
0af6fc0894 allow wires as surface input
Now an arbitrary mixture of edges and wires can be used as input.
However, the total count of edges together with the wire members
can only be 2, 3 or 4.

For some reason, wires do not work in Python script:
test1.BoundaryList = [(Draft.upgrade([bs1a, bs2a]), 'Wire1')]
yields an empty BoundaryList
2017-04-17 16:20:44 +02:00
balazs-bamer
724fa4fe4e try to convert non-b-splines into b-splines; further parameter check
Non b-spline curves are converted into b-splines if possible.
This means circles, lines etc are allowed.

Further parameter checks prohibiting surfaces being accepted as input.
2017-04-17 16:20:44 +02:00
balazs-bamer
05335359ea Surface properties are hidden
Surface properties are now hidden. Read-only made creation
2017-04-17 16:20:44 +02:00
balazs-bamer
d3fb21f93b PropertyEnumerator for fill type
Fill type is now of type PropertyEnumerator, allowing enumerated names
in the Data tab. However, it has 2 problems:
1. Invalid shows up
2. The user has the illusion to see the result after changing the value.
However, the result gets updated only
2017-04-17 16:20:44 +02:00
balazs-bamer
2d5119c266 Corrected feature property names
aBList -> BoundaryList
filltype -> FillType
2017-04-17 16:20:44 +02:00
balazs-bamer
76c357ad70 Cancelling the just created surface deletes it
Now if the user creates a surface, the cancel in the widget deletes it.
If an already existing one is opened for editing, cancel rejects the
user change in fill type, but the surface remains.
2017-04-17 16:20:44 +02:00
blobfish
e83189b9bf header clean up 2017-04-17 16:20:44 +02:00
blobfish
4372355e4c createFace function signature 2017-04-17 16:20:44 +02:00
blobfish
64bc5abe30 class hierarchy and macros 2017-04-17 16:20:44 +02:00
balazs-bamer
d5a999447e Dialog with radio buttons for choosing Bezier and b-spline surface fill type
A regular common dialog with apply, cancel and OK buttons allowing
surface fill type selection for Bezier and b-spline surfaces.

The Bezier and b-spline surface functionality now seems to be complete.
2017-04-17 16:20:44 +02:00
balazs-bamer
0c76e1f1e1 One step towards the dialog
Problem registering the own ViewProvider
2017-04-17 16:20:44 +02:00
balazs-bamer
65bd9da6d2 fill type radio buttons - incomplete
I tried to implement a dialog with fill type radio buttons, but no
success yet.
2017-04-17 16:20:44 +02:00
balazs-bamer
328d525a82 Bezier and B spline cleanup, fixed B spline error
I have made further cleanup in Bezier and B spline surface code, and
corrected the bug in face creation for B splines (Nate has also written
that that was incomplete).
2017-04-17 16:20:44 +02:00
balazs-bamer
c85368bfc0 B-spline surface operation enabled
I have converted Nate's b-spline generation to use my superclass
FeatureBSurf and added it to the GUI. Other half-ready operations as
filling and cut are commented out.

Missing:
- the fill type must be queried from the user. The data panel lets it
modify, but it is not user-friendly.
- b-spline surface is generated, but it covers only a fraction of the
supporting curves. It may lie on OCC error.
2017-04-17 16:20:44 +02:00
balazs-bamer
37406a968e Bezier surface: check selected objects
As the GUI selection changes, the Bezier surface tool avaibility is
always updated, so it is active if and only if 2-4 Bezier curves are
selected.
2017-04-17 16:20:44 +02:00