Commit Graph

40457 Commits

Author SHA1 Message Date
Chris Hennes
fa5e3d0b55 CMake: Adopt policy CMP0144
All-uppercase find_package()
2025-02-22 20:48:44 -06:00
Chris Hennes
60a43400e2 CMake: Correct use of CACHE 2025-02-22 20:48:44 -06:00
Chris Hennes
bfeed4c05e CMake: PySide cleanup 2025-02-22 20:48:44 -06:00
Chris Hennes
0f4da7a529 CMake: Expand note about BOOST_PP_VARIADICS=1 2025-02-22 20:48:43 -06:00
Chris Hennes
899506815c Gui: Change variable name import->importCommand
import is a reserved word in c++latest
2025-02-22 20:48:43 -06:00
Chris Hennes
0cede13200 CMake: Set CMP0153 to NEW 2025-02-22 20:48:43 -06:00
Chris Hennes
24eae5b881 CMake: Add details about why CMP0148 is needed 2025-02-22 20:48:43 -06:00
Chris Hennes
b09e1436cf CMake: Update compiler and standard mins 2025-02-22 20:48:43 -06:00
Chris Hennes
b926bb7220 CMake: Remove old policy 0072 2025-02-22 20:48:43 -06:00
Chris Hennes
deea81e98d CMake: Add policy CMP0175 2025-02-22 20:48:43 -06:00
bofdahof
6f84cd5971 current src path no longer required 2025-02-22 20:48:30 -06:00
Jacob Oursland
8fa089ba9c CMake: Remove unsupported DEPENDS args to CMake macros. 2025-02-22 20:41:15 -06:00
tritao
10ad4b7e15 Gui: Split SelectionObserverPython call logic into separate handler class. 2025-02-23 00:05:23 +00:00
Benjamin Nauck
a978ef2d73 Spreadsheet: Move "arrange" and "act" to the tests 2025-02-22 20:04:46 +01:00
bofdahof
3b1058ba9b Response to code review 2025-02-22 20:04:46 +01:00
bofdahof
6c7c1294ee break down some large tests into single-assert tests
More still to do
2025-02-22 20:04:46 +01:00
Chris Hennes
d70b33a87c Addon Manager: Fix pip usage on Snap and Appimage 2025-02-22 12:02:06 -06:00
GHDE
bce3a3ce65 fixed openExternalLinks in DlbAbout (FreeCAD#16423) 2025-02-22 12:00:39 -06:00
marioalexis
fc22f5d2be Fem: Add metadata info to blocks 2025-02-22 14:46:50 -03:00
marioalexis
da614ecc2c Fem: Add frd format converter to VTK 2025-02-22 14:46:50 -03:00
Andrea
364ee7c295 update conda
switch to last 24 version
fix:
https://github.com/conda/conda-libmamba-solver/releases
2025-02-22 17:37:24 +01:00
Bas Ruigrok
af2135fbe2 Gui: Accumulate orientation for NaviCube flat button animations 2025-02-21 21:57:00 +01:00
Bas Ruigrok
ec041c0859 Gui: Return animation from setCameraOrientation and translateCamera 2025-02-21 21:57:00 +01:00
Colin Rawlings
3f4093aaed Add check that the solid_name is valid
Avoid errors when hovering on the menu's label
2025-02-21 14:22:40 -06:00
bofdahof
0058b0d61c Remove OpenCascade Community Edition 2025-02-21 14:21:21 -06:00
Chris Hennes
ece24371f9 Merge pull request #19660 from adrianinsaval/fix-spnav-regression
Fix spnav not enabled by default on linux after #19226 and #19407
2025-02-21 14:20:55 -06:00
bofdahof
11ed923503 Remove second vtk listing. See #19607 2025-02-21 14:18:10 -06:00
Chris Hennes
3bd1a3f6b0 Merge pull request #19739 from kadet1090/is-null-or-empty
Base: Add isNullOrEmpty string helper
2025-02-21 13:49:10 -06:00
tritao
b97e695359 Tools: Introduce a Python-based API bindings template generator.
This extends the existing XML-based template generator to allow an
additional kind of Python-based input.

The Python code is read as source code to an AST to a typed model
equivalent to the existing XML model, and processed by the existing
code templates into compatible code.

This provides a few benefits, namely readability is much increased,
but more importantly, it allows associating the APIs with Python's new
typing information, which will allow to provide accurate type hinting
without additional downstream processing in the future.

Right now this is just a proof-of-concept but if the approach is
well received, then a more complete implementation can be done with
further conversion of existing binding files.

Here is an example of how it looks, though I still think the metadata
is too verbose and can be made to look nicer with some further work.

```python
from ..Base.Metadata import metadata
from ..Base.Persistence import PersistencePy
from typing import Any, Optional, List

@metadata(
    Father="PersistencePy",
    Name="DocumentPy",
    Twin="Document",
    TwinPointer="Document",
    Include="Gui/Document.h",
    Namespace="Gui",
    FatherInclude="Base/PersistencePy.h",
    FatherNamespace="Base"
)
class DocumentPy(PersistencePy):
    """
    This is a Document class.

    Author: Werner Mayer (wmayer@users.sourceforge.net)
    Licence: LGPL
    """

    def __init__(self, *args: Any, **kwargs: Any) -> None:
        """
        Constructor for DocumentPy.
        """
        super(DocumentPy, self).__init__(*args, **kwargs)
        pass

    def show(self, objName: str) -> None:
        """
        show(objName) -> None

        Show an object.

        Parameters:
            objName (str): Name of the `Gui.ViewProvider` to show.
        """
        pass
```
2025-02-21 16:32:13 +00:00
Joao Matos
6452050808 CMake: Update minimum Python version to 3.10 2025-02-21 09:45:13 -06:00
Kacper Donat
55dfa203a8 Update src/App/Application.cpp
Co-authored-by: Benjamin Nauck <benjamin@nauck.se>
2025-02-21 15:04:43 +01:00
Kacper Donat
cc2efa90f8 Base: Add isNullOrEmpty string helper
This adds isNullOrEmpty string helper that cheks if string is... well
null or empty. It is done to improve readability of the code and better
express intent.
2025-02-21 15:04:43 +01:00
tritao
2a3f8d037e Tools: Add documentation for the Python-based bindings system. 2025-02-21 13:18:36 +00:00
tritao
537b51d038 CMake: Rename generate_from_py macro to generate_embed_from_py. 2025-02-21 13:18:36 +00:00
Lukas Neubert
8c8179feb9 readme: fix discord invite 2025-02-21 08:06:16 +01:00
Alfredo Monclus
13ffd95469 style: simplify fx icon to be more legible at small sizes 2025-02-20 19:59:56 +01:00
lorenz
dcaf752b16 add option to disable check for pivy at build-time (#19718)
Co-authored-by: João Matos <joao@tritao.eu>
2025-02-20 08:32:58 -03:00
xtemp09
cc313b84fa [Spreadsheet] Fix popup close issue (#19676)
* [Spreadsheet] Fix popup close issue
2025-02-19 15:49:11 -06:00
Roy-043
af96e50eea Draft: improve upgrade and downgrade
Fixes #16333.
Follow-up of #19487.

* The functions have been made nesting-aware. New objects are put in the same container (Group, Part) as the original objects. As a consequence for some operations the original objects must be in the same container as well.
* New objects receive the visual properties of the original objects. This is not always perfect. For example when upgrading to multiple wires there is currently no check to see which edge came from which orginal object. The fact that the `format_object` function is called from the Draft `make*` functions is problematic here. If construction mode is active `make_wire` puts new objects in the construction group and we don't always want that. This has been solved with a workaround (see 'cludge' in the code).
* The 'de-parametrize' downgrade option has also been enabled for features of PartDesign Bodies that have the `Profile` property.
* Before deleting objects there is a check to see if they are in use elsewhere (`InList` check). Base objects of arrays are not deleted if they are visible. If a PartDesign Body, or an object inside a Body is selected, the whole Body is deleted.
* The force options did not work for functions that take a single object.
* The `getShapeFromMesh` function in ArchCommands.py could return a solid that was not closed. A check for that has been added.
2025-02-19 18:06:12 +01:00
Yorik van Havre
98c26abc64 BIM: Do not change important pref options without user's consent - fixes #19163 2025-02-19 12:27:32 -03:00
Joao Matos
7f7c93b6ec Git: Ignore extra suffixed build directories.
Its pretty helpful when developing to have multiple build directories
for different branches.

This adds such pattern to .gitignore to be able to have a sane Git
experience.
2025-02-19 10:08:46 -03:00
Benjamin Bræstrup Sayoc
6f619b5f1c Base: remove unneeded includes 2025-02-18 11:07:57 -06:00
Furgo
e045b59dbb Fix one last instance of NativeIFC 2025-02-18 13:22:23 +01:00
Furgo
0ea1bba8f8 Use correct case 2025-02-18 13:22:23 +01:00
Furgo
45f3f8de64 Improve legibility of NativeIFC in preferences 2025-02-18 13:22:23 +01:00
JULIEN MASNADA
056c83711a [BIM] SH3DImporter: miscellaneous improvments (#19335)
* Fix duplicated groups

* Fixed windows spaning several floors

* Fixing doorOrWindow positioning. Allowing to DEBUG_GEOMETRY

* Fixed default color for floor and ground

* Fixed some windows positioning issue

* Fixed invalid modification of wall array. Changed default window type to allow opening

* fixed some import failures. Added some new windows

* Fixed some more edge cases

* Use doc transaction. Fixed import of room based on self-intersecting polygon.

* Added default furniture color. Fixed wall reference face to fix slab creation

* Replace Debug setting by DebugGeometry

* Fixed corner cases when importing Door & Furniitures

* Fix emissive color and shininess

* Remove external package dependency

* Fixed furniture placement and transformation

* Make sure lights are properly imported

* Fixed duplicated camera and ground when merging
2025-02-18 11:45:40 +01:00
luzpaz
fcead8f7e0 FEM: Misc. uniformity fix in CreateLabels.py 2025-02-18 07:59:17 +01:00
Adrian Insaurralde
f4d30706a4 Gui: hide legacy spacemouse support PrefCheckBox if navlib isn't enabled 2025-02-18 00:11:16 -03:00
Adrian Insaurralde
9966806eda Fix spnav not enabled by default on linux after #19226 and #19407 2025-02-17 23:58:13 -03:00
Benjamin Nauck
0ba52f0e22 Make modulo require units to be same or dimensionless
Fixes #19517
2025-02-17 11:31:17 -06:00