Commit Graph

137 Commits

Author SHA1 Message Date
wmayer
a247b7e6a5 force strict ISO C++ (-Wpedantic)
for Drawing, Image, Inspection, Mesh, MeshPart, Part, Path, Points, Raytracing, ReverseEngineering, Spreadsheet, Start, Surface, Web

TODO: fix several -Woverflow in area
2019-09-18 11:32:42 +02:00
wmayer
28f74290b2 fix -Wreturn-std-move 2019-09-07 15:19:28 +02:00
wmayer
598faf9ad2 include missing header 2019-09-01 17:25:42 +02:00
wmayer
7e60631239 add missing header and forward declaration 2019-08-17 23:14:45 +02:00
Zheng, Lei
6da72b9859 Part: changes to Part Module
* Added Part::Feature::getTopoShape/getShape() function that can obtain
  shape from any object with proper implementation of getSubObject(). It
  can even construct compound from group object with proper implementation
  of getSubObjects().

* Modified ViewProviderExt to work on any object, because it now obtain
  the shape using Part::Feature::getShape()

* Modified various Part features to obtain base/tool shapes using
  Part::getShape(), which allows them to be any type of object,
  including Link and groups.

* Modified various Part command to relax type requirement on selected
  objects.

* Add support of link and group to dimension, and add dimension refresh
  command

* Support link and group in simple command command, and add a few more
  copy command variations.

* Add special handling of 'Shape' attribute in PropertyContainerPy and
  use Part::Feature::getShape() to return shape for any object without
  Shape property. This allows many python feature work with any object
  without modification.

* GeometrySurface/CurvePy, add convenience attribute 'Rotation'

* TopoShapePy:

    * Extended support of sub shape attribute, e.g. Compound1, Solid2,
      SubShape3 ('SubShape' is used to access child shape of a compound)

    * makeWires(), new API to sort and return wires given a list of edges.

    * transformed/translated/rotated/scaled(), return a new shape with
      some transformation.

    * findPlane(), find the plane of a planar shape

    * isCoplanar(), check if two shape are coplanar
2019-08-17 15:08:35 +02:00
Zheng, Lei
c93741d72f Gui: add box geometry element selection command
Implement box element selection that support linked and grouped objects.
Also modified original box selection command to support the same with
the same code.
2019-08-17 15:08:33 +02:00
Abdullah Tahiri
a56658489b Part: Make 3rd party libraries into PCH 2019-05-02 07:09:22 +02:00
wmayer
43bdef67d6 continue PCH on Part module 2019-05-01 16:10:38 +02:00
joha2
881756079c MeshToSolid: progress indicator and slightly modified sewing tolerance dialog 2019-03-31 11:30:03 +02:00
wmayer
f581d5c8cb PVS: V560 A part of conditional expression is always true 2019-02-17 13:56:48 +01:00
wmayer
dbc09e3a23 fixes 0003020: 2D offset of circle are not in the right place 2019-01-26 22:52:40 +01:00
wmayer
9f96254e7e improve whitespaces 2019-01-26 22:52:40 +01:00
wmayer
033fce2685 support face colors when writing in OpenInventor format 2019-01-12 15:06:25 +01:00
wmayer
e02695b91f Replace Base::Exception with appropriate subclass 2018-11-14 19:45:20 +01:00
wmayer
c3a8348861 fixes 0003571: Offset3D of volumes intersection is not solid 2018-09-30 22:40:32 +02:00
wmayer
ff0cacca0a fixes 0003469: FreeCAD crashes on edge selection during fillet edge operation on extruded geometry 2018-09-25 22:51:33 +02:00
wmayer
dfd3d86b22 fixes 0003333: Wrong behaviour of fuse operation 2018-09-25 17:53:37 +02:00
wmayer
557fee3dc6 fix -Wignored-qualifiers 2018-08-19 12:38:57 +02:00
Markus Lampert
0b40519f3f Changed all catch types to references for polymorphic exceptions. 2018-08-08 15:45:30 +02:00
tomate44
b40c1f16b5 add a missing check for OCC version 2018-07-29 11:50:08 +02:00
tomate44
4a0ea3c0ec add OCC defeaturing to TopoShape 2018-07-29 11:50:06 +02:00
wmayer
61a6fbe6d2 fix -Wunused 2018-07-28 12:56:31 +02:00
Yorik van Havre
c93ff200ca Part: Allow to disable progress bar in brep string reader 2018-07-19 11:57:07 -03:00
wmayer
f90cd4a56d backport to occt < 6.9 2018-06-10 21:57:25 +02:00
tomate44
f3ac51d9b7 add Approximation option to TopoShape section 2018-06-10 20:59:06 +02:00
wmayer
211a24507c do not use deprecated class in OCCT 7.3 2018-06-01 17:02:27 +02:00
wmayer
0425c7f3c8 fixes #0003493: Python Shape.isClosed() returns false for any solid, including primitive Parts 2018-05-27 15:10:44 +02:00
wmayer
80e3bfb69c avoid division by zero when discretizing a shape 2018-01-20 00:02:08 +01:00
wmayer
9e0ddec00a port to occ 7.2.1 2018-01-03 14:31:52 +01:00
wmayer
4c7a0a1404 port to occ 7.2.1 2018-01-03 14:16:23 +01:00
Unknown
c8c9b76f43 Misc. typos 2017-12-06 20:59:55 +01:00
Unknown
772c5b1970 Doxygen Typos
+ doxy whitespace formatting
+ added more misc. typos
+ grammar fixes
[skip ci]
2017-10-15 16:27:42 +02:00
wmayer
be18a46df9 add convenience methods to directly set/get a placement to/from a shape 2017-09-19 15:43:28 +02:00
wmayer
a07226cea1 use constraint to limit minimum and maximum degree 2017-09-18 12:07:00 +02:00
tomate44
f8585e71c1 add MaxDegree setting to Part.Loft 2017-09-18 12:07:00 +02:00
wmayer
98bf3bdb4a don't reverse orientation after converting mesh to shape 2017-09-12 07:59:31 +02:00
wmayer
c9957b8a98 Port to occ7.2:
+ use default constructor of BRepOffsetAPI_MakeOffsetShape since overloaded versions are deprecated
+ use default constructor of BRepOffsetAPI_MakeThickSolid since overloaded versions are deprecated
+ fix small bug in MeshVertex
2017-09-02 12:04:07 +02:00
wmayer
fd5e7768dd Port to occ7.2:
+ replace use of StlMesh classes as they have been removed
2017-09-02 00:26:04 +02: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
f6a086dde0 add comment to source code 2017-06-18 16:23:29 +02:00
Kurt Kremitzki
90f0e5ceb8 Remove redundant matrix scale factor multiplication 2017-06-16 00:15:22 +02:00
wmayer
51d7949409 add optional parameter to TopoShape.check() to run bop check 2017-05-10 22:40:12 +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
35e8edeb08 extend interface to get actual property with geometric data, get center of gravity of a geometry 2017-03-05 18:05:11 +01:00
wmayer
dfbd6aa237 cleanup work: overload methods instead of using new method names 2017-01-04 15:39:27 +01:00
triplus
43ad429734 Add Part BOA multiCut, multiCommon and multiSection methods 2017-01-04 14:06:12 +01:00
wwmayer
01fd5ce6f3 Merge pull request #357 from mlampert/PathGeom
Path: Path->Wire transformation and other goemetry helpers.
2016-12-01 12:48:03 +01:00
Markus Lampert
fcc187880e Enhance makeHelix to also support helixes that spiral downwards. 2016-11-28 15:10:25 -08:00
wmayer
4130f845e2 port TopoShape::exportStep to occ7.1 2016-11-27 11:01:15 +01:00
triplus
3d26fec75a Part generalFuse enable SetRunParallel
Test case:

http://forum.freecadweb.org/viewtopic.php?f=10&t=18179&p=143225#p143225
2016-11-02 15:52:42 +01:00