From e8ea685e1b3cb7b8121d209616bd33a2ceea6bba Mon Sep 17 00:00:00 2001 From: Ian 'z0r0' Abreu Date: Sun, 31 Aug 2025 15:27:21 -0400 Subject: [PATCH] Finalizing Python interface bindings for Fem. --- src/Mod/Fem/App/CMakeLists.txt | 26 +- .../Fem/App/{FemMeshPy.pyi => FemMesh.pyi} | 6 +- src/Mod/Fem/App/FemMeshPy.xml | 391 ------------------ ...chFilterPy.pyi => FemPostBranchFilter.pyi} | 6 +- src/Mod/Fem/App/FemPostBranchFilterPy.xml | 37 -- ...{FemPostFilterPy.pyi => FemPostFilter.pyi} | 6 +- src/Mod/Fem/App/FemPostFilterPy.xml | 63 --- ...{FemPostObjectPy.pyi => FemPostObject.pyi} | 8 +- src/Mod/Fem/App/FemPostObjectPy.xml | 35 -- ...PostPipelinePy.pyi => FemPostPipeline.pyi} | 6 +- src/Mod/Fem/App/FemPostPipelinePy.xml | 82 ---- src/Mod/Fem/Gui/CMakeLists.txt | 21 +- ...ntPy.pyi => ViewProviderFemConstraint.pyi} | 8 +- .../Fem/Gui/ViewProviderFemConstraintPy.xml | 49 --- ...rFemMeshPy.pyi => ViewProviderFemMesh.pyi} | 8 +- src/Mod/Fem/Gui/ViewProviderFemMeshPy.xml | 79 ---- ...erPy.pyi => ViewProviderFemPostFilter.pyi} | 5 +- .../Fem/Gui/ViewProviderFemPostFilterPy.xml | 29 -- ...Py.pyi => ViewProviderFemPostPipeline.pyi} | 8 +- .../Fem/Gui/ViewProviderFemPostPipelinePy.xml | 29 -- .../templates/templateClassPyExport.py | 1 + 21 files changed, 29 insertions(+), 874 deletions(-) rename src/Mod/Fem/App/{FemMeshPy.pyi => FemMesh.pyi} (98%) delete mode 100755 src/Mod/Fem/App/FemMeshPy.xml rename src/Mod/Fem/App/{FemPostBranchFilterPy.pyi => FemPostBranchFilter.pyi} (81%) delete mode 100644 src/Mod/Fem/App/FemPostBranchFilterPy.xml rename src/Mod/Fem/App/{FemPostFilterPy.pyi => FemPostFilter.pyi} (92%) delete mode 100644 src/Mod/Fem/App/FemPostFilterPy.xml rename src/Mod/Fem/App/{FemPostObjectPy.pyi => FemPostObject.pyi} (87%) delete mode 100644 src/Mod/Fem/App/FemPostObjectPy.xml rename src/Mod/Fem/App/{FemPostPipelinePy.pyi => FemPostPipeline.pyi} (93%) delete mode 100644 src/Mod/Fem/App/FemPostPipelinePy.xml rename src/Mod/Fem/Gui/{ViewProviderFemConstraintPy.pyi => ViewProviderFemConstraint.pyi} (76%) delete mode 100644 src/Mod/Fem/Gui/ViewProviderFemConstraintPy.xml rename src/Mod/Fem/Gui/{ViewProviderFemMeshPy.pyi => ViewProviderFemMesh.pyi} (83%) delete mode 100644 src/Mod/Fem/Gui/ViewProviderFemMeshPy.xml rename src/Mod/Fem/Gui/{ViewProviderFemPostFilterPy.pyi => ViewProviderFemPostFilter.pyi} (80%) delete mode 100644 src/Mod/Fem/Gui/ViewProviderFemPostFilterPy.xml rename src/Mod/Fem/Gui/{ViewProviderFemPostPipelinePy.pyi => ViewProviderFemPostPipeline.pyi} (61%) delete mode 100644 src/Mod/Fem/Gui/ViewProviderFemPostPipelinePy.xml diff --git a/src/Mod/Fem/App/CMakeLists.txt b/src/Mod/Fem/App/CMakeLists.txt index 0622345b51..1dc92677f1 100644 --- a/src/Mod/Fem/App/CMakeLists.txt +++ b/src/Mod/Fem/App/CMakeLists.txt @@ -49,12 +49,11 @@ else() endif() -generate_from_xml(FemMeshPy) -generate_from_py_(FemMeshPy) +generate_from_py(FemMesh) SET(Python_SRCS - FemMeshPy.xml + FemMesh.pyi FemMeshPyImp.cpp HypothesisPy.cpp HypothesisPy.h @@ -64,24 +63,19 @@ SET(Python_SRCS if(BUILD_FEM_VTK) SET(Python_SRCS ${Python_SRCS} - FemPostObjectPy.xml + FemPostObject.pyi FemPostObjectPyImp.cpp - FemPostPipelinePy.xml + FemPostPipeline.pyi FemPostPipelinePyImp.cpp - FemPostFilterPy.xml + FemPostFilter.pyi FemPostFilterPyImp.cpp - FemPostBranchFilterPy.xml + FemPostBranchFilter.pyi FemPostBranchFilterPyImp.cpp ) - generate_from_xml(FemPostObjectPy) - generate_from_xml(FemPostPipelinePy) - generate_from_xml(FemPostFilterPy) - generate_from_xml(FemPostBranchFilterPy) - - generate_from_py_(FemPostObjectPy) - generate_from_py_(FemPostPipelinePy) - generate_from_py_(FemPostFilterPy) - generate_from_py_(FemPostBranchFilterPy) + generate_from_py(FemPostObject) + generate_from_py(FemPostPipeline) + generate_from_py(FemPostFilter) + generate_from_py(FemPostBranchFilter) endif(BUILD_FEM_VTK) SOURCE_GROUP("Python" FILES ${Python_SRCS}) diff --git a/src/Mod/Fem/App/FemMeshPy.pyi b/src/Mod/Fem/App/FemMesh.pyi similarity index 98% rename from src/Mod/Fem/App/FemMeshPy.pyi rename to src/Mod/Fem/App/FemMesh.pyi index e648678403..bc0f770c43 100644 --- a/src/Mod/Fem/App/FemMeshPy.pyi +++ b/src/Mod/Fem/App/FemMesh.pyi @@ -5,17 +5,13 @@ from Base.Metadata import constmethod, export from App.ComplexGeoData import ComplexGeoData @export( - Father="ComplexGeoDataPy", - Name="FemMeshPy", - Twin="FemMesh", - TwinPointer="FemMesh", Include="Mod/Fem/App/FemMesh.h", Namespace="Fem", FatherInclude="App/ComplexGeoDataPy.h", FatherNamespace="Data", Constructor=True, ) -class FemMeshPy(ComplexGeoData): +class FemMesh(ComplexGeoData): """ FemMesh class """ diff --git a/src/Mod/Fem/App/FemMeshPy.xml b/src/Mod/Fem/App/FemMeshPy.xml deleted file mode 100755 index e3f11ca5e8..0000000000 --- a/src/Mod/Fem/App/FemMeshPy.xml +++ /dev/null @@ -1,391 +0,0 @@ - - - - - - FemMesh class - - - - Set the Part shape to mesh - - - - - Update the internal mesh structure - - - - - Add hypothesis - - - - - Set some standard hypotheses for the whole shape - - - - - Add a node by setting (x,y,z). - - - - - Add an edge by setting two node indices. - - - - - Add list of edges by list of node indices and list of nodes per edge. - - - - - Add a face by setting three node indices. - - - - - Add list of faces by list of node indices and list of nodes per face. - - - - - Add a quad by setting four node indices. - - - - - Add a volume by setting an arbitrary number of node indices. - - - - - Add list of volumes by list of node indices and list of nodes per volume. - - - - - Read in a various FEM mesh file formats. - read(file.endingToExportTo) - supported formats: DAT, INP, MED, STL, UNV, VTK, Z88 - - - - - Write out various FEM mesh file formats. - write(file.endingToExportTo) - supported formats: BDF, DAT, INP, MED, STL, UNV, VTK, Z88 - - - - - - Write out as ABAQUS inp - writeABAQUS(file, int elemParam, bool groupParam, str volVariant, str faceVariant, str edgeVariant) - - elemParam: - 0: All elements - 1: Highest elements only - 2: FEM elements only (only edges not belonging to faces and faces not belonging to volumes) - - groupParam: - True: Write group data - False: Do not write group data - - volVariant: Volume elements - "standard": Tetra4 -> C3D4, Penta6 -> C3D6, Hexa8 -> C3D8, Tetra10 -> C3D10, Penta15 -> C3D15, Hexa20 -> C3D20 - "reduced": Hexa8 -> C3D8R, Hexa20 -> C3D20R - "incompatible": Hexa8 -> C3D8I - "modified": Tetra10 -> C3D10T - "fluid": Tetra4 -> F3D4, Penta6 -> F3D6, Hexa8 -> F3D8 - - faceVariant: Face elements - "shell": Tria3 -> S3, Quad4 -> S4, Tria6 -> S6, Quad8 -> S8 - "shell reduced": Tria3 -> S3, Quad4 -> S4R, Tria6 -> S6, Quad8 -> S8R - "membrane": Tria3 -> M3D3, Quad4 -> M3D4, Tria6 -> M3D6, Quad8 -> M3D8 - "membrane reduced": Tria3 -> M3D3, Quad4 -> M3D4R, Tria6 -> M3D6, Quad8 -> M3D8R - "stress": Tria3 -> CPS3, Quad4 -> CPS4, Tria6 -> CPS6, Quad8 -> CPS8 - "stress reduced": Tria3 -> CPS3, Quad4 -> CPS4R, Tria6 -> CPS6, Quad8 -> CPS8R - "strain": Tria3 -> CPE3, Quad4 -> CPE4, Tria6 -> CPE6, Quad8 -> CPE8 - "strain reduced": Tria3 -> CPE3, Quad4 -> CPE4R, Tria6 -> CPE6, Quad8 -> CPE8R - "axisymmetric": Tria3 -> CAX3, Quad4 -> CAX4, Tria6 -> CAX6, Quad8 -> CAX8 - "axisymmetric reduced": Tria3 -> CAX3, Quad4 -> CAX4R, Tria6 -> CAX6, Quad8 -> CAX8R - - edgeVariant: Edge elements - "beam": Seg2 -> B31, Seg3 -> B32 - "beam reduced": Seg2 -> B31R, Seg3 -> B32R - "truss": Seg2 -> T3D2, eg3 -> T3D3 - "network": Seg3 -> D - - Elements are selected according to CalculiX availability. - For example if volume variant "modified" is selected, Tetra10 mesh - elements are assigned to C3D10T and remain elements uses "standard". - Axisymmetric, plane strain and plane stress elements expect nodes in the plane z=0. - - - - - Use a Placement object to perform a translation or rotation - - - - - Make a copy of this FEM mesh. - - - - - Return a list of face IDs which belong to a TopoFace - - - - - Return a list of edge IDs which belong to a TopoEdge - - - - - Return a dict of volume IDs and face IDs which belong to a TopoFace - - - - - Return a dict of volume IDs and ccx face numbers which belong to a TopoFace - - - - - Get the node position vector by a Node-ID - - - - - Return a list of node IDs which belong to a TopoSolid - - - - - Return a list of node IDs which belong to a TopoFace - - - - - Return a list of node IDs which belong to a TopoEdge - - - - - Return a list of node IDs which belong to a TopoVertex - - - - - Return a tuple of node IDs to a given element ID - - - - - Return a tuple of specific element IDs associated to a given node ID - - - - - Return a string of group name to a given group ID - - - - - Return a string of group element type to a given group ID - - - - - Return a tuple of ElementIDs to a given group ID - - - - - Add a group to mesh with specific name and type - addGroup(name, typestring, [id]) - name: string - typestring: "All", "Node", "Edge", "Face", "Volume", "0DElement", "Ball" - id: int - Optional id is used to force specific id for group, but does - not work, yet. - - - - - - Add a tuple of ElementIDs to a given group ID - addGroupElements(groupid, list_of_elements) - groupid: int - list_of_elements: list of int - Notice that the elements have to be in the mesh. - - - - - - Remove a group with a given group ID - removeGroup(groupid) - groupid: int - Returns boolean. - - - - - - Return the element type of a given ID - - - - - Return a tuple of IDs to a given element type - - - - - Dictionary of Nodes by ID (int ID:Vector()) - - - - - - Number of nodes in the Mesh. - - - - - - Tuple of edge IDs - - - - - - Tuple of edge IDs which does not belong to any face (and thus not belong to any volume too) - - - - - - Number of edges in the Mesh. - - - - - - Tuple of face IDs - - - - - - Tuple of face IDs which does not belong to any volume - - - - - - Number of Faces in the Mesh. - - - - - - Number of Triangles in the Mesh. - - - - - - Number of Quadrangles in the Mesh. - - - - - - Number of Quadrangles in the Mesh. - - - - - - Tuple of volume IDs - - - - - - Number of Volumes in the Mesh. - - - - - - Number of Tetras in the Mesh. - - - - - - Number of Hexas in the Mesh. - - - - - - Number of Pyramids in the Mesh. - - - - - - Number of Prisms in the Mesh. - - - - - - Number of Polyhedrons in the Mesh. - - - - - - Number of SubMeshs in the Mesh. - - - - - - Number of Groups in the Mesh. - - - - - - Tuple of Group IDs. - - - - - - Volume of the mesh. - - - - - diff --git a/src/Mod/Fem/App/FemPostBranchFilterPy.pyi b/src/Mod/Fem/App/FemPostBranchFilter.pyi similarity index 81% rename from src/Mod/Fem/App/FemPostBranchFilterPy.pyi rename to src/Mod/Fem/App/FemPostBranchFilter.pyi index b6b2c45f20..014f4dc4d9 100644 --- a/src/Mod/Fem/App/FemPostBranchFilterPy.pyi +++ b/src/Mod/Fem/App/FemPostBranchFilter.pyi @@ -5,16 +5,12 @@ from Base.Metadata import export from Fem.FemPostFilter import FemPostFilter @export( - Father="FemPostFilterPy", - Name="FemPostBranchFilterPy", - Twin="FemPostBranchFilter", - TwinPointer="FemPostBranchFilter", Include="Mod/Fem/App/FemPostBranchFilter.h", Namespace="Fem", FatherInclude="Mod/Fem/App/FemPostFilterPy.h", FatherNamespace="Fem", ) -class FemPostBranchFilterPy(FemPostFilter): +class FemPostBranchFilter(FemPostFilter): """ The FemPostBranch class. """ diff --git a/src/Mod/Fem/App/FemPostBranchFilterPy.xml b/src/Mod/Fem/App/FemPostBranchFilterPy.xml deleted file mode 100644 index c288488672..0000000000 --- a/src/Mod/Fem/App/FemPostBranchFilterPy.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - The FemPostBranch class. - - - - Returns all filters, that this pipeline uses (non recursive, result does not contain branch child filters) - - - - - Recomputes all children of the pipeline - - - - - Get the last post-processing object - - - - - Check if this pipeline holds a given post-processing object - - - - diff --git a/src/Mod/Fem/App/FemPostFilterPy.pyi b/src/Mod/Fem/App/FemPostFilter.pyi similarity index 92% rename from src/Mod/Fem/App/FemPostFilterPy.pyi rename to src/Mod/Fem/App/FemPostFilter.pyi index 784afe9779..b80d4fd709 100644 --- a/src/Mod/Fem/App/FemPostFilterPy.pyi +++ b/src/Mod/Fem/App/FemPostFilter.pyi @@ -5,16 +5,12 @@ from Base.Metadata import export from Fem.FemPostObject import FemPostObject @export( - Father="FemPostObjectPy", - Name="FemPostFilterPy", - Twin="FemPostFilter", - TwinPointer="FemPostFilter", Include="Mod/Fem/App/FemPostFilter.h", Namespace="Fem", FatherInclude="Mod/Fem/App/FemPostObjectPy.h", FatherNamespace="Fem", ) -class FemPostFilterPy(FemPostObject): +class FemPostFilter(FemPostObject): """ The FemPostFilter class. """ diff --git a/src/Mod/Fem/App/FemPostFilterPy.xml b/src/Mod/Fem/App/FemPostFilterPy.xml deleted file mode 100644 index 3fe0e4fd88..0000000000 --- a/src/Mod/Fem/App/FemPostFilterPy.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - The FemPostFilter class. - - - - Registers a new vtk filter pipeline for data processing. Arguments are (name, source algorithm, target algorithm). - - - - - Sets the filter pipeline that shall be used for data processing. Argument is the name of the filter pipeline to activate. - - - - - Returns the postprocessing group the filter is in (e.g. a pipeline or branch object). None is returned if not in any. - - - - - -Returns the dataset available at the filter's input. -Note: Can lead to a full recompute of the whole pipeline, hence best to call this only in "execute", where the user expects long calculation cycles. - - - - - - -Returns the names of all vector fields available on this filter's input. -Note: Can lead to a full recompute of the whole pipeline, hence best to call this only in "execute", where the user expects long calculation cycles. - - - - - - -Returns the names of all scalar fields available on this filter's input. -Note: Can lead to a full recompute of the whole pipeline, hence best to call this only in "execute", where the user expects long calculation cycles. - - - - - - -Returns the filters vtk algorithm currently used as output (the one generating the Data field). Note that the output algorithm may change depending on filter settings. - - - " - - diff --git a/src/Mod/Fem/App/FemPostObjectPy.pyi b/src/Mod/Fem/App/FemPostObject.pyi similarity index 87% rename from src/Mod/Fem/App/FemPostObjectPy.pyi rename to src/Mod/Fem/App/FemPostObject.pyi index b37a02302e..8d7d8452b9 100644 --- a/src/Mod/Fem/App/FemPostObjectPy.pyi +++ b/src/Mod/Fem/App/FemPostObject.pyi @@ -5,16 +5,12 @@ from Base.Metadata import export from App.GeoFeature import GeoFeature @export( - Father="GeoFeaturePy", - Name="FemPostObjectPy", - Twin="FemPostObject", - TwinPointer="FemPostObject", Include="Mod/Fem/App/FemPostObject.h", Namespace="Fem", - FatherInclude="App/GeoFeaturePy.h", FatherNamespace="App", + FatherInclude="App/GeoFeaturePy.h", ) -class FemPostObjectPy(GeoFeature): +class FemPostObject(GeoFeature): """ The FemPostObject class. """ diff --git a/src/Mod/Fem/App/FemPostObjectPy.xml b/src/Mod/Fem/App/FemPostObjectPy.xml deleted file mode 100644 index 8f5603234b..0000000000 --- a/src/Mod/Fem/App/FemPostObjectPy.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - The FemPostObject class. - - - - writeVTK(filename) -> None - -Write data object to VTK file. - -filename: str - File extension is automatically detected from data type. - - - - - getDataset() -> vtkDataSet - -Returns the current output dataset. For normal filters this is equal to the objects Data property output. However, a pipelines Data property could store multiple frames, and hence Data can be of type vtkCompositeData, which is not a vtkDataset. To simplify implementations this function always returns a vtkDataSet, and for a pipeline it will be the dataset of the currently selected frame. Note that the returned value could be None, if no data is set at all. - - - - - diff --git a/src/Mod/Fem/App/FemPostPipelinePy.pyi b/src/Mod/Fem/App/FemPostPipeline.pyi similarity index 93% rename from src/Mod/Fem/App/FemPostPipelinePy.pyi rename to src/Mod/Fem/App/FemPostPipeline.pyi index 67923666e3..296595a901 100644 --- a/src/Mod/Fem/App/FemPostPipelinePy.pyi +++ b/src/Mod/Fem/App/FemPostPipeline.pyi @@ -5,16 +5,12 @@ from Base.Metadata import export from Fem.FemPostObject import FemPostObject @export( - Father="FemPostObjectPy", - Name="FemPostPipelinePy", - Twin="FemPostPipeline", - TwinPointer="FemPostPipeline", Include="Mod/Fem/App/FemPostPipeline.h", Namespace="Fem", FatherInclude="Mod/Fem/App/FemPostObjectPy.h", FatherNamespace="Fem", ) -class FemPostPipelinePy(FemPostObject): +class FemPostPipeline(FemPostObject): """ The FemPostPipeline class. """ diff --git a/src/Mod/Fem/App/FemPostPipelinePy.xml b/src/Mod/Fem/App/FemPostPipelinePy.xml deleted file mode 100644 index ab15496be9..0000000000 --- a/src/Mod/Fem/App/FemPostPipelinePy.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - The FemPostPipeline class. - - - - -read(filepath) -read([filepaths], [values], unit, frame_type) - -Reads in a single vtk file or creates a multiframe result by reading in multiple result files. If multiframe is wanted, 4 argumenhts are needed: -1. List of result files each being one frame, -2. List of values valid for each frame (e.g. [s] if time data), -3. the unit of the value as FreeCAD.Units.Unit, -4. the Description of the frame type - - - - - - scale the points of a loaded vtk file - - - - - -load(result_object) -load([result_objects], [values], unit, frame_type) - -Load a single result object or create a multiframe result by loading multiple result frames. If multiframe is wanted, 4 argumenhts are needed: -1. List of result files each being one frame, -2. List of values valid for each frame (e.g. [s] if time data), -3. the unit of the value as FreeCAD.Units.Unit, -4. the Description of the frame type - - - - - - Returns all filters, that this pipeline uses (non recursive, result does not contain branch child filters) - - - - - Recomputes all children of the pipeline - - - - - Get the last post-processing object - - - - - Check if this pipeline holds a given post-processing object - - - - - Change name of data arrays - - - - - -Returns the pipeline vtk algorithm, which generates the data passed to the pipelines filters. Note that the output algorithm may change depending on pipeline settings. - - - " - - diff --git a/src/Mod/Fem/Gui/CMakeLists.txt b/src/Mod/Fem/Gui/CMakeLists.txt index c514f78d9d..a4350ee4bb 100755 --- a/src/Mod/Fem/Gui/CMakeLists.txt +++ b/src/Mod/Fem/Gui/CMakeLists.txt @@ -33,28 +33,23 @@ set(FemGui_LIBS PartGui ) -generate_from_xml(ViewProviderFemConstraintPy) -generate_from_xml(ViewProviderFemMeshPy) -generate_from_xml(ViewProviderFemPostPipelinePy) -generate_from_xml(ViewProviderFemPostFilterPy) - -generate_from_py_(ViewProviderFemConstraintPy) -generate_from_py_(ViewProviderFemMeshPy) -generate_from_py_(ViewProviderFemPostPipelinePy) -generate_from_py_(ViewProviderFemPostFilterPy) +generate_from_py(ViewProviderFemConstraint) +generate_from_py(ViewProviderFemMesh) +generate_from_py(ViewProviderFemPostPipeline) +generate_from_py(ViewProviderFemPostFilter) SET(Python_SRCS - ViewProviderFemConstraintPy.xml + ViewProviderFemConstraint.pyi ViewProviderFemConstraintPyImp.cpp - ViewProviderFemMeshPy.xml + ViewProviderFemMesh.pyi ViewProviderFemMeshPyImp.cpp ) if(BUILD_FEM_VTK) set(Python_SRCS ${Python_SRCS} - ViewProviderFemPostPipelinePy.xml + ViewProviderFemPostPipeline.pyi ViewProviderFemPostPipelinePyImp.cpp - ViewProviderFemPostFilterPy.xml + ViewProviderFemPostFilter.pyi ViewProviderFemPostFilterPyImp.cpp ) endif(BUILD_FEM_VTK) diff --git a/src/Mod/Fem/Gui/ViewProviderFemConstraintPy.pyi b/src/Mod/Fem/Gui/ViewProviderFemConstraint.pyi similarity index 76% rename from src/Mod/Fem/Gui/ViewProviderFemConstraintPy.pyi rename to src/Mod/Fem/Gui/ViewProviderFemConstraint.pyi index 71416fd783..607b3b30a8 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemConstraintPy.pyi +++ b/src/Mod/Fem/Gui/ViewProviderFemConstraint.pyi @@ -5,16 +5,10 @@ from Base.Metadata import export from Gui.ViewProviderGeometryObject import ViewProviderGeometryObject @export( - Father="ViewProviderGeometryObjectPy", - Name="ViewProviderFemConstraintPy", - Twin="ViewProviderFemConstraint", - TwinPointer="ViewProviderFemConstraint", Include="Mod/Fem/Gui/ViewProviderFemConstraint.h", Namespace="FemGui", - FatherInclude="Gui/ViewProviderGeometryObjectPy.h", - FatherNamespace="Gui", ) -class ViewProviderFemConstraintPy(ViewProviderGeometryObject): +class ViewProviderFemConstraint(ViewProviderGeometryObject): """ This is the ViewProviderFemConstraint class """ diff --git a/src/Mod/Fem/Gui/ViewProviderFemConstraintPy.xml b/src/Mod/Fem/Gui/ViewProviderFemConstraintPy.xml deleted file mode 100644 index c679c82b89..0000000000 --- a/src/Mod/Fem/Gui/ViewProviderFemConstraintPy.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - This is the ViewProviderFemConstraint class - - - - loadSymbol(filename) -> None - -Load constraint symbol from Open Inventor file. -The file structure should be as follows: -A separator containing a separator with the symbol used in -multiple copies at points on the surface and an optional -separator with a symbol excluded from multiple copies. - -filename : str - Open Inventor file. - - - - - A pivy SoSeparator with the nodes of the constraint symbols - - - - - - A pivy SoSeparator with the nodes of the constraint extra symbols - - - - - - Apply rotation on copies of the constraint symbol - - - - - diff --git a/src/Mod/Fem/Gui/ViewProviderFemMeshPy.pyi b/src/Mod/Fem/Gui/ViewProviderFemMesh.pyi similarity index 83% rename from src/Mod/Fem/Gui/ViewProviderFemMeshPy.pyi rename to src/Mod/Fem/Gui/ViewProviderFemMesh.pyi index 0e007384f0..67dde061fd 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemMeshPy.pyi +++ b/src/Mod/Fem/Gui/ViewProviderFemMesh.pyi @@ -5,16 +5,10 @@ from Base.Metadata import export from Gui.ViewProviderGeometryObject import ViewProviderGeometryObject @export( - Father="ViewProviderGeometryObjectPy", - Name="ViewProviderFemMeshPy", - Twin="ViewProviderFemMesh", - TwinPointer="ViewProviderFemMesh", Include="Mod/Fem/Gui/ViewProviderFemMesh.h", Namespace="FemGui", - FatherInclude="Gui/ViewProviderGeometryObjectPy.h", - FatherNamespace="Gui", ) -class ViewProviderFemMeshPy(ViewProviderGeometryObject): +class ViewProviderFemMesh(ViewProviderGeometryObject): """ ViewProviderFemMesh class """ diff --git a/src/Mod/Fem/Gui/ViewProviderFemMeshPy.xml b/src/Mod/Fem/Gui/ViewProviderFemMeshPy.xml deleted file mode 100644 index e887c882bb..0000000000 --- a/src/Mod/Fem/Gui/ViewProviderFemMeshPy.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - ViewProviderFemMesh class - - - - - - - - - Reset color set by method setNodeColorByScalars. - - - - - Reset displacements set by method setNodeDisplacementByVectors. - - - - - Reset highlighted nodes. - - - - - Sets mesh node colors using element list and value list. - - - - - - - - - - Postprocessing color of the nodes. The faces between the nodes get interpolated. - - - - - - Postprocessing color of the elements. All faces of the element get the same color. - - - - - - Postprocessing color of the nodes. The faces between the nodes get interpolated. - - - - - - List of nodes which get highlighted. - - - - - - List of elements and faces which are actually shown. These are all surface faces of the mesh. - - - - - diff --git a/src/Mod/Fem/Gui/ViewProviderFemPostFilterPy.pyi b/src/Mod/Fem/Gui/ViewProviderFemPostFilter.pyi similarity index 80% rename from src/Mod/Fem/Gui/ViewProviderFemPostFilterPy.pyi rename to src/Mod/Fem/Gui/ViewProviderFemPostFilter.pyi index dff8b94df8..253eedfb10 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemPostFilterPy.pyi +++ b/src/Mod/Fem/Gui/ViewProviderFemPostFilter.pyi @@ -5,16 +5,13 @@ from Base.Metadata import export from Gui.ViewProviderDocumentObject import ViewProviderDocumentObject @export( - Father="ViewProviderDocumentObjectPy", - Name="ViewProviderFemPostFilterPy", Twin="ViewProviderFemPostObject", TwinPointer="ViewProviderFemPostObject", Include="Mod/Fem/Gui/ViewProviderFemPostObject.h", Namespace="FemGui", FatherInclude="Gui/ViewProviderDocumentObjectPy.h", - FatherNamespace="Gui", ) -class ViewProviderFemPostFilterPy(ViewProviderDocumentObject): +class ViewProviderFemPostFilter(ViewProviderDocumentObject): """ ViewProviderFemPostPipeline class """ diff --git a/src/Mod/Fem/Gui/ViewProviderFemPostFilterPy.xml b/src/Mod/Fem/Gui/ViewProviderFemPostFilterPy.xml deleted file mode 100644 index 9a41e8e972..0000000000 --- a/src/Mod/Fem/Gui/ViewProviderFemPostFilterPy.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - ViewProviderFemPostPipeline class - - - - Returns the display option task panel for a post processing edit task dialog. - - - - - Returns the data extraction task panel for a post processing edit task dialog. - - - - diff --git a/src/Mod/Fem/Gui/ViewProviderFemPostPipelinePy.pyi b/src/Mod/Fem/Gui/ViewProviderFemPostPipeline.pyi similarity index 61% rename from src/Mod/Fem/Gui/ViewProviderFemPostPipelinePy.pyi rename to src/Mod/Fem/Gui/ViewProviderFemPostPipeline.pyi index 0300860b21..5882dce89c 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemPostPipelinePy.pyi +++ b/src/Mod/Fem/Gui/ViewProviderFemPostPipeline.pyi @@ -5,16 +5,10 @@ from Base.Metadata import export from Gui.ViewProviderDocumentObject import ViewProviderDocumentObject @export( - Father="ViewProviderDocumentObjectPy", - Name="ViewProviderFemPostPipelinePy", - Twin="ViewProviderFemPostPipeline", - TwinPointer="ViewProviderFemPostPipeline", Include="Mod/Fem/Gui/ViewProviderFemPostPipeline.h", Namespace="FemGui", - FatherInclude="Gui/ViewProviderDocumentObjectPy.h", - FatherNamespace="Gui", ) -class ViewProviderFemPostPipelinePy(ViewProviderDocumentObject): +class ViewProviderFemPostPipeline(ViewProviderDocumentObject): """ ViewProviderFemPostPipeline class """ diff --git a/src/Mod/Fem/Gui/ViewProviderFemPostPipelinePy.xml b/src/Mod/Fem/Gui/ViewProviderFemPostPipelinePy.xml deleted file mode 100644 index ad42ced3c4..0000000000 --- a/src/Mod/Fem/Gui/ViewProviderFemPostPipelinePy.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - ViewProviderFemPostPipeline class - - - - Scales values of given result mesh field by given factor - - - - - Update coloring of pipeline and its childs - - - - diff --git a/src/Tools/bindings/templates/templateClassPyExport.py b/src/Tools/bindings/templates/templateClassPyExport.py index 8fb6948400..860a9a762a 100644 --- a/src/Tools/bindings/templates/templateClassPyExport.py +++ b/src/Tools/bindings/templates/templateClassPyExport.py @@ -42,6 +42,7 @@ class TemplateClassPyExport(template.ModelTemplate): "App", "Assembly", "CAM", + "Fem", "Gui", "Part", "PartDesign",