Commit Graph

95 Commits

Author SHA1 Message Date
Zheng, Lei
f592b66ecb Part/Toponaming: Add original code for makeShapeWithElementMap
Called TopoShape::makESHAPE in the original Toponaming branch. The code here has been modified as little as possible to get it to compile in current main.
2024-01-27 11:59:56 -06:00
Zheng, Lei
9aeb396d00 Transfer in MakeElementShell 2024-01-25 11:00:01 -05:00
bgbsww
5d40864811 Small cleanups 2024-01-22 16:14:20 -05:00
bgbsww
266d9c880a Merge branch 'main' into bgbsww-toponaming-makeElementFace 2024-01-22 12:50:13 -05:00
bgbsww
26dbd32c15 lint / review cleanups 2024-01-22 11:01:19 -05:00
bgbsww
d405fdadc4 Add tests, reformat to modern C++, clean 2024-01-21 15:34:46 -05:00
Zheng, Lei
e425b5b2db Toponaming move makEFace as makeElementFace and dependencies 2024-01-17 20:38:50 -05:00
Zheng, Lei
8811a590b0 ShapeMapper code from RT branch to new TopoShapeMapper files 2024-01-16 20:11:43 -05:00
Chris Hennes
f0a734fed0 Part/Toponaming: Refactor makeElementCompound
Refactor to address linter issues, breaking up large methods, renaming variables, etc.
2024-01-15 18:17:32 +01:00
Zheng, Lei
c59bced261 Part/Toponaming: Add original code for makECompound
Renamed to makeElementCompound and modified as little as possible to get it to compile in the new framework. All required auxilliary methods are also brought in.
2024-01-15 18:17:32 +01:00
Chris Hennes
67e533826f Part/Toponaming: Modify constructors to set owner of ShapeProtector 2024-01-12 10:00:45 -06:00
Pesc0
97c0dedabe Part/Toponaming: Pesc0's work replacing ShapeProtector
In realthunder's original version this class was not derived from TopoDS_Shape, but rather duplicated
its interface and wrapped its non-const methods. This resulted in quite a lot of boilerplate, so in
the merged implementation we are now deriving from TopoDS_Shape and only overriding the non-const
methods. The downside is that if OCCT adds or changes methods we will have to add them proactively
to this class so that they don't bypass the TNP code.
2024-01-12 09:57:33 -06:00
Chris Hennes
ee2be48cd7 Part/Toponaming: Add original cache methods 2023-12-27 21:16:15 -06:00
Chris Hennes
e5b95c7522 Part/Toponaming: Clang-tidy cleanup of TopoShapeCache
Part/Toponaming: Move implementions to cpp file
Part/Toponaming: Automated code cleanup
Part/Toponaming: Address boolean blindess with HistoryTraceType
Part/Toponaming: More linter cleanup
Part/Toponaming: Add located and moved methods
Part/Toponaming: Moved and Located
Part/Toponaming: Add missing methods
Part/Toponaming: Add test framework for TopoShapeCache
Part/Toponaming: Add documentation provided by realthunder
Part/Toponaming: Extend tests for TopoShapeCache
Part/Toponaming: Rename getInfo to getAncestry
Part/Toponaming: Fix bug with newer OCCT
Part/Toponaming: Add final tests and tweak naming
Part/Toponaming: Address reviewer comments
2023-12-27 21:16:15 -06:00
Chris Hennes
68f43efa3e Part/Toponaming: Add TopoShapeCache base implementation
Copied from RealThunder's TopoNaming branch and modified only as much as required to enable compilation.
2023-12-27 21:16:09 -06:00
wmayer
66fb1c7777 Part: refactor ViewProviderPartExt::getDetail 2023-08-25 19:23:18 +02:00
wmayer
b9e9fe435a Part: modernize C++: use equals default 2023-08-22 15:14:03 +02:00
wmayer
31ed14db83 modernize C++: use noexcept 2023-08-07 16:06:58 +02:00
wandererfan
483238cc7f [Part]add PropertyTopoShapeList 2023-03-01 14:24:40 +01:00
wmayer
d21f9791b5 Part: add method TopoShape::isPlanar() 2022-12-07 15:18:04 +01:00
luz paz
2f1ff7928b Part: remove trailing whitespace 2022-11-15 14:19:30 -06:00
wmayer
1309b86ea5 App: move from float to double for accuracy parameter, add a virtual method to determine a default accuracy 2022-09-15 09:52:14 +02:00
wmayer
70838e224f Part: implement TopoShape::getLines 2022-09-13 23:14:17 +02:00
berniev
180edfa3cc Mod: Single arg ctors must be explicit 2022-08-24 16:55:20 +02:00
wmayer
c87e1cc1c2 clang: fix warnings [-Winconsistent-missing-override] 2022-08-09 17:36:25 +02:00
berniev
71dc5ead2f Mod: Use override etc 2 2022-08-09 12:52:26 +02:00
berniev
f4ffd15864 Mod: redundant void 2 2022-08-08 10:27:50 +02:00
Uwe
f130051618 [Part] To*: remove unneeded includes
- also sort includes
2022-07-03 18:39:24 +02:00
wmayer
2d5c2f0700 Part: adjust TopoShape::transformGShape() to reduce code duplication of TopoShape::makeGTransform
Revert changes of 4e7efd68d42a68 as otherwise there is no way to handle a failure in client code
2022-04-29 14:57:05 +02:00
wmayer
6d2d45ceb7 Part: modernize C++11
* use nullptr
2022-03-23 19:26:14 +01:00
wmayer
f1f68db55b App: Optimize includes to reduce compile time 2022-03-07 15:53:58 +01:00
wmayer
0c583fb7fa Part: fix typos in make* functions 2022-02-16 12:48:02 +01:00
wmayer
9eedb17b70 App: use consistent spelling of SubElement 2021-10-06 18:09:53 +02:00
wmayer
6ed0352a4d Part: for faster execution make sewing optional when creating shape from mesh 2021-10-01 19:29:49 +02:00
tomate44
1ad246bdad Part primitives: use makeSpiralHelix in spiral and helix primitives 2021-03-10 14:22:04 +01:00
tomate44
8a7a5b583f TopoShape: add a common function to build spirals and helixes 2021-03-10 14:18:12 +01:00
wmayer
d65937d338 Part: [skip ci] rename methods in TopoShape that override non-virtual functions of base class 2021-02-03 16:10:38 +01:00
wmayer
51245f3851 Part: [skip ci] add TopoShape::isInfinite 2020-12-19 16:07:00 +01:00
wmayer
40145c06bf Part: [skip ci] add method TopoShape::makeTorus 2020-12-03 14:50:20 +01:00
wmayer
8dfce38041 Part: [skip ci] implement getPyObject/setPyObject of TopoShape class 2020-10-16 13:46:44 +02:00
wmayer
adf662b13d remove superfluous includes of iostream, use iosfwd instead 2020-07-28 15:22:23 +02:00
wmayer
9367e73e92 LGTM: [skip ci] fix: Inconsistent definition of copy constructor and assignment ('Rule of Two')
Remove user-defined copy constructor of Exception classes without assignment operator
2020-07-27 13:47:41 +02:00
Zheng, Lei
a0b14f2dcd Part: add TopoShape::getSub(Topo)Shapes() 2019-12-30 17:17:14 +01:00
luz.paz
17ada69518 Part: [skip ci] fix header uniformity
This PR fixes header uniformity across all Part WB files
2019-12-22 00:59:47 +01:00
wmayer
b594274407 add missing header and forward declaration 2019-08-17 23:14:45 +02:00
Zheng, Lei
f028ba42ff 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
wmayer
4f10d2fac9 support face colors when writing in OpenInventor format 2019-01-12 15:06:25 +01:00
wmayer
9aa6a700d8 Replace Base::Exception with appropriate subclass 2018-11-14 19:45:20 +01:00
wmayer
6c87152d36 fixes 0003333: Wrong behaviour of fuse operation 2018-09-25 17:53:37 +02:00
tomate44
607a6c122b add OCC defeaturing to TopoShape 2018-07-29 11:50:06 +02:00