Commit Graph

36 Commits

Author SHA1 Message Date
PhoneDroid
8abd25c999 [ App ]: Update SPDX License Identifiers 2025-12-25 11:55:37 -06:00
Markus Reitböck
d05e2a0431 App: use CMake to generate precompiled headers on all platforms
"Professional CMake" book suggest the following:

"Targets should build successfully with or without compiler support for precompiled headers. It
should be considered an optimization, not a requirement. In particular, do not explicitly include a
precompile header (e.g. stdafx.h) in the source code, let CMake force-include an automatically
generated precompile header on the compiler command line instead. This is more portable across
the major compilers and is likely to be easier to maintain. It will also avoid warnings being
generated from certain code checking tools like iwyu (include what you use)."

Therefore, removed the "#include <PreCompiled.h>" from sources, also
there is no need for the "#ifdef _PreComp_" anymore
2025-09-14 09:47:02 +02:00
Benjamin Nauck
dd6aa9f3c7 Prefer to use BaseClass's isDerivedFrom<T> over non template or Base::Type's
Regex based changes, manually verified
2025-01-27 16:08:18 +01:00
wmayer
4e82a0af48 App: Apply clang format (part 1) 2024-11-21 07:54:24 +01:00
wmayer
ffa3fa5b5a Core: Extend Color API
* Fix issues with alpha value <> transparency
* Use type traits to convert between different color classes (fixes #14515)
2024-11-15 12:25:25 -05:00
berniev
65a356835b App: Modernise ctors dtors defs etc 2022-08-01 00:34:46 +02:00
berniev
b40de7a509 remove redundant void 2022-07-31 10:27:44 +02:00
wmayer
749361d2f3 App: modernize C++11
* use nullptr
2022-03-23 17:29:23 +01:00
Uwe
40c7b1660b [App] Origin and Part: remove unused includes 2022-02-28 13:15:23 +01:00
howetuft
4b2e707018 Set App::Part Material property type to App::PropertyLink
App::Part Material property type is currently App::PropertyMap, but to
be consistent with other domains using materials (like Arch, especially), it
should rather be App::PropertyLink, in order to link to a Material
card.
2022-01-25 23:20:46 +01:00
Zheng, Lei
74de3aebee App: fix Part::getPartOfObject()
Exclude link broght in by expressions
2021-01-12 09:45:59 +08:00
luz paz
bfdffb50be App: Fix header uniformity, trailing whitespace, and doxygen headers 2020-11-19 13:38:37 +01:00
luz.paz
4f308dc03c src/App: [skip ci] fix header uniformity
This PR fixes header uniformity across all `src/App` files
2019-12-25 11:38:43 +01:00
wmayer
1538a14eca leave license field and url of a Part container empty to avoid possible confusion with imported 3rd-party STEP/IGES models 2018-10-29 15:24:12 +01:00
luzpaz
128239b54a Typos: Various workbenches and misc.
[skip ci]
2017-12-25 10:58:10 +01:00
Stefan Tröger
bdf981e770 Unify and fix group handling in geofeaturegroups 2017-06-19 15:37:09 +02:00
Kunda
3017173c9a source typo fixes pt6 2017-03-07 13:43:46 -03:00
Stefan Tröger
47ed29fffd Extensions: GeoFeatureGroup only for GeoFeature 2017-01-04 16:01:58 +01:00
Stefan Tröger
22fa3b3922 Extension: Fix order-of-initialisation crash
FreeCADs property system utilises some pointer math to calculate the offset between
property and base class. Due to virtual inheritance of th ePropertyContainer the memory
layout has been changed to rather random, which has lead to crashes dependend on the
order of object initialisation.

The solution is to not make PropertyContaner virtual but a class below, Base::Persitance.
Then the memory layout is random for Persistance, but it is perfectly aligned for the
base class chains from PropertyContainer onwards as well as from Extension onwards.
Hence the proeprty system was changed to take the offset always from those two.
2016-10-08 12:48:34 +02:00
Stefan Tröger
4c42181e34 Extensions: Show up in the python interface 2016-10-08 12:48:34 +02:00
Stefan Tröger
c5a2419e14 Extensions: Introduce classes and port App groups 2016-10-08 12:48:34 +02:00
Alexander Golubev
56823eeb9d App/Part: add getPartOfObject() to search a part for object 2016-04-12 18:12:18 +02:00
Alexander Golubev
2c2d155ee9 OriginGroup: add new abstraction layer between the Part and the GeoFeatureGroup 2016-04-12 18:12:18 +02:00
Alexander Golubev
797d6d3a11 App/Origin: big refactoring
- Rebase App::Origin on App::DocumentObject
 - Keep all control over the Origin structure inside the Origin and it's
   ViewProvider
 - Add OriginFeature class as common base for App::Plane and App::Line
 - Rebase App::Plane and App::Line on top of newly created class and
   move to the file.
 - Change Origin's ViewProvider API associated with temporary display
 - Lots of associated changes to files
 - Several minor fixes
 - Lots of new bugs
2016-04-12 18:12:18 +02:00
Alexander Golubev
c6797b6c29 Revert "part deletion handling"
This reverts commit 6ab2002021ac1df26ebe77f488f5cd94e1df0b26.
2016-04-12 18:12:17 +02:00
Alexander Golubev
dbb5786ffd App/GeoFeatureGroup: derive from DocumentObjectGroup
Refactor GeoFeatureGroup and derive it from DocumentObjectGroup rather
than GeoFeatureObject to unify code of those two classes.
2016-04-12 18:12:17 +02:00
Stefan Tröger
07b7d9ff08 part deletion handling
-remove everxthing that belongs to a part on deletion
-disallow to delete the origin by the user and only remove it when Part is being deleted
2016-04-12 18:12:13 +02:00
Stefan Tröger
915b8ef446 add base lines 2016-04-12 18:12:05 +02:00
blobfish
b9512a2663 App: Part: rename base planes. 2016-04-12 18:12:03 +02:00
jriegel
884ae139fa Several enhancements
+ PLMXML Reader
+ Some meta information sorting
+ Making ProductRefs invisibly in Tree
2016-04-12 18:12:03 +02:00
jriegel
d59904fd37 some fixes 2016-04-12 18:12:02 +02:00
jriegel
dc4fdc2c53 Assembly: Rename to setActiveBody and make link indeipendant Part initialization 2016-04-12 18:12:02 +02:00
jriegel
51b46e1e37 Assembly: Add GeoFeatureGroup and helpers 2016-04-12 18:12:02 +02:00
jriegel
602aeecaaf add Python objects for Part and GeoFeature 2016-04-12 18:12:02 +02:00
jriegel
86bbde4bda Add path and view provider for Part 2016-04-12 18:12:02 +02:00
jriegel
35e35527db Start of rework of class structure 2016-04-12 18:12:01 +02:00