- Fix comment for mid-point
- Use in-class member initializers instead of constructor
- Remove redundant default constructor (got redundant after initializers)
- Made comments doxygen compatible
Regressed from previous behavior - there was Arch's refactor and the
base element that `SectionPlane` was inheriting from was
`App::FeaturePython`, not `Part::FeaturePython`. This changes a lot, since
`Part::FeaturePython` has predefined color (black in this case), which
later on - during property set of `SectionPlane` in properties caused
skipping of preferred setup of color.
* Add input hints to fillet and chamfer tools
* Add hints to trimming tool
* Add hints to splitting tool
* Implement hints for extend tool
* Add hints to external geometry
* Add hints to Carbon Copy tool
* Hint updates to align with developer guidelines
* change "click to set" to "set" per PR comments
* Use enum (or declare one) to be type safe per PR comments
* For "trivial" one-step / one-state tools, refactor with direct hint return rather than using declarative / table pattern.
* Refactor hint tables initializers with C++20 features per PR feedback
- Use designated initializers (.state = , .hints = ) for clearer structure
- Add 'using enum Gui::InputHint::UserInput' to eliminate repetitive prefixes
- Applied to DrawSketchHandlerExtend and DrawSketchHandlerFillet
* Refactor Splitting tool hint implementation with direct return (trivial) pattern
* For fillet change "vertex" to "point" per PR feedback
* Change hint to "pick location on edge to split" per PR feedback
Fixes the problem where if user has selected `Position and dimensions`
mode in Preferences, then after first keystroke on 2nd label after
typing something in 1st label before, the input is being accepted
without allowing them to enter a number with more than 2 digits.
Stupid mistake of mine from previous refactor - some of the OVPs do not
contain those elements and thus should not be accessed prematurely.
This patch moves access to the OVPs when it's actually needed so it
won't go out of bounds.
paddlestroke:
> Here we actually need to keep App::Origin. Because we do not allow deletion ONLY of origin objects. Not of normal LCS.
While the original code:
```cpp
auto origin = dynamic_cast<App::Origin*>(lcs);
if (origin && !origin->getInList().empty()) {
```
...handles this perfectly fine, intent isn't obvious when reading it.
Using `is<T>()` shows intent better and should avoid similar situations in the future.
* use early exit to highlight main execution path
* use `auto*` for pointer
* use getObject<T>() instead of casting result from getObject()
* remove empty updateData()
* rename origin to lcs in setTemporaryVisibility for clarity
As the title says. I think personally this increases readability just a
little bit and I thought it's low effort to refactor.
Instead of checking the OVPs through array everytime, since we access
them multiple times in different scenarios - just cache them on the
beginning of state and access the variable, instead of array.
This is a left-over of the regressions introduced with PR 18126.
Thanks to some moderinization of the code base and replacing static with dynamic casts undefined behaviour
has changed to well-defined behaviour but now unchecked null pointers.
This change does some extra null pointer checks and uses the now correct types for down casting.
Hint: Upstream still uses many static casts here that already cause undefined behaviour when creating a LCS.
This could be the reason for the possible crashes when deleting a LCS as described in 20261
# Conflicts:
# src/Gui/ViewProviderCoordinateSystem.cpp
The MACOS_DEPLOYMENT_TARGET was not explicitly set, resulting in a default of 10.9, which does not support C++
features needed by some components in FreeCAD. This PR sets the MACOS_DEPLOYMENT_TARGET to 10.13 to build
for platforms running macOS High Sierra (2017) or newer.
Until 8de6382 ("Gui: Fix stackoverflow when loading corrupted file")
a static_cast was used to obtain App::Origin object, however with
introducing App::LocalCoordinateSystem this was no longer correct,
although not causing any troubles as OriginFeatures moved into
LocalCoordinateSystem as well.
Recent use of getObject template triggered this problem, so use now
correct cast to App::LocalCoordinateSystem.
Fixes: 19702dc ("Core: Add App::LocalCoordinateSystem")
* Fix#19422 SVG: use tag create wrong size object
Fix#19072 SVG: import <defs> keyword as object without <use>
and Fix bug that not reported, <symbol> keyword as object without <use>
and Fix bug that not reported, nested use tag not import correctly.
To do this. I make preprocessor that replace use tag to it's referenced object.
and remove symbol tag and defs tag from loaded svg.
there is a subeffect, name of imported object that related to symbol tag is changed.
* Fix incorrect import when use tag nesting context.
* fix error when use tag not exist.
* rebased aprospero PR20293.
fix several bugs.
1,x and y attribute of use tag is not processed under certain condition.
2,Doesn't finish importing when referenced ID is not exist.
3,Doesn't finish importing when use tag use href instead of xlink:href
* Refactor: Use data.get() for cleaner dictionary key handling
* Refactored code for simplicity following suggested changes.
* Add <a> tag support.( <a>tag is almost same with <g> tag at visual effect )
* Correct mistakes in the if condition handling href and xlink:href
* Modify the code to retain the original namespace definitions, as removing all namespaces may cause incorrect importing process.
* [BIM] Fix attribute error when user deletes the BimViewArea dock widget
* [BIM] Fix Attribute Error for both Qt5 and Qt6
* Update src/Mod/BIM/bimcommands/BimViews.py
---------
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
* Working scale prototype
* Call viewAll to fit geometries in the viewport post-scaling
* Exclude angle dimensions
* Scale the viewport rather than calling viewAll
* Scale dimension annotation along geometries
* Early return when counting more than one dimensional constraint
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Disable sketch autoscale if there are external geometries in the sketch
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Add a setting to disable the feature _ and eventually parametrize
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Check for objects in the viewport in the sketch's ancestry to decide wheter or not to autoscale
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* More consistent camera scaling
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Check for visual indicator in the whole document
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Find visible items in nested assemblies
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Check visual elements in assemblies nested in assemblies
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Set the dimension even if the scaling fails
* Allow constraints that interact with the origin axis/root
* Remove unused variable
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Misc fixes from review
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This adds empty(QSize) method to bitmap factory that creates empty
pixmap. This may seem useless, but after creating bitmap one needs to
remember to clear it and to properly set DPR - BitmapFactory will take
care of it.