diff --git a/src/App/ApplicationDirectories.pyi b/src/App/ApplicationDirectories.pyi index ee3419eda8..757e37f50e 100644 --- a/src/App/ApplicationDirectories.pyi +++ b/src/App/ApplicationDirectories.pyi @@ -1,38 +1,34 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.PyObjectBase import PyObjectBase -from typing import List class ApplicationDirectories(PyObjectBase): """ - App.ApplicationDirectories class. + Provides access to the directory versioning methods of its C++ counterpart. - For the time being this class only provides access to the directory versioning methods of its - C++ counterpart. These are all static methods, so no instance is needed. The main methods of + These are all static methods, so no instance is needed. The main methods of this class are migrateAllPaths(), usingCurrentVersionConfig(), and versionStringForPath(). - - Author: Chris Hennes (chennes@pioneerlibrarysystem.org) - Licence: LGPL-2.1-or-later - DeveloperDocu: ApplicationDirectories """ @staticmethod - def usingCurrentVersionConfig(path:str) -> bool: + def usingCurrentVersionConfig(path: str, /) -> bool: """ - usingCurrentVersionConfig(path) + Determine if a given config path is for the current version of the program. - Determine if a given config path is for the current version of the program - - path : the path to check + Args: + path: The path to check. """ ... @staticmethod - def migrateAllPaths(paths: List[str]) -> None: + def migrateAllPaths(paths: list[str], /) -> None: """ - migrateAllPaths(paths) + Migrate a set of versionable configuration directories from the given paths to a new version. - Migrate a set of versionable configuration directories from the given paths to a new - version. The new version's directories cannot exist yet, and the old ones *must* exist. + The new version's directories cannot exist yet, and the old ones *must* exist. If the old paths are themselves versioned, then the new paths will be placed at the same level in the directory structure (e.g., they will be siblings of each entry in paths). If paths are NOT versioned, the new (versioned) copies will be placed *inside* the @@ -41,6 +37,9 @@ class ApplicationDirectories(PyObjectBase): If the list contains the same path multiple times, the duplicates are ignored, so it is safe to pass the same path multiple times. + Args: + paths: List of paths to migrate from. + Examples: Running FreeCAD 1.1, /usr/share/FreeCAD/Config/ -> /usr/share/FreeCAD/Config/v1-1/ Running FreeCAD 1.1, /usr/share/FreeCAD/Config/v1-1 -> raises exception, path exists @@ -49,60 +48,80 @@ class ApplicationDirectories(PyObjectBase): ... @staticmethod - def versionStringForPath(major:int, minor:int) -> str: + def versionStringForPath(major: int, minor: int, /) -> str: """ - versionStringForPath(major, minor) -> str + Given a major and minor version number, return the name for a versioned subdirectory. - Given a major and minor version number, return a string that can be used as the name for a - versioned subdirectory. Only returns the version string, not the full path. + Args: + major: Major version number. + minor: Minor version number. + + Returns: + A string that can be used as the name for a versioned subdirectory. + Only returns the version string, not the full path. """ ... @staticmethod - def isVersionedPath(startingPath:str) -> bool: + def isVersionedPath(startingPath: str, /) -> bool: """ - isVersionedPath(startingPath) -> bool + Determine if a given path is versioned. - Determine if a given path is versioned (that is, if its last component contains - something that this class would have created as a versioned subdirectory). Returns true - for any path that the *current* version of FreeCAD would recognized as versioned, and false - for either something that is not versioned, or something that is versioned but for a later - version of FreeCAD. + That is, if its last component contains something that this class would have + created as a versioned subdirectory). + + Args: + startingPath: The path to check. + + Returns: + True for any path that the *current* version of FreeCAD would recognize as versioned, + and False for either something that is not versioned, or something that is versioned + but for a later version of FreeCAD. """ ... @staticmethod - def mostRecentAvailableConfigVersion(startingPath:str) -> str: + def mostRecentAvailableConfigVersion(startingPath: str, /) -> str: """ - mostRecentAvailableConfigVersion(startingPath) -> str - Given a base path that is expected to contain versioned subdirectories, locate the directory name (*not* the path, only the final component, the version string itself) corresponding to the most recent version of the software, up to and including the current running version, but NOT exceeding it -- any *later* version whose directories exist in the path is ignored. See also mostRecentConfigFromBase(). + + Args: + startingPath: The path to check. + + Returns: + Most recent available dir name (not path). """ ... @staticmethod - def mostRecentConfigFromBase(startingPath: str) -> str: + def mostRecentConfigFromBase(startingPath: str, /) -> str: """ - mostRecentConfigFromBase(startingPath) -> str - Given a base path that is expected to contained versioned subdirectories, locate the directory corresponding to the most recent version of the software, up to and including the current version, but NOT exceeding it. Returns the complete path, not just the final component. See also mostRecentAvailableConfigVersion(). + + Args: + startingPath: The base path to check. + + Returns: + Most recent available full path (not just dir name). """ ... @staticmethod - def migrateConfig(oldPath: str, newPath: str) -> None: + def migrateConfig(oldPath: str, newPath: str, /) -> None: """ - migrateConfig(oldPath, newPath) -> None - A utility method to copy all files and directories from oldPath to newPath, handling the case where newPath might itself be a subdirectory of oldPath (and *not* attempting that otherwise-recursive copy). + + Args: + oldPath: Path from. + newPath: Path to. """ ... diff --git a/src/App/ComplexGeoData.pyi b/src/App/ComplexGeoData.pyi index 095eddc5ff..13bf419ea0 100644 --- a/src/App/ComplexGeoData.pyi +++ b/src/App/ComplexGeoData.pyi @@ -1,12 +1,16 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from Base.Persistence import Persistence -from Base.BoundBox import BoundBox as BoundBoxPy +from Base.BoundBox import BoundBox from Base.Vector import Vector -from Base.Placement import Placement as PlacementPy +from Base.Placement import Placement from Base.Rotation import Rotation from Base.Matrix import Matrix from StringHasher import StringHasher -from typing import Any, Final, List, Dict +from typing import Any, Final @export( @@ -15,89 +19,94 @@ from typing import Any, Final, List, Dict ) class ComplexGeoData(Persistence): """ - Data.ComplexGeoData class. - - Author: Juergen Riegel (Juergen.Riegel@web.de) - Licence: LGPL - UserDocu: Father of all complex geometric data types + Father of all complex geometric data types. """ @constmethod - def getElementTypes(self) -> List[str]: + def getElementTypes(self) -> list[str]: """ - Return a list of element types present in the complex geometric data + Return a list of element types present in the complex geometric data. """ ... @constmethod def countSubElements(self) -> int: """ - Return the number of elements of a type + Return the number of elements of a type. """ ... @constmethod - def getFacesFromSubElement(self) -> Any: + def getFacesFromSubElement(self, ) -> tuple[list[Vector], list[tuple[int, int, int]]]: """ - Return vertexes and faces from a sub-element + Return vertexes and faces from a sub-element. """ ... @constmethod - def getLinesFromSubElement(self) -> Any: + def getLinesFromSubElement(self, ) -> tuple[list[Vector], list[tuple[int, int]]]: """ - Return vertexes and lines from a sub-element + Return vertexes and lines from a sub-element. """ ... @constmethod - def getPoints(self) -> Any: + def getPoints(self) -> tuple[list[Vector], list[Vector]]: """ Return a tuple of points and normals with a given accuracy """ ... @constmethod - def getLines(self) -> Any: + def getLines(self) -> tuple[list[Vector], list[tuple[int, int]]]: """ Return a tuple of points and lines with a given accuracy """ ... @constmethod - def getFaces(self) -> Any: + def getFaces(self) -> tuple[list[Vector], list[tuple[int, int, int]]]: """ Return a tuple of points and triangles with a given accuracy """ ... - def applyTranslation(self, translation: Vector) -> None: + def applyTranslation(self, translation: Vector, /) -> None: """ Apply an additional translation to the placement """ ... - def applyRotation(self, rotation: Rotation) -> None: + def applyRotation(self, rotation: Rotation, /) -> None: """ Apply an additional rotation to the placement """ ... - def transformGeometry(self, transformation: Matrix) -> None: + def transformGeometry(self, transformation: Matrix, /) -> None: """ Apply a transformation to the underlying geometry """ ... - def setElementName(self, *, element: str, name: str = None, postfix: str = None, overwrite: bool = False, sid: Any = None) -> None: + def setElementName( + self, + *, + element: str, + name: str = None, + postfix: str = None, + overwrite: bool = False, + sid: Any = None, + ) -> None: """ - setElementName(element,name=None,postfix=None,overwrite=False,sid=None), Set an element name + Set an element name. - element : the original element name, e.g. Edge1, Vertex2 - name : the new name for the element, None to remove the mapping - postfix : postfix of the name that will not be hashed - overwrite: if true, it will overwrite exiting name - sid : to hash the name any way you want, provide your own string id(s) in this parameter + Args: + element : the original element name, e.g. Edge1, Vertex2 + name : the new name for the element, None to remove the mapping + postfix : postfix of the name that will not be hashed + overwrite: if true, it will overwrite exiting name + sid : to hash the name any way you want, provide your own string id(s) in this parameter An element can have multiple mapped names. However, a name can only be mapped to one element @@ -105,33 +114,33 @@ class ComplexGeoData(Persistence): ... @constmethod - def getElementName(self, name: str, direction: int = 0) -> Any: + def getElementName(self, name: str, direction: int = 0, /) -> str: """ - getElementName(name,direction=0) - Return a mapped element name or reverse + Return a mapped element name or reverse. """ ... @constmethod - def getElementIndexedName(self, name: str) -> Any: + def getElementIndexedName(self, name: str, /) -> str | tuple[str, list[int]]: """ - getElementIndexedName(name) - Return the indexed element name + Return the indexed element name. """ ... @constmethod - def getElementMappedName(self, name: str) -> Any: + def getElementMappedName(self, name: str, /) -> str | tuple[str, list[int]]: """ - getElementMappedName(name) - Return the mapped element name + Return the mapped element name """ ... - BoundBox: Final[BoundBoxPy] = ... + BoundBox: Final[BoundBox] = ... """Get the bounding box (BoundBox) of the complex geometric data.""" CenterOfGravity: Final[Vector] = ... """Get the center of gravity""" - Placement: PlacementPy = ... + Placement: Placement = ... """Get the current transformation of the object as placement""" Tag: int = 0 @@ -143,10 +152,10 @@ class ComplexGeoData(Persistence): ElementMapSize: Final[int] = 0 """Get the current element map size""" - ElementMap: Dict[Any, Any] = {} + ElementMap: dict[str, str] = {} """Get/Set a dict of element mapping""" - ElementReverseMap: Final[Dict[Any, Any]] = {} + ElementReverseMap: Final[dict[str, str | list[str]]] = {} """Get a dict of element reverse mapping""" ElementMapVersion: Final[str] = "" diff --git a/src/App/Document.pyi b/src/App/Document.pyi index 23affaf828..177f81fcfb 100644 --- a/src/App/Document.pyi +++ b/src/App/Document.pyi @@ -1,13 +1,15 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from PropertyContainer import PropertyContainer from DocumentObject import DocumentObject -from typing import Final, List, Tuple, Sequence +from typing import Final, Sequence class Document(PropertyContainer): """ - This is a Document class - Author: Juergen Riegel (FreeCAD@juergen-riegel.net) - Licence: LGPL + This is the Document class. """ DependencyGraph: Final[str] = "" @@ -16,16 +18,16 @@ class Document(PropertyContainer): ActiveObject: Final[DocumentObject] = None """The last created object in this document""" - Objects: Final[List[DocumentObject]] = [] + Objects: Final[list[DocumentObject]] = [] """The list of objects in this document""" - TopologicalSortedObjects: Final[List[DocumentObject]] = [] + TopologicalSortedObjects: Final[list[DocumentObject]] = [] """The list of objects in this document in topological sorted order""" - RootObjects: Final[List[DocumentObject]] = [] + RootObjects: Final[list[DocumentObject]] = [] """The list of root objects in this document""" - RootObjectsIgnoreLinks: Final[List[DocumentObject]] = [] + RootObjectsIgnoreLinks: Final[list[DocumentObject]] = [] """The list of root objects in this document ignoring references from links.""" UndoMode: int = 0 @@ -40,10 +42,10 @@ class Document(PropertyContainer): RedoCount: Final[int] = 0 """Number of possible Redos""" - UndoNames: Final[List[str]] = [] + UndoNames: Final[list[str]] = [] """A list of Undo names""" - RedoNames: Final[List[str]] = [] + RedoNames: Final[list[str]] = [] """A List of Redo names""" Name: Final[str] = "" @@ -55,10 +57,10 @@ class Document(PropertyContainer): HasPendingTransaction: Final[bool] = False """Check if there is a pending transaction""" - InList: Final[List["Document"]] = [] + InList: Final[list[Document]] = [] """A list of all documents that link to this document.""" - OutList: Final[List["Document"]] = [] + OutList: Final[list[Document]] = [] """A list of all documents that this document links to.""" Restoring: Final[bool] = False @@ -84,25 +86,25 @@ class Document(PropertyContainer): def save(self) -> None: """ - Save the document to disk + Save the document to disk. """ ... - def saveAs(self) -> None: + def saveAs(self, path: str, /) -> None: """ - Save the document under a new name to disk + Save the document under a new name to disk. """ ... - def saveCopy(self) -> None: + def saveCopy(self, path: str, /) -> None: """ - Save a copy of the document under a new name to disk + Save a copy of the document under a new name to disk. """ ... - def load(self) -> None: + def load(self, path: str, /) -> None: """ - Load the document from the given path + Load the document from the given path. """ ... @@ -131,37 +133,40 @@ class Document(PropertyContainer): """ ... - def getUniqueObjectName(self, objName: str) -> str: + def getUniqueObjectName(self, objName: str, /) -> str: """ - getUniqueObjectName(objName) -> objName - Return the same name, or the name made unique, for Example Box -> Box002 if there are conflicting name already in the document. - ObjName : str - Object name. + Args: + objName: Object name candidate. + + Returns: + Unique object name based on objName. """ ... - def mergeProject(self) -> None: + def mergeProject(self, path: str, /) -> None: """ - Merges this document with another project file + Merges this document with another project file. """ ... - def exportGraphviz(self) -> None: + def exportGraphviz(self, path: str = None, /) -> str | None: """ - Export the dependencies of the objects as graph + Export the dependencies of the objects as graph. + + If path is passed, graph is written to it. if not a string is returned. """ ... - def openTransaction(self, name: str) -> None: + def openTransaction(self, name: str, /) -> None: """ - openTransaction(name) - Open a new Undo/Redo transaction. + Open a new Undo/Redo transaction. This function no long creates a new transaction, but calls FreeCAD.setActiveTransaction(name) instead, which will auto creates a - transaction with the given name when any change happed in any opened document. + transaction with the given name when any change happened in any opened document. If more than one document is changed, all newly created transactions will have the same internal ID and will be undo/redo together. """ @@ -181,7 +186,6 @@ class Document(PropertyContainer): def addObject( self, - *, type: str, name: str = None, objProxy: object = None, @@ -190,24 +194,22 @@ class Document(PropertyContainer): viewType: str = None, ) -> DocumentObject: """ - addObject(type, name=None, objProxy=None, viewProxy=None, attach=False, viewType=None) + Add an object to document. - Add an object to document - - type (String): the type of the document object to create. - name (String): the optional name of the new object. - objProxy (Object): the Python binding object to attach to the new document object. - viewProxy (Object): the Python binding object to attach the view provider of this object. - attach (Boolean): if True, then bind the document object first before adding to the document - to allow Python code to override view provider type. Once bound, and before adding to - the document, it will try to call Python binding object's attach(obj) method. - viewType (String): override the view provider type directly, only effective when attach is False. + Args: + type: the type of the document object to create. + name: the optional name of the new object. + objProxy: the Python binding object to attach to the new document object. + viewProxy: the Python binding object to attach the view provider of this object. + attach: if True, then bind the document object first before adding to the document + to allow Python code to override view provider type. Once bound, and before adding to + the document, it will try to call Python binding object's attach(obj) method. + viewType: override the view provider type directly, only effective when attach is False. """ ... def addProperty( self, - *, type: str, name: str, group: str = "", @@ -216,22 +218,37 @@ class Document(PropertyContainer): read_only: bool = False, hidden: bool = False, locked: bool = False, - ) -> "Document": + enum_vals: list[str] | None = None, + ) -> Document: """ - addProperty(type: string, name: string, group="", doc="", attr=0, read_only=False, hidden=False, locked=False) -- Add a generic property. + Add a generic property. + + Args: + type: The type of the property to add. + name: The name of the property. + group: The group to which the property belongs. Defaults to "". + doc: The documentation string for the property. Defaults to "". + attr: Attribute flags for the property. Defaults to 0. + read_only: Whether the property is read-only. Defaults to False. + hidden: Whether the property is hidden. Defaults to False. + locked: Whether the property is locked. Defaults to False. + + Returns: + The document instance with the added property. """ ... - def removeProperty(self, string: str) -> None: + def removeProperty(self, name: str, /) -> None: """ - removeProperty(string) -- Remove a generic property. + Remove a generic property. + Note, you can only remove user-defined properties but not built-in ones. """ ... - def removeObject(self) -> None: + def removeObject(self, name: str, /) -> None: """ - Remove an object from the document + Remove an object from the document. """ ... @@ -241,34 +258,39 @@ class Document(PropertyContainer): *, recursive: bool = False, return_all: bool = False, - ) -> Tuple[DocumentObject, ...]: + ) -> tuple[DocumentObject, ...]: """ - copyObject(object, recursive=False, return_all=False) Copy an object or objects from another document to this document. - object: can either be a single object or sequence of objects - recursive: if True, also recursively copies internal objects - return_all: if True, returns all copied objects, or else return only the copied - object corresponding to the input objects. + Args: + object: can either be a single object or sequence of objects + recursive: if True, also recursively copies internal objects + return_all: if True, returns all copied objects, or else return only the copied + object corresponding to the input objects. """ ... def moveObject( - self, object: DocumentObject, with_dependencies: bool = False + self, + object: DocumentObject, + with_dependencies: bool = False, + /, ) -> DocumentObject: """ - moveObject(object, bool with_dependencies = False) Transfers an object from another document to this document. - object: can either a single object or sequence of objects - with_dependencies: if True, all internal dependent objects are copied too. + Args: + object: can either a single object or sequence of objects + with_dependencies: if True, all internal dependent objects are copied too. """ ... - def importLinks(self, object: DocumentObject = None) -> Tuple[DocumentObject, ...]: + def importLinks( + self, + object: DocumentObject = None, + /, + ) -> tuple[DocumentObject, ...]: """ - importLinks(object|[object...]) - Import any externally linked object given a list of objects in this document. Any link type properties of the input objects will be automatically reassigned to the imported object @@ -302,7 +324,7 @@ class Document(PropertyContainer): """ ... - def setClosable(self, closable: bool) -> None: + def setClosable(self, closable: bool, /) -> None: """ Set a flag that allows or forbids to close a document """ @@ -314,7 +336,7 @@ class Document(PropertyContainer): """ ... - def setAutoCreated(self, autoCreated: bool) -> None: + def setAutoCreated(self, autoCreated: bool, /) -> None: """ Set a flag that indicates if a document is autoCreated """ @@ -326,9 +348,15 @@ class Document(PropertyContainer): """ ... - def recompute(self, objs: Sequence[DocumentObject] = None) -> int: + def recompute( + self, + objs: Sequence[DocumentObject] = None, + force: bool = False, + check_cycle: bool = False, + /, + ) -> int: """ - recompute(objs=None): Recompute the document and returns the amount of recomputed features + Recompute the document and returns the amount of recomputed features. """ ... @@ -350,41 +378,55 @@ class Document(PropertyContainer): """ ... - def getObject(self, name: str) -> DocumentObject: + def getObject(self, name: str, /) -> DocumentObject: """ Return the object with the given name """ ... - def getObjectsByLabel(self, label: str) -> List[DocumentObject]: + def getObjectsByLabel(self, label: str, /) -> list[DocumentObject]: """ Return the objects with the given label name. + NOTE: It's possible that several objects have the same label name. """ ... def findObjects( - self, *, Type: str = None, Name: str = None, Label: str = None - ) -> List[DocumentObject]: + self, + Type: str = None, + Name: str = None, + Label: str = None, + ) -> list[DocumentObject]: """ - findObjects([Type=string], [Name=string], [Label=string]) -> list Return a list of objects that match the specified type, name or label. + Name and label support regular expressions. All parameters are optional. + + Args: + Type: Type of the feature. + Name: Name + Label: Label """ ... def getLinksTo( - self, obj: DocumentObject, options: int = 0, maxCount: int = 0 - ) -> Tuple[DocumentObject, ...]: + self, + obj: DocumentObject, + options: int = 0, + maxCount: int = 0, + /, + ) -> tuple[DocumentObject, ...]: """ - getLinksTo(obj, options=0, maxCount=0): return objects linked to 'obj' + Return objects linked to 'obj' - options: 1: recursive, 2: check link array. Options can combine. - maxCount: to limit the number of links returned + Args: + options: 1: recursive, 2: check link array. Options can combine. + maxCount: to limit the number of links returned. """ ... - def supportedTypes(self) -> List[str]: + def supportedTypes(self) -> list[str]: """ A list of supported types of objects """ @@ -396,12 +438,11 @@ class Document(PropertyContainer): """ ... - def getDependentDocuments(self, sort: bool = True) -> List[DocumentObject]: + def getDependentDocuments(self, sort: bool = True, /) -> list[DocumentObject]: """ - getDependentDocuments(sort=True) - Returns a list of documents that this document directly or indirectly links to including itself. - sort: whether to topologically sort the return list + Args: + sort: whether to topologically sort the return list """ ... diff --git a/src/App/DocumentObject.pyi b/src/App/DocumentObject.pyi index 106ef5ebbc..e2d55d92b3 100644 --- a/src/App/DocumentObject.pyi +++ b/src/App/DocumentObject.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import constmethod from Base.Matrix import Matrix from Document import Document @@ -63,7 +67,6 @@ class DocumentObject(ExtensionContainer): def addProperty( self, - *, type: str, name: str, group: str = "", @@ -72,16 +75,16 @@ class DocumentObject(ExtensionContainer): read_only: bool = False, hidden: bool = False, locked: bool = False, - enum_vals: list = [] + enum_vals: list = [], ) -> "DocumentObject": """ - addProperty(type: string, name: string, group="", doc="", attr=0, read_only=False, hidden=False, locked = False, enum_vals=[]) -- Add a generic property. + Add a generic property. """ ... - def removeProperty(self, string: str) -> None: + def removeProperty(self, string: str, /) -> None: """ - removeProperty(string) -- Remove a generic property. + Remove a generic property. Note, you can only remove user-defined properties but not built-in ones. """ @@ -111,28 +114,28 @@ class DocumentObject(ExtensionContainer): """ ... - def setExpression(self, name: str, expression: str) -> None: + def setExpression(self, name: str, expression: str, /) -> None: """ Register an expression for a property """ ... - def clearExpression(self, name: str) -> None: + def clearExpression(self, name: str, /) -> None: """ Clear the expression for a property """ ... @classmethod - def evalExpression(cls, expression: str) -> Any: + def evalExpression(cls, expression: str, /) -> Any: """ Evaluate an expression """ ... - def recompute(self, recursive: bool = False) -> None: + def recompute(self, recursive: bool = False, /) -> None: """ - recompute(recursive=False): Recomputes this object + Recomputes this object """ ... @@ -155,16 +158,14 @@ class DocumentObject(ExtensionContainer): def getSubObject( self, - *, subname: Union[str, List[str], Tuple[str, ...]], + *, retType: int = 0, matrix: Matrix = None, transform: bool = True, depth: int = 0, ) -> Any: """ - getSubObject(subname, retType=0, matrix=None, transform=True, depth=0) - * subname(string|list|tuple): dot separated string or sequence of strings referencing subobject. @@ -191,17 +192,15 @@ class DocumentObject(ExtensionContainer): """ ... - def getSubObjectList(self, subname: str) -> list: + def getSubObjectList(self, subname: str, /) -> list: """ - getSubObjectList(subname) - Return a list of objects referenced by a given subname including this object """ ... - def getSubObjects(self, reason: int = 0) -> list: + def getSubObjects(self, reason: int = 0, /) -> list: """ - getSubObjects(reason=0): Return subname reference of all sub-objects + Return subname reference of all sub-objects """ ... @@ -214,7 +213,6 @@ class DocumentObject(ExtensionContainer): depth: int = 0, ) -> Any: """ - getLinkedObject(recursive=True, matrix=None, transform=True, depth=0) Returns the linked object if there is one, or else return itself * recursive: whether to recursively resolve the links @@ -229,16 +227,16 @@ class DocumentObject(ExtensionContainer): """ ... - def setElementVisible(self, element: str, visible: bool) -> int: + def setElementVisible(self, element: str, visible: bool, /) -> int: """ - setElementVisible(element,visible): Set the visibility of a child element + Set the visibility of a child element Return -1 if element visibility is not supported, 0 if element not found, 1 if success """ ... - def isElementVisible(self, element: str) -> int: + def isElementVisible(self, element: str, /) -> int: """ - isElementVisible(element): Check if a child element is visible + Check if a child element is visible Return -1 if element visibility is not supported or element not found, 0 if invisible, or else 1 """ ... @@ -283,9 +281,9 @@ class DocumentObject(ExtensionContainer): ... @constmethod - def resolve(self, subname: str) -> tuple: + def resolve(self, subname: str, /) -> tuple: """ - resolve(subname) -- resolve the sub object + resolve the sub object Returns a tuple (subobj,parent,elementName,subElement), where 'subobj' is the last object referenced in 'subname', and 'parent' is the direct parent of @@ -296,9 +294,9 @@ class DocumentObject(ExtensionContainer): ... @constmethod - def resolveSubElement(self, subname: str, append: bool, type: int) -> tuple: + def resolveSubElement(self, subname: str, append: bool, type: int, /) -> tuple: """ - resolveSubElement(subname,append,type) -- resolve both new and old style sub element + resolve both new and old style sub element subname: subname reference containing object hierarchy append: Whether to append object hierarchy prefix inside subname to returned element name @@ -308,24 +306,22 @@ class DocumentObject(ExtensionContainer): """ ... - def adjustRelativeLinks(self, parent: DocumentObject, recursive: bool = True) -> bool: + def adjustRelativeLinks(self, parent: DocumentObject, recursive: bool = True, /) -> bool: """ - adjustRelativeLinks(parent,recursive=True) -- auto correct potential cyclic dependencies + auto correct potential cyclic dependencies """ ... @constmethod - def getElementMapVersion(self, property_name: str) -> str: + def getElementMapVersion(self, property_name: str, /) -> str: """ - getElementMapVersion(property_name): return element map version of a given geometry property + return element map version of a given geometry property """ ... @constmethod def isAttachedToDocument(self) -> bool: """ - isAttachedToDocument() -> bool - Return true if the object is part of a document, false otherwise. """ ... diff --git a/src/App/DocumentObjectExtension.pyi b/src/App/DocumentObjectExtension.pyi index 0709e77844..bbe654e16c 100644 --- a/src/App/DocumentObjectExtension.pyi +++ b/src/App/DocumentObjectExtension.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Extension import Extension @@ -7,4 +11,5 @@ class DocumentObjectExtension(Extension): Author: Stefan Troeger (stefantroeger@gmx.net) Licence: LGPL """ + ... diff --git a/src/App/DocumentObjectGroup.pyi b/src/App/DocumentObjectGroup.pyi index 82529d9e14..26e42ceb69 100644 --- a/src/App/DocumentObjectGroup.pyi +++ b/src/App/DocumentObjectGroup.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from DocumentObject import DocumentObject @@ -7,4 +11,5 @@ class DocumentObjectGroup(DocumentObject): Author: Werner Mayer (wmayer@users.sourceforge.net) Licence: LGPL """ + ... diff --git a/src/App/Extension.pyi b/src/App/Extension.pyi index 0005862c31..34f92ce416 100644 --- a/src/App/Extension.pyi +++ b/src/App/Extension.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Final, Any from Base.PyObjectBase import PyObjectBase diff --git a/src/App/ExtensionContainer.pyi b/src/App/ExtensionContainer.pyi index f71ebeb540..ec6d4453e2 100644 --- a/src/App/ExtensionContainer.pyi +++ b/src/App/ExtensionContainer.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from PropertyContainer import PropertyContainer @@ -13,14 +17,14 @@ class ExtensionContainer(PropertyContainer): Licence: LGPL """ - def addExtension(self, identifier: str) -> None: + def addExtension(self, identifier: str, /) -> None: """ Adds an extension to the object. Requires the string identifier for the python extension as argument """ ... @constmethod - def hasExtension(self, identifier: str) -> bool: + def hasExtension(self, identifier: str, /) -> bool: """ Returns if this object has the specified extension """ diff --git a/src/App/GeoFeature.pyi b/src/App/GeoFeature.pyi index d98cef96a4..b0bd9fe99b 100644 --- a/src/App/GeoFeature.pyi +++ b/src/App/GeoFeature.pyi @@ -1,5 +1,9 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from DocumentObject import DocumentObject -from Base import Placement +from Base.Placement import Placement from typing import Any, Final, Optional @@ -19,8 +23,6 @@ class GeoFeature(DocumentObject): def getPaths(self) -> Any: """ - getPaths() - Returns all possible paths to the root of the document. Note: Not implemented. """ @@ -28,7 +30,6 @@ class GeoFeature(DocumentObject): def getGlobalPlacement(self) -> Placement: """ - getGlobalPlacement() -> Base.Placement Deprecated: This function does not handle Links correctly. Use getGlobalPlacementOf instead. Returns the placement of the object in the global coordinate space, respecting all stacked @@ -39,16 +40,18 @@ class GeoFeature(DocumentObject): ... @staticmethod - def getGlobalPlacementOf(targetObj: Any, rootObj: Any, subname: str) -> Placement: + def getGlobalPlacementOf(targetObj: Any, rootObj: Any, subname: str, /) -> Placement: """ - getGlobalPlacementOf(targetObj, rootObj, subname) -> Base.Placement - Selection example: obj = "part1" sub = "linkToPart2.LinkToBody.Pad.face1" + Examples: + obj = "part1" + sub = "linkToPart2.LinkToBody.Pad.face1" - Global placement of Pad in this context : - getGlobalPlacementOf(pad, part1, "linkToPart2.LinkToBody.Pad.face1") + Global placement of Pad in this context: + getGlobalPlacementOf(pad, part1, "linkToPart2.LinkToBody.Pad.face1") - Global placement of linkToPart2 in this context : - getGlobalPlacementOf(linkToPart2, part1, "linkToPart2.LinkToBody.Pad.face1") + + Global placement of linkToPart2 in this context: + getGlobalPlacementOf(linkToPart2, part1, "linkToPart2.LinkToBody.Pad.face1") Returns the placement of the object in the global coordinate space, respecting all stacked relationships. @@ -57,8 +60,6 @@ class GeoFeature(DocumentObject): def getPropertyNameOfGeometry(self) -> Optional[str]: """ - getPropertyNameOfGeometry() -> str or None - Returns the property name of the actual geometry. For example for a Part feature it returns the value 'Shape', for a mesh feature the value 'Mesh' and so on. @@ -68,8 +69,6 @@ class GeoFeature(DocumentObject): def getPropertyOfGeometry(self) -> Optional[Any]: """ - getPropertyOfGeometry() -> object or None - Returns the property of the actual geometry. For example for a Part feature it returns its Shape property, for a Mesh feature its Mesh property and so on. diff --git a/src/App/GeoFeatureGroupExtension.pyi b/src/App/GeoFeatureGroupExtension.pyi index 50b5d657e3..eae2c1e9b0 100644 --- a/src/App/GeoFeatureGroupExtension.pyi +++ b/src/App/GeoFeatureGroupExtension.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from GroupExtension import GroupExtension @@ -7,4 +11,5 @@ class GeoFeatureGroupExtension(GroupExtension): Licence: LGPL This class handles placeable group of document objects """ + ... diff --git a/src/App/GroupExtension.pyi b/src/App/GroupExtension.pyi index d5d66a924b..79cbbd08fb 100644 --- a/src/App/GroupExtension.pyi +++ b/src/App/GroupExtension.pyi @@ -1,11 +1,13 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from DocumentObjectExtension import DocumentObjectExtension from typing import Any, List -@export( - Include="App/DocumentObjectGroup.h", -) +@export(Include="App/DocumentObjectGroup.h", ) class GroupExtension(DocumentObjectExtension): """ Extension class which allows grouping of document objects @@ -13,37 +15,37 @@ class GroupExtension(DocumentObjectExtension): Licence: LGPL """ - def newObject(self, type: str, name: str) -> Any: + def newObject(self, type: str, name: str, /) -> Any: """ Create and add an object with given type and name to the group """ ... - def addObject(self, obj: Any) -> List[Any]: + def addObject(self, obj: Any, /) -> List[Any]: """ Add an object to the group. Returns all objects that have been added. """ ... - def addObjects(self, objects: List[Any]) -> List[Any]: + def addObjects(self, objects: List[Any], /) -> List[Any]: """ Adds multiple objects to the group. Expects a list and returns all objects that have been added. """ ... - def setObjects(self, objects: List[Any]) -> List[Any]: + def setObjects(self, objects: List[Any], /) -> List[Any]: """ Sets the objects of the group. Expects a list and returns all objects that are now in the group. """ ... - def removeObject(self, obj: Any) -> List[Any]: + def removeObject(self, obj: Any, /) -> List[Any]: """ Remove an object from the group and returns all objects that have been removed. """ ... - def removeObjects(self, objects: List[Any]) -> List[Any]: + def removeObjects(self, objects: List[Any], /) -> List[Any]: """ Remove multiple objects from the group. Expects a list and returns all objects that have been removed. """ @@ -55,30 +57,28 @@ class GroupExtension(DocumentObjectExtension): """ ... - def getObject(self, name: str) -> Any: + def getObject(self, name: str, /) -> Any: """ Return the object with the given name """ ... - def getObjectsOfType(self, typename: str) -> List[Any]: + def getObjectsOfType(self, typename: str, /) -> List[Any]: """ Returns all object in the group of given type @param typename The Freecad type identifier """ ... - def hasObject(self, obj: Any, recursive: bool = False) -> bool: + def hasObject(self, obj: Any, recursive: bool = False, /) -> bool: """ - hasObject(obj, recursive=false) - Checks if the group has a given object @param obj the object to check for. @param recursive if true check also if the obj is child of some sub group (default is false). """ ... - def allowObject(self, obj: Any) -> bool: + def allowObject(self, obj: Any, /) -> bool: """ Returns true if obj is allowed in the group extension. """ diff --git a/src/App/LinkBaseExtension.pyi b/src/App/LinkBaseExtension.pyi index 817f85e9e8..8bd15166ec 100644 --- a/src/App/LinkBaseExtension.pyi +++ b/src/App/LinkBaseExtension.pyi @@ -1,11 +1,13 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from DocumentObjectExtension import DocumentObjectExtension from typing import Any, Final, List, Tuple, Optional, Union, overload -@export( - Include="App/Link.h", -) +@export(Include="App/Link.h", ) class LinkBaseExtension(DocumentObjectExtension): """ Link extension base class @@ -16,15 +18,18 @@ class LinkBaseExtension(DocumentObjectExtension): LinkedChildren: Final[List[Any]] = [] """Return a flattened (in case grouped by plain group) list of linked children""" - def configLinkProperty(self, **kwargs) -> Any: + def configLinkProperty(self, *args, **kwargs) -> Any: """ - configLinkProperty(key=val,...): property configuration - configLinkProperty(key,...): property configuration with default name + Examples: + Called with default names: + configLinkProperty(prop1, prop2, ..., propN) + Called with custom names: + configLinkProperty(prop1=val1, prop2=val2, ..., propN=valN) - This methode is here to implement what I called Property Design + This method is here to implement what I called Property Design Pattern. The extension operates on a predefined set of properties, but it relies on the extended object to supply the actual property by - calling this methode. You can choose a sub set of functionality of + calling this method. You can choose a sub set of functionality of this extension by supplying only some of the supported properties. The 'key' are names used to refer to properties supported by this @@ -41,48 +46,48 @@ class LinkBaseExtension(DocumentObjectExtension): """ ... - def getLinkExtProperty(self, name: str) -> Any: + def getLinkExtProperty(self, name: str, /) -> Any: """ - getLinkExtProperty(name): return the property value by its predefined name + return the property value by its predefined name """ ... - def getLinkExtPropertyName(self, name: str) -> str: + def getLinkExtPropertyName(self, name: str, /) -> str: """ - getLinkExtPropertyName(name): lookup the property name by its predefined name + lookup the property name by its predefined name """ ... @overload - def getLinkPropertyInfo(self) -> tuple: + def getLinkPropertyInfo(self, /) -> tuple[tuple[str, str, str]]: ... - + @overload - def getLinkPropertyInfo(self, index: int) -> tuple: + def getLinkPropertyInfo(self, index: int, /) -> tuple[str, str, str]: ... - + @overload - def getLinkPropertyInfo(self, name: str) -> tuple: + def getLinkPropertyInfo(self, name: str, /) -> tuple[str, str]: ... - - def getLinkPropertyInfo(self, arg: Any = None) -> tuple: + + def getLinkPropertyInfo(self, arg: Any = None, /) -> tuple: """ - getLinkPropertyInfo(): return a tuple of (name,type,doc) for all supported properties. - - getLinkPropertyInfo(index): return (name,type,doc) of a specific property - - getLinkPropertyInfo(name): return (type,doc) of a specific property + Overloads: + (): return (name,type,doc) for all supported properties. + (index): return (name,type,doc) of a specific property + (name): return (type,doc) of a specific property """ ... - def setLink(self, obj: Any, subName: Optional[str] = None, subElements: Optional[Union[str, Tuple[str, ...]]] = None) -> None: + def setLink( + self, + obj: Any, + subName: Optional[str] = None, + subElements: Optional[Union[str, Tuple[str, ...]]] = None, + /, + ) -> None: """ - setLink(obj,subName=None,subElements=None): Set link object. - - setLink([obj,...]), - setLink([(obj,subName,subElements),...]), - setLink({index:obj,...}), - setLink({index:(obj,subName,subElements),...}): set link element of a link group. + Called with only obj, set link object, otherwise set link element of a link group. obj (DocumentObject): the object to link to. If this is None, then the link is cleared @@ -92,27 +97,23 @@ class LinkBaseExtension(DocumentObjectExtension): """ ... - def cacheChildLabel(self, enable: bool = True) -> None: + def cacheChildLabel(self, enable: bool = True, /) -> None: """ - cacheChildLabel(enable=True): enable/disable child label cache + enable/disable child label cache The cache is not updated on child label change for performance reason. You must call this function on any child label change """ ... - def flattenSubname(self, subname: str) -> str: + def flattenSubname(self, subname: str, /) -> str: """ - flattenSubname(subname) -> string - Return a flattened subname in case it references an object inside a linked plain group """ ... - def expandSubname(self, subname: str) -> str: + def expandSubname(self, subname: str, /) -> str: """ - expandSubname(subname) -> string - Return an expanded subname in case it references an object inside a linked plain group """ ... diff --git a/src/App/Material.pyi b/src/App/Material.pyi index d62eb097aa..afd20a95d8 100644 --- a/src/App/Material.pyi +++ b/src/App/Material.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, class_declarations from Base.PyObjectBase import PyObjectBase from typing import Any, overload @@ -7,11 +11,9 @@ from typing import Any, overload Constructor=True, Delete=True, ) -@class_declarations( - """public: +@class_declarations("""public: static Base::Color toColor(PyObject* value); - """ -) + """) class Material(PyObjectBase): """ App.Material class. @@ -21,11 +23,7 @@ class Material(PyObjectBase): UserDocu: This is the Material class """ - @overload - def __init__(self, *args: Any, **kwargs: Any) -> None: - ... - - def set(self, string: str) -> None: + def set(self, string: str, /) -> None: """ Set(string) -- Set the material. diff --git a/src/App/MeasureManager.pyi b/src/App/MeasureManager.pyi index 6a7dd43b16..3b0a2136b5 100644 --- a/src/App/MeasureManager.pyi +++ b/src/App/MeasureManager.pyi @@ -1,14 +1,18 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, no_args from Base.PyObjectBase import PyObjectBase from typing import List, Tuple, TypeAlias - MeasureType: TypeAlias = object + @export( Constructor=False, Delete=True, - ) +) class MeasureManager(PyObjectBase): """ MeasureManager class. @@ -21,10 +25,8 @@ class MeasureManager(PyObjectBase): """ @staticmethod - def addMeasureType(id: str, label: str, measureType: MeasureType) -> None: + def addMeasureType(id: str, label: str, measureType: MeasureType, /) -> None: """ - addMeasureType(id, label, measureType) -> None - Add a new measure type. id : str @@ -40,8 +42,6 @@ class MeasureManager(PyObjectBase): @no_args def getMeasureTypes() -> List[Tuple[str, str, MeasureType]]: """ - getMeasureTypes() -> List[(id, label, pythonMeasureType)] - Returns a list of all registered measure types. """ ... diff --git a/src/App/Metadata.pyi b/src/App/Metadata.pyi index 3fcd38198f..6c0c62771b 100644 --- a/src/App/Metadata.pyi +++ b/src/App/Metadata.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, class_declarations from Base.PyObjectBase import PyObjectBase from typing import Any, List, Dict, overload, Optional @@ -8,7 +12,7 @@ from typing import Any, List, Dict, overload, Optional Delete=True, NumberProtocol=False, RichCompare=False, - ) +) @class_declarations( """public: MetadataPy(const Metadata & pla, PyTypeObject *T = &Type) @@ -49,16 +53,20 @@ class Metadata(PyObjectBase): """ @overload - def __init__(self) -> None: ... + def __init__(self) -> None: + ... @overload - def __init__(self, metadata: "Metadata") -> None: ... + def __init__(self, metadata: "Metadata") -> None: + ... @overload - def __init__(self, file: str) -> None: ... + def __init__(self, file: str) -> None: + ... @overload - def __init__(self, bytes: bytes) -> None: ... + def __init__(self, bytes: bytes) -> None: + ... Name: str = "" """String representing the name of this item.""" @@ -183,8 +191,6 @@ class Metadata(PyObjectBase): def getLastSupportedFreeCADVersion(self) -> Optional[str]: """ - getLastSupportedFreeCADVersion() -> str or None - Search through all content package items, and determine if a maximum supported version of FreeCAD is set. Returns None if no maximum version is set, or if *any* content item fails to @@ -195,8 +201,6 @@ class Metadata(PyObjectBase): def getFirstSupportedFreeCADVersion(self) -> Optional[str]: """ - getFirstSupportedFreeCADVersion() -> str or None - Search through all content package items, and determine if a minimum supported version of FreeCAD is set. Returns 0.0 if no minimum version is set, or if *any* content item fails to @@ -208,8 +212,6 @@ class Metadata(PyObjectBase): def supportsCurrentFreeCAD(self) -> bool: """ - supportsCurrentFreeCAD() -> bool - Returns False if this metadata object directly indicates that it does not support the current version of FreeCAD, or True if it makes no indication, or specifically indicates that it does support the current version. Does not @@ -217,10 +219,8 @@ class Metadata(PyObjectBase): """ ... - def getGenericMetadata(self, name: str) -> List[Any]: + def getGenericMetadata(self, name: str, /) -> List[Any]: """ - getGenericMetadata(name) -> list - Get the list of GenericMetadata objects with key 'name'. Generic metadata objects are Python objects with a string 'contents' and a dictionary of strings, 'attributes'. They represent unrecognized simple XML tags @@ -228,58 +228,44 @@ class Metadata(PyObjectBase): """ ... - def addContentItem(self, content_type: str, metadata: "Metadata") -> None: + def addContentItem(self, content_type: str, metadata: "Metadata", /) -> None: """ - addContentItem(content_type,metadata) - Add a new content item of type 'content_type' with metadata 'metadata'. """ ... - def removeContentItem(self, content_type: str, name: str) -> None: + def removeContentItem(self, content_type: str, name: str, /) -> None: """ - removeContentItem(content_type,name) - Remove the content item of type 'content_type' with name 'name'. """ ... - def addMaintainer(self, name: str, email: str) -> None: + def addMaintainer(self, name: str, email: str, /) -> None: """ - addMaintainer(name, email) - Add a new Maintainer. """ ... - def removeMaintainer(self, name: str, email: str) -> None: + def removeMaintainer(self, name: str, email: str, /) -> None: """ - removeMaintainer(name, email) - Remove the Maintainer. """ ... - def addLicense(self, short_code: str, path: str) -> None: + def addLicense(self, short_code: str, path: str, /) -> None: """ - addLicense(short_code,path) - Add a new License. """ ... - def removeLicense(self, short_code: str) -> None: + def removeLicense(self, short_code: str, /) -> None: """ - removeLicense(short_code) - Remove the License. """ ... - def addUrl(self, url_type: str, url: str, branch: str) -> None: + def addUrl(self, url_type: str, url: str, branch: str, /) -> None: """ - addUrl(url_type,url,branch) - Add a new Url or type 'url_type' (which should be one of 'repository', 'readme', 'bugtracker', 'documentation', or 'webpage') If type is 'repository' you @@ -288,118 +274,90 @@ class Metadata(PyObjectBase): """ ... - def removeUrl(self, url_type: str, url: str) -> None: + def removeUrl(self, url_type: str, url: str, /) -> None: """ - removeUrl(url_type,url) - Remove the Url. """ ... - def addAuthor(self, name: str, email: str) -> None: + def addAuthor(self, name: str, email: str, /) -> None: """ - addAuthor(name, email) - Add a new Author with name 'name', and optionally email 'email'. """ ... - def removeAuthor(self, name: str, email: str) -> None: + def removeAuthor(self, name: str, email: str, /) -> None: """ - removeAuthor(name, email) - Remove the Author. """ ... - def addDepend(self, name: str, kind: str, optional: bool) -> None: + def addDepend(self, name: str, kind: str, optional: bool, /) -> None: """ - addDepend(name, kind, optional) - Add a new Dependency on package 'name' of kind 'kind' (optional, one of 'auto' (the default), 'internal', 'addon', or 'python'). """ ... - def removeDepend(self, name: str, kind: str) -> None: + def removeDepend(self, name: str, kind: str, /) -> None: """ - removeDepend(name, kind) - Remove the Dependency on package 'name' of kind 'kind' (optional - if unspecified any matching name is removed). """ ... - def addConflict(self, name: str, kind: str) -> None: + def addConflict(self, name: str, kind: str, /) -> None: """ - addConflict(name, kind) - Add a new Conflict. See documentation for addDepend(). """ ... - def removeConflict(self, name: str, kind: str) -> None: + def removeConflict(self, name: str, kind: str, /) -> None: """ - removeConflict(name, kind) - Remove the Conflict. See documentation for removeDepend(). """ ... - def addReplace(self, name: str) -> None: + def addReplace(self, name: str, /) -> None: """ - addReplace(name) - Add a new Replace. """ ... - def removeReplace(self, name: str) -> None: + def removeReplace(self, name: str, /) -> None: """ - removeReplace(name) - Remove the Replace. """ ... - def addTag(self, tag: str) -> None: + def addTag(self, tag: str, /) -> None: """ - addTag(tag) - Add a new Tag. """ ... - def removeTag(self, tag: str) -> None: + def removeTag(self, tag: str, /) -> None: """ - removeTag(tag) - Remove the Tag. """ ... - def addFile(self, filename: str) -> None: + def addFile(self, filename: str, /) -> None: """ - addFile(filename) - Add a new File. """ ... - def removeFile(self, filename: str) -> None: + def removeFile(self, filename: str, /) -> None: """ - removeFile(filename) - Remove the File. """ ... - def write(self, filename: str) -> None: + def write(self, filename: str, /) -> None: """ - write(filename) - Write the metadata to the given file as XML data. """ ... diff --git a/src/App/OriginGroupExtension.pyi b/src/App/OriginGroupExtension.pyi index 85c70fe831..dafd346ca7 100644 --- a/src/App/OriginGroupExtension.pyi +++ b/src/App/OriginGroupExtension.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from GeoFeatureGroupExtension import GeoFeatureGroupExtension @@ -7,4 +11,5 @@ class OriginGroupExtension(GeoFeatureGroupExtension): Licence: LGPL This class handles placable group of document objects with an Origin """ + ... diff --git a/src/App/Part.pyi b/src/App/Part.pyi index c0e0b9768c..1d5af0a378 100644 --- a/src/App/Part.pyi +++ b/src/App/Part.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from GeoFeature import GeoFeature @@ -7,4 +11,5 @@ class Part(GeoFeature): Licence: LGPL This class handles document objects in Part """ + ... diff --git a/src/App/PropertyContainer.pyi b/src/App/PropertyContainer.pyi index 8226fc7e55..693d2843c1 100644 --- a/src/App/PropertyContainer.pyi +++ b/src/App/PropertyContainer.pyi @@ -1,11 +1,13 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from Base.Persistence import Persistence from typing import Any, Final, Union, List, Optional -@export( - DisableNotify=True, -) +@export(DisableNotify=True, ) class PropertyContainer(Persistence): """ App.PropertyContainer class. @@ -14,10 +16,8 @@ class PropertyContainer(Persistence): PropertiesList: Final[list] = [] """A list of all property names.""" - def getPropertyByName(self, name: str, checkOwner: int = 0) -> Any: + def getPropertyByName(self, name: str, checkOwner: int = 0, /) -> Any: """ - getPropertyByName(name, checkOwner=0) -> object or Tuple - Returns the value of a named property. Note that the returned property may not always belong to this container (e.g. from a linked object). @@ -30,10 +30,8 @@ class PropertyContainer(Persistence): """ ... - def getPropertyTouchList(self, name: str) -> tuple: + def getPropertyTouchList(self, name: str, /) -> tuple: """ - getPropertyTouchList(name) -> tuple - Returns a list of index of touched values for list type properties. name : str @@ -41,10 +39,8 @@ class PropertyContainer(Persistence): """ ... - def getTypeOfProperty(self, name: str) -> list: + def getTypeOfProperty(self, name: str, /) -> list: """ - getTypeOfProperty(name) -> list - Returns the type of a named property. This can be a list conformed by elements in (Hidden, NoRecompute, NoPersist, Output, ReadOnly, Transient). @@ -53,10 +49,8 @@ class PropertyContainer(Persistence): """ ... - def getTypeIdOfProperty(self, name: str) -> str: + def getTypeIdOfProperty(self, name: str, /) -> str: """ - getTypeIdOfProperty(name) -> str - Returns the C++ class name of a named property. name : str @@ -64,10 +58,8 @@ class PropertyContainer(Persistence): """ ... - def setEditorMode(self, name: str, type: Union[int, List[str]]) -> None: + def setEditorMode(self, name: str, type: Union[int, List[str]], /) -> None: """ - setEditorMode(name, type) -> None - Set the behaviour of the property in the property editor. name : str @@ -79,10 +71,8 @@ class PropertyContainer(Persistence): """ ... - def getEditorMode(self, name: str) -> list: + def getEditorMode(self, name: str, /) -> list: """ - getEditorMode(name) -> list - Get the behaviour of the property in the property editor. It returns a list of strings with the current mode. If the list is empty there are no special restrictions. @@ -95,10 +85,8 @@ class PropertyContainer(Persistence): """ ... - def getGroupOfProperty(self, name: str) -> str: + def getGroupOfProperty(self, name: str, /) -> str: """ - getGroupOfProperty(name) -> str - Returns the name of the group which the property belongs to in this class. The properties are sorted in different named groups for convenience. @@ -107,10 +95,8 @@ class PropertyContainer(Persistence): """ ... - def setGroupOfProperty(self, name: str, group: str) -> None: + def setGroupOfProperty(self, name: str, group: str, /) -> None: """ - setGroupOfProperty(name, group) -> None - Set the name of the group of a dynamic property. name : str @@ -120,12 +106,8 @@ class PropertyContainer(Persistence): """ ... - def setPropertyStatus( - self, name: str, val: Union[int, str, List[Union[str, int]]] - ) -> None: + def setPropertyStatus(self, name: str, val: Union[int, str, List[Union[str, int]]], /) -> None: """ - setPropertyStatus(name, val) -> None - Set property status. name : str @@ -136,10 +118,8 @@ class PropertyContainer(Persistence): """ ... - def getPropertyStatus(self, name: str = "") -> list: + def getPropertyStatus(self, name: str = "", /) -> list: """ - getPropertyStatus(name='') -> list - Get property status. name : str @@ -147,10 +127,8 @@ class PropertyContainer(Persistence): """ ... - def getDocumentationOfProperty(self, name: str) -> str: + def getDocumentationOfProperty(self, name: str, /) -> str: """ - getDocumentationOfProperty(name) -> str - Returns the documentation string of the property of this class. name : str @@ -158,10 +136,8 @@ class PropertyContainer(Persistence): """ ... - def setDocumentationOfProperty(self, name: str, docstring: str) -> None: + def setDocumentationOfProperty(self, name: str, docstring: str, /) -> None: """ - setDocumentationOfProperty(name, docstring) -> None - Set the documentation string of a dynamic property of this class. name : str @@ -171,10 +147,8 @@ class PropertyContainer(Persistence): """ ... - def getEnumerationsOfProperty(self, name: str) -> Optional[list]: + def getEnumerationsOfProperty(self, name: str, /) -> Optional[list]: """ - getEnumerationsOfProperty(name) -> list or None - Return all enumeration strings of the property of this class or None if not a PropertyEnumeration. @@ -186,8 +160,6 @@ class PropertyContainer(Persistence): @constmethod def dumpPropertyContent(self, Property: str, *, Compression: int = 3) -> bytearray: """ - dumpPropertyContent(Property, Compression=3) -> bytearray - Dumps the content of the property, both the XML representation and the additional data files required, into a byte representation. @@ -198,10 +170,8 @@ class PropertyContainer(Persistence): """ ... - def restorePropertyContent(self, name: str, obj: object) -> None: + def restorePropertyContent(self, name: str, obj: object, /) -> None: """ - restorePropertyContent(name, obj) -> None - Restore the content of the object from a byte representation as stored by `dumpPropertyContent`. It could be restored from any Python object implementing the buffer protocol. @@ -213,10 +183,8 @@ class PropertyContainer(Persistence): ... @constmethod - def renameProperty(self, oldName: str, newName: str) -> None: + def renameProperty(self, oldName: str, newName: str, /) -> None: """ - renameProperty(oldName, newName) -> None - Rename a property. oldName : str diff --git a/src/App/StringHasher.pyi b/src/App/StringHasher.pyi index 708ad74311..14cddba95e 100644 --- a/src/App/StringHasher.pyi +++ b/src/App/StringHasher.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from Base.BaseClass import BaseClass from typing import Any, Final, overload, Dict @@ -16,13 +20,15 @@ class StringHasher(BaseClass): """ @overload - def __init__(self, *args: Any, **kwargs: Any) -> None: + def getID(self, txt: str, base64: bool = False, /) -> Any: ... - def getID(self, arg: Any, base64: bool = False) -> Any: - """ - getID(txt|id, base64=False) -> StringID + @overload + def getID(self, id: int, base64: bool = False, /) -> Any: + ... + def getID(self, arg: Any, base64: bool = False, /) -> Any: + """ If the input is text, return a StringID object that is unique within this hasher. This StringID object is reference counted. The hasher may only save hash ID's that are used. @@ -33,14 +39,8 @@ class StringHasher(BaseClass): """ ... - @overload - def getID(self, txt: str, base64: bool = False) -> Any: ... - - @overload - def getID(self, id: int, base64: bool = False) -> Any: ... - @constmethod - def isSame(self, other: "StringHasher") -> bool: + def isSame(self, other: "StringHasher", /) -> bool: """ Check if two hasher are the same """ diff --git a/src/App/StringID.pyi b/src/App/StringID.pyi index 4251cd0827..f072a318a8 100644 --- a/src/App/StringID.pyi +++ b/src/App/StringID.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod, class_declarations from Base.BaseClass import BaseClass from typing import Any, Final, List @@ -10,8 +14,7 @@ from typing import Any, Final, List @class_declarations("""private: friend class StringID; int _index = 0; - """ -) + """) class StringID(BaseClass): """ This is the StringID class @@ -21,7 +24,7 @@ class StringID(BaseClass): """ @constmethod - def isSame(self, other: "StringID") -> bool: + def isSame(self, other: "StringID", /) -> bool: """ Check if two StringIDs are the same """ diff --git a/src/App/SuppressibleExtension.pyi b/src/App/SuppressibleExtension.pyi index 2e6fa01d58..9b278cac74 100644 --- a/src/App/SuppressibleExtension.pyi +++ b/src/App/SuppressibleExtension.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from DocumentObjectExtension import DocumentObjectExtension @@ -7,4 +11,5 @@ class SuppressibleExtension(DocumentObjectExtension): Licence: LGPL Extension class which allows suppressing of document objects """ + ... diff --git a/src/Base/Axis.pyi b/src/Base/Axis.pyi index 28d6e04220..b9c2aece02 100644 --- a/src/Base/Axis.pyi +++ b/src/Base/Axis.pyi @@ -1,10 +1,11 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +from __future__ import annotations + from Metadata import export from PyObjectBase import PyObjectBase from Vector import Vector from Placement import Placement -from Axis import Axis from typing import overload @export( @@ -49,16 +50,12 @@ class Axis(PyObjectBase): def copy(self) -> Axis: """ - copy() -> Base.Axis - Returns a copy of this Axis. """ ... - def move(self, vector: Vector) -> None: + def move(self, vector: Vector, /) -> None: """ - move(vector) -> None - Move the axis base along the given vector. vector : Base.Vector @@ -66,10 +63,8 @@ class Axis(PyObjectBase): """ ... - def multiply(self, placement: Placement) -> Axis: + def multiply(self, placement: Placement, /) -> Axis: """ - multiply(placement) -> Base.Axis - Multiply this axis by a placement. placement : Base.Placement @@ -79,8 +74,6 @@ class Axis(PyObjectBase): def reversed(self) -> Axis: """ - reversed() -> Base.Axis - Compute the reversed axis. This returns a new Base.Axis with the original direction reversed. """ diff --git a/src/Base/BaseClass.pyi b/src/Base/BaseClass.pyi index a21e3f53c2..a9d21b0ffb 100644 --- a/src/Base/BaseClass.pyi +++ b/src/Base/BaseClass.pyi @@ -1,5 +1,7 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +from __future__ import annotations + from Metadata import constmethod from PyObjectBase import PyObjectBase from typing import List, Final @@ -19,7 +21,7 @@ class BaseClass(PyObjectBase): """Module in which this class is defined""" @constmethod - def isDerivedFrom(self, typeName: str) -> bool: + def isDerivedFrom(self, typeName: str, /) -> bool: """ Returns true if given type is a father """ diff --git a/src/Base/BoundBox.pyi b/src/Base/BoundBox.pyi index 26bed0dccf..01ba954323 100644 --- a/src/Base/BoundBox.pyi +++ b/src/Base/BoundBox.pyi @@ -1,5 +1,7 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +from __future__ import annotations + from Metadata import export, constmethod from PyObjectBase import PyObjectBase from Vector import Vector @@ -107,19 +109,17 @@ class BoundBox(PyObjectBase): xMax: float = 0, yMax: float = 0, zMax: float = 0, - ) -> None: ... + ) -> None: ... @overload def __init__( self, min: Union[Vector, Tuple[float, float, float]], max: Union[Vector, Tuple[float, float, float]], - ) -> None: ... + ) -> None: ... # fmt: on def setVoid(self) -> None: """ - setVoid() -> None - Invalidate the bounding box. """ ... @@ -127,23 +127,18 @@ class BoundBox(PyObjectBase): @constmethod def isValid(self) -> bool: """ - isValid() -> bool - Checks if the bounding box is valid. """ ... @overload - def add(self, minMax: Vector) -> None: ... + def add(self, minMax: Vector, /) -> None: ... @overload - def add(self, minMax: Tuple[float, float, float]) -> None: ... + def add(self, minMax: Tuple[float, float, float], /) -> None: ... @overload - def add(self, x: float, y: float, z: float) -> None: ... + def add(self, x: float, y: float, z: float, /) -> None: ... def add(self, *args: Any, **kwargs: Any) -> None: """ - add(minMax) -> None - add(x, y, z) -> None - Increase the maximum values or decrease the minimum values of this BoundBox by replacing the current values with the given values, so the bounding box can grow but not shrink. @@ -160,10 +155,8 @@ class BoundBox(PyObjectBase): ... @constmethod - def getPoint(self, index: int) -> Vector: + def getPoint(self, index: int, /) -> Vector: """ - getPoint(index) -> Base.Vector - Get the point of the given index. The index must be in the range of [0, 7]. @@ -172,10 +165,8 @@ class BoundBox(PyObjectBase): ... @constmethod - def getEdge(self, index: int) -> Tuple[Vector, ...]: + def getEdge(self, index: int, /) -> Tuple[Vector, ...]: """ - getEdge(index) -> tuple of Base.Vector - Get the edge points of the given index. The index must be in the range of [0, 11]. @@ -184,15 +175,12 @@ class BoundBox(PyObjectBase): ... @overload - def closestPoint(self, point: Vector) -> Vector: ... + def closestPoint(self, point: Vector, /) -> Vector: ... @overload - def closestPoint(self, x: float, y: float, z: float) -> Vector: ... + def closestPoint(self, x: float, y: float, z: float, /) -> Vector: ... @constmethod def closestPoint(self, *args: Any, **kwargs: Any) -> Vector: """ - closestPoint(point) -> Base.Vector - closestPoint(x, y, z) -> Base.Vector - Get the closest point of the bounding box to the given point. point : Base.Vector, tuple @@ -207,18 +195,16 @@ class BoundBox(PyObjectBase): ... @overload - def intersect(self, boundBox2: "BoundBox") -> bool: ... + def intersect(self, boundBox2: "BoundBox", /) -> bool: ... @overload def intersect( self, base: Union[Vector, Tuple[float, float, float]], dir: Union[Vector, Tuple[float, float, float]], + /, ) -> bool: ... def intersect(self, *args: Any) -> bool: """ - intersect(boundBox2) -> bool - intersect(base, dir) -> bool - Checks if the given object intersects with this bounding box. That can be another bounding box or a line specified by base and direction. @@ -228,30 +214,24 @@ class BoundBox(PyObjectBase): """ ... - def intersected(self, boundBox2: "BoundBox") -> "BoundBox": + def intersected(self, boundBox2: "BoundBox", /) -> "BoundBox": """ - intersected(boundBox2) -> Base.BoundBox - Returns the intersection of this and the given bounding box. boundBox2 : Base.BoundBox """ ... - def united(self, boundBox2: "BoundBox") -> "BoundBox": + def united(self, boundBox2: "BoundBox", /) -> "BoundBox": """ - united(boundBox2) -> Base.BoundBox - Returns the union of this and the given bounding box. boundBox2 : Base.BoundBox """ ... - def enlarge(self, variation: float) -> None: + def enlarge(self, variation: float, /) -> None: """ - enlarge(variation) -> None - Decrease the minimum values and increase the maximum values by the given value. A negative value shrinks the bounding box. @@ -259,10 +239,8 @@ class BoundBox(PyObjectBase): """ ... - def getIntersectionPoint(self, base: Vector, dir: Vector, epsilon: float = 0.0001) -> Vector: + def getIntersectionPoint(self, base: Vector, dir: Vector, epsilon: float = 0.0001, /) -> Vector: """ - getIntersectionPoint(base, dir, epsilon=0.0001) -> Base.Vector - Calculate the intersection point of a line with the bounding box. The base point must lie inside the bounding box, if not an exception is thrown. @@ -276,16 +254,13 @@ class BoundBox(PyObjectBase): ... @overload - def move(self, displacement: Vector) -> None: ... + def move(self, displacement: Vector, /) -> None: ... @overload - def move(self, displacement: Tuple[float, float, float]) -> None: ... + def move(self, displacement: Tuple[float, float, float], /) -> None: ... @overload - def move(self, x: float, y: float, z: float) -> None: ... + def move(self, x: float, y: float, z: float, /) -> None: ... def move(self, *args: Any, **kwargs: Any) -> None: """ - move(displacement) -> None - move(x, y, z) -> None - Move the bounding box by the given values. displacement : Base.Vector, tuple @@ -300,16 +275,13 @@ class BoundBox(PyObjectBase): ... @overload - def scale(self, factor: Vector) -> None: ... + def scale(self, factor: Vector, /) -> None: ... @overload - def scale(self, factor: Tuple[float, float, float]) -> None: ... + def scale(self, factor: Tuple[float, float, float], /) -> None: ... @overload - def scale(self, x: float, y: float, z: float) -> None: ... + def scale(self, x: float, y: float, z: float, /) -> None: ... def scale(self, *args: Any, **kwargs: Any) -> None: """ - scale(factor) -> None - scale(x, y, z) -> None - Scale the bounding box by the given values. factor : Base.Vector, tuple @@ -323,10 +295,8 @@ class BoundBox(PyObjectBase): """ ... - def transformed(self, matrix: Matrix) -> "BoundBox": + def transformed(self, matrix: Matrix, /) -> "BoundBox": """ - transformed(matrix) -> Base.BoundBox - Returns a new BoundBox containing the transformed rectangular cuboid represented by this BoundBox. @@ -335,10 +305,8 @@ class BoundBox(PyObjectBase): """ ... - def isCutPlane(self, base: Vector, normal: Vector) -> bool: + def isCutPlane(self, base: Vector, normal: Vector, /) -> bool: """ - isCutPlane(base, normal) -> bool - Check if the plane specified by base and normal intersects (cuts) this bounding box. @@ -348,16 +316,13 @@ class BoundBox(PyObjectBase): ... @overload - def isInside(self, object: Vector) -> bool: ... + def isInside(self, object: Vector, /) -> bool: ... @overload - def isInside(self, object: "BoundBox") -> bool: ... + def isInside(self, object: "BoundBox", /) -> bool: ... @overload - def isInside(self, x: float, y: float, z: float) -> bool: ... + def isInside(self, x: float, y: float, z: float, /) -> bool: ... def isInside(self, *args: Any) -> bool: """ - isInside(object) -> bool - isInside(x, y, z) -> bool - Check if a point or a bounding box is inside this bounding box. object : Base.Vector, Base.BoundBox diff --git a/src/Base/CoordinateSystem.pyi b/src/Base/CoordinateSystem.pyi index b47ee17c1b..332cce87bc 100644 --- a/src/Base/CoordinateSystem.pyi +++ b/src/Base/CoordinateSystem.pyi @@ -1,5 +1,7 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +from __future__ import annotations + from Metadata import export, constmethod from PyObjectBase import PyObjectBase from Axis import Axis as AxisPy @@ -40,10 +42,8 @@ class CoordinateSystem(PyObjectBase): Position: Vector = None """Set or get position.""" - def setAxes(self, axis: Union[AxisPy, Vector], xDir: Vector) -> None: + def setAxes(self, axis: Union[AxisPy, Vector], xDir: Vector, /) -> None: """ - setAxes(axis, xDir) -> None - Set axis or Z-direction, and X-direction. The X-direction is determined from the orthonormal compononent of `xDir` with respect to `axis` direction. @@ -54,40 +54,32 @@ class CoordinateSystem(PyObjectBase): ... @constmethod - def displacement(self, coordSystem2: "CoordinateSystem") -> Placement: + def displacement(self, coordSystem2: "CoordinateSystem", /) -> Placement: """ - displacement(coordSystem2) -> Base.Placement - Computes the placement from this to the passed coordinate system `coordSystem2`. coordSystem2 : Base.CoordinateSystem """ ... - def transformTo(self, vector: Vector) -> Vector: + def transformTo(self, vector: Vector, /) -> Vector: """ - transformTo(vector) -> Base.Vector - Computes the coordinates of the point in coordinates of this coordinate system. vector : Base.Vector """ ... - def transform(self, trans: Union[Rotation, Placement]) -> None: + def transform(self, trans: Union[Rotation, Placement], /) -> None: """ - transform(trans) -> None - Applies a transformation on this coordinate system. trans : Base.Rotation, Base.Placement """ ... - def setPlacement(self, placement: Placement) -> None: + def setPlacement(self, placement: Placement, /) -> None: """ - setPlacement(placement) -> None - Set placement to the coordinate system. placement : Base.Placement diff --git a/src/Base/Matrix.pyi b/src/Base/Matrix.pyi index c2148a4d3d..c31e80aa8c 100644 --- a/src/Base/Matrix.pyi +++ b/src/Base/Matrix.pyi @@ -1,5 +1,7 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +from __future__ import annotations + from Vector import Vector from Metadata import export, constmethod, class_declarations, no_args from PyObjectBase import PyObjectBase @@ -105,14 +107,11 @@ class Matrix(PyObjectBase): """The matrix elements.""" @overload - def move(self, vector: Vector) -> None: ... + def move(self, vector: Vector, /) -> None: ... @overload - def move(self, x: float, y: float, z: float) -> None: ... + def move(self, x: float, y: float, z: float, /) -> None: ... def move(self, *args) -> None: """ - move(vector) -> None - move(x, y, z) -> None - Move the matrix along a vector, equivalent to left multiply the matrix by a pure translation transformation. @@ -127,17 +126,13 @@ class Matrix(PyObjectBase): ... @overload - def scale(self, vector: Vector) -> None: ... + def scale(self, vector: Vector, /) -> None: ... @overload - def scale(self, x: float, y: float, z: float) -> None: ... + def scale(self, x: float, y: float, z: float, /) -> None: ... @overload - def scale(self, factor: float) -> None: ... + def scale(self, factor: float, /) -> None: ... def scale(self, *args) -> None: """ - scale(vector) -> None - scale(x, y, z) -> None - scale(factor) -> None - Scale the first three rows of the matrix. vector : Base.Vector @@ -153,10 +148,8 @@ class Matrix(PyObjectBase): ... @constmethod - def hasScale(self, tol: float = 0) -> ScaleType: + def hasScale(self, tol: float = 0, /) -> ScaleType: """ - hasScale(tol=0) -> ScaleType - Return an enum value of ScaleType. Possible values are: Uniform, NonUniformLeft, NonUniformRight, NoScaling or Other if it's not a scale matrix. @@ -168,8 +161,6 @@ class Matrix(PyObjectBase): @constmethod def decompose(self) -> Tuple["Matrix", "Matrix", "Matrix", "Matrix"]: """ - decompose() -> Base.Matrix, Base.Matrix, Base.Matrix, Base.Matrix - Return a tuple of matrices representing shear, scale, rotation and move. So that matrix = move * rotation * scale * shear. """ @@ -178,8 +169,6 @@ class Matrix(PyObjectBase): @no_args def nullify(self) -> None: """ - nullify() -> None - Make this the null matrix. """ ... @@ -188,8 +177,6 @@ class Matrix(PyObjectBase): @constmethod def isNull(self) -> bool: """ - isNull() -> bool - Check if this is the null matrix. """ ... @@ -197,25 +184,19 @@ class Matrix(PyObjectBase): @no_args def unity(self) -> None: """ - unity() -> None - Make this matrix to unity (4D identity matrix). """ ... @constmethod - def isUnity(self, tol: float = 0.0) -> bool: + def isUnity(self, tol: float = 0.0, /) -> bool: """ - isUnity([tol=0.0]) -> bool - Check if this is the unit matrix (4D identity matrix). """ ... - def transform(self, vector: Vector, matrix2: "Matrix") -> None: + def transform(self, vector: Vector, matrix2: "Matrix", /) -> None: """ - transform(vector, matrix2) -> None - Transform the matrix around a given point. Equivalent to left multiply the matrix by T*M*T_inv, where M is `matrix2`, T the translation generated by `vector` and T_inv the inverse translation. @@ -228,10 +209,8 @@ class Matrix(PyObjectBase): ... @constmethod - def col(self, index: int) -> Vector: + def col(self, index: int, /) -> Vector: """ - col(index) -> Base.Vector - Return the vector of a column, that is, the vector generated by the three first elements of the specified column. @@ -240,10 +219,8 @@ class Matrix(PyObjectBase): """ ... - def setCol(self, index: int, vector: Vector) -> None: + def setCol(self, index: int, vector: Vector, /) -> None: """ - setCol(index, vector) -> None - Set the vector of a column, that is, the three first elements of the specified column by index. @@ -254,10 +231,8 @@ class Matrix(PyObjectBase): ... @constmethod - def row(self, index: int) -> Vector: + def row(self, index: int, /) -> Vector: """ - row(index) -> Base.Vector - Return the vector of a row, that is, the vector generated by the three first elements of the specified row. @@ -266,10 +241,8 @@ class Matrix(PyObjectBase): """ ... - def setRow(self, index: int, vector: Vector) -> None: + def setRow(self, index: int, vector: Vector, /) -> None: """ - setRow(index, vector) -> None - Set the vector of a row, that is, the three first elements of the specified row by index. @@ -283,26 +256,20 @@ class Matrix(PyObjectBase): @constmethod def diagonal(self) -> Vector: """ - diagonal() -> Base.Vector - Return the diagonal of the 3x3 leading principal submatrix as vector. """ ... - def setDiagonal(self, vector: Vector) -> None: + def setDiagonal(self, vector: Vector, /) -> None: """ - setDiagonal(vector) -> None - Set the diagonal of the 3x3 leading principal submatrix. vector : Base.Vector """ ... - def rotateX(self, angle: float) -> None: + def rotateX(self, angle: float, /) -> None: """ - rotateX(angle) -> None - Rotate around X axis. angle : float @@ -310,10 +277,8 @@ class Matrix(PyObjectBase): """ ... - def rotateY(self, angle: float) -> None: + def rotateY(self, angle: float, /) -> None: """ - rotateY(angle) -> None - Rotate around Y axis. angle : float @@ -321,10 +286,8 @@ class Matrix(PyObjectBase): """ ... - def rotateZ(self, angle: float) -> None: + def rotateZ(self, angle: float, /) -> None: """ - rotateZ(angle) -> None - Rotate around Z axis. angle : float @@ -333,15 +296,12 @@ class Matrix(PyObjectBase): ... @overload - def multiply(self, matrix: "Matrix") -> "Matrix": ... + def multiply(self, matrix: "Matrix", /) -> "Matrix": ... @overload - def multiply(self, vector: Vector) -> Vector: ... + def multiply(self, vector: Vector, /) -> Vector: ... @constmethod - def multiply(self, obj: Union["Matrix", Vector]) -> Union["Matrix", Vector]: + def multiply(self, obj: Union["Matrix", Vector], /) -> Union["Matrix", Vector]: """ - multiply(matrix) -> Base.Matrix - multiply(vector) -> Base.Vector - Right multiply the matrix by the given object. If the argument is a vector, this is augmented to the 4D vector (`vector`, 1). @@ -351,10 +311,8 @@ class Matrix(PyObjectBase): ... @constmethod - def multVec(self, vector: Vector) -> Vector: + def multVec(self, vector: Vector, /) -> Vector: """ - multVec(vector) -> Base.Vector - Compute the transformed vector using the matrix. vector : Base.Vector @@ -364,8 +322,6 @@ class Matrix(PyObjectBase): @no_args def invert(self) -> None: """ - invert() -> None - Compute the inverse matrix in-place, if possible. """ ... @@ -374,8 +330,6 @@ class Matrix(PyObjectBase): @constmethod def inverse(self) -> "Matrix": """ - inverse() -> Base.Matrix - Compute the inverse matrix, if possible. """ ... @@ -383,8 +337,6 @@ class Matrix(PyObjectBase): @no_args def transpose(self) -> None: """ - transpose() -> None - Transpose the matrix in-place. """ ... @@ -393,8 +345,6 @@ class Matrix(PyObjectBase): @constmethod def transposed(self) -> "Matrix": """ - transposed() -> Base.Matrix - Returns a transposed copy of this matrix. """ ... @@ -403,17 +353,13 @@ class Matrix(PyObjectBase): @constmethod def determinant(self) -> float: """ - determinant() -> float - Compute the determinant of the matrix. """ ... @constmethod - def isOrthogonal(self, tol: float = 1e-6) -> float: + def isOrthogonal(self, tol: float = 1e-6, /) -> float: """ - isOrthogonal(tol=1e-6) -> float - Checks if the matrix is orthogonal, i.e. M * M^T = k*I and returns the multiple of the identity matrix. If it's not orthogonal 0 is returned. @@ -423,10 +369,8 @@ class Matrix(PyObjectBase): ... @constmethod - def submatrix(self, dim: int) -> "Matrix": + def submatrix(self, dim: int, /) -> "Matrix": """ - submatrix(dim) -> Base.Matrix - Get the leading principal submatrix of the given dimension. The (4 - `dim`) remaining dimensions are completed with the corresponding identity matrix. @@ -440,8 +384,6 @@ class Matrix(PyObjectBase): @constmethod def analyze(self) -> str: """ - analyze() -> str - Analyzes the type of transformation. """ ... diff --git a/src/Base/Metadata.pyi b/src/Base/Metadata.pyi index ad29731383..b3ffdd645d 100644 --- a/src/Base/Metadata.pyi +++ b/src/Base/Metadata.pyi @@ -1,5 +1,7 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +from __future__ import annotations + """ This file keeps auxiliary metadata to be used by the Python API stubs. """ @@ -10,8 +12,8 @@ def export(**kwargs): """ ... -def constmethod(): ... -def no_args(): ... +def constmethod(method): ... +def no_args(method): ... def forward_declarations(source_code): """ A decorator to attach forward declarations to a class. diff --git a/src/Base/Persistence.pyi b/src/Base/Persistence.pyi index 3fccfa6131..1c744f1d88 100644 --- a/src/Base/Persistence.pyi +++ b/src/Base/Persistence.pyi @@ -1,5 +1,7 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +from __future__ import annotations + from Metadata import constmethod from BaseClass import BaseClass from typing import Final @@ -21,10 +23,8 @@ class Persistence(BaseClass): """Memory size of the object in bytes.""" @constmethod - def dumpContent(self, *, Compression: int = 3) -> bytearray: + def dumpContent(self, Compression: int = 3) -> bytearray: """ - dumpContent(Compression=3) -> bytearray - Dumps the content of the object, both the XML representation and the additional data files required, into a byte representation. @@ -33,11 +33,9 @@ class Persistence(BaseClass): """ ... - def restoreContent(self, obj: object) -> None: + def restoreContent(self, obj: object, /) -> None: # TODO: Starting with Python 3.12, collections.abc.Buffer can be used for type hinting """ - restoreContent(obj) -> None - Restore the content of the object from a byte representation as stored by `dumpContent`. It could be restored from any Python object implementing the buffer protocol. diff --git a/src/Base/Placement.pyi b/src/Base/Placement.pyi index 8c96843bc3..83e5900b01 100644 --- a/src/Base/Placement.pyi +++ b/src/Base/Placement.pyi @@ -1,5 +1,7 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +from __future__ import annotations + from Metadata import export, constmethod, class_declarations from PyObjectBase import PyObjectBase from Matrix import Matrix as MatrixPy @@ -86,16 +88,12 @@ class Placement(PyObjectBase): @constmethod def copy(self) -> "Placement": """ - copy() -> Base.Placement - Returns a copy of this placement. """ ... - def move(self, vector: Vector) -> None: + def move(self, vector: Vector, /) -> None: """ - move(vector) -> None - Move the placement along a vector. vector : Base.Vector @@ -103,10 +101,8 @@ class Placement(PyObjectBase): """ ... - def translate(self, vector: Vector) -> None: + def translate(self, vector: Vector, /) -> None: """ - translate(vector) -> None - Alias to move(), to be compatible with TopoShape.translate(). vector : Base.Vector @@ -118,10 +114,9 @@ class Placement(PyObjectBase): def rotate( self, center: Sequence[float], axis: Sequence[float], angle: float, *, comp: bool = False ) -> None: ... + @overload def rotate(self, center: Vector, axis: Vector, angle: float, *, comp: bool = False) -> None: """ - rotate(center, axis, angle, comp) -> None - Rotate the current placement around center and axis with the given angle. This method is compatible with TopoShape.rotate() if the (optional) keyword argument comp is True (default=False). @@ -136,13 +131,11 @@ class Placement(PyObjectBase): optional keyword only argument, if True (default=False), behave like TopoShape.rotate() (i.e. the resulting placements are interchangeable). """ - ... + def rotate(self, *args, **kwargs) -> None: ... @constmethod - def multiply(self, placement: "Placement") -> "Placement": + def multiply(self, placement: "Placement", /) -> "Placement": """ - multiply(placement) -> Base.Placement - Right multiply this placement with another placement. Also available as `*` operator. @@ -152,10 +145,8 @@ class Placement(PyObjectBase): ... @constmethod - def multVec(self, vector: Vector) -> Vector: + def multVec(self, vector: Vector, /) -> Vector: """ - multVec(vector) -> Base.Vector - Compute the transformed vector using the placement. vector : Base.Vector @@ -166,8 +157,6 @@ class Placement(PyObjectBase): @constmethod def toMatrix(self) -> MatrixPy: """ - toMatrix() -> Base.Matrix - Compute the matrix representation of the placement. """ ... @@ -175,17 +164,13 @@ class Placement(PyObjectBase): @constmethod def inverse(self) -> "Placement": """ - inverse() -> Base.Placement - Compute the inverse placement. """ ... @constmethod - def pow(self, t: float, shorten: bool = True) -> "Placement": + def pow(self, t: float, shorten: bool = True, /) -> "Placement": """ - pow(t, shorten=True) -> Base.Placement - Raise this placement to real power using ScLERP interpolation. Also available as `**` operator. @@ -198,10 +183,8 @@ class Placement(PyObjectBase): ... @constmethod - def sclerp(self, placement2: "Placement", t: float, shorten: bool = True) -> "Placement": + def sclerp(self, placement2: "Placement", t: float, shorten: bool = True, /) -> "Placement": """ - sclerp(placement2, t, shorten=True) -> Base.Placement - Screw Linear Interpolation (ScLERP) between this placement and `placement2`. Interpolation is a continuous motion along a helical path parametrized by `t` made of equal transforms if discretized. @@ -219,10 +202,8 @@ class Placement(PyObjectBase): ... @constmethod - def slerp(self, placement2: "Placement", t: float) -> "Placement": + def slerp(self, placement2: "Placement", t: float, /) -> "Placement": """ - slerp(placement2, t) -> Base.Placement - Spherical Linear Interpolation (SLERP) between this placement and `placement2`. This function performs independent interpolation of rotation and movement. Result of such interpolation might be not what application expects, thus this tool @@ -236,10 +217,8 @@ class Placement(PyObjectBase): ... @constmethod - def isIdentity(self, tol: float = 0.0) -> bool: + def isIdentity(self, tol: float = 0.0, /) -> bool: """ - isIdentity([tol=0.0]) -> bool - Returns True if the placement has no displacement and no rotation. Matrix representation is the 4D identity matrix. tol : float @@ -249,10 +228,8 @@ class Placement(PyObjectBase): ... @constmethod - def isSame(self, other: "Placement", tol: float = 0.0) -> bool: + def isSame(self, other: "Placement", tol: float = 0.0, /) -> bool: """ - isSame(Base.Placement, [tol=0.0]) -> bool - Checks whether this and the given placement are the same. The default tolerance is set to 0.0 """ diff --git a/src/Base/Precision.pyi b/src/Base/Precision.pyi index 91aa9691e6..eb79d6f20a 100644 --- a/src/Base/Precision.pyi +++ b/src/Base/Precision.pyi @@ -1,5 +1,7 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +from __future__ import annotations + from PyObjectBase import PyObjectBase class Precision(PyObjectBase): diff --git a/src/Base/PyObjectBase.pyi b/src/Base/PyObjectBase.pyi index 55521be167..d1f8efd47c 100644 --- a/src/Base/PyObjectBase.pyi +++ b/src/Base/PyObjectBase.pyi @@ -1,5 +1,7 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +from __future__ import annotations + class PyObjectBase: """ The most base class for Python bindings. diff --git a/src/Base/Quantity.pyi b/src/Base/Quantity.pyi index 68440a15ca..b79ae5fc36 100644 --- a/src/Base/Quantity.pyi +++ b/src/Base/Quantity.pyi @@ -1,5 +1,7 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +from __future__ import annotations + from Metadata import export, constmethod from PyObjectBase import PyObjectBase from typing import overload, Final, Tuple, Union @@ -52,20 +54,18 @@ class Quantity(PyObjectBase): def __init__(self, string: str) -> None: ... # fmt: on + @overload + def toStr(self, /) -> str: ... + @overload + def toStr(self, decimals: int, /) -> str: ... @constmethod - def toStr(self, decimals: int = ...) -> str: + def toStr(self, decimals: int = ..., /) -> str: """ - toStr([decimals]) - Returns a string representation rounded to number of decimals. If no decimals are specified then the internal precision is used """ ... - @overload - def toStr(self) -> str: ... - @overload - def toStr(self, decimals: int) -> str: ... @constmethod def getUserPreferred(self) -> Tuple["Quantity", str]: """ @@ -74,13 +74,13 @@ class Quantity(PyObjectBase): ... @overload - def getValueAs(self, unit: str) -> float: ... + def getValueAs(self, unit: str, /) -> float: ... @overload - def getValueAs(self, translation: float, unit_signature: int) -> float: ... + def getValueAs(self, translation: float, unit_signature: int, /) -> float: ... @overload - def getValueAs(self, unit: UnitPy) -> float: ... + def getValueAs(self, unit: UnitPy, /) -> float: ... @overload - def getValueAs(self, quantity: "Quantity") -> float: ... + def getValueAs(self, quantity: "Quantity", /) -> float: ... @constmethod def getValueAs(self, *args) -> float: """ @@ -95,15 +95,14 @@ class Quantity(PyObjectBase): """ ... + @overload + def __round__(self, /) -> int: ... + @overload + def __round__(self, ndigits: int, /) -> float: ... @constmethod - def __round__(self, ndigits: int = ...) -> Union[int, float]: + def __round__(self, ndigits: int = ..., /) -> Union[int, float]: """ Returns the Integral closest to x, rounding half toward even. When an argument is passed, work like built-in round(x, ndigits). """ ... - - @overload - def __round__(self) -> int: ... - @overload - def __round__(self, ndigits: int) -> float: ... diff --git a/src/Base/Rotation.pyi b/src/Base/Rotation.pyi index c87b03852a..d5a9f5bcb8 100644 --- a/src/Base/Rotation.pyi +++ b/src/Base/Rotation.pyi @@ -1,5 +1,7 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +from __future__ import annotations + from Metadata import export, constmethod, class_declarations from PyObjectBase import PyObjectBase from Vector import Vector @@ -129,8 +131,6 @@ class Rotation(PyObjectBase): def invert(self) -> None: """ - invert() -> None - Sets the rotation to its inverse. """ ... @@ -138,16 +138,12 @@ class Rotation(PyObjectBase): @constmethod def inverted(self) -> "Rotation": """ - inverted() -> Base.Rotation - Returns the inverse of the rotation. """ ... - def isSame(self, rotation: "Rotation", tol: float = 0) -> bool: + def isSame(self, rotation: "Rotation", tol: float = 0, /) -> bool: """ - isSame(rotation, tol=0) -> bool - Checks if `rotation` perform the same transformation as this rotation. rotation : Base.Rotation @@ -158,10 +154,8 @@ class Rotation(PyObjectBase): ... @constmethod - def multiply(self, rotation: "Rotation") -> "Rotation": + def multiply(self, rotation: "Rotation", /) -> "Rotation": """ - multiply(rotation) -> Base.Rotation - Right multiply this rotation with another rotation. rotation : Base.Rotation @@ -170,10 +164,8 @@ class Rotation(PyObjectBase): ... @constmethod - def multVec(self, vector: Vector) -> Vector: + def multVec(self, vector: Vector, /) -> Vector: """ - multVec(vector) -> Base.Vector - Compute the transformed vector using the rotation. vector : Base.Vector @@ -182,10 +174,8 @@ class Rotation(PyObjectBase): ... @constmethod - def slerp(self, rotation2: "Rotation", t: float) -> "Rotation": + def slerp(self, rotation2: "Rotation", t: float, /) -> "Rotation": """ - slerp(rotation2, t) -> Base.Rotation - Spherical Linear Interpolation (SLERP) of this rotation and `rotation2`. t : float @@ -193,10 +183,8 @@ class Rotation(PyObjectBase): """ ... - def setYawPitchRoll(self, angle1: float, angle2: float, angle3: float) -> None: + def setYawPitchRoll(self, angle1: float, angle2: float, angle3: float, /) -> None: """ - setYawPitchRoll(angle1, angle2, angle3) -> None - Set the Euler angles of this rotation as yaw-pitch-roll in XY'Z'' convention. angle1 : float @@ -211,17 +199,13 @@ class Rotation(PyObjectBase): @constmethod def getYawPitchRoll(self) -> Tuple[float, float, float]: """ - getYawPitchRoll() -> tuple - Get the Euler angles of this rotation as yaw-pitch-roll in XY'Z'' convention. The angles are given in degrees. """ ... - def setEulerAngles(self, seq: str, angle1: float, angle2: float, angle3: float) -> None: + def setEulerAngles(self, seq: str, angle1: float, angle2: float, angle3: float, /) -> None: """ - setEulerAngles(seq, angle1, angle2, angle3) -> None - Set the Euler angles in a given sequence for this rotation. The angles must be given in degrees. @@ -234,10 +218,8 @@ class Rotation(PyObjectBase): ... @constmethod - def toEulerAngles(self, seq: str = "") -> List[float]: + def toEulerAngles(self, seq: str = "", /) -> List[float]: """ - toEulerAngles(seq) -> list - Get the Euler angles in a given sequence for this rotation. seq : str @@ -249,8 +231,6 @@ class Rotation(PyObjectBase): @constmethod def toMatrix(self) -> Matrix: """ - toMatrix() -> Base.Matrix - Convert the rotation to a 4D matrix representation. """ ... @@ -258,17 +238,13 @@ class Rotation(PyObjectBase): @constmethod def isNull(self) -> bool: """ - isNull() -> bool - Returns True if all values in the quaternion representation are zero. """ ... @constmethod - def isIdentity(self, tol: float = 0) -> bool: + def isIdentity(self, tol: float = 0, /) -> bool: """ - isIdentity(tol=0) -> bool - Returns True if the rotation equals the 4D identity matrix. tol : float Tolerance used to check for identity. diff --git a/src/Base/Type.pyi b/src/Base/Type.pyi index 4947eb5880..fb3a0491f5 100644 --- a/src/Base/Type.pyi +++ b/src/Base/Type.pyi @@ -1,5 +1,7 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +from __future__ import annotations + from Metadata import export, forward_declarations, constmethod from PyObjectBase import PyObjectBase from typing import List, Final @@ -35,10 +37,8 @@ class Type(PyObjectBase): """Module in which this class is defined.""" @staticmethod - def fromName(name: str) -> "Type": + def fromName(name: str, /) -> "Type": """ - fromName(name) -> Base.BaseType - Returns a type object by name. name : str @@ -46,10 +46,8 @@ class Type(PyObjectBase): ... @staticmethod - def fromKey(key: int) -> "Type": + def fromKey(key: int, /) -> "Type": """ - fromKey(key) -> Base.BaseType - Returns a type id object by key. key : int @@ -59,8 +57,6 @@ class Type(PyObjectBase): @staticmethod def getNumTypes() -> int: """ - getNumTypes() -> int - Returns the number of type ids created so far. """ ... @@ -68,17 +64,13 @@ class Type(PyObjectBase): @staticmethod def getBadType() -> "Type": """ - getBadType() -> Base.BaseType - Returns an invalid type id. """ ... @staticmethod - def getAllDerivedFrom(type: str) -> List[str]: + def getAllDerivedFrom(type: str, /) -> List[str]: """ - getAllDerivedFrom(type) -> list - Returns all descendants from the given type id. type : str, Base.BaseType @@ -88,8 +80,6 @@ class Type(PyObjectBase): @constmethod def getParent(self) -> "Type": """ - getParent() -> Base.BaseType - Returns the parent type id. """ ... @@ -97,17 +87,13 @@ class Type(PyObjectBase): @constmethod def isBad(self) -> bool: """ - isBad() -> bool - Checks if the type id is invalid. """ ... @constmethod - def isDerivedFrom(self, type: str) -> bool: + def isDerivedFrom(self, type: str, /) -> bool: """ - isDerivedFrom(type) -> bool - Returns true if given type id is a father of this type id. type : str, Base.BaseType @@ -117,25 +103,19 @@ class Type(PyObjectBase): @constmethod def getAllDerived(self) -> List[object]: """ - getAllDerived() -> list - Returns all descendants from this type id. """ ... def createInstance(self) -> object: """ - createInstance() -> object - Creates an instance of this type id. """ ... @staticmethod - def createInstanceByName(name: str, load: bool = False) -> object: + def createInstanceByName(name: str, load: bool = False, /) -> object: """ - createInstanceByName(name, load=False) -> object - Creates an instance of the named type id. name : str diff --git a/src/Base/Unit.pyi b/src/Base/Unit.pyi index 815d839dcd..69c53f3e3c 100644 --- a/src/Base/Unit.pyi +++ b/src/Base/Unit.pyi @@ -1,9 +1,10 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +from __future__ import annotations + from Metadata import export from PyObjectBase import PyObjectBase from Quantity import Quantity -from Unit import Unit from typing import Final, Tuple, overload @export( diff --git a/src/Base/Vector.pyi b/src/Base/Vector.pyi index 84946e7171..830f16c028 100644 --- a/src/Base/Vector.pyi +++ b/src/Base/Vector.pyi @@ -1,8 +1,10 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +from __future__ import annotations + from Metadata import export, constmethod, sequence_protocol, class_declarations from PyObjectBase import PyObjectBase -from typing import overload, Sequence, TYPE_CHECKING +from typing import overload, Sequence @export( TwinPointer="Vector3d", @@ -76,7 +78,7 @@ class Vector(PyObjectBase): # fmt: off @overload - def __init__(self, *, x: float = 0, y: float = 0, z: float = 0) -> None: ... + def __init__(self, x: float = 0, y: float = 0, z: float = 0) -> None: ... @overload def __init__(self, vector: "Vector") -> None: ... @overload @@ -86,17 +88,13 @@ class Vector(PyObjectBase): @constmethod def __reduce__(self) -> tuple: """ - __reduce__() -> tuple - Serialization of Vector objects. """ ... @constmethod - def add(self, vector2: "Vector") -> "Vector": + def add(self, vector2: "Vector", /) -> "Vector": """ - add(vector2) -> Base.Vector - Returns the sum of this vector and `vector2`. vector2 : Base.Vector @@ -104,10 +102,8 @@ class Vector(PyObjectBase): ... @constmethod - def sub(self, vector2: "Vector") -> "Vector": + def sub(self, vector2: "Vector", /) -> "Vector": """ - sub(vector2) -> Base.Vector - Returns the difference of this vector and `vector2`. vector2 : Base.Vector @@ -117,16 +113,12 @@ class Vector(PyObjectBase): @constmethod def negative(self) -> "Vector": """ - negative() -> Base.Vector - Returns the negative (opposite) of this vector. """ ... - def scale(self, x: float, y: float, z: float) -> "Vector": + def scale(self, x: float, y: float, z: float, /) -> "Vector": """ - scale(x, y, z) -> Base.Vector - Scales in-place this vector by the given factor in each component. x : float @@ -138,10 +130,8 @@ class Vector(PyObjectBase): """ ... - def multiply(self, factor: float) -> "Vector": + def multiply(self, factor: float, /) -> "Vector": """ - multiply(factor) -> Base.Vector - Multiplies in-place each component of this vector by a single factor. Equivalent to scale(factor, factor, factor). @@ -150,10 +140,8 @@ class Vector(PyObjectBase): ... @constmethod - def dot(self, vector2: "Vector") -> float: + def dot(self, vector2: "Vector", /) -> float: """ - dot(vector2) -> float - Returns the scalar product (dot product) between this vector and `vector2`. vector2 : Base.Vector @@ -161,10 +149,8 @@ class Vector(PyObjectBase): ... @constmethod - def cross(self, vector2: "Vector") -> "Vector": + def cross(self, vector2: "Vector", /) -> "Vector": """ - cross(vector2) -> Base.Vector - Returns the vector product (cross product) between this vector and `vector2`. vector2 : Base.Vector @@ -172,10 +158,8 @@ class Vector(PyObjectBase): ... @constmethod - def isOnLineSegment(self, vector1: "Vector", vector2: "Vector") -> bool: + def isOnLineSegment(self, vector1: "Vector", vector2: "Vector", /) -> bool: """ - isOnLineSegment(vector1, vector2) -> bool - Checks if this vector is on the line segment generated by `vector1` and `vector2`. vector1 : Base.Vector @@ -184,10 +168,8 @@ class Vector(PyObjectBase): ... @constmethod - def getAngle(self, vector2: "Vector") -> float: + def getAngle(self, vector2: "Vector", /) -> float: """ - getAngle(vector2) -> float - Returns the angle in radians between this vector and `vector2`. vector2 : Base.Vector @@ -196,17 +178,13 @@ class Vector(PyObjectBase): def normalize(self) -> "Vector": """ - normalize() -> Base.Vector - Normalizes in-place this vector to the length of 1.0. """ ... @constmethod - def isEqual(self, vector2: "Vector", tol: float = 0) -> bool: + def isEqual(self, vector2: "Vector", tol: float = 0, /) -> bool: """ - isEqual(vector2, tol=0) -> bool - Checks if the distance between the points represented by this vector and `vector2` is less or equal to the given tolerance. @@ -216,10 +194,8 @@ class Vector(PyObjectBase): ... @constmethod - def isParallel(self, vector2: "Vector", tol: float = 0) -> bool: + def isParallel(self, vector2: "Vector", tol: float = 0, /) -> bool: """ - isParallel(vector2, tol=0) -> bool - Checks if this vector and `vector2` are parallel less or equal to the given tolerance. @@ -229,10 +205,8 @@ class Vector(PyObjectBase): ... @constmethod - def isNormal(self, vector2: "Vector", tol: float = 0) -> bool: + def isNormal(self, vector2: "Vector", tol: float = 0, /) -> bool: """ - isNormal(vector2, tol=0) -> bool - Checks if this vector and `vector2` are normal less or equal to the given tolerance. @@ -241,10 +215,8 @@ class Vector(PyObjectBase): """ ... - def projectToLine(self, point: "Vector", dir: "Vector") -> "Vector": + def projectToLine(self, point: "Vector", dir: "Vector", /) -> "Vector": """ - projectToLine(point, dir) -> Base.Vector - Projects `point` on a line that goes through the origin with the direction `dir`. The result is the vector from `point` to the projected point. The operation is equivalent to dir_n.cross(dir_n.cross(point)), where `dir_n` is @@ -257,10 +229,8 @@ class Vector(PyObjectBase): """ ... - def projectToPlane(self, base: "Vector", normal: "Vector") -> "Vector": + def projectToPlane(self, base: "Vector", normal: "Vector", /) -> "Vector": """ - projectToPlane(base, normal) -> Base.Vector - Projects in-place this vector on a plane defined by a base point represented by `base` and a normal defined by `normal`. @@ -270,10 +240,8 @@ class Vector(PyObjectBase): ... @constmethod - def distanceToPoint(self, point2: "Vector") -> float: + def distanceToPoint(self, point2: "Vector", /) -> float: """ - distanceToPoint(point2) -> float - Returns the distance to another point represented by `point2`. . point : Base.Vector @@ -281,10 +249,8 @@ class Vector(PyObjectBase): ... @constmethod - def distanceToLine(self, base: "Vector", dir: "Vector") -> float: + def distanceToLine(self, base: "Vector", dir: "Vector", /) -> float: """ - distanceToLine(base, dir) -> float - Returns the distance between the point represented by this vector and a line defined by a base point represented by `base` and a direction `dir`. @@ -295,10 +261,8 @@ class Vector(PyObjectBase): ... @constmethod - def distanceToLineSegment(self, point1: "Vector", point2: "Vector") -> "Vector": + def distanceToLineSegment(self, point1: "Vector", point2: "Vector", /) -> "Vector": """ - distanceToLineSegment(point1, point2) -> Base.Vector - Returns the vector between the point represented by this vector and the point on the line segment with the shortest distance. The line segment is defined by `point1` and `point2`. @@ -309,10 +273,8 @@ class Vector(PyObjectBase): ... @constmethod - def distanceToPlane(self, base: "Vector", normal: "Vector") -> float: + def distanceToPlane(self, base: "Vector", normal: "Vector", /) -> float: """ - distanceToPlane(base, normal) -> float - Returns the distance between this vector and a plane defined by a base point represented by `base` and a normal defined by `normal`. diff --git a/src/Gui/AxisOrigin.pyi b/src/Gui/AxisOrigin.pyi index 0f8d75a50b..4ee26a883e 100644 --- a/src/Gui/AxisOrigin.pyi +++ b/src/Gui/AxisOrigin.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from Base.BaseClass import BaseClass from typing import Any, Final, Tuple, Dict @@ -17,10 +21,8 @@ class AxisOrigin(BaseClass): """ @constmethod - def getElementPicked(self, pickedPoint: Any) -> str: + def getElementPicked(self, pickedPoint: Any, /) -> str: """ - getElementPicked(pickedPoint) -> str - Returns the picked element name. pickedPoint : coin.SoPickedPoint @@ -28,10 +30,8 @@ class AxisOrigin(BaseClass): ... @constmethod - def getDetailPath(self, subname: str, path: Any) -> Any: + def getDetailPath(self, subname: str, path: Any, /) -> Any: """ - getDetailPath(subname, path) -> coin.SoDetail or None - Returns Coin detail of a subelement. Note: Not fully implemented. Currently only returns None. diff --git a/src/Gui/Command.pyi b/src/Gui/Command.pyi index 33e6d0788e..96f7eeec99 100644 --- a/src/Gui/Command.pyi +++ b/src/Gui/Command.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import constmethod from Base.PyObjectBase import PyObjectBase from typing import Any, Dict, List, Optional @@ -11,10 +15,8 @@ class Command(PyObjectBase): """ @staticmethod - def get(name: str) -> Optional["Command"]: + def get(name: str, /) -> Optional["Command"]: """ - get(name) -> Gui.Command or None - Get a given command by name or None if it doesn't exist. name : str @@ -25,8 +27,6 @@ class Command(PyObjectBase): @staticmethod def update() -> None: """ - update() -> None - Update active status of all commands. """ ... @@ -34,17 +34,13 @@ class Command(PyObjectBase): @staticmethod def listAll() -> List[str]: """ - listAll() -> list of str - Returns the name of all commands. """ ... @staticmethod - def listByShortcut(string: str, useRegExp: bool = False) -> List[str]: + def listByShortcut(string: str, useRegExp: bool = False, /) -> List[str]: """ - listByShortcut(string, useRegExp=False) -> list of str - Returns a list of all commands, filtered by shortcut. Shortcuts are converted to uppercase and spaces removed prior to comparison. @@ -56,10 +52,8 @@ class Command(PyObjectBase): """ ... - def run(self, item: int = 0) -> None: + def run(self, item: int = 0, /) -> None: """ - run(item=0) -> None - Runs the given command. item : int @@ -70,24 +64,18 @@ class Command(PyObjectBase): @constmethod def isActive(self) -> bool: """ - isActive() -> bool - Returns True if the command is active, False otherwise. """ ... def getShortcut(self) -> str: """ - getShortcut() -> str - Returns string representing shortcut key accelerator for command. """ ... - def setShortcut(self, string: str) -> bool: + def setShortcut(self, string: str, /) -> bool: """ - setShortcut(string) -> bool - Sets shortcut for given command, returns True for success. string : str @@ -97,24 +85,18 @@ class Command(PyObjectBase): def resetShortcut(self) -> bool: """ - resetShortcut() -> bool - Resets shortcut for given command back to the default, returns True for success. """ ... def getInfo(self) -> Dict[Any, Any]: """ - getInfo() -> dict - Return information about this command. """ ... def getAction(self) -> List[Any]: """ - getAction() -> list of QAction - Return the associated QAction object. """ ... @@ -128,11 +110,9 @@ class Command(PyObjectBase): whatsThis: str, statusTip: str, pixmap: str, - shortcut: str + shortcut: str, ) -> str: """ - createCustomCommand(macroFile, menuText, toolTip, whatsThis, statusTip, pixmap, shortcut) -> str - Create a custom command for a macro. Returns name of the created command. macroFile : str @@ -153,10 +133,8 @@ class Command(PyObjectBase): ... @staticmethod - def removeCustomCommand(name: str) -> bool: + def removeCustomCommand(name: str, /) -> bool: """ - removeCustomCommand(name) -> bool - Remove the custom command if it exists. Given the name of a custom command, this removes that command. It is not an error to remove a non-existent command, the function @@ -169,10 +147,8 @@ class Command(PyObjectBase): ... @staticmethod - def findCustomCommand(name: str) -> Optional[str]: + def findCustomCommand(name: str, /) -> Optional[str]: """ - findCustomCommand(name) -> str or None - Given the name of a macro, return the name of the custom command for that macro or None if there is no command matching that macro script name. diff --git a/src/Gui/Document.pyi b/src/Gui/Document.pyi index e1dc745789..31493815dd 100644 --- a/src/Gui/Document.pyi +++ b/src/Gui/Document.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import constmethod from Base.Persistence import Persistence from Base.Matrix import Matrix @@ -11,10 +15,8 @@ class Document(Persistence): Licence: LGPL """ - def show(self, objName: str) -> None: + def show(self, objName: str, /) -> None: """ - show(objName) -> None - Show an object. objName : str @@ -22,10 +24,8 @@ class Document(Persistence): """ ... - def hide(self, objName: str) -> None: + def hide(self, objName: str, /) -> None: """ - hide(objName) -> None - Hide an object. objName : str @@ -33,10 +33,8 @@ class Document(Persistence): """ ... - def setPos(self, objName: str, matrix: Matrix) -> None: + def setPos(self, objName: str, matrix: Matrix, /) -> None: """ - setPos(objName, matrix) -> None - Set the position of an object. objName : str @@ -47,10 +45,8 @@ class Document(Persistence): """ ... - def setEdit(self, obj: Any, mod: int = 0, subName: Optional[str] = None) -> bool: + def setEdit(self, obj: Any, mod: int = 0, subName: Optional[str] = None, /) -> bool: """ - setEdit(obj, mod=0, subName) -> bool - Set an object in edit mode. obj : str, App.DocumentObject, Gui.ViewPrivider @@ -64,24 +60,18 @@ class Document(Persistence): def getInEdit(self) -> Optional[Any]: """ - getInEdit() -> Gui.ViewProviderDocumentObject or None - Returns the current object in edit mode or None if there is no such object. """ ... def resetEdit(self) -> None: """ - resetEdit() -> None - End the current editing. """ ... - def addAnnotation(self, annoName: str, fileName: str, modName: str) -> None: + def addAnnotation(self, annoName: str, fileName: str, modName: str, /) -> None: """ - addAnnotation(annoName, fileName, modName) -> None - Add an Inventor object from a file. annoName : str @@ -95,16 +85,12 @@ class Document(Persistence): def update(self) -> None: """ - update() -> None - Update the view representations of all objects. """ ... - def getObject(self, objName: str) -> Optional[Any]: + def getObject(self, objName: str, /) -> Optional[Any]: """ - getObject(objName) -> object or None - Return the object with the given name. If no one exists, return None. ObjName : str @@ -114,24 +100,18 @@ class Document(Persistence): def activeObject(self) -> Optional[Any]: """ - activeObject() -> object or None - The active object of the document. Deprecated, use ActiveObject. """ ... def activeView(self) -> Optional[Any]: """ - activeView() -> object or None - The active view of the document. Deprecated, use ActiveView. """ ... - def createView(self, type: str) -> Optional[Any]: + def createView(self, type: str, /) -> Optional[Any]: """ - createView(type) -> object or None - Return a newly created view of a given type. type : str @@ -140,10 +120,8 @@ class Document(Persistence): ... @constmethod - def mdiViewsOfType(self, type: str) -> List[Any]: + def mdiViewsOfType(self, type: str, /) -> List[Any]: """ - mdiViewsOfType(type) -> list of MDIView - Return a list of mdi views of a given type. type : str @@ -153,34 +131,26 @@ class Document(Persistence): def save(self) -> bool: """ - save() -> bool - Attempts to save the document """ ... def saveAs(self) -> bool: """ - saveAs() -> bool - Attempts to save the document under a new name """ ... - def sendMsgToViews(self, msg: str) -> None: + def sendMsgToViews(self, msg: str, /) -> None: """ - sendMsgToViews(msg) -> None - Send a message to all views of the document. msg : str """ ... - def mergeProject(self, fileName: str) -> None: + def mergeProject(self, fileName: str, /) -> None: """ - mergeProject(fileName) -> None - Merges this document with another project file. fileName : str @@ -188,10 +158,8 @@ class Document(Persistence): """ ... - def toggleTreeItem(self, obj: Any, mod: int = 0, subName: Optional[str] = None) -> None: + def toggleTreeItem(self, obj: Any, mod: int = 0, subName: Optional[str] = None, /) -> None: """ - toggleTreeItem(obj, mod=0, subName) -> None - Change TreeItem of a document object. obj : App.DocumentObject @@ -203,20 +171,16 @@ class Document(Persistence): """ ... - def scrollToTreeItem(self, obj: Any) -> None: + def scrollToTreeItem(self, obj: Any, /) -> None: """ - scrollToTreeItem(obj) -> None - Scroll the tree view to the item of a view object. obj : Gui.ViewProviderDocumentObject """ ... - def toggleInSceneGraph(self, obj: Any) -> None: + def toggleInSceneGraph(self, obj: Any, /) -> None: """ - toggleInSceneGraph(obj) -> None - Add or remove view object from scene graph of all views depending on its canAddToSceneGraph(). diff --git a/src/Gui/LinkView.pyi b/src/Gui/LinkView.pyi index 4faa578074..6a349cdddd 100644 --- a/src/Gui/LinkView.pyi +++ b/src/Gui/LinkView.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from Base.BaseClass import BaseClass from typing import Any, Final, List, Dict, Tuple, overload @@ -21,7 +25,15 @@ class LinkView(BaseClass): """ ... - def setMaterial(self, material: Any) -> None: + @overload + def setMaterial(self, material: None, /) -> None: ... + @overload + def setMaterial(self, material: Any, /) -> None: ... + @overload + def setMaterial(self, material: List[Any], /) -> None: ... + @overload + def setMaterial(self, material: Dict[int, Any], /) -> None: ... + def setMaterial(self, material: Any, /) -> None: """ setMaterial(Material): set the override material of the entire linked object @@ -38,16 +50,12 @@ class LinkView(BaseClass): ... @overload - def setMaterial(self, material: None) -> None: ... + def setType(self, type: int, /) -> None: ... @overload - def setMaterial(self, material: Any) -> None: ... - @overload - def setMaterial(self, material: List[Any]) -> None: ... - @overload - def setMaterial(self, material: Dict[int, Any]) -> None: ... - def setType(self, type: int, sublink: bool = True) -> None: + def setType(self, type: int, sublink: bool, /) -> None: ... + def setType(self, type: int, sublink: bool = True, /) -> None: """ - setType(type, sublink=True): set the link type. + set the link type. type=0: override transformation and visibility type=1: override visibility @@ -61,30 +69,25 @@ class LinkView(BaseClass): ... @overload - def setType(self, type: int) -> None: ... + def setTransform(self, matrix: Any, /) -> None: ... @overload - def setType(self, type: int, sublink: bool) -> None: ... - def setTransform(self, matrix: Any) -> None: + def setTransform(self, matrix: List[Any], /) -> None: ... + @overload + def setTransform(self, matrix: Dict[int, Any], /) -> None: ... + def setTransform(self, matrix: Any, /) -> None: """ - setTransform(matrix): set transformation of the linked object + set transformation of the linked object - setTransform([matrix,...]): set transformation for the elements of the link + set transformation for the elements of the link array/group - setTransform({index:matrix,...}): set transformation for elements of the link + set transformation for elements of the link array/group by index """ ... - @overload - def setTransform(self, matrix: Any) -> None: ... - @overload - def setTransform(self, matrix: List[Any]) -> None: ... - @overload - def setTransform(self, matrix: Dict[int, Any]) -> None: ... - def setChildren(self, children: List[Any], vis: List[Any] = [], type: int = 0) -> None: + def setChildren(self, children: List[Any], vis: List[Any] = [], type: int = 0, /) -> None: """ - setChildren([obj...],vis=[],type=0) Group a list of children objects. Note, this mode of operation is incompatible with link array. Calling this function will deactivate link array. And calling setSize() will reset all linked children. @@ -98,13 +101,19 @@ class LinkView(BaseClass): """ ... - def setLink(self, obj: Any, subname: Any = None) -> None: + @overload + def setLink(self, obj: Any, /) -> None: ... + @overload + def setLink(self, obj: Any, subname: str, /) -> None: ... + @overload + def setLink(self, obj: Any, subname: List[str], /) -> None: ... + def setLink(self, obj: Any, subname: Any = None, /) -> None: """ - setLink(object): Set the link + Set the link - setLink(object, subname): Set the link with a sub-object reference + Set the link with a sub-object reference - setLink(object, [subname,...]): Set the link with a list of sub object references + Set the link with a list of sub object references object: The linked document object or its view object @@ -115,29 +124,23 @@ class LinkView(BaseClass): """ ... - @overload - def setLink(self, obj: Any) -> None: ... - @overload - def setLink(self, obj: Any, subname: str) -> None: ... - @overload - def setLink(self, obj: Any, subname: List[str]) -> None: ... - def getDetailPath(self, element: Any) -> Tuple[Any, Any]: + def getDetailPath(self, element: Any, /) -> Tuple[Any, Any]: """ - getDetailPath(element): get the 3d path an detail of an element. + get the 3d path an detail of an element. Return a tuple(path,detail) for the coin3D SoPath and SoDetail of the element """ ... - def getElementPicked(self, pickPoint: Any) -> Any: + def getElementPicked(self, pickPoint: Any, /) -> Any: """ - getElementPicked(pickPoint): get the element under a 3d pick point. + get the element under a 3d pick point. """ ... - def getBoundBox(self, vobj: Any = None) -> Any: + def getBoundBox(self, vobj: Any = None, /) -> Any: """ - getBoundBox(vobj=None): get the bounding box. + get the bounding box. """ ... diff --git a/src/Gui/PythonWorkbench.pyi b/src/Gui/PythonWorkbench.pyi index e3ba7ea844..ef4de9c421 100644 --- a/src/Gui/PythonWorkbench.pyi +++ b/src/Gui/PythonWorkbench.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from Workbench import Workbench from warnings import deprecated diff --git a/src/Gui/Selection/SelectionObject.pyi b/src/Gui/Selection/SelectionObject.pyi index 676cc5f1f0..684bdb713a 100644 --- a/src/Gui/Selection/SelectionObject.pyi +++ b/src/Gui/Selection/SelectionObject.pyi @@ -19,16 +19,15 @@ class SelectionObject(BaseClass): def remove(self) -> None: """ Remove this selection item from the selection. - remove() -> None + -- This object becomes invalid. """ ... - def isObjectTypeOf(self, type: Any) -> bool: + def isObjectTypeOf(self, type: Any, /) -> bool: """ Test for a certain father class. - isObjectTypeOf(type) -> Bool """ ... ObjectName: Final[str] = "" diff --git a/src/Gui/ViewProvider.pyi b/src/Gui/ViewProvider.pyi index 300beb369e..af9c47cc1f 100644 --- a/src/Gui/ViewProvider.pyi +++ b/src/Gui/ViewProvider.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import constmethod from Base.BoundBox import BoundBox from App.ExtensionContainer import ExtensionContainer @@ -18,7 +22,6 @@ class ViewProvider(ExtensionContainer): def addProperty( self, - *, type: str, name: str, group: str, @@ -29,8 +32,6 @@ class ViewProvider(ExtensionContainer): locked: bool = False, ) -> "ViewProvider": """ - addProperty(type, name, group, doc, attr=0, read_only=False, hidden=False, locked=False) -> ViewProvider - Add a generic property. type : str @@ -50,10 +51,8 @@ class ViewProvider(ExtensionContainer): """ ... - def removeProperty(self, name: str) -> bool: + def removeProperty(self, name: str, /) -> bool: """ - removeProperty(name) -> bool - Remove a generic property. Only user-defined properties can be removed, not built-in ones. @@ -64,40 +63,30 @@ class ViewProvider(ExtensionContainer): def supportedProperties(self) -> list: """ - supportedProperties() -> list - A list of supported property types. """ ... def show(self) -> None: """ - show() -> None - Show the object. """ ... def hide(self) -> None: """ - hide() -> None - Hide the object. """ ... def isVisible(self) -> bool: """ - isVisible() -> bool - Check if the object is visible. """ ... - def canDragObject(self, obj: Any = None) -> bool: + def canDragObject(self, obj: Any = None, /) -> bool: """ - canDragObject(obj=None) -> bool - Check whether the child object can be removed by dragging. If 'obj' is not given, check without filter by any particular object. @@ -106,10 +95,8 @@ class ViewProvider(ExtensionContainer): """ ... - def dragObject(self, obj: Any) -> None: + def dragObject(self, obj: Any, /) -> None: """ - dragObject(obj) -> None - Remove a child object by dropping. obj : App.DocumentObject @@ -118,11 +105,9 @@ class ViewProvider(ExtensionContainer): ... def canDropObject( - self, *, obj: Any = None, owner: Any = None, subname: str, elem: Optional[List[str]] = None + self, obj: Any = None, *, owner: Any = None, subname: str, elem: Optional[List[str]] = None ) -> bool: """ - canDropObject(obj=None, owner=None, subname, elem=None) -> bool - Check whether the child object can be added by dropping. If 'obj' is not given, check without filter by any particular object. @@ -139,11 +124,9 @@ class ViewProvider(ExtensionContainer): ... def dropObject( - self, *, obj: Any, owner: Any = None, subname: str, elem: Optional[List[str]] = None + self, obj: Any, *, owner: Any = None, subname: str, elem: Optional[List[str]] = None ) -> str: """ - dropObject(obj, owner=None, subname, elem=None) -> str - Add a child object by dropping. obj : App.DocumentObject @@ -158,10 +141,8 @@ class ViewProvider(ExtensionContainer): """ ... - def canDragAndDropObject(self, obj: Any) -> bool: + def canDragAndDropObject(self, obj: Any, /) -> bool: """ - canDragAndDropObject(obj) -> bool - Check whether the child object can be removed from other parent and added here by drag and drop. @@ -170,10 +151,8 @@ class ViewProvider(ExtensionContainer): """ ... - def replaceObject(self, oldObj: Any, newObj: Any) -> int: + def replaceObject(self, oldObj: Any, newObj: Any, /) -> int: """ - replaceObject(oldObj, newObj) -> int - Replace a child object. Returns 1 if succeeded, 0 if not found, -1 if not supported. @@ -186,16 +165,12 @@ class ViewProvider(ExtensionContainer): def doubleClicked(self) -> bool: """ - doubleClicked() -> bool - Trigger double clicking the corresponding tree item of this view object. """ ... - def addDisplayMode(self, obj: Any, mode: str) -> None: + def addDisplayMode(self, obj: Any, mode: str, /) -> None: """ - addDisplayMode(obj, mode) -> None - Add a new display mode to the view provider. obj : coin.SoNode @@ -207,24 +182,18 @@ class ViewProvider(ExtensionContainer): def listDisplayModes(self) -> list: """ - listDisplayModes() -> list - Show a list of all display modes. """ ... def toString(self) -> str: """ - toString() -> str - Return a string representation of the Inventor node. """ ... - def setTransformation(self, trans: Any) -> None: + def setTransformation(self, trans: Any, /) -> None: """ - setTransformation(trans) -> None - Set a transformation on the Inventor node. trans : Base.Placement, Base.Matrix @@ -234,8 +203,6 @@ class ViewProvider(ExtensionContainer): @constmethod def claimChildren(self) -> list: """ - claimChildren() -> list - Returns list of objects that are to be grouped in tree under this object. """ ... @@ -243,16 +210,12 @@ class ViewProvider(ExtensionContainer): @constmethod def claimChildrenRecursive(self) -> list: """ - claimChildrenRecursive() -> list - Returns list of objects that are to be grouped in tree under this object recursively. """ ... - def partialRender(self, sub: Any = None, clear: bool = False) -> int: + def partialRender(self, sub: Any = None, clear: bool = False, /) -> int: """ - partialRender(sub=None, clear=False) -> int - Render only part of the object. sub: None, str, sequence of str @@ -262,10 +225,8 @@ class ViewProvider(ExtensionContainer): """ ... - def getElementColors(self, elementName: Optional[str] = None) -> dict: + def getElementColors(self, elementName: Optional[str] = None, /) -> dict: """ - getElementColors(elementName) -> dict - Get a dictionary of the form {elementName : (r,g,b,a)}. If no element name is given a dictionary with all the elements is returned. @@ -274,10 +235,8 @@ class ViewProvider(ExtensionContainer): """ ... - def setElementColors(self, colors: dict) -> None: + def setElementColors(self, colors: dict, /) -> None: """ - setElementColors(colors) -> None - Set element colors. colors: dict @@ -286,10 +245,8 @@ class ViewProvider(ExtensionContainer): ... @constmethod - def getElementPicked(self, pickPoint: Any) -> str: + def getElementPicked(self, pickPoint: Any, /) -> str: """ - getElementPicked(pickPoint) -> str - Return the picked subelement. pickPoint : coin.SoPickedPoint @@ -297,10 +254,8 @@ class ViewProvider(ExtensionContainer): ... @constmethod - def getDetailPath(self, subelement: str, path: Any, append: bool = True) -> Any: + def getDetailPath(self, subelement: str, path: Any, append: bool = True, /) -> Any: """ - getDetailPath(subelement, path, append=True) -> coin.SoDetail or None - Return Coin detail and path of an subelement. subname: str @@ -316,18 +271,14 @@ class ViewProvider(ExtensionContainer): @constmethod def signalChangeIcon(self) -> None: """ - signalChangeIcon() -> None - Trigger icon changed signal. """ ... def getBoundingBox( - self, subName: Optional[str] = None, transform: bool = True, view: Any = None + self, subName: Optional[str] = None, transform: bool = True, view: Any = None, / ) -> BoundBox: """ - getBoundingBox(subName, transform=True, view) -> Base.BoundBox - Obtain the bounding box of this view object. subName : str diff --git a/src/Gui/ViewProviderDocumentObject.pyi b/src/Gui/ViewProviderDocumentObject.pyi index 83bb882370..98491e67f7 100644 --- a/src/Gui/ViewProviderDocumentObject.pyi +++ b/src/Gui/ViewProviderDocumentObject.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from ViewProvider import ViewProvider from typing import Any, Final diff --git a/src/Gui/ViewProviderExtension.pyi b/src/Gui/ViewProviderExtension.pyi index eb5800c6e8..9bd18e068d 100644 --- a/src/Gui/ViewProviderExtension.pyi +++ b/src/Gui/ViewProviderExtension.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import constmethod from App.Extension import Extension diff --git a/src/Gui/ViewProviderGeometryObject.pyi b/src/Gui/ViewProviderGeometryObject.pyi index 14ee732de4..04c1490c64 100644 --- a/src/Gui/ViewProviderGeometryObject.pyi +++ b/src/Gui/ViewProviderGeometryObject.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import no_args from ViewProviderDocumentObject import ViewProviderDocumentObject @@ -13,8 +17,6 @@ class ViewProviderGeometryObject(ViewProviderDocumentObject): @no_args def getUserDefinedMaterial() -> object: """ - getUserDefinedMaterial() -> object - Get a material object with the user-defined colors. """ ... diff --git a/src/Gui/ViewProviderLink.pyi b/src/Gui/ViewProviderLink.pyi index 2e75516a03..ac173e999c 100644 --- a/src/Gui/ViewProviderLink.pyi +++ b/src/Gui/ViewProviderLink.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from ViewProviderDocumentObject import ViewProviderDocumentObject from typing import Any, Final diff --git a/src/Gui/Workbench.pyi b/src/Gui/Workbench.pyi index 3688761e93..b51272ffb7 100644 --- a/src/Gui/Workbench.pyi +++ b/src/Gui/Workbench.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from Base.BaseClass import BaseClass from typing import Any, List, Dict diff --git a/src/Mod/Assembly/App/AssemblyLink.pyi b/src/Mod/Assembly/App/AssemblyLink.pyi index e5305bef46..f92bee3d61 100644 --- a/src/Mod/Assembly/App/AssemblyLink.pyi +++ b/src/Mod/Assembly/App/AssemblyLink.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Final from Base.Metadata import export diff --git a/src/Mod/Assembly/App/AssemblyObject.pyi b/src/Mod/Assembly/App/AssemblyObject.pyi index 016d749bf4..22c4e888a7 100644 --- a/src/Mod/Assembly/App/AssemblyObject.pyi +++ b/src/Mod/Assembly/App/AssemblyObject.pyi @@ -1,8 +1,13 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any, Final from Base.Metadata import constmethod, export from App.Part import Part +from App.DocumentObject import DocumentObject @export(Include="Mod/Assembly/App/AssemblyObject.h", Namespace="Assembly") class AssemblyObject(Part): @@ -14,10 +19,9 @@ class AssemblyObject(Part): """ @constmethod - def solve(self) -> Any: - """Solve the assembly and update part placements. - - solve(enableRedo=False) -> int + def solve(self, enableUndo: bool = False, /) -> int: + """ + Solve the assembly and update part placements. Args: enableRedo: Whether the solve save the initial position of parts @@ -33,14 +37,14 @@ class AssemblyObject(Part): -3 if conflicting constraints, -5 if malformed constraints -1 if solver error, - -2 if redundant constraints.""" + -2 if redundant constraints. + """ ... @constmethod - def generateSimulation(self) -> Any: - """Generate the simulation. - - solve(simulationObject) -> int + def generateSimulation(self, simulationObject: DocumentObject, /) -> int: + """ + Generate the simulation. Args: simulationObject: The simulation Object. @@ -53,112 +57,99 @@ class AssemblyObject(Part): -3 if conflicting constraints, -5 if malformed constraints -1 if solver error, - -2 if redundant constraints.""" + -2 if redundant constraints. + """ ... @constmethod - def updateForFrame(self) -> Any: - """Update entire assembly to frame number specified. + def updateForFrame(self, index: int, /) -> None: + """ + Update entire assembly to frame number specified. - updateForFrame(index) + Args: + index: index of frame. - Args: index of frame. - - Returns: None""" + Returns: None + """ ... @constmethod - def numberOfFrames(self) -> Any: - """numberOfFrames() - - Args: None - - Returns: Number of frames""" + def numberOfFrames(self) -> int: + """Return Number of frames""" ... @constmethod - def undoSolve(self) -> Any: - """Undo the last solve of the assembly and return part placements to their initial position. - - undoSolve() - - Returns: None""" + def undoSolve(self) -> None: + """ + Undo the last solve of the assembly and return part placements to their initial position. + """ ... @constmethod - def ensureIdentityPlacements(self) -> Any: - """Makes sure that LinkGroups or sub-assemblies have identity placements. - - ensureIdentityPlacements() - - Returns: None""" + def ensureIdentityPlacements(self) -> None: + """ + Makes sure that LinkGroups or sub-assemblies have identity placements. + """ ... @constmethod - def clearUndo(self) -> Any: - """Clear the registered undo positions. - - clearUndo() - - Returns: None""" + def clearUndo(self) -> None: + """ + Clear the registered undo positions. + """ ... @constmethod - def isPartConnected(self) -> Any: - """Check if a part is connected to the ground through joints. - - isPartConnected(obj) -> bool - - Args: document object to check. - - Returns: True if part is connected to ground""" + def isPartConnected(self, obj: DocumentObject, /) -> bool: + """ + Check if a part is connected to the ground through joints. + Returns: True if part is connected to ground. + """ ... @constmethod - def isJointConnectingPartToGround(self) -> Any: - """Check if a joint is connecting a part to the ground. - - isJointConnectingPartToGround(joint, propName) -> bool + def isJointConnectingPartToGround(self, joint: DocumentObject, prop_name: str, /) -> Any: + """ + Check if a joint is connecting a part to the ground. Args: - joint: document object of the joint to check. - - propName: string 'Part1' or 'Part2' of the joint. + - prop_name: string 'Part1' or 'Part2' of the joint. - Returns: True if part is connected to ground""" + Returns: True if part is connected to ground. + """ ... @constmethod - def isPartGrounded(self) -> Any: - """Check if a part has a grounded joint. - - isPartGrounded(obj) -> bool + def isPartGrounded(self, obj: DocumentObject, /) -> Any: + """ + Check if a part has a grounded joint. Args: - obj: document object of the part to check. - Returns: True if part has grounded joint""" + Returns: True if part has grounded joint. + """ ... @constmethod - def exportAsASMT(self) -> Any: - """Export the assembly in a text format called ASMT. - - exportAsASMT(fileName:str) + def exportAsASMT(self, file_name: str, /) -> None: + """ + Export the assembly in a text format called ASMT. Args: - fileName: The name of the file where the ASMT will be exported.""" + - fileName: The name of the file where the ASMT will be exported. + """ ... @constmethod def getDownstreamParts( - self, start_part: "App.DocumentObject", joint_to_ignore: "App.DocumentObject", / - ) -> list["App.DocumentObject"]: + self, start_part: DocumentObject, joint_to_ignore: DocumentObject, / + ) -> list[DocumentObject]: """ Finds all parts connected to a start_part that are not connected to ground when a specific joint is ignored. - getDownstreamParts(start_part, joint_to_ignore) -> list - This is used to find the entire rigid group of unconstrained components that should be moved together during a pre-solve operation or a drag. diff --git a/src/Mod/Assembly/App/BomGroup.pyi b/src/Mod/Assembly/App/BomGroup.pyi index 7157bc70ad..d6d4797fb7 100644 --- a/src/Mod/Assembly/App/BomGroup.pyi +++ b/src/Mod/Assembly/App/BomGroup.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from App.DocumentObjectGroup import DocumentObjectGroup diff --git a/src/Mod/Assembly/App/BomObject.pyi b/src/Mod/Assembly/App/BomObject.pyi index 9e6df7de1b..1b4387a06e 100644 --- a/src/Mod/Assembly/App/BomObject.pyi +++ b/src/Mod/Assembly/App/BomObject.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from Spreadsheet.Sheet import Sheet diff --git a/src/Mod/Assembly/App/JointGroup.pyi b/src/Mod/Assembly/App/JointGroup.pyi index 1a23e0f5c5..dd2554c3bf 100644 --- a/src/Mod/Assembly/App/JointGroup.pyi +++ b/src/Mod/Assembly/App/JointGroup.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from App.DocumentObjectGroup import DocumentObjectGroup diff --git a/src/Mod/Assembly/App/SimulationGroup.pyi b/src/Mod/Assembly/App/SimulationGroup.pyi index bcd589cd8c..d6f5bba688 100644 --- a/src/Mod/Assembly/App/SimulationGroup.pyi +++ b/src/Mod/Assembly/App/SimulationGroup.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from App.DocumentObjectGroup import DocumentObjectGroup diff --git a/src/Mod/Assembly/App/ViewGroup.pyi b/src/Mod/Assembly/App/ViewGroup.pyi index c5d3ad26e3..eb00242ace 100644 --- a/src/Mod/Assembly/App/ViewGroup.pyi +++ b/src/Mod/Assembly/App/ViewGroup.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from App.DocumentObjectGroup import DocumentObjectGroup diff --git a/src/Mod/Assembly/Gui/ViewProviderAssembly.pyi b/src/Mod/Assembly/Gui/ViewProviderAssembly.pyi index 11ccd4ba1d..6d8d6ddb10 100644 --- a/src/Mod/Assembly/Gui/ViewProviderAssembly.pyi +++ b/src/Mod/Assembly/Gui/ViewProviderAssembly.pyi @@ -1,9 +1,15 @@ -from typing import Any +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from typing import Any, List, Tuple, TypeAlias from Base.Metadata import export - +from App.DocumentObject import DocumentObject from Gui.ViewProvider import ViewProvider +SoTransformDragger: TypeAlias = Any + @export(Include="Mod/Assembly/Gui/ViewProviderAssembly.h", Namespace="AssemblyGui") class ViewProviderAssembly(ViewProvider): """ @@ -16,21 +22,15 @@ class ViewProviderAssembly(ViewProvider): def isInEditMode(self) -> Any: """ Return true if the assembly object is currently in edit mode. - - isInEditMode() -> bool""" + """ ... - def getDragger(self) -> Any: - """ - Return the assembly dragger coin object. - - getDragger() -> SoTransformDragger - - Returns: dragger coin object of the assembly""" + def getDragger(self) -> SoTransformDragger: + """Return the assembly dragger coin object.""" ... def isolateComponents( - self, components: List[DocumentObject] | Tuple[DocumentObject, ...], mode: int + self, components: List[DocumentObject] | Tuple[DocumentObject, ...], mode: int, / ) -> None: """ Temporarily isolates a given set of components in the 3D view. diff --git a/src/Mod/CAM/App/Area.pyi b/src/Mod/CAM/App/Area.pyi index dc688ca4c9..f8684bbf74 100644 --- a/src/Mod/CAM/App/Area.pyi +++ b/src/Mod/CAM/App/Area.pyi @@ -28,24 +28,25 @@ class Area(BaseClass): """""" ... - def setPlane(self) -> Any: - """setPlane(shape): Set the working plane. + def setPlane(self) -> None: + """ + Set the working plane. The supplied shape does not need to be planar. Area will try to find planar sub-shape (face, wire or edge). If more than one planar sub-shape is found, it will prefer the top plane parallel to XY0 plane. If no working plane are set, Area will try to find a working plane from the added children shape using the - same algorithm""" + same algorithm + """ ... def getShape(self, **kwargs) -> Any: - """getShape(index=-1,rebuild=False): Return the resulting shape - + """ + Return the resulting shape * index (-1): the index of the section. -1 means all sections. No effect on planar shape. - - - * rebuild: clean the internal cache and rebuild""" + * rebuild: clean the internal cache and rebuild + """ ... def makeOffset(self, **kwargs) -> Any: diff --git a/src/Mod/CAM/App/Command.pyi b/src/Mod/CAM/App/Command.pyi index a90117313c..d0eac740c4 100644 --- a/src/Mod/CAM/App/Command.pyi +++ b/src/Mod/CAM/App/Command.pyi @@ -21,15 +21,15 @@ class Command(Persistence): @constmethod def toGCode(self) -> str: - """toGCode(): returns a GCode representation of the command""" + """returns a GCode representation of the command""" ... - def setFromGCode(self, gcode: str) -> None: - """setFromGCode(): sets the path from the contents of the given GCode string""" + def setFromGCode(self, gcode: str, /) -> None: + """sets the path from the contents of the given GCode string""" ... - def transform(self, placement: Placement) -> "CommandPy": - """transform(Placement): returns a copy of this command transformed by the given placement""" + def transform(self, placement: Placement, /) -> Command: + """returns a copy of this command transformed by the given placement""" ... def addAnnotations(self, annotations) -> "Command": diff --git a/src/Mod/CAM/App/FeatureArea.pyi b/src/Mod/CAM/App/FeatureArea.pyi index 7a1877a0a8..95110418d9 100644 --- a/src/Mod/CAM/App/FeatureArea.pyi +++ b/src/Mod/CAM/App/FeatureArea.pyi @@ -23,7 +23,10 @@ class FeatureArea(DocumentObject): ... def setParams(self, **kwargs) -> Any: - """setParams(key=value...): Convenient function to configure this feature. + """ + Convenient function to configure this feature. + + Call with keywords: setParams(key=value, ...) Same usage as Path.Area.setParams(). This function stores the parameters in the properties. """ diff --git a/src/Mod/CAM/App/Path.pyi b/src/Mod/CAM/App/Path.pyi index 7033ce2622..b088ad1f7c 100644 --- a/src/Mod/CAM/App/Path.pyi +++ b/src/Mod/CAM/App/Path.pyi @@ -1,10 +1,13 @@ # SPDX-License-Identifier: LGPL-2.1-or-later -from typing import Any, Final +from __future__ import annotations +from typing import Any, Final, overload, Union from Base.Metadata import constmethod, export from Base.Persistence import Persistence +from .Command import Command + @export( Include="Mod/CAM/App/Path.h", Twin="Toolpath", @@ -22,36 +25,44 @@ class Path(Persistence): License: LGPL-2.1-or-later """ - def addCommands(self) -> Any: + @overload + def addCommands(self, command: Command, /) -> Path: ... + @overload + def addCommands(self, commands: list[Command], /) -> Path: ... + def addCommands(self, arg: Union[Command, list[Command]], /) -> Path: """adds a command or a list of commands at the end of the path""" ... - def insertCommand(self) -> Any: - """insertCommand(Command,[int]): - adds a command at the given position or at the end of the path""" + def insertCommand(self, command: Command, pos: int = -1, /) -> Path: + """ + adds a command at the given position or at the end of the path + """ ... - def deleteCommand(self) -> Any: - """deleteCommand([int]): - deletes the command found at the given position or from the end of the path""" + def deleteCommand(self, pos: int = -1, /) -> Path: + """ + deletes the command found at the given position or from the end of the path + """ ... - def setFromGCode(self) -> Any: + def setFromGCode(self, gcode: str, /) -> None: """sets the contents of the path from a gcode string""" ... @constmethod - def toGCode(self) -> Any: + def toGCode(self) -> str: """returns a gcode string representing the path""" ... @constmethod - def copy(self) -> Any: + def copy(self) -> Path: """returns a copy of this path""" ... @constmethod - def getCycleTime(self) -> Any: + def getCycleTime( + self, h_feed: float, v_feed: float, h_rapid: float, v_rapid: float, / + ) -> float: """return the cycle time estimation for this path in s""" ... Length: Final[float] diff --git a/src/Mod/CAM/App/Voronoi.pyi b/src/Mod/CAM/App/Voronoi.pyi index fb46da51df..5ae6f52a73 100644 --- a/src/Mod/CAM/App/Voronoi.pyi +++ b/src/Mod/CAM/App/Voronoi.pyi @@ -5,6 +5,8 @@ from typing import Any, Final from Base.BaseClass import BaseClass from Base.Metadata import constmethod, export +from Base.Vector import Vector + @export( Include="Mod/CAM/App/Voronoi.h", Namespace="Path", @@ -34,12 +36,12 @@ class Voronoi(BaseClass): """Return number of vertices""" ... - def addPoint(self) -> Any: - """addPoint(vector|vector2d) add given point to input collection""" + def addPoint(self, point: Vector, /) -> None: + """add given point to input collection""" ... - def addSegment(self) -> Any: - """addSegment(vector|vector2d, vector|vector2d) add given segment to input collection""" + def addSegment(self, point1: Vector, point2: Vector, /) -> Any: + """add given segment to input collection""" ... def construct(self) -> Any: diff --git a/src/Mod/CAM/PathSimulator/App/PathSim.pyi b/src/Mod/CAM/PathSimulator/App/PathSim.pyi index 257f54ed03..d086884343 100644 --- a/src/Mod/CAM/PathSimulator/App/PathSim.pyi +++ b/src/Mod/CAM/PathSimulator/App/PathSim.pyi @@ -1,7 +1,15 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any, Final from Base.BaseClass import BaseClass from Base.Metadata import export +from Base.Placement import Placement +from Part.App.TopoShape import TopoShape +from Mesh.App.Mesh import Mesh +from CAM.App.Command import Command @export( FatherInclude="Base/BaseClassPy.h", @@ -22,30 +30,28 @@ class PathSim(BaseClass): License: LGPL-2.1-or-later """ - def BeginSimulation(self, **kwargs) -> Any: - """BeginSimulation(stock, resolution): - - Start a simulation process on a box shape stock with given resolution""" - ... - - def SetToolShape(self) -> Any: - """SetToolShape(shape): - - Set the shape of the tool to be used for simulation""" - ... - - def GetResultMesh(self) -> Any: + def BeginSimulation(self, stock: TopoShape, resolution: float) -> None: + """ + Start a simulation process on a box shape stock with given resolution """ - GetResultMesh(): - - Return the current mesh result of the simulation.""" ... - def ApplyCommand(self, **kwargs) -> Any: + def SetToolShape(self, tool: TopoShape, resolution: float, /) -> None: """ - ApplyCommand(placement, command): + Set the shape of the tool to be used for simulation + """ + ... - Apply a single path command on the stock starting from placement.""" + def GetResultMesh(self) -> tuple[Mesh, Mesh]: + """ + Return the current mesh result of the simulation. + """ + ... + + def ApplyCommand(self, placement: Placement, command: Command) -> Placement: + """ + Apply a single path command on the stock starting from placement. + """ ... Tool: Final[Any] """Return current simulation tool.""" diff --git a/src/Mod/CAM/PathSimulator/AppGL/CAMSim.pyi b/src/Mod/CAM/PathSimulator/AppGL/CAMSim.pyi index 5b565b3fac..b5fc184fe1 100644 --- a/src/Mod/CAM/PathSimulator/AppGL/CAMSim.pyi +++ b/src/Mod/CAM/PathSimulator/AppGL/CAMSim.pyi @@ -1,8 +1,14 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any from Base.BaseClass import BaseClass -from Base.Metadata import export -from Metadata import no_args +from Base.Metadata import export, no_args + +from Part.App.TopoShape import TopoShape +from CAM.App.Command import Command @export( Include="Mod/CAM/PathSimulator/AppGL/CAMSim.h", @@ -23,38 +29,33 @@ class CAMSim(BaseClass): License: LGPL-2.1-or-later """ - def BeginSimulation(self, **kwargs) -> Any: + def BeginSimulation(self, stock: TopoShape, resolution: float) -> None: + """ + Start a simulation process on a box shape stock with given resolution """ - BeginSimulation(stock, resolution): - - Start a simulation process on a box shape stock with given resolution""" ... @no_args - def ResetSimulation(self) -> Any: + def ResetSimulation(self) -> None: + """ + Clear the simulation and all gcode commands """ - ResetSimulation(): - - Clear the simulation and all gcode commands""" ... - def AddTool(self, **kwargs) -> Any: + def AddTool(self, shape: TopoShape, toolnumber: int, diameter: float, resolution: float) -> Any: + """ + Set the shape of the tool to be used for simulation """ - AddTool(shape, toolnumber, diameter, resolution): - - Set the shape of the tool to be used for simulation""" ... - def SetBaseShape(self, **kwargs) -> Any: + def SetBaseShape(self, shape: TopoShape, resolution: float) -> None: + """ + Set the shape of the base object of the job """ - SetBaseShape(shape, resolution): - - Set the shape of the base object of the job""" ... - def AddCommand(self) -> Any: + def AddCommand(self, command: Command, /) -> Any: + """ + Add a path command to the simulation. """ - AddCommand(command): - - Add a path command to the simulation.""" ... diff --git a/src/Mod/Fem/App/FemMesh.pyi b/src/Mod/Fem/App/FemMesh.pyi index c48dec78c6..0873c5680f 100644 --- a/src/Mod/Fem/App/FemMesh.pyi +++ b/src/Mod/Fem/App/FemMesh.pyi @@ -1,8 +1,18 @@ -from typing import Any, Final +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from typing import Any, Final, overload from Base.Metadata import constmethod, export - +from Base.Vector import Vector +from Base.Placement import Placement from App.ComplexGeoData import ComplexGeoData +from Part.App.TopoShape import TopoShape +from Part.App.TopoShapeFace import TopoShapeFace +from Part.App.TopoShapeEdge import TopoShapeEdge +from Part.App.TopoShapeSolid import TopoShapeSolid +from Part.App.TopoShapeVertex import TopoShapeVertex @export( Include="Mod/Fem/App/FemMesh.h", @@ -19,219 +29,243 @@ class FemMesh(ComplexGeoData): License: LGPL-2.1-or-later """ - def setShape(self) -> Any: + def setShape(self, shape: TopoShape, /) -> None: """Set the Part shape to mesh""" ... - def compute(self) -> Any: + def compute(self) -> None: """Update the internal mesh structure""" ... - def addHypothesis(self) -> Any: + def addHypothesis(self, hypothesis: object, shape: TopoShape, /) -> None: """Add hypothesis""" ... - def setStandardHypotheses(self) -> Any: + def setStandardHypotheses(self) -> None: """Set some standard hypotheses for the whole shape""" ... - def addNode(self) -> Any: + def addNode(self, x: float, y: float, z: float, elem_id: int | None = None, /) -> int: """Add a node by setting (x,y,z).""" ... - def addEdge(self) -> Any: + @overload + def addEdge(self, n1: int, n2: int, /) -> int: ... + @overload + def addEdge(self, nodes: list[int], elem_id: int | None = None, /) -> int: ... + def addEdge(self, *args) -> int: """Add an edge by setting two node indices.""" ... - def addEdgeList(self) -> Any: + def addEdgeList(self, nodes: list[int], np: list[int], /) -> list[int]: """Add list of edges by list of node indices and list of nodes per edge.""" ... + @overload + def addFace(self, n1: int, n2: int, n3: int, /) -> int: ... + @overload + def addFace(self, nodes: list[int], elem_id: int | None = None, /) -> int: ... def addFace(self) -> Any: """Add a face by setting three node indices.""" ... - def addFaceList(self) -> Any: + def addFaceList(self, nodes: list[int], np: list[int], /) -> list[int]: """Add list of faces by list of node indices and list of nodes per face.""" ... - def addQuad(self) -> Any: + def addQuad(self, n1: int, n2: int, n3: int, n4: int, /) -> int: """Add a quad by setting four node indices.""" ... - def addVolume(self) -> Any: + @overload + def addVolume(self, n1: int, n2: int, n3: int, n4: int, /) -> int: ... + @overload + def addVolume(self, nodes: list[int], elem_id: int | None = None, /) -> int: ... + def addVolume(self, *args) -> int: """Add a volume by setting an arbitrary number of node indices.""" ... - def addVolumeList(self) -> Any: + def addVolumeList(self, nodes: list[int], np: list[int], /) -> list[int]: """Add list of volumes by list of node indices and list of nodes per volume.""" ... - def read(self) -> Any: + def read(self, file_name: str, /) -> None: """ Read in a various FEM mesh file formats. - read(file.endingToExportTo) - supported formats: DAT, INP, MED, STL, UNV, VTK, Z88""" + + + Supported formats: DAT, INP, MED, STL, UNV, VTK, Z88 + """ ... @constmethod - def write(self) -> Any: + def write(self, file_name: str, /) -> None: """ Write out various FEM mesh file formats. - write(file.endingToExportTo) - supported formats: BDF, DAT, INP, MED, STL, UNV, VTK, Z88""" + + Supported formats: BDF, DAT, INP, MED, STL, UNV, VTK, Z88 + """ ... @constmethod - def writeABAQUS(self, **kwargs) -> Any: + def writeABAQUS( + self, + fileName: str, + elemParam: int, + groupParam: bool, + volVariant: str = "standard", + faceVariant: str = "shell", + edgeVariant: str = "beam", + ) -> None: """ - Write out as ABAQUS inp - writeABAQUS(file, int elemParam, bool groupParam, str volVariant, str faceVariant, str edgeVariant) + Write out as ABAQUS inp. - elemParam: - 0: All elements - 1: Highest elements only - 2: FEM elements only (only edges not belonging to faces and faces not belonging to volumes) + 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 + 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 + 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 + 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 + 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. + 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. """ ... - def setTransform(self) -> Any: + def setTransform(self, placement: Placement, /) -> None: """Use a Placement object to perform a translation or rotation""" ... @constmethod - def copy(self) -> Any: + def copy(self) -> FemMesh: """Make a copy of this FEM mesh.""" ... @constmethod - def getFacesByFace(self) -> Any: + def getFacesByFace(self, face: TopoShapeFace, /) -> list[int]: """Return a list of face IDs which belong to a TopoFace""" ... @constmethod - def getEdgesByEdge(self) -> Any: + def getEdgesByEdge(self, edge: TopoShapeEdge, /) -> list[int]: """Return a list of edge IDs which belong to a TopoEdge""" ... @constmethod - def getVolumesByFace(self) -> Any: - """Return a dict of volume IDs and face IDs which belong to a TopoFace""" + def getVolumesByFace(self, face: TopoShapeFace, /) -> list[tuple[int, int]]: + """Return a list of tuples of volume IDs and face IDs which belong to a TopoFace""" ... @constmethod - def getccxVolumesByFace(self) -> Any: - """Return a dict of volume IDs and ccx face numbers which belong to a TopoFace""" + def getccxVolumesByFace(self, face: TopoShapeFace, /) -> list[tuple[int, int]]: + """Return a list of tuples of volume IDs and ccx face numbers which belong to a TopoFace""" ... @constmethod - def getNodeById(self) -> Any: + def getNodeById(self, node_id: int, /) -> Vector: """Get the node position vector by a Node-ID""" ... @constmethod - def getNodesBySolid(self) -> Any: + def getNodesBySolid(self, shape: TopoShapeSolid, /) -> list[int]: """Return a list of node IDs which belong to a TopoSolid""" ... @constmethod - def getNodesByFace(self) -> Any: + def getNodesByFace(self, face: TopoShapeFace, /) -> list[int]: """Return a list of node IDs which belong to a TopoFace""" ... @constmethod - def getNodesByEdge(self) -> Any: + def getNodesByEdge(self, edge: TopoShapeEdge, /) -> list[int]: """Return a list of node IDs which belong to a TopoEdge""" ... @constmethod - def getNodesByVertex(self) -> Any: + def getNodesByVertex(self, vertex: TopoShapeVertex, /) -> list[int]: """Return a list of node IDs which belong to a TopoVertex""" ... @constmethod - def getElementNodes(self) -> Any: + def getElementNodes(self, elem_id: int, /) -> tuple[int, ...]: """Return a tuple of node IDs to a given element ID""" ... @constmethod - def getNodeElements(self) -> Any: + def getNodeElements(self, elem_id: int, elem_type: str = "All", /) -> tuple[int, ...]: """Return a tuple of specific element IDs associated to a given node ID""" ... @constmethod - def getGroupName(self) -> Any: + def getGroupName(self, elem_id: int, /) -> str: """Return a string of group name to a given group ID""" ... @constmethod - def getGroupElementType(self) -> Any: + def getGroupElementType(self, elem_id: int, /) -> str: """Return a string of group element type to a given group ID""" ... @constmethod - def getGroupElements(self) -> Any: + def getGroupElements(self, elem_id: int, /) -> tuple[int, ...]: """Return a tuple of ElementIDs to a given group ID""" ... @constmethod - def addGroup(self) -> Any: + def addGroup(self, name: str, group_type: str, group_id: int = -1, /) -> None: """ 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.""" + + name: string + group_type: "All", "Node", "Edge", "Face", "Volume", "0DElement", "Ball" + group_id: int + Optional group_id is used to force specific id for group, but does + not work, yet. + """ ... @constmethod - def addGroupElements(self) -> Any: + def addGroupElements(self, group_id: int, elements: list[int], /) -> None: """ 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.""" + + group_id: int + elements: list of int + Notice that the elements have to be in the mesh. + """ ... @constmethod - def removeGroup(self) -> Any: + def removeGroup(self, group_id: int, /) -> bool: """ Remove a group with a given group ID removeGroup(groupid) @@ -248,12 +282,12 @@ class FemMesh(ComplexGeoData): ... @constmethod - def getElementType(self) -> Any: + def getElementType(self, elem_id: int, /) -> str: """Return the element type of a given ID""" ... @constmethod - def getIdByElementType(self) -> Any: + def getIdByElementType(self, elem_type: str, /) -> tuple[int, ...]: """Return a tuple of IDs to a given element type""" ... Nodes: Final[dict] diff --git a/src/Mod/Fem/App/FemPostBranchFilter.pyi b/src/Mod/Fem/App/FemPostBranchFilter.pyi index ece7da0df6..231b705294 100644 --- a/src/Mod/Fem/App/FemPostBranchFilter.pyi +++ b/src/Mod/Fem/App/FemPostBranchFilter.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any from Base.Metadata import export diff --git a/src/Mod/Fem/App/FemPostFilter.pyi b/src/Mod/Fem/App/FemPostFilter.pyi index aa11328dcd..459f9520f6 100644 --- a/src/Mod/Fem/App/FemPostFilter.pyi +++ b/src/Mod/Fem/App/FemPostFilter.pyi @@ -1,9 +1,14 @@ -from typing import Any +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from typing import Any, TypeAlias from Base.Metadata import export - from Fem.FemPostObject import FemPostObject +vtkAlgorithm: TypeAlias = object + @export( Include="Mod/Fem/App/FemPostFilter.h", Namespace="Fem", @@ -18,36 +23,39 @@ class FemPostFilter(FemPostObject): License: LGPL-2.1-or-later """ - def addFilterPipeline(self) -> Any: + def addFilterPipeline(self, name: str, source: vtkAlgorithm, target: vtkAlgorithm, /) -> None: """Registers a new vtk filter pipeline for data processing. Arguments are (name, source algorithm, target algorithm).""" ... - def setActiveFilterPipeline(self) -> Any: + def setActiveFilterPipeline(self, name: str, /) -> None: """Sets the filter pipeline that shall be used for data processing. Argument is the name of the filter pipeline to activate.""" ... - def getParentPostGroup(self) -> Any: + def getParentPostGroup(self) -> object: """Returns the postprocessing group the filter is in (e.g. a pipeline or branch object). None is returned if not in any.""" ... - def getInputData(self) -> Any: - """Returns the dataset available at the filter's input. + def getInputData(self) -> object: + """ + 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. """ ... - def getInputVectorFields(self) -> Any: - """Returns the names of all vector fields available on this filter's input. + def getInputVectorFields(self) -> list[str]: + """ + 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. """ ... - def getInputScalarFields(self) -> Any: - """Returns the names of all scalar fields available on this filter's input. + def getInputScalarFields(self) -> list[str]: + """ + 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. """ ... - def getOutputAlgorithm(self) -> Any: + def getOutputAlgorithm(self) -> vtkAlgorithm: """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/FemPostObject.pyi b/src/Mod/Fem/App/FemPostObject.pyi index 7f40fd4e04..1ebf4f0ef0 100644 --- a/src/Mod/Fem/App/FemPostObject.pyi +++ b/src/Mod/Fem/App/FemPostObject.pyi @@ -1,9 +1,14 @@ -from typing import Any +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from typing import TypeAlias from Base.Metadata import export - from App.GeoFeature import GeoFeature +vtkDataSet: TypeAlias = object + @export( Include="Mod/Fem/App/FemPostObject.h", Namespace="Fem", @@ -18,18 +23,25 @@ class FemPostObject(GeoFeature): License: LGPL-2.1-or-later """ - def writeVTK(self) -> Any: - """writeVTK(filename) -> None - + def writeVTK(self, file_name: str, /) -> None: + """ Write data object to VTK file. filename: str - File extension is automatically detected from data type.""" - ... - - def getDataSet(self) -> Any: - """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. + File extension is automatically detected from data type. + """ + ... + + def getDataSet(self) -> 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/FemPostPipeline.pyi b/src/Mod/Fem/App/FemPostPipeline.pyi index 9541c17c3b..7f3b223914 100644 --- a/src/Mod/Fem/App/FemPostPipeline.pyi +++ b/src/Mod/Fem/App/FemPostPipeline.pyi @@ -1,8 +1,15 @@ -from typing import Any +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from typing import Any, overload, TypeAlias from Base.Metadata import export - +from Base.Unit import Unit from Fem.FemPostObject import FemPostObject +from App.DocumentObject import DocumentObject + +vtkAlgorithm: TypeAlias = object @export( Include="Mod/Fem/App/FemPostPipeline.h", @@ -18,52 +25,79 @@ class FemPostPipeline(FemPostObject): License: LGPL-2.1-or-later """ - def read(self) -> Any: - """read(filepath) - read([filepaths], [values], unit, frame_type) + @overload + def read(self, file_name: str, /) -> None: ... + @overload + def read( + self, + files: list[str] | tuple[str], + values: list[int] | tuple[int], + unit: Unit, + frame_type: str, + /, + ) -> None: ... + def read(self, *args) -> None: + """ + Reads in a single vtk file or creates a multiframe result by reading in multiple result files. - 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: + 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""" + 4. the Description of the frame type + """ ... - def scale(self) -> Any: + def scale(self, scale: float, /) -> None: """scale the points of a loaded vtk file""" ... - def load(self) -> Any: - """load(result_object) - load([result_objects], [values], unit, frame_type) + @overload + def load(self, obj: DocumentObject, /) -> None: ... + @overload + def load( + self, + result: list[DocumentObject] | tuple[DocumentObject], + values: list[float] | tuple[float], + unit: Unit, + frame_type: str, + /, + ) -> None: ... + def load(self, *args) -> Any: + """ + Load a single result object or create a multiframe result by loading multiple result frames. - 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, + If multiframe is wanted, 4 argumenhts are needed: + 1. List of result objects 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""" + 4. the Description of the frame type + """ ... - def getFilter(self) -> Any: + def getFilter(self) -> list[object]: """Returns all filters, that this pipeline uses (non recursive, result does not contain branch child filters)""" ... - def recomputeChildren(self) -> Any: + def recomputeChildren(self) -> None: """Recomputes all children of the pipeline""" ... - def getLastPostObject(self) -> Any: + def getLastPostObject(self) -> DocumentObject | None: """Get the last post-processing object""" ... - def holdsPostObject(self) -> Any: + def holdsPostObject(self, obj: DocumentObject, /) -> bool: """Check if this pipeline holds a given post-processing object""" ... - def renameArrays(self) -> Any: + def renameArrays(self, names: dict[str, str], /) -> None: """Change name of data arrays""" ... - def getOutputAlgorithm(self) -> Any: - """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.""" + def getOutputAlgorithm(self) -> vtkAlgorithm: + """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/ViewProviderFemConstraint.pyi b/src/Mod/Fem/Gui/ViewProviderFemConstraint.pyi index 25bbf21b09..aadfbc28b4 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemConstraint.pyi +++ b/src/Mod/Fem/Gui/ViewProviderFemConstraint.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any, Final from Base.Metadata import export @@ -16,17 +20,17 @@ class ViewProviderFemConstraint(ViewProviderGeometryObject): License: LGPL-2.1-or-later """ - def loadSymbol(self) -> Any: - """loadSymbol(filename) -> None - + def loadSymbol(self, file_name: str, /) -> Any: + """ 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.""" + file_name : str + Open Inventor file. + """ ... SymbolNode: Final[Any] """A pivy SoSeparator with the nodes of the constraint symbols""" diff --git a/src/Mod/Fem/Gui/ViewProviderFemMesh.pyi b/src/Mod/Fem/Gui/ViewProviderFemMesh.pyi index 12d32a201b..5ad02ede9b 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemMesh.pyi +++ b/src/Mod/Fem/Gui/ViewProviderFemMesh.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any, Final from Base.Metadata import export diff --git a/src/Mod/Fem/Gui/ViewProviderFemPostFilter.pyi b/src/Mod/Fem/Gui/ViewProviderFemPostFilter.pyi index 31df8d37cc..4cc9424653 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemPostFilter.pyi +++ b/src/Mod/Fem/Gui/ViewProviderFemPostFilter.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any from Base.Metadata import export diff --git a/src/Mod/Fem/Gui/ViewProviderFemPostPipeline.pyi b/src/Mod/Fem/Gui/ViewProviderFemPostPipeline.pyi index 5b839711aa..52c94c0207 100644 --- a/src/Mod/Fem/Gui/ViewProviderFemPostPipeline.pyi +++ b/src/Mod/Fem/Gui/ViewProviderFemPostPipeline.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any from Base.Metadata import export diff --git a/src/Mod/Import/App/StepShape.pyi b/src/Mod/Import/App/StepShape.pyi index d72609d138..0749dfb8d6 100644 --- a/src/Mod/Import/App/StepShape.pyi +++ b/src/Mod/Import/App/StepShape.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any from Base.Metadata import export @@ -19,6 +23,7 @@ class StepShape(PyObjectBase): """ def read(self) -> Any: - """method read() - Read a STEP file into memory and make it accessible""" + """ + Read a STEP file into memory and make it accessible + """ ... diff --git a/src/Mod/Material/App/Array2D.pyi b/src/Mod/Material/App/Array2D.pyi index 7325e84490..ba55362b41 100644 --- a/src/Mod/Material/App/Array2D.pyi +++ b/src/Mod/Material/App/Array2D.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from Base.BaseClass import BaseClass from Base.Metadata import constmethod @@ -10,7 +14,7 @@ from typing import Final, List, Any Namespace="Materials", Include="Mod/Material/App/MaterialValue.h", Delete=True, - Constructor=True + Constructor=True, ) class Array2D(BaseClass): """ @@ -33,20 +37,20 @@ class Array2D(BaseClass): """The number of columns in the array.""" @constmethod - def getRow(self, value: Any) -> Any: + def getRow(self, value: Any, /) -> Any: """ Get the row given the first column value """ ... @constmethod - def getValue(self, row: int, column: int) -> Any: + def getValue(self, row: int, column: int, /) -> Any: """ Get the value at the given row and column """ ... - def setValue(self, row: int, column: int, value: Any): + def setValue(self, row: int, column: int, value: Any, /): """ Set the value at the given row and column """ diff --git a/src/Mod/Material/App/Array3D.pyi b/src/Mod/Material/App/Array3D.pyi index 9a0d6cc5c1..dd7cbe5b3b 100644 --- a/src/Mod/Material/App/Array3D.pyi +++ b/src/Mod/Material/App/Array3D.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from Base.BaseClass import BaseClass from typing import Any, Final, List @@ -9,7 +13,7 @@ from typing import Any, Final, List Namespace="Materials", Include="Mod/Material/App/MaterialValue.h", Delete=True, - Constructor=True + Constructor=True, ) class Array3D(BaseClass): """ @@ -52,19 +56,19 @@ class Array3D(BaseClass): """ ... - def setDepthValue(self, value: Any): + def setDepthValue(self, value: Any, /): """ Set the column value at the given depth """ ... - def setValue(self, depth: int, row: int, column: int, value: Any): + def setValue(self, depth: int, row: int, column: int, value: Any, /): """ Set the value at the given depth, row, and column """ ... - def setRows(self, depth: int, value: int): + def setRows(self, depth: int, value: int, /): """ Set the number of rows at the given depth """ diff --git a/src/Mod/Material/App/Material.pyi b/src/Mod/Material/App/Material.pyi index 7a95608df9..53a0f6b721 100644 --- a/src/Mod/Material/App/Material.pyi +++ b/src/Mod/Material/App/Material.pyi @@ -1,6 +1,10 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, no_args, sequence_protocol from Base.BaseClass import BaseClass -from typing import Final, Dict +from typing import Final @export( diff --git a/src/Mod/Material/App/MaterialFilter.pyi b/src/Mod/Material/App/MaterialFilter.pyi index f131306a4c..4a5538cd91 100644 --- a/src/Mod/Material/App/MaterialFilter.pyi +++ b/src/Mod/Material/App/MaterialFilter.pyi @@ -1,4 +1,8 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from Base.BaseClass import BaseClass from typing import List @@ -24,4 +28,4 @@ class MaterialFilter(BaseClass): """Materials must include the specified models.""" RequiredCompleteModels: List = ... - """Materials must have complete versions of the specified models.""" \ No newline at end of file + """Materials must have complete versions of the specified models.""" diff --git a/src/Mod/Material/App/MaterialFilterOptions.pyi b/src/Mod/Material/App/MaterialFilterOptions.pyi index d3b6a5bd8e..273525dc3c 100644 --- a/src/Mod/Material/App/MaterialFilterOptions.pyi +++ b/src/Mod/Material/App/MaterialFilterOptions.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from Base.BaseClass import BaseClass @@ -6,7 +10,7 @@ from Base.BaseClass import BaseClass Include="Mod/Material/App/MaterialFilter.h", Namespace="Materials", Constructor=True, - Delete=True + Delete=True, ) class MaterialFilterOptions(BaseClass): """ diff --git a/src/Mod/Material/App/MaterialLibrary.pyi b/src/Mod/Material/App/MaterialLibrary.pyi index badd65e69e..853688ec8d 100644 --- a/src/Mod/Material/App/MaterialLibrary.pyi +++ b/src/Mod/Material/App/MaterialLibrary.pyi @@ -1,6 +1,10 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from Base.BaseClass import BaseClass -from typing import Final + @export( Include="Mod/Material/App/MaterialLibrary.h", diff --git a/src/Mod/Material/App/MaterialManager.pyi b/src/Mod/Material/App/MaterialManager.pyi index 493725bc01..ade770ed55 100644 --- a/src/Mod/Material/App/MaterialManager.pyi +++ b/src/Mod/Material/App/MaterialManager.pyi @@ -1,16 +1,17 @@ -from Base.Metadata import export, constmethod -from Base.BaseClass import BaseClass -from typing import Final, List, Dict, overload +# SPDX-License-Identifier: LGPL-2.1-or-later -@export( - Include="Mod/Material/App/MaterialManager.h", - Namespace="Materials", - Constructor=True -) +from __future__ import annotations + +from Base.Metadata import export +from Base.BaseClass import BaseClass +from typing import Final, List, Dict + + +@export(Include="Mod/Material/App/MaterialManager.h", Namespace="Materials", Constructor=True) class MaterialManager(BaseClass): """ Material descriptions. - + Author: DavidCarter (dcarter@davidcarter.ca) Licence: LGPL """ @@ -67,4 +68,4 @@ class MaterialManager(BaseClass): """ Refreshes the material tree. Use sparingly as this is an expensive operation. """ - ... \ No newline at end of file + ... diff --git a/src/Mod/Material/App/MaterialProperty.pyi b/src/Mod/Material/App/MaterialProperty.pyi index c5c827d484..66cb56c496 100644 --- a/src/Mod/Material/App/MaterialProperty.pyi +++ b/src/Mod/Material/App/MaterialProperty.pyi @@ -1,7 +1,12 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from ModelProperty import ModelProperty from typing import Final + @export( Include="Mod/Material/App/Materials.h", Namespace="Materials", @@ -13,7 +18,7 @@ from typing import Final class MaterialProperty(ModelProperty): """ Material property descriptions. - + Author: DavidCarter (dcarter@davidcarter.ca) Licence: LGPL """ diff --git a/src/Mod/Material/App/Model.pyi b/src/Mod/Material/App/Model.pyi index f004c64eb6..496ea2d4f5 100644 --- a/src/Mod/Material/App/Model.pyi +++ b/src/Mod/Material/App/Model.pyi @@ -1,6 +1,11 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from Base.BaseClass import BaseClass -from typing import Final, List, Dict, overload +from typing import Final, List, Dict + @export( Include="Mod/Material/App/Model.h", @@ -15,49 +20,49 @@ class Model(BaseClass): Author: DavidCarter (dcarter@davidcarter.ca) Licence: LGPL """ - + LibraryName: Final[str] = "" """Model library name.""" - + LibraryRoot: Final[str] = "" """Model library path.""" - + LibraryIcon: Final[bytes] = "" """Model icon.""" - + Name: str = "" """Model name.""" - + Type: str = "" """Model type.""" - + Directory: str = "" """Model directory.""" - + UUID: Final[str] = "" """Unique model identifier.""" - + Description: str = "" """Description of the model.""" - + URL: str = "" """URL to a detailed description of the model.""" - + DOI: str = "" """Digital Object Identifier (see https://doi.org/)""" - + Inherited: Final[List[str]] = [] """List of inherited models identified by UUID.""" - + Properties: Final[Dict[str, str]] = {} """Dictionary of model properties.""" - + def addInheritance(self) -> None: """ Add an inherited model. """ ... - + def addProperty(self) -> None: """ Add a model property. diff --git a/src/Mod/Material/App/ModelManager.pyi b/src/Mod/Material/App/ModelManager.pyi index e7e28f3435..505c542274 100644 --- a/src/Mod/Material/App/ModelManager.pyi +++ b/src/Mod/Material/App/ModelManager.pyi @@ -1,12 +1,13 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from Base.BaseClass import BaseClass from typing import Final, List, Dict -@export( - Include="Mod/Material/App/ModelManager.h", - Namespace="Materials", - Constructor=True -) + +@export(Include="Mod/Material/App/ModelManager.h", Namespace="Materials", Constructor=True) class ModelManager(BaseClass): """ Material model descriptions. @@ -24,13 +25,13 @@ class ModelManager(BaseClass): Models: Final[Dict] = ... """List of model libraries.""" - def getModel(self) -> ...: + def getModel(self) ->...: """ Get a model object by specifying its UUID """ ... - def getModelByPath(self) -> ...: + def getModelByPath(self) ->...: """ Get a model object by specifying its path """ diff --git a/src/Mod/Material/App/ModelProperty.pyi b/src/Mod/Material/App/ModelProperty.pyi index 370f6f3422..f61f7a6204 100644 --- a/src/Mod/Material/App/ModelProperty.pyi +++ b/src/Mod/Material/App/ModelProperty.pyi @@ -1,4 +1,8 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from Base.BaseClass import BaseClass from typing import Final diff --git a/src/Mod/Material/App/UUIDs.pyi b/src/Mod/Material/App/UUIDs.pyi index 2fd83a6f39..62d0e548e2 100644 --- a/src/Mod/Material/App/UUIDs.pyi +++ b/src/Mod/Material/App/UUIDs.pyi @@ -1,7 +1,12 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from Base.BaseClass import BaseClass from typing import Final + @export( PythonName="Material.UUIDs", Twin="ModelUUIDs", @@ -14,7 +19,7 @@ from typing import Final class UUIDs(BaseClass): """ Material model UUID identifiers. - + Author: DavidCarter (dcarter@davidcarter.ca) Licence: LGPL """ diff --git a/src/Mod/Material/Gui/MaterialTreeWidget.pyi b/src/Mod/Material/Gui/MaterialTreeWidget.pyi index e2acb43211..2bc85e4e12 100644 --- a/src/Mod/Material/Gui/MaterialTreeWidget.pyi +++ b/src/Mod/Material/Gui/MaterialTreeWidget.pyi @@ -1,6 +1,12 @@ -from Metadata import export, constmethod, forward_declarations, class_declarations, sequence_protocol +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Metadata import ( + export, +) from Base.BaseClass import BaseClass -from typing import Final, overload + @export( Twin="MaterialTreeWidget", diff --git a/src/Mod/Measure/App/MeasureBase.pyi b/src/Mod/Measure/App/MeasureBase.pyi index 24d6c6f527..67c34e25e9 100644 --- a/src/Mod/Measure/App/MeasureBase.pyi +++ b/src/Mod/Measure/App/MeasureBase.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from App.DocumentObject import DocumentObject diff --git a/src/Mod/Measure/App/Measurement.pyi b/src/Mod/Measure/App/Measurement.pyi index 8034ebffb7..501009b2a2 100644 --- a/src/Mod/Measure/App/Measurement.pyi +++ b/src/Mod/Measure/App/Measurement.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any from Base.BaseClass import BaseClass diff --git a/src/Mod/Measure/Gui/QuickMeasure.pyi b/src/Mod/Measure/Gui/QuickMeasure.pyi index d265bbea34..e7c52e916e 100644 --- a/src/Mod/Measure/Gui/QuickMeasure.pyi +++ b/src/Mod/Measure/Gui/QuickMeasure.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from Base.PyObjectBase import PyObjectBase diff --git a/src/Mod/Mesh/App/Edge.pyi b/src/Mod/Mesh/App/Edge.pyi index 548234e5c8..f70778ff19 100644 --- a/src/Mod/Mesh/App/Edge.pyi +++ b/src/Mod/Mesh/App/Edge.pyi @@ -1,4 +1,8 @@ -from typing import Final +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from typing import Final, Any from Base.Metadata import export from Base.PyObjectBase import PyObjectBase diff --git a/src/Mod/Mesh/App/Facet.pyi b/src/Mod/Mesh/App/Facet.pyi index 01eab62741..6778b913e7 100644 --- a/src/Mod/Mesh/App/Facet.pyi +++ b/src/Mod/Mesh/App/Facet.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any, Final from Base.Metadata import export diff --git a/src/Mod/Mesh/App/Mesh.pyi b/src/Mod/Mesh/App/Mesh.pyi index 7a6b65cf4e..ae2018ea54 100644 --- a/src/Mod/Mesh/App/Mesh.pyi +++ b/src/Mod/Mesh/App/Mesh.pyi @@ -1,6 +1,10 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any, Final -from Base.Metadata import constmethod, export +from Base.Metadata import constmethod, export, class_declarations from App.ComplexGeoData import ComplexGeoData diff --git a/src/Mod/Mesh/App/MeshFeature.pyi b/src/Mod/Mesh/App/MeshFeature.pyi index 6f795a5230..4f02925b49 100644 --- a/src/Mod/Mesh/App/MeshFeature.pyi +++ b/src/Mod/Mesh/App/MeshFeature.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any from Base.Metadata import export diff --git a/src/Mod/Mesh/App/MeshPoint.pyi b/src/Mod/Mesh/App/MeshPoint.pyi index eed777ebd0..3a00f9e7bf 100644 --- a/src/Mod/Mesh/App/MeshPoint.pyi +++ b/src/Mod/Mesh/App/MeshPoint.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any, Final from Base.Metadata import export diff --git a/src/Mod/Mesh/Gui/ViewProviderMesh.pyi b/src/Mod/Mesh/Gui/ViewProviderMesh.pyi index 2120989a25..3b2e4a82e4 100644 --- a/src/Mod/Mesh/Gui/ViewProviderMesh.pyi +++ b/src/Mod/Mesh/Gui/ViewProviderMesh.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any from Gui.ViewProviderGeometryObject import ViewProviderGeometryObject from Base.Metadata import export diff --git a/src/Mod/Part/App/Arc.pyi b/src/Mod/Part/App/Arc.pyi index 340e2f6329..3bdcccd350 100644 --- a/src/Mod/Part/App/Arc.pyi +++ b/src/Mod/Part/App/Arc.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from TrimmedCurve import TrimmedCurve from Geometry import Geom_Circle, Geom_Ellipse diff --git a/src/Mod/Part/App/ArcOfCircle.pyi b/src/Mod/Part/App/ArcOfCircle.pyi index a1ad2bff4a..407d240d09 100644 --- a/src/Mod/Part/App/ArcOfCircle.pyi +++ b/src/Mod/Part/App/ArcOfCircle.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from ArcOfConic import ArcOfConic from typing import Final diff --git a/src/Mod/Part/App/ArcOfConic.pyi b/src/Mod/Part/App/ArcOfConic.pyi index 8c46f2aa34..a602f01ae1 100644 --- a/src/Mod/Part/App/ArcOfConic.pyi +++ b/src/Mod/Part/App/ArcOfConic.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from Base.Vector import Vector from TrimmedCurve import TrimmedCurve diff --git a/src/Mod/Part/App/ArcOfEllipse.pyi b/src/Mod/Part/App/ArcOfEllipse.pyi index f111c0ba69..58c63f8cd7 100644 --- a/src/Mod/Part/App/ArcOfEllipse.pyi +++ b/src/Mod/Part/App/ArcOfEllipse.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from ArcOfConic import ArcOfConic from typing import Final diff --git a/src/Mod/Part/App/ArcOfHyperbola.pyi b/src/Mod/Part/App/ArcOfHyperbola.pyi index 15ef3eee52..a835a04b38 100644 --- a/src/Mod/Part/App/ArcOfHyperbola.pyi +++ b/src/Mod/Part/App/ArcOfHyperbola.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from Part.ArcOfConic import ArcOfConic from typing import Final diff --git a/src/Mod/Part/App/ArcOfParabola.pyi b/src/Mod/Part/App/ArcOfParabola.pyi index 886cb96fa9..319491cdda 100644 --- a/src/Mod/Part/App/ArcOfParabola.pyi +++ b/src/Mod/Part/App/ArcOfParabola.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from ArcOfConic import ArcOfConic from typing import Final diff --git a/src/Mod/Part/App/AttachEngine.pyi b/src/Mod/Part/App/AttachEngine.pyi index 637431f483..dc767d6657 100644 --- a/src/Mod/Part/App/AttachEngine.pyi +++ b/src/Mod/Part/App/AttachEngine.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from Base.BaseClass import BaseClass from Base.Placement import Placement @@ -46,31 +50,31 @@ class AttachEngine(BaseClass): CompleteRefTypeList: Final[list] = [] """List of all reference shape types recognized by AttachEngine.""" - def getModeInfo(self, mode: str) -> dict: + def getModeInfo(self, mode: str, /) -> dict: """ getModeInfo(mode): returns supported reference combinations, user-friendly name, and so on. """ ... - def getRefTypeOfShape(self, shape: str) -> str: + def getRefTypeOfShape(self, shape: str, /) -> str: """ getRefTypeOfShape(shape): returns shape type as interpreted by AttachEngine. Returns a string. """ ... - def isFittingRefType(self, type_shape: str, type_needed: str) -> bool: + def isFittingRefType(self, type_shape: str, type_needed: str, /) -> bool: """ isFittingRefType(type_shape, type_needed): tests if shape type, specified by type_shape (string), fits a type required by attachment mode type_needed (string). e.g. 'Circle' fits a requirement of 'Edge', and 'Curve' doesn't fit if a 'Circle' is required. """ ... - def downgradeRefType(self, type: str) -> str: + def downgradeRefType(self, type: str, /) -> str: """ downgradeRefType(type): returns next more general type. E.g. downgradeType('Circle') yields 'Curve'. """ ... - def getRefTypeInfo(self, type: str) -> dict: + def getRefTypeInfo(self, type: str, /) -> dict: """ getRefTypeInfo(type): returns information (dict) on shape type. Keys:'UserFriendlyName', 'TypeIndex', 'Rank'. Rank is the number of times reftype can be downgraded, before it becomes 'Any'. """ @@ -84,7 +88,7 @@ class AttachEngine(BaseClass): ... @constmethod - def calculateAttachedPlacement(self, orig_placement: Placement) -> Optional[Placement]: + def calculateAttachedPlacement(self, orig_placement: Placement, /) -> Optional[Placement]: """ calculateAttachedPlacement(orig_placement): returns result of attachment, based on current Mode, References, etc. AttachmentOffset is included. @@ -130,13 +134,13 @@ class AttachEngine(BaseClass): """ ... - def readParametersFromFeature(self, document_object: DocumentObject) -> None: + def readParametersFromFeature(self, document_object: DocumentObject, /) -> None: """ readParametersFromFeature(document_object): sets AttachEngine parameters (References, Mode, etc.) by reading out properties of AttachableObject-derived feature. """ ... - def writeParametersToFeature(self, document_object: DocumentObject) -> None: + def writeParametersToFeature(self, document_object: DocumentObject, /) -> None: """ writeParametersToFeature(document_object): updates properties of AttachableObject-derived feature with current AttachEngine parameters diff --git a/src/Mod/Part/App/AttachExtension.pyi b/src/Mod/Part/App/AttachExtension.pyi index 37160ef4cd..5b30436f3b 100644 --- a/src/Mod/Part/App/AttachExtension.pyi +++ b/src/Mod/Part/App/AttachExtension.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from App.DocumentObjectExtension import DocumentObjectExtension from typing import Any, Final @@ -29,7 +33,7 @@ class AttachExtension(DocumentObjectExtension): """ ... - def changeAttacherType(self, typename: str) -> None: + def changeAttacherType(self, typename: str, /) -> None: """ changeAttacherType(typename) -> None diff --git a/src/Mod/Part/App/BRepFeat/MakePrism.pyi b/src/Mod/Part/App/BRepFeat/MakePrism.pyi index 1484996a59..0b7671810e 100644 --- a/src/Mod/Part/App/BRepFeat/MakePrism.pyi +++ b/src/Mod/Part/App/BRepFeat/MakePrism.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from Base.PyObjectBase import PyObjectBase from typing import List diff --git a/src/Mod/Part/App/BRepOffsetAPI_MakeFilling.pyi b/src/Mod/Part/App/BRepOffsetAPI_MakeFilling.pyi index a6bae6597c..6bfdbb550b 100644 --- a/src/Mod/Part/App/BRepOffsetAPI_MakeFilling.pyi +++ b/src/Mod/Part/App/BRepOffsetAPI_MakeFilling.pyi @@ -1,10 +1,14 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from Base.PyObjectBase import PyObjectBase from Part.App.Point import Point from Part.App.TopoShape import TopoShape from Part.App.TopoShapeEdge import TopoShapeEdge from Part.App.TopoShapeFace import TopoShapeFace -from typing import overload, Final +from typing import overload @export( PythonName="Part.BRepOffsetAPI_MakeFilling", @@ -26,7 +30,7 @@ class BRepOffsetAPI_MakeFilling(PyObjectBase): Tol2d: float = 0.00001, Tol3d: float = 0.0001, TolAng: float = 0.01, - TolCurv: float = 0.1 + TolCurv: float = 0.1, ) -> None: """ setConstrParam(Tol2d=0.00001, Tol3d=0.0001, TolAng=0.01, TolCurv=0.1) @@ -50,7 +54,7 @@ class BRepOffsetAPI_MakeFilling(PyObjectBase): """ ... - def loadInitSurface(self, face: TopoShapeFace) -> None: + def loadInitSurface(self, face: TopoShapeFace, /) -> None: """ loadInitSurface(face) Loads the initial surface. @@ -93,10 +97,10 @@ class BRepOffsetAPI_MakeFilling(PyObjectBase): ... @overload - def G0Error(self) -> float: ... + def G0Error(self, /) -> float: ... @overload - def G0Error(self, arg: int) -> float: ... - def G0Error(self, arg: int = 0) -> float: + def G0Error(self, arg: int, /) -> float: ... + def G0Error(self, arg: int = 0, /) -> float: """ G0Error([int]) Returns the maximum distance between the result and the constraints. @@ -104,10 +108,10 @@ class BRepOffsetAPI_MakeFilling(PyObjectBase): ... @overload - def G1Error(self) -> float: ... + def G1Error(self, /) -> float: ... @overload - def G1Error(self, arg: int) -> float: ... - def G1Error(self, arg: int = 0) -> float: + def G1Error(self, arg: int, /) -> float: ... + def G1Error(self, arg: int = 0, /) -> float: """ G1Error([int]) Returns the maximum angle between the result and the constraints. @@ -115,10 +119,10 @@ class BRepOffsetAPI_MakeFilling(PyObjectBase): ... @overload - def G2Error(self) -> float: ... + def G2Error(self, /) -> float: ... @overload - def G2Error(self, arg: int) -> float: ... - def G2Error(self, arg: int = 0) -> float: + def G2Error(self, arg: int, /) -> float: ... + def G2Error(self, arg: int = 0, /) -> float: """ G2Error([int]) Returns the greatest difference in curvature between the result and the constraints. diff --git a/src/Mod/Part/App/BRepOffsetAPI_MakePipeShell.pyi b/src/Mod/Part/App/BRepOffsetAPI_MakePipeShell.pyi index 192bb89d38..ceac325ab8 100644 --- a/src/Mod/Part/App/BRepOffsetAPI_MakePipeShell.pyi +++ b/src/Mod/Part/App/BRepOffsetAPI_MakePipeShell.pyi @@ -1,4 +1,8 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from Base.PyObjectBase import PyObjectBase from Base.Vector import Vector from TopoShape import TopoShape @@ -20,7 +24,7 @@ class BRepOffsetAPI_MakePipeShell(PyObjectBase): Licence: LGPL """ - def setFrenetMode(self, mode: bool) -> None: + def setFrenetMode(self, mode: bool, /) -> None: """ setFrenetMode(True|False) Sets a Frenet or a CorrectedFrenet trihedron to perform the sweeping. @@ -29,7 +33,7 @@ class BRepOffsetAPI_MakePipeShell(PyObjectBase): """ ... - def setTrihedronMode(self, point: Vector, direction: Vector) -> None: + def setTrihedronMode(self, point: Vector, direction: Vector, /) -> None: """ setTrihedronMode(point,direction) Sets a fixed trihedron to perform the sweeping. @@ -37,7 +41,7 @@ class BRepOffsetAPI_MakePipeShell(PyObjectBase): """ ... - def setBiNormalMode(self, direction: Vector) -> None: + def setBiNormalMode(self, direction: Vector, /) -> None: """ setBiNormalMode(direction) Sets a fixed BiNormal direction to perform the sweeping. @@ -45,7 +49,7 @@ class BRepOffsetAPI_MakePipeShell(PyObjectBase): """ ... - def setSpineSupport(self, shape: TopoShape) -> None: + def setSpineSupport(self, shape: TopoShape, /) -> None: """ setSpineSupport(shape) Sets support to the spine to define the BiNormal of the trihedron, like the normal to the surfaces. @@ -54,7 +58,7 @@ class BRepOffsetAPI_MakePipeShell(PyObjectBase): ... def setAuxiliarySpine( - self, wire: TopoShape, CurvilinearEquivalence: bool, TypeOfContact: int + self, wire: TopoShape, CurvilinearEquivalence: bool, TypeOfContact: int, / ) -> None: """ setAuxiliarySpine(wire, CurvilinearEquivalence, TypeOfContact) @@ -83,7 +87,7 @@ class BRepOffsetAPI_MakePipeShell(PyObjectBase): Location: TopoShape, *, WithContact: bool = False, - WithCorrection: bool = False + WithCorrection: bool = False, ) -> None: ... def add(self, **kwargs) -> None: """ @@ -96,7 +100,7 @@ class BRepOffsetAPI_MakePipeShell(PyObjectBase): """ ... - def remove(self, Profile: TopoShape) -> None: + def remove(self, Profile: TopoShape, /) -> None: """ remove(shape Profile) Removes the section Profile from this framework. @@ -124,7 +128,7 @@ class BRepOffsetAPI_MakePipeShell(PyObjectBase): """ ... - def setTolerance(self, tol3d: float, boundTol: float, tolAngular: float) -> None: + def setTolerance(self, tol3d: float, boundTol: float, tolAngular: float, /) -> None: """ setTolerance( tol3d, boundTol, tolAngular) Tol3d = 3D tolerance @@ -133,7 +137,7 @@ class BRepOffsetAPI_MakePipeShell(PyObjectBase): """ ... - def setTransitionMode(self, mode: int) -> None: + def setTransitionMode(self, mode: int, /) -> None: """ 0: BRepBuilderAPI_Transformed 1: BRepBuilderAPI_RightCorner @@ -169,35 +173,35 @@ class BRepOffsetAPI_MakePipeShell(PyObjectBase): """ ... - def generated(self, S: TopoShape) -> list[TopoShape]: + def generated(self, S: TopoShape, /) -> list[TopoShape]: """ generated(shape S) Returns a list of new shapes generated from the shape S by the shell-generating algorithm. """ ... - def setMaxDegree(self, degree: int) -> None: + def setMaxDegree(self, degree: int, /) -> None: """ setMaxDegree(int degree) Define the maximum V degree of resulting surface. """ ... - def setMaxSegments(self, num: int) -> None: + def setMaxSegments(self, num: int, /) -> None: """ setMaxSegments(int num) Define the maximum number of spans in V-direction on resulting surface. """ ... - def setForceApproxC1(self, flag: bool) -> None: + def setForceApproxC1(self, flag: bool, /) -> None: """ setForceApproxC1(bool) Set the flag that indicates attempt to approximate a C1-continuous surface if a swept surface proved to be C0. """ ... - def simulate(self, nbsec: int) -> None: + def simulate(self, nbsec: int, /) -> None: """ simulate(int nbsec) Simulates the resulting shape by calculating the given number of cross-sections. diff --git a/src/Mod/Part/App/BSplineCurve.pyi b/src/Mod/Part/App/BSplineCurve.pyi index 9f09f6d12d..788a9c6d9d 100644 --- a/src/Mod/Part/App/BSplineCurve.pyi +++ b/src/Mod/Part/App/BSplineCurve.pyi @@ -1,7 +1,13 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from Base.Vector import Vector from BoundedCurve import BoundedCurve -from typing import Final, List, overload +from Part.App.Arc import Arc +from Part.App.BezierCurve import BezierCurve +from typing import Final, List, overload, Any @export( PythonName="Part.BSplineCurve", @@ -89,7 +95,7 @@ class BSplineCurve(BoundedCurve): """ ... - def increaseDegree(self, Degree: int = ...) -> None: + def increaseDegree(self, Degree: int = ..., /) -> None: """ increase(Int=Degree) Increases the degree of this B-Spline curve to Degree. @@ -100,9 +106,9 @@ class BSplineCurve(BoundedCurve): ... @overload - def increaseMultiplicity(self, index: int, mult: int) -> None: ... + def increaseMultiplicity(self, index: int, mult: int, /) -> None: ... @overload - def increaseMultiplicity(self, start: int, end: int, mult: int) -> None: ... + def increaseMultiplicity(self, start: int, end: int, mult: int, /) -> None: ... def increaseMultiplicity(self, *args, **kwargs) -> None: """ increaseMultiplicity(int index, int mult) @@ -116,7 +122,7 @@ class BSplineCurve(BoundedCurve): """ ... - def incrementMultiplicity(self, start: int, end: int, mult: int) -> None: + def incrementMultiplicity(self, start: int, end: int, mult: int, /) -> None: """ incrementMultiplicity(int start, int end, int mult) @@ -126,7 +132,7 @@ class BSplineCurve(BoundedCurve): """ ... - def insertKnot(self, u: float, mult: int = 1, tol: float = 0.0) -> None: + def insertKnot(self, u: float, mult: int = 1, tol: float = 0.0, /) -> None: """ insertKnot(u, mult = 1, tol = 0.0) @@ -141,6 +147,7 @@ class BSplineCurve(BoundedCurve): list_of_ints: List[int], tol: float = 0.0, bool_add: bool = True, + /, ) -> None: """ insertKnots(list_of_floats, list_of_ints, tol = 0.0, bool_add = True) @@ -161,7 +168,7 @@ class BSplineCurve(BoundedCurve): """ ... - def removeKnot(self, Index: int, M: int, tol: float) -> bool: + def removeKnot(self, Index: int, M: int, tol: float, /) -> bool: """ removeKnot(Index, M, tol) @@ -180,7 +187,7 @@ class BSplineCurve(BoundedCurve): """ ... - def segment(self, u1: float, u2: float) -> None: + def segment(self, u1: float, u2: float, /) -> None: """ segment(u1,u2) @@ -188,20 +195,20 @@ class BSplineCurve(BoundedCurve): """ ... - def setKnot(self, knot: float, index: int) -> None: + def setKnot(self, knot: float, index: int, /) -> None: """ Set a knot of the B-Spline curve. """ ... @constmethod - def getKnot(self, index: int) -> float: + def getKnot(self, index: int, /) -> float: """ Get a knot of the B-Spline curve. """ ... - def setKnots(self, knots: List[float]) -> None: + def setKnots(self, knots: List[float], /) -> None: """ Set knots of the B-Spline curve. """ @@ -214,7 +221,7 @@ class BSplineCurve(BoundedCurve): """ ... - def setPole(self, P: Vector, Index: int) -> None: + def setPole(self, P: Vector, Index: int, /) -> None: """ Modifies this B-Spline curve by assigning P to the pole of index Index in the poles table. @@ -222,7 +229,7 @@ class BSplineCurve(BoundedCurve): ... @constmethod - def getPole(self, Index: int) -> Vector: + def getPole(self, Index: int, /) -> Vector: """ Get a pole of the B-Spline curve. """ @@ -235,14 +242,14 @@ class BSplineCurve(BoundedCurve): """ ... - def setWeight(self, weight: float, index: int) -> None: + def setWeight(self, weight: float, index: int, /) -> None: """ Set a weight of the B-Spline curve. """ ... @constmethod - def getWeight(self, index: int) -> float: + def getWeight(self, index: int, /) -> float: """ Get a weight of the B-Spline curve. """ @@ -263,7 +270,7 @@ class BSplineCurve(BoundedCurve): ... @constmethod - def getResolution(self, Tolerance3D: float) -> float: + def getResolution(self, Tolerance3D: float, /) -> float: """ Computes for this B-Spline curve the parametric tolerance (UTolerance) for a given 3D tolerance (Tolerance3D). @@ -273,7 +280,7 @@ class BSplineCurve(BoundedCurve): """ ... - def movePoint(self, U: float, P: Vector, Index1: int, Index2: int) -> tuple[int, int]: + def movePoint(self, U: float, P: Vector, Index1: int, Index2: int, /) -> tuple[int, int]: """ movePoint(U, P, Index1, Index2) @@ -299,7 +306,7 @@ class BSplineCurve(BoundedCurve): """ ... - def setOrigin(self, Index: int) -> None: + def setOrigin(self, Index: int, /) -> None: """ Assigns the knot of index Index in the knots table as the origin of this periodic B-Spline curve. As a consequence, @@ -308,7 +315,7 @@ class BSplineCurve(BoundedCurve): ... @constmethod - def getMultiplicity(self, index: int) -> int: + def getMultiplicity(self, index: int, /) -> int: """ Returns the multiplicity of the knot of index from the knots table of this B-Spline curve. @@ -434,6 +441,7 @@ class BSplineCurve(BoundedCurve): periodic: bool = False, degree: int = 3, interpolate: bool = False, + /, ) -> None: """ Builds a B-Spline by a list of poles. @@ -497,27 +505,27 @@ class BSplineCurve(BoundedCurve): ... @constmethod - def toBezier(self) -> List["BezierCurve"]: + def toBezier(self) -> List[BezierCurve]: """ Build a list of Bezier splines. """ ... @constmethod - def toBiArcs(self, tolerance: float) -> List["Arc"]: + def toBiArcs(self, tolerance: float, /) -> List[Arc]: """ Build a list of arcs and lines to approximate the B-spline. toBiArcs(tolerance) -> list. """ ... - def join(self, other: "BSplineCurve") -> None: + def join(self, other: "BSplineCurve", /) -> None: """ Build a new spline by joining this and a second spline. """ ... - def makeC1Continuous(self, tol: float = 1e-6, ang_tol: float = 1e-7) -> "BSplineCurve": + def makeC1Continuous(self, tol: float = 1e-6, ang_tol: float = 1e-7, /) -> "BSplineCurve": """ makeC1Continuous(tol = 1e-6, ang_tol = 1e-7) Reduces as far as possible the multiplicities of the knots of this BSpline @@ -529,7 +537,7 @@ class BSplineCurve(BoundedCurve): """ ... - def scaleKnotsToBounds(self, u0: float = 0.0, u1: float = 1.0) -> None: + def scaleKnotsToBounds(self, u0: float = 0.0, u1: float = 1.0, /) -> None: """ Scales the knots list to fit the specified bounds. The shape of the curve is not modified. diff --git a/src/Mod/Part/App/BSplineSurface.pyi b/src/Mod/Part/App/BSplineSurface.pyi index e9e9f0fbc7..b363b12e64 100644 --- a/src/Mod/Part/App/BSplineSurface.pyi +++ b/src/Mod/Part/App/BSplineSurface.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from GeometrySurface import GeometrySurface from typing import Final, List, Any @@ -181,6 +185,7 @@ class BSplineSurface(GeometrySurface): dX: float = ..., Y0: float = ..., dY: float = ..., + /, ) -> None: """ increase(Int=UDegree, int=VDegree) @@ -218,31 +223,31 @@ class BSplineSurface(GeometrySurface): """ ... - def insertUKnot(self, U: float, Index: int, Tolerance: float) -> None: + def insertUKnot(self, U: float, Index: int, Tolerance: float, /) -> None: """ insertUKnote(float U, int Index, float Tolerance) - Insert or override a knot """ ... - def insertUKnots(self, U: List[float], Mult: List[float], Tolerance: float) -> None: + def insertUKnots(self, U: List[float], Mult: List[float], Tolerance: float, /) -> None: """ insertUKnote(List of float U, List of float Mult, float Tolerance) - Inserts knots. """ ... - def insertVKnot(self, V: float, Index: int, Tolerance: float) -> None: + def insertVKnot(self, V: float, Index: int, Tolerance: float, /) -> None: """ insertUKnote(float V, int Index, float Tolerance) - Insert or override a knot. """ ... - def insertVKnots(self, V: List[float], Mult: List[float], Tolerance: float) -> None: + def insertVKnots(self, V: List[float], Mult: List[float], Tolerance: float, /) -> None: """ insertUKnote(List of float V, List of float Mult, float Tolerance) - Inserts knots. """ ... - def removeUKnot(self, M: int, Index: int, Tolerance: float) -> bool: + def removeUKnot(self, M: int, Index: int, Tolerance: float, /) -> bool: """ Reduces to M the multiplicity of the knot of index Index in the given parametric direction. If M is 0, the knot is removed. @@ -260,7 +265,7 @@ class BSplineSurface(GeometrySurface): """ ... - def removeVKnot(self, M: int, Index: int, Tolerance: float) -> bool: + def removeVKnot(self, M: int, Index: int, Tolerance: float, /) -> bool: """ Reduces to M the multiplicity of the knot of index Index in the given parametric direction. If M is 0, the knot is removed. @@ -278,7 +283,7 @@ class BSplineSurface(GeometrySurface): """ ... - def segment(self, U1: float, U2: float, V1: float, V2: float) -> None: + def segment(self, U1: float, U2: float, V1: float, V2: float, /) -> None: """ Modifies this B-Spline surface by segmenting it between U1 and U2 in the u parametric direction and between V1 and V2 in the v parametric direction. @@ -292,7 +297,7 @@ class BSplineSurface(GeometrySurface): """ ... - def setUKnot(self, K: float, UIndex: int, M: int = ...) -> None: + def setUKnot(self, K: float, UIndex: int, M: int = ..., /) -> None: """ Modifies this B-Spline surface by assigning the value K to the knot of index UIndex of the knots table corresponding to the u parametric direction. @@ -304,7 +309,7 @@ class BSplineSurface(GeometrySurface): """ ... - def setVKnot(self, K: float, VIndex: int, M: int = ...) -> None: + def setVKnot(self, K: float, VIndex: int, M: int = ..., /) -> None: """ Modifies this B-Spline surface by assigning the value K to the knot of index VIndex of the knots table corresponding to the v parametric direction. @@ -317,7 +322,7 @@ class BSplineSurface(GeometrySurface): ... @constmethod - def getUKnot(self, UIndex: int) -> Any: + def getUKnot(self, UIndex: int, /) -> Any: """ Returns, for this B-Spline surface, in the u parametric direction the knot of index UIndex of the knots table. @@ -325,21 +330,21 @@ class BSplineSurface(GeometrySurface): ... @constmethod - def getVKnot(self, VIndex: int) -> Any: + def getVKnot(self, VIndex: int, /) -> Any: """ Returns, for this B-Spline surface, in the v parametric direction the knot of index VIndex of the knots table. """ ... - def setUKnots(self, knots: List[Any]) -> None: + def setUKnots(self, knots: List[Any], /) -> None: """ Changes all knots of this B-Spline surface in the u parametric direction. The multiplicity of the knots is not modified. """ ... - def setVKnots(self, knots: List[Any]) -> None: + def setVKnots(self, knots: List[Any], /) -> None: """ Changes all knots of this B-Spline surface in the v parametric direction. The multiplicity of the knots is not modified. @@ -362,7 +367,7 @@ class BSplineSurface(GeometrySurface): """ ... - def setPole(self, P: Any, UIndex: int, VIndex: int, Weight: float = ...) -> None: + def setPole(self, P: Any, UIndex: int, VIndex: int, Weight: float = ..., /) -> None: """ Modifies this B-Spline surface by assigning P to the pole of index (UIndex, VIndex) in the poles table. @@ -374,7 +379,7 @@ class BSplineSurface(GeometrySurface): """ ... - def setPoleCol(self, VIndex: int, values: List[Any], CPoleWeights: List[float]) -> None: + def setPoleCol(self, VIndex: int, values: List[Any], CPoleWeights: List[float], /) -> None: """ Modifies this B-Spline surface by assigning values to all or part of the column of poles of index VIndex, of this B-Spline surface. @@ -384,7 +389,7 @@ class BSplineSurface(GeometrySurface): """ ... - def setPoleRow(self, UIndex: int, values: List[Any], CPoleWeights: List[float]) -> None: + def setPoleRow(self, UIndex: int, values: List[Any], CPoleWeights: List[float], /) -> None: """ Modifies this B-Spline surface by assigning values to all or part of the row of poles of index UIndex, of this B-Spline surface. @@ -395,7 +400,7 @@ class BSplineSurface(GeometrySurface): ... @constmethod - def getPole(self, UIndex: int, VIndex: int) -> Any: + def getPole(self, UIndex: int, VIndex: int, /) -> Any: """ Returns the pole of index (UIndex,VIndex) of this B-Spline surface. """ @@ -408,7 +413,7 @@ class BSplineSurface(GeometrySurface): """ ... - def setWeight(self, Weight: float, UIndex: int, VIndex: int) -> None: + def setWeight(self, Weight: float, UIndex: int, VIndex: int, /) -> None: """ Modifies this B-Spline surface by assigning the value Weight to the weight of the pole of index (UIndex, VIndex) in the poles tables of this B-Spline @@ -418,7 +423,7 @@ class BSplineSurface(GeometrySurface): """ ... - def setWeightCol(self, VIndex: int, CPoleWeights: List[float]) -> None: + def setWeightCol(self, VIndex: int, CPoleWeights: List[float], /) -> None: """ Modifies this B-Spline surface by assigning values to all or part of the weights of the column of poles of index VIndex of this B-Spline surface. @@ -430,7 +435,7 @@ class BSplineSurface(GeometrySurface): """ ... - def setWeightRow(self, UIndex: int, CPoleWeights: List[float]) -> None: + def setWeightRow(self, UIndex: int, CPoleWeights: List[float], /) -> None: """ Modifies this B-Spline surface by assigning values to all or part of the weights of the row of poles of index UIndex of this B-Spline surface. @@ -443,7 +448,7 @@ class BSplineSurface(GeometrySurface): ... @constmethod - def getWeight(self, UIndex: int, VIndex: int) -> float: + def getWeight(self, UIndex: int, VIndex: int, /) -> float: """ Return the weight of the pole of index (UIndex,VIndex) in the poles table for this B-Spline surface. @@ -465,7 +470,7 @@ class BSplineSurface(GeometrySurface): ... @constmethod - def getResolution(self, Tolerance3D: float) -> Any: + def getResolution(self, Tolerance3D: float, /) -> Any: """ Computes two tolerance values for this B-Spline surface, based on the given tolerance in 3D space Tolerance3D. The tolerances computed are: @@ -489,6 +494,7 @@ class BSplineSurface(GeometrySurface): UIndex2: int = ..., VIndex1: int = ..., VIndex2: int = ..., + /, ) -> Any: """ Moves the point of parameters (U, V) of this B-Spline surface to P. @@ -538,7 +544,7 @@ class BSplineSurface(GeometrySurface): """ ... - def setUPeriodic(self, I1: int, I2: int) -> None: + def setUPeriodic(self, I1: int, I2: int, /) -> None: """ Modifies this surface to be periodic in the u parametric direction. To become periodic in a given parametric direction a surface must @@ -556,7 +562,7 @@ class BSplineSurface(GeometrySurface): """ ... - def setVPeriodic(self, I1: int, I2: int) -> None: + def setVPeriodic(self, I1: int, I2: int, /) -> None: """ Modifies this surface to be periodic in the v parametric direction. To become periodic in a given parametric direction a surface must @@ -574,7 +580,7 @@ class BSplineSurface(GeometrySurface): """ ... - def setUOrigin(self, Index: int) -> None: + def setUOrigin(self, Index: int, /) -> None: """ Assigns the knot of index Index in the knots table in the u parametric direction to be the origin of @@ -583,7 +589,7 @@ class BSplineSurface(GeometrySurface): """ ... - def setVOrigin(self, Index: int) -> None: + def setVOrigin(self, Index: int, /) -> None: """ Assigns the knot of index Index in the knots table in the v parametric direction to be the origin of @@ -593,7 +599,7 @@ class BSplineSurface(GeometrySurface): ... @constmethod - def getUMultiplicity(self, UIndex: int) -> Any: + def getUMultiplicity(self, UIndex: int, /) -> Any: """ Returns, for this B-Spline surface, the multiplicity of the knot of index UIndex in the u parametric direction. @@ -601,7 +607,7 @@ class BSplineSurface(GeometrySurface): ... @constmethod - def getVMultiplicity(self, VIndex: int) -> Any: + def getVMultiplicity(self, VIndex: int, /) -> Any: """ Returns, for this B-Spline surface, the multiplicity of the knot of index VIndex in the v parametric direction. @@ -658,7 +664,7 @@ class BSplineSurface(GeometrySurface): ParamType: str = ..., LengthWeight: float = ..., CurvatureWeight: float = ..., - TorsionWeight: float = ... + TorsionWeight: float = ..., ) -> None: """ Replaces this B-Spline surface by approximating a set of points. @@ -689,6 +695,7 @@ class BSplineSurface(GeometrySurface): dX: float = ..., Y0: float = ..., dY: float = ..., + /, ) -> None: """ interpolate(points) @@ -718,7 +725,7 @@ class BSplineSurface(GeometrySurface): vperiodic: bool = ..., udegree: int = ..., vdegree: int = ..., - weights: List[List[float]] = ... + weights: List[List[float]] = ..., ) -> None: """ Builds a B-Spline by a lists of Poles, Mults and Knots @@ -726,13 +733,13 @@ class BSplineSurface(GeometrySurface): """ ... - def buildFromNSections(self, control_curves: Any) -> None: + def buildFromNSections(self, control_curves: Any, /) -> None: """ Builds a B-Spline from a list of control curves """ ... - def scaleKnotsToBounds(self, u0: float, u1: float, v0: float, v1: float) -> None: + def scaleKnotsToBounds(self, u0: float, u1: float, v0: float, v1: float, /) -> None: """ Scales the U and V knots lists to fit the specified bounds. The shape of the surface is not modified. diff --git a/src/Mod/Part/App/BezierCurve.pyi b/src/Mod/Part/App/BezierCurve.pyi index 2542a3cba0..5b70a12558 100644 --- a/src/Mod/Part/App/BezierCurve.pyi +++ b/src/Mod/Part/App/BezierCurve.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from Base.Vector import Vector from BoundedCurve import BoundedCurve @@ -73,26 +77,26 @@ class BezierCurve(BoundedCurve): """ ... - def increase(self, Int: int = ...) -> None: + def increase(self, Int: int = ..., /) -> None: """ Increases the degree of this Bezier curve to Degree. As a result, the poles and weights tables are modified. """ ... - def insertPoleAfter(self, index: int) -> None: + def insertPoleAfter(self, index: int, /) -> None: """ Inserts after the pole of index. """ ... - def insertPoleBefore(self, index: int) -> None: + def insertPoleBefore(self, index: int, /) -> None: """ Inserts before the pole of index. """ ... - def removePole(self, Index: int) -> None: + def removePole(self, Index: int, /) -> None: """ Removes the pole of index Index from the table of poles of this Bezier curve. If this Bezier curve is rational, it can become non-rational. @@ -105,14 +109,14 @@ class BezierCurve(BoundedCurve): """ ... - def setPole(self, pole: Vector) -> None: + def setPole(self, pole: Vector, /) -> None: """ Set a pole of the Bezier curve. """ ... @constmethod - def getPole(self, index: int) -> Vector: + def getPole(self, index: int, /) -> Vector: """ Get a pole of the Bezier curve. """ @@ -125,7 +129,7 @@ class BezierCurve(BoundedCurve): """ ... - def setPoles(self, poles: List[Vector]) -> None: + def setPoles(self, poles: List[Vector], /) -> None: """ Set the poles of the Bezier curve. @@ -133,14 +137,14 @@ class BezierCurve(BoundedCurve): """ ... - def setWeight(self, id: int, weight: float) -> None: + def setWeight(self, id: int, weight: float, /) -> None: """ (id, weight) Set a weight of the Bezier curve. """ ... @constmethod - def getWeight(self, id: int) -> float: + def getWeight(self, id: int, /) -> float: """ Get a weight of the Bezier curve. """ @@ -154,7 +158,7 @@ class BezierCurve(BoundedCurve): ... @constmethod - def getResolution(self, Tolerance3D: float) -> float: + def getResolution(self, Tolerance3D: float, /) -> float: """ Computes for this Bezier curve the parametric tolerance (UTolerance) for a given 3D tolerance (Tolerance3D). @@ -164,7 +168,7 @@ class BezierCurve(BoundedCurve): """ ... - def interpolate(self, constraints: List[List], parameters: List[float] = ...) -> None: + def interpolate(self, constraints: List[List], parameters: List[float] = ..., /) -> None: """ Interpolates a list of constraints. Each constraint is a list of a point and some optional derivatives diff --git a/src/Mod/Part/App/BezierSurface.pyi b/src/Mod/Part/App/BezierSurface.pyi index 7d19718587..5c6be7676d 100644 --- a/src/Mod/Part/App/BezierSurface.pyi +++ b/src/Mod/Part/App/BezierSurface.pyi @@ -1,12 +1,13 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import ( export, constmethod, - forward_declarations, - class_declarations, - sequence_protocol, ) from GeometrySurface import GeometrySurface -from typing import Final, Tuple +from typing import Final, Tuple, Any @export( Twin="GeomBezierSurface", @@ -106,7 +107,7 @@ class BezierSurface(GeometrySurface): """ ... - def increase(self, DegreeU: int, DegreeV: int) -> None: + def increase(self, DegreeU: int, DegreeV: int, /) -> None: """ increase(DegreeU: int, DegreeV: int) Increases the degree of this Bezier surface in the two @@ -114,7 +115,7 @@ class BezierSurface(GeometrySurface): """ ... - def insertPoleColAfter(self, index: int) -> None: + def insertPoleColAfter(self, index: int, /) -> None: """ Inserts into the table of poles of this surface, after the column of poles of index. @@ -125,7 +126,7 @@ class BezierSurface(GeometrySurface): """ ... - def insertPoleRowAfter(self, index: int) -> None: + def insertPoleRowAfter(self, index: int, /) -> None: """ Inserts into the table of poles of this surface, after the row of poles of index. @@ -136,7 +137,7 @@ class BezierSurface(GeometrySurface): """ ... - def insertPoleColBefore(self, index: int) -> None: + def insertPoleColBefore(self, index: int, /) -> None: """ Inserts into the table of poles of this surface, before the column of poles of index. @@ -147,7 +148,7 @@ class BezierSurface(GeometrySurface): """ ... - def insertPoleRowBefore(self, index: int) -> None: + def insertPoleRowBefore(self, index: int, /) -> None: """ Inserts into the table of poles of this surface, before the row of poles of index. @@ -158,7 +159,7 @@ class BezierSurface(GeometrySurface): """ ... - def removePoleCol(self, VIndex: int) -> None: + def removePoleCol(self, VIndex: int, /) -> None: """ removePoleRow(VIndex: int) Removes the column of poles of index VIndex from the table of @@ -167,7 +168,7 @@ class BezierSurface(GeometrySurface): """ ... - def removePoleRow(self, UIndex: int) -> None: + def removePoleRow(self, UIndex: int, /) -> None: """ removePoleRow(UIndex: int) Removes the row of poles of index UIndex from the table of @@ -176,7 +177,7 @@ class BezierSurface(GeometrySurface): """ ... - def segment(self, U1: float, U2: float, V1: float, V2: float) -> None: + def segment(self, U1: float, U2: float, V1: float, V2: float, /) -> None: """ segment(U1: double, U2: double, V1: double, V2: double) Modifies this Bezier surface by segmenting it between U1 and U2 @@ -200,26 +201,26 @@ class BezierSurface(GeometrySurface): """ ... - def setPole(self, pole: Any) -> None: + def setPole(self, pole: Any, /) -> None: """ Set a pole of the Bezier surface. """ ... - def setPoleCol(self, poles: Any) -> None: + def setPoleCol(self, poles: Any, /) -> None: """ Set the column of poles of the Bezier surface. """ ... - def setPoleRow(self, poles: Any) -> None: + def setPoleRow(self, poles: Any, /) -> None: """ Set the row of poles of the Bezier surface. """ ... @constmethod - def getPole(self, UIndex: int, VIndex: int) -> Any: + def getPole(self, UIndex: int, VIndex: int, /) -> Any: """ Get a pole of index (UIndex, VIndex) of the Bezier surface. """ @@ -232,21 +233,21 @@ class BezierSurface(GeometrySurface): """ ... - def setWeight(self, UIndex: int, VIndex: int, weight: float) -> None: + def setWeight(self, UIndex: int, VIndex: int, weight: float, /) -> None: """ Set the weight of pole of the index (UIndex, VIndex) for the Bezier surface. """ ... - def setWeightCol(self, VIndex: int, weights: Any) -> None: + def setWeightCol(self, VIndex: int, weights: Any, /) -> None: """ Set the weights of the poles in the column of poles of index VIndex of the Bezier surface. """ ... - def setWeightRow(self, UIndex: int, weights: Any) -> None: + def setWeightRow(self, UIndex: int, weights: Any, /) -> None: """ Set the weights of the poles in the row of poles of index UIndex of the Bezier surface. @@ -254,7 +255,7 @@ class BezierSurface(GeometrySurface): ... @constmethod - def getWeight(self, UIndex: int, VIndex: int) -> float: + def getWeight(self, UIndex: int, VIndex: int, /) -> float: """ Get a weight of the pole of index (UIndex, VIndex) of the Bezier surface. @@ -269,7 +270,7 @@ class BezierSurface(GeometrySurface): ... @constmethod - def getResolution(self, Tolerance3D: float) -> Tuple[float, float]: + def getResolution(self, Tolerance3D: float, /) -> Tuple[float, float]: """ Computes two tolerance values for this Bezier surface, based on the given tolerance in 3D space Tolerance3D. The tolerances computed are: diff --git a/src/Mod/Part/App/BodyBase.pyi b/src/Mod/Part/App/BodyBase.pyi index d4da3c618e..f7549cbcbc 100644 --- a/src/Mod/Part/App/BodyBase.pyi +++ b/src/Mod/Part/App/BodyBase.pyi @@ -1,4 +1,8 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from PartFeature import PartFeature @export( diff --git a/src/Mod/Part/App/BoundedCurve.pyi b/src/Mod/Part/App/BoundedCurve.pyi index a4235a85e1..01a478817a 100644 --- a/src/Mod/Part/App/BoundedCurve.pyi +++ b/src/Mod/Part/App/BoundedCurve.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from GeometryCurve import GeometryCurve from typing import Any, Final diff --git a/src/Mod/Part/App/ChFi2d/ChFi2d_AnaFilletAlgo.pyi b/src/Mod/Part/App/ChFi2d/ChFi2d_AnaFilletAlgo.pyi index 1b891d20c2..b3b2530d06 100644 --- a/src/Mod/Part/App/ChFi2d/ChFi2d_AnaFilletAlgo.pyi +++ b/src/Mod/Part/App/ChFi2d/ChFi2d_AnaFilletAlgo.pyi @@ -1,4 +1,8 @@ -from Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Metadata import export from Base.PyObjectBase import PyObjectBase from typing import Tuple @@ -23,7 +27,7 @@ class AnaFilletAlgo(PyObjectBase): """ ... - def perform(self, radius: float) -> bool: + def perform(self, radius: float, /) -> bool: """ perform(radius) -> bool diff --git a/src/Mod/Part/App/ChFi2d/ChFi2d_ChamferAPI.pyi b/src/Mod/Part/App/ChFi2d/ChFi2d_ChamferAPI.pyi index 88c891b63b..0eab002295 100644 --- a/src/Mod/Part/App/ChFi2d/ChFi2d_ChamferAPI.pyi +++ b/src/Mod/Part/App/ChFi2d/ChFi2d_ChamferAPI.pyi @@ -1,5 +1,9 @@ -from Base.Metadata import export, constmethod -from typing import Tuple, overload +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export +from typing import Tuple from Base.PyObjectBase import PyObjectBase @@ -25,7 +29,7 @@ class ChFi2d_ChamferAPI(PyObjectBase): """ ... - def perform(self, radius: float) -> bool: + def perform(self, radius: float, /) -> bool: """ perform(radius) -> bool @@ -33,7 +37,7 @@ class ChFi2d_ChamferAPI(PyObjectBase): """ ... - def result(self, point: object, solution: int = -1) -> Tuple[object, object, object]: + def result(self, point: object, solution: int = -1, /) -> Tuple[object, object, object]: """ result(point, solution=-1) diff --git a/src/Mod/Part/App/ChFi2d/ChFi2d_FilletAPI.pyi b/src/Mod/Part/App/ChFi2d/ChFi2d_FilletAPI.pyi index a4e053d863..6b0204fbef 100644 --- a/src/Mod/Part/App/ChFi2d/ChFi2d_FilletAPI.pyi +++ b/src/Mod/Part/App/ChFi2d/ChFi2d_FilletAPI.pyi @@ -1,6 +1,9 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from Base.PyObjectBase import PyObjectBase -from typing import overload from Part.TopoShapeEdgePy import TopoShapeEdge from Part.PointPy import Point @@ -26,7 +29,7 @@ class ChFi2d_FilletAPI(PyObjectBase): """ ... - def perform(self, radius: float) -> bool: + def perform(self, radius: float, /) -> bool: """ perform(radius) -> bool @@ -41,7 +44,7 @@ class ChFi2d_FilletAPI(PyObjectBase): ... def result( - self, point: Point, solution: int = -1 + self, point: Point, solution: int = -1, / ) -> tuple[TopoShapeEdge, TopoShapeEdge, TopoShapeEdge]: """ result(point, solution=-1) diff --git a/src/Mod/Part/App/ChFi2d/ChFi2d_FilletAlgo.pyi b/src/Mod/Part/App/ChFi2d/ChFi2d_FilletAlgo.pyi index 81d5535910..1a7647dba1 100644 --- a/src/Mod/Part/App/ChFi2d/ChFi2d_FilletAlgo.pyi +++ b/src/Mod/Part/App/ChFi2d/ChFi2d_FilletAlgo.pyi @@ -1,7 +1,10 @@ -from Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Metadata import export from Base.PyObjectBase import PyObjectBase from Base.Vector import Vector -from typing import Final @export( Name="ChFi2d_FilletAlgoPy", @@ -26,7 +29,7 @@ class FilletAlgo(PyObjectBase): """ ... - def perform(self, radius: float) -> bool: + def perform(self, radius: float, /) -> bool: """ perform(radius) -> bool @@ -40,7 +43,7 @@ class FilletAlgo(PyObjectBase): """ ... - def result(self, point: Vector, solution: int = -1) -> tuple[object, object, object]: + def result(self, point: Vector, solution: int = -1, /) -> tuple[object, object, object]: """ result(point, solution=-1) diff --git a/src/Mod/Part/App/Circle.pyi b/src/Mod/Part/App/Circle.pyi index 1a3e9d0286..07bbb45c5b 100644 --- a/src/Mod/Part/App/Circle.pyi +++ b/src/Mod/Part/App/Circle.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from Base.Vector import Vector from Conic import Conic diff --git a/src/Mod/Part/App/Cone.pyi b/src/Mod/Part/App/Cone.pyi index 4e7138d3b3..d9e89c0bee 100644 --- a/src/Mod/Part/App/Cone.pyi +++ b/src/Mod/Part/App/Cone.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from Base.Vector import Vector from Base.Axis import Axis as AxisPy diff --git a/src/Mod/Part/App/Conic.pyi b/src/Mod/Part/App/Conic.pyi index 3d82016533..40d78298ae 100644 --- a/src/Mod/Part/App/Conic.pyi +++ b/src/Mod/Part/App/Conic.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from GeometryCurve import GeometryCurve from typing import Final diff --git a/src/Mod/Part/App/Cylinder.pyi b/src/Mod/Part/App/Cylinder.pyi index 5eff313747..211d6a05e4 100644 --- a/src/Mod/Part/App/Cylinder.pyi +++ b/src/Mod/Part/App/Cylinder.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from Base.Vector import Vector from Circle import Circle diff --git a/src/Mod/Part/App/Ellipse.pyi b/src/Mod/Part/App/Ellipse.pyi index 8ede6845f8..72b44872f2 100644 --- a/src/Mod/Part/App/Ellipse.pyi +++ b/src/Mod/Part/App/Ellipse.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from Base.Vector import Vector from Conic import Conic diff --git a/src/Mod/Part/App/Geom2d/ArcOfCircle2d.pyi b/src/Mod/Part/App/Geom2d/ArcOfCircle2d.pyi index d75e932b93..aa173bfaed 100644 --- a/src/Mod/Part/App/Geom2d/ArcOfCircle2d.pyi +++ b/src/Mod/Part/App/Geom2d/ArcOfCircle2d.pyi @@ -1,4 +1,8 @@ -from Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Metadata import export from typing import Final, overload from Part.Geom2d import ArcOfConic2d @@ -26,6 +30,7 @@ class ArcOfCircle2d(ArcOfConic2d): @overload def __init__(self, Radius: float, Circle: object) -> None: ... + """ ArcOfCircle2d(Radius, Circle) -> None diff --git a/src/Mod/Part/App/Geom2d/ArcOfConic2d.pyi b/src/Mod/Part/App/Geom2d/ArcOfConic2d.pyi index a937287f37..1633a9a62f 100644 --- a/src/Mod/Part/App/Geom2d/ArcOfConic2d.pyi +++ b/src/Mod/Part/App/Geom2d/ArcOfConic2d.pyi @@ -1,4 +1,8 @@ -from Base.Metadata import export, constmethod, overload +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from typing import Final from Part.Geom2d import Curve2d diff --git a/src/Mod/Part/App/Geom2d/ArcOfEllipse2d.pyi b/src/Mod/Part/App/Geom2d/ArcOfEllipse2d.pyi index 1c4b12f80d..3199ebaf18 100644 --- a/src/Mod/Part/App/Geom2d/ArcOfEllipse2d.pyi +++ b/src/Mod/Part/App/Geom2d/ArcOfEllipse2d.pyi @@ -1,4 +1,8 @@ -from Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Metadata import export from typing import Final, overload from Part import ArcOfConic2d diff --git a/src/Mod/Part/App/Geom2d/ArcOfHyperbola2d.pyi b/src/Mod/Part/App/Geom2d/ArcOfHyperbola2d.pyi index b85a9e0723..658503146f 100644 --- a/src/Mod/Part/App/Geom2d/ArcOfHyperbola2d.pyi +++ b/src/Mod/Part/App/Geom2d/ArcOfHyperbola2d.pyi @@ -1,4 +1,8 @@ -from Base.Metadata import export, constmethod, overload +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export, overload from typing import Final from Part.Geom2d import ArcOfConic2d diff --git a/src/Mod/Part/App/Geom2d/ArcOfParabola2d.pyi b/src/Mod/Part/App/Geom2d/ArcOfParabola2d.pyi index 286597a55a..5cec0559f6 100644 --- a/src/Mod/Part/App/Geom2d/ArcOfParabola2d.pyi +++ b/src/Mod/Part/App/Geom2d/ArcOfParabola2d.pyi @@ -1,4 +1,8 @@ -from Metadata import export, constmethod, overload +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Metadata import export, overload from typing import Final from Part.Geom2d import ArcOfConic2d diff --git a/src/Mod/Part/App/Geom2d/BSplineCurve2d.pyi b/src/Mod/Part/App/Geom2d/BSplineCurve2d.pyi index c25668c688..bfb6d7a688 100644 --- a/src/Mod/Part/App/Geom2d/BSplineCurve2d.pyi +++ b/src/Mod/Part/App/Geom2d/BSplineCurve2d.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from typing import Final, overload from Part.Curve2d import Curve2d @@ -71,7 +75,7 @@ class BSplineCurve2d(Curve2d): """ ... - def increaseDegree(self, Degree: int) -> None: + def increaseDegree(self, Degree: int, /) -> None: """ increaseDegree(Int=Degree) @@ -83,9 +87,9 @@ class BSplineCurve2d(Curve2d): ... @overload - def increaseMultiplicity(self, index: int, mult: int) -> None: ... + def increaseMultiplicity(self, index: int, mult: int, /) -> None: ... @overload - def increaseMultiplicity(self, start: int, end: int, mult: int) -> None: ... + def increaseMultiplicity(self, start: int, end: int, mult: int, /) -> None: ... def increaseMultiplicity(self, *args, **kwargs) -> None: """ increaseMultiplicity(int index, int mult) @@ -99,7 +103,7 @@ class BSplineCurve2d(Curve2d): """ ... - def incrementMultiplicity(self, start: int, end: int, mult: int) -> None: + def incrementMultiplicity(self, start: int, end: int, mult: int, /) -> None: """ incrementMultiplicity(int start, int end, int mult) Raises multiplicity of knots by mult. @@ -108,7 +112,7 @@ class BSplineCurve2d(Curve2d): """ ... - def insertKnot(self, u: float, mult: int = 1, tol: float = 0.0) -> None: + def insertKnot(self, u: float, mult: int = 1, tol: float = 0.0, /) -> None: """ insertKnot(u, mult = 1, tol = 0.0) @@ -122,6 +126,7 @@ class BSplineCurve2d(Curve2d): list_of_ints: list[int], tol: float = 0.0, bool_add: bool = True, + /, ) -> None: """ insertKnots(list_of_floats, list_of_ints, tol = 0.0, bool_add = True) @@ -142,7 +147,7 @@ class BSplineCurve2d(Curve2d): """ ... - def removeKnot(self, Index: int, M: int, tol: float) -> None: + def removeKnot(self, Index: int, M: int, tol: float, /) -> None: """ removeKnot(Index, M, tol) @@ -161,26 +166,26 @@ class BSplineCurve2d(Curve2d): """ ... - def segment(self, u1: float, u2: float) -> None: + def segment(self, u1: float, u2: float, /) -> None: """ segment(u1,u2) Modifies this B-Spline curve by segmenting it. """ ... - def setKnot(self, value: float) -> None: + def setKnot(self, value: float, /) -> None: """ Set a knot of the B-Spline curve. """ ... - def getKnot(self, index: int) -> float: + def getKnot(self, index: int, /) -> float: """ Get a knot of the B-Spline curve. """ ... - def setKnots(self, knots: list[float]) -> None: + def setKnots(self, knots: list[float], /) -> None: """ Set knots of the B-Spline curve. """ @@ -192,13 +197,13 @@ class BSplineCurve2d(Curve2d): """ ... - def setPole(self, P: Vector, Index: int) -> None: + def setPole(self, P: Vector, Index: int, /) -> None: """ Modifies this B-Spline curve by assigning P to the pole of index Index in the poles table. """ ... - def getPole(self, Index: int) -> Vector: + def getPole(self, Index: int, /) -> Vector: """ Get a pole of the B-Spline curve. """ @@ -210,13 +215,13 @@ class BSplineCurve2d(Curve2d): """ ... - def setWeight(self, weight: float, Index: int) -> None: + def setWeight(self, weight: float, Index: int, /) -> None: """ Set a weight of the B-Spline curve. """ ... - def getWeight(self, Index: int) -> float: + def getWeight(self, Index: int, /) -> float: """ Get a weight of the B-Spline curve. """ @@ -244,7 +249,7 @@ class BSplineCurve2d(Curve2d): """ ... - def movePoint(self, U: float, P: Vector, Index1: int, Index2: int) -> tuple[int, int]: + def movePoint(self, U: float, P: Vector, Index1: int, Index2: int, /) -> tuple[int, int]: """ movePoint(U, P, Index1, Index2) @@ -270,14 +275,14 @@ class BSplineCurve2d(Curve2d): """ ... - def setOrigin(self, Index: int) -> None: + def setOrigin(self, Index: int, /) -> None: """ Assigns the knot of index Index in the knots table as the origin of this periodic B-Spline curve. As a consequence, the knots and poles tables are modified. """ ... - def getMultiplicity(self, index: int) -> int: + def getMultiplicity(self, index: int, /) -> int: """ Returns the multiplicity of the knot of index from the knots table of this B-Spline curve. """ @@ -363,7 +368,7 @@ class BSplineCurve2d(Curve2d): """ ... - def buildFromPoles(self, poles: list[Vector]) -> None: + def buildFromPoles(self, poles: list[Vector], /) -> None: """ Builds a B-Spline by a list of poles. """ @@ -424,20 +429,20 @@ class BSplineCurve2d(Curve2d): """ ... - def toBiArcs(self, tolerance: float) -> list: + def toBiArcs(self, tolerance: float, /) -> list: """ toBiArcs(tolerance) -> list. Build a list of arcs and lines to approximate the B-spline. """ ... - def join(self, other: "BSplineCurve2d") -> "BSplineCurve2d": + def join(self, other: "BSplineCurve2d", /) -> "BSplineCurve2d": """ Build a new spline by joining this and a second spline. """ ... - def makeC1Continuous(self, tol: float = 1e-6, ang_tol: float = 1e-7) -> "BSplineCurve2d": + def makeC1Continuous(self, tol: float = 1e-6, ang_tol: float = 1e-7, /) -> "BSplineCurve2d": """ makeC1Continuous(tol = 1e-6, ang_tol = 1e-7) diff --git a/src/Mod/Part/App/Geom2d/BezierCurve2d.pyi b/src/Mod/Part/App/Geom2d/BezierCurve2d.pyi index 684044a2eb..fa5117aed5 100644 --- a/src/Mod/Part/App/Geom2d/BezierCurve2d.pyi +++ b/src/Mod/Part/App/Geom2d/BezierCurve2d.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from Part.Curve2d import Curve2d from typing import Final, List @@ -54,7 +58,7 @@ class BezierCurve2d(Curve2d): """ ... - def increase(self, Degree: int) -> None: + def increase(self, Degree: int, /) -> None: """ increase(Int=Degree) Increases the degree of this Bezier curve to Degree. @@ -62,19 +66,19 @@ class BezierCurve2d(Curve2d): """ ... - def insertPoleAfter(self, index: int) -> None: + def insertPoleAfter(self, index: int, /) -> None: """ Inserts after the pole of index. """ ... - def insertPoleBefore(self, index: int) -> None: + def insertPoleBefore(self, index: int, /) -> None: """ Inserts before the pole of index. """ ... - def removePole(self, index: int) -> None: + def removePole(self, index: int, /) -> None: """ Removes the pole of index Index from the table of poles of this Bezier curve. If this Bezier curve is rational, it can become non-rational. @@ -87,13 +91,13 @@ class BezierCurve2d(Curve2d): """ ... - def setPole(self, index: int, pole: object) -> None: + def setPole(self, index: int, pole: object, /) -> None: """ Set a pole of the Bezier curve. """ ... - def getPole(self, index: int) -> object: + def getPole(self, index: int, /) -> object: """ Get a pole of the Bezier curve. """ @@ -105,19 +109,19 @@ class BezierCurve2d(Curve2d): """ ... - def setPoles(self, poles: List[object]) -> None: + def setPoles(self, poles: List[object], /) -> None: """ Set the poles of the Bezier curve. """ ... - def setWeight(self, index: int, weight: float) -> None: + def setWeight(self, index: int, weight: float, /) -> None: """ Set a weight of the Bezier curve. """ ... - def getWeight(self, index: int) -> float: + def getWeight(self, index: int, /) -> float: """ Get a weight of the Bezier curve. """ @@ -130,7 +134,7 @@ class BezierCurve2d(Curve2d): ... @constmethod - def getResolution(self, Tolerance3D: float) -> float: + def getResolution(self, Tolerance3D: float, /) -> float: """ Computes for this Bezier curve the parametric tolerance (UTolerance) for a given 3D tolerance (Tolerance3D). diff --git a/src/Mod/Part/App/Geom2d/Circle2d.pyi b/src/Mod/Part/App/Geom2d/Circle2d.pyi index 28fb16297a..2ddba75053 100644 --- a/src/Mod/Part/App/Geom2d/Circle2d.pyi +++ b/src/Mod/Part/App/Geom2d/Circle2d.pyi @@ -1,5 +1,9 @@ -from Metadata import export, constmethod -from typing import Final, overload, Tuple +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Metadata import export +from typing import overload, Tuple from Part.Geom2d import Conic2d @export( diff --git a/src/Mod/Part/App/Geom2d/Conic2d.pyi b/src/Mod/Part/App/Geom2d/Conic2d.pyi index 2c725bd4aa..5a13a9ad68 100644 --- a/src/Mod/Part/App/Geom2d/Conic2d.pyi +++ b/src/Mod/Part/App/Geom2d/Conic2d.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from typing import Final from Part.Geom2d import Curve2d diff --git a/src/Mod/Part/App/Geom2d/Curve2d.pyi b/src/Mod/Part/App/Geom2d/Curve2d.pyi index a43d1a8f24..d4b074420b 100644 --- a/src/Mod/Part/App/Geom2d/Curve2d.pyi +++ b/src/Mod/Part/App/Geom2d/Curve2d.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from Base.Vector import Vector from Part.App.Geom2d.Geometry2d import Geometry2d @@ -103,13 +107,13 @@ class Curve2d(Geometry2d): ... @overload - def length(self) -> float: ... + def length(self, /) -> float: ... @overload - def length(self, uMin: float) -> float: ... + def length(self, uMin: float, /) -> float: ... @overload - def length(self, uMin: float, uMax: float) -> float: ... + def length(self, uMin: float, uMax: float, /) -> float: ... @overload - def length(self, uMin: float, uMax: float, Tol: float) -> float: ... + def length(self, uMin: float, uMax: float, Tol: float, /) -> float: ... def length(self, *args: float) -> float: """ Computes the length of a curve @@ -118,9 +122,9 @@ class Curve2d(Geometry2d): ... @overload - def parameterAtDistance(self, abscissa: float) -> float: ... + def parameterAtDistance(self, abscissa: float, /) -> float: ... @overload - def parameterAtDistance(self, abscissa: float, startingParameter: float) -> float: ... + def parameterAtDistance(self, abscissa: float, startingParameter: float, /) -> float: ... def parameterAtDistance(self, *args: float) -> float: """ Returns the parameter on the curve of a point at @@ -129,19 +133,19 @@ class Curve2d(Geometry2d): """ ... - def value(self, u: float) -> Vector: + def value(self, u: float, /) -> Vector: """ Computes the point of parameter u on this curve """ ... - def tangent(self, u: float) -> Vector: + def tangent(self, u: float, /) -> Vector: """ Computes the tangent of parameter u on this curve """ ... - def parameter(self, point: Vector) -> float: + def parameter(self, point: Vector, /) -> float: """ Returns the parameter on the curve of the nearest orthogonal projection of the point. @@ -149,37 +153,37 @@ class Curve2d(Geometry2d): ... @constmethod - def normal(self, pos: float) -> Vector: + def normal(self, pos: float, /) -> Vector: """ Vector = normal(pos) - Get the normal vector at the given parameter [First|Last] if defined. """ ... @constmethod - def curvature(self, pos: float) -> float: + def curvature(self, pos: float, /) -> float: """ Float = curvature(pos) - Get the curvature at the given parameter [First|Last] if defined. """ ... @constmethod - def centerOfCurvature(self, pos: float) -> Vector: + def centerOfCurvature(self, pos: float, /) -> Vector: """ Vector = centerOfCurvature(float pos) - Get the center of curvature at the given parameter [First|Last] if defined. """ ... @constmethod - def intersectCC(self, other: "Curve2d") -> List[Vector]: + def intersectCC(self, other: "Curve2d", /) -> List[Vector]: """ Returns all intersection points between this curve and the given curve. """ ... @overload - def toBSpline(self) -> BSplineCurve: ... + def toBSpline(self, /) -> BSplineCurve: ... @overload - def toBSpline(self, First: float, Last: float) -> BSplineCurve: ... + def toBSpline(self, First: float, Last: float, /) -> BSplineCurve: ... def toBSpline(self, *args: float) -> BSplineCurve: """ Converts a curve of any type (only part from First to Last) @@ -188,7 +192,7 @@ class Curve2d(Geometry2d): ... def approximateBSpline( - self, Tolerance: float, MaxSegments: int, MaxDegree: int, Order: str = "C2" + self, Tolerance: float, MaxSegments: int, MaxDegree: int, Order: str = "C2", / ) -> BSplineCurve: """ Approximates a curve of any type to a B-Spline curve diff --git a/src/Mod/Part/App/Geom2d/Ellipse2d.pyi b/src/Mod/Part/App/Geom2d/Ellipse2d.pyi index 9170c5a3bd..789a73884f 100644 --- a/src/Mod/Part/App/Geom2d/Ellipse2d.pyi +++ b/src/Mod/Part/App/Geom2d/Ellipse2d.pyi @@ -1,5 +1,9 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Final, overload -from Base.Metadata import export, constmethod +from Base.Metadata import export from Part.Conic2d import Conic2d @export( diff --git a/src/Mod/Part/App/Geom2d/Geometry2d.pyi b/src/Mod/Part/App/Geom2d/Geometry2d.pyi index 3998aaf2fe..971e0453bc 100644 --- a/src/Mod/Part/App/Geom2d/Geometry2d.pyi +++ b/src/Mod/Part/App/Geom2d/Geometry2d.pyi @@ -1,6 +1,9 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from Base.PyObjectBase import PyObjectBase -from typing import overload @export( Twin="Geometry2d", diff --git a/src/Mod/Part/App/Geom2d/Hyperbola2d.pyi b/src/Mod/Part/App/Geom2d/Hyperbola2d.pyi index a6200783d4..e445bf3cdd 100644 --- a/src/Mod/Part/App/Geom2d/Hyperbola2d.pyi +++ b/src/Mod/Part/App/Geom2d/Hyperbola2d.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from Part.Conic2d import Conic2d from typing import Final, overload diff --git a/src/Mod/Part/App/Geom2d/Line2d.pyi b/src/Mod/Part/App/Geom2d/Line2d.pyi index 11ef90d158..43293ca306 100644 --- a/src/Mod/Part/App/Geom2d/Line2d.pyi +++ b/src/Mod/Part/App/Geom2d/Line2d.pyi @@ -1,6 +1,9 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from Part.Geom2d.Curve2d import Curve2d -from typing import overload @export( PythonName="Part.Geom2d.Line2d", diff --git a/src/Mod/Part/App/Geom2d/Line2dSegment.pyi b/src/Mod/Part/App/Geom2d/Line2dSegment.pyi index 5efde42b56..92297e38fc 100644 --- a/src/Mod/Part/App/Geom2d/Line2dSegment.pyi +++ b/src/Mod/Part/App/Geom2d/Line2dSegment.pyi @@ -1,5 +1,9 @@ -from Base.Metadata import export, constmethod -from typing import Final, overload +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export +from typing import overload from Part.Geom2d import Curve2d @export( @@ -12,7 +16,7 @@ from Part.Geom2d import Curve2d ) class Line2dSegment(Curve2d): """ - Describes a line segment in 2D space. + Describes a line segment in 2D space. To create a line there are several ways: Part.Geom2d.Line2dSegment() diff --git a/src/Mod/Part/App/Geom2d/OffsetCurve2d.pyi b/src/Mod/Part/App/Geom2d/OffsetCurve2d.pyi index c08abfe716..18efbc5da8 100644 --- a/src/Mod/Part/App/Geom2d/OffsetCurve2d.pyi +++ b/src/Mod/Part/App/Geom2d/OffsetCurve2d.pyi @@ -1,5 +1,8 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Metadata import export -from typing import Final from Part.Geom2d import Curve2d @export( diff --git a/src/Mod/Part/App/Geom2d/Parabola2d.pyi b/src/Mod/Part/App/Geom2d/Parabola2d.pyi index e74e12f617..cba41e83c7 100644 --- a/src/Mod/Part/App/Geom2d/Parabola2d.pyi +++ b/src/Mod/Part/App/Geom2d/Parabola2d.pyi @@ -1,4 +1,8 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from Part.App.Geom2d.Conic2d import Conic2d from typing import Final diff --git a/src/Mod/Part/App/GeomPlate/BuildPlateSurface.pyi b/src/Mod/Part/App/GeomPlate/BuildPlateSurface.pyi index bd2bd6b097..166ccebb44 100644 --- a/src/Mod/Part/App/GeomPlate/BuildPlateSurface.pyi +++ b/src/Mod/Part/App/GeomPlate/BuildPlateSurface.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from Base.PyObjectBase import PyObjectBase from typing import List diff --git a/src/Mod/Part/App/GeomPlate/CurveConstraint.pyi b/src/Mod/Part/App/GeomPlate/CurveConstraint.pyi index afc98326f6..dd57bbb6b7 100644 --- a/src/Mod/Part/App/GeomPlate/CurveConstraint.pyi +++ b/src/Mod/Part/App/GeomPlate/CurveConstraint.pyi @@ -1,6 +1,10 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from Base.PyObjectBase import PyObjectBase -from typing import Final, overload +from typing import Final @export( PythonName="Part.GeomPlate.CurveConstraintPy", diff --git a/src/Mod/Part/App/GeomPlate/PointConstraint.pyi b/src/Mod/Part/App/GeomPlate/PointConstraint.pyi index b2a8c218fc..c6aba5250a 100644 --- a/src/Mod/Part/App/GeomPlate/PointConstraint.pyi +++ b/src/Mod/Part/App/GeomPlate/PointConstraint.pyi @@ -1,6 +1,10 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from Base.PyObjectBase import PyObjectBase -from typing import Final, overload +from typing import Tuple @export( PythonName="Part.GeomPlate.PointConstraintPy", @@ -18,7 +22,7 @@ class PointConstraint(PyObjectBase): Licence: LGPL """ - def setOrder(self, order: str) -> None: + def setOrder(self, order: str, /) -> None: """ Allows you to set the order of continuity required for the constraints: G0, G1, and G2, controlled @@ -32,7 +36,7 @@ class PointConstraint(PyObjectBase): """ ... - def G0Criterion(self, U: float) -> float: + def G0Criterion(self, U: float, /) -> float: """ Returns the G0 criterion at the parametric point U on the curve. This is the greatest distance allowed between @@ -40,7 +44,7 @@ class PointConstraint(PyObjectBase): """ ... - def G1Criterion(self, U: float) -> float: + def G1Criterion(self, U: float, /) -> float: """ Returns the G1 criterion at the parametric point U on the curve. This is the greatest angle allowed between @@ -49,7 +53,7 @@ class PointConstraint(PyObjectBase): """ ... - def G2Criterion(self, U: float) -> float: + def G2Criterion(self, U: float, /) -> float: """ Returns the G2 criterion at the parametric point U on the curve. This is the greatest difference in curvature @@ -58,7 +62,7 @@ class PointConstraint(PyObjectBase): """ ... - def setG0Criterion(self, value: float) -> None: + def setG0Criterion(self, value: float, /) -> None: """ Allows you to set the G0 criterion. This is the law defining the greatest distance allowed between the @@ -68,7 +72,7 @@ class PointConstraint(PyObjectBase): """ ... - def setG1Criterion(self, value: float) -> None: + def setG1Criterion(self, value: float, /) -> None: """ Allows you to set the G1 criterion. This is the law defining the greatest angle allowed between the @@ -78,7 +82,7 @@ class PointConstraint(PyObjectBase): """ ... - def setG2Criterion(self, value: float) -> None: + def setG2Criterion(self, value: float, /) -> None: """ Allows you to set the G2 criterion. This is the law defining the greatest difference in curvature allowed between the @@ -94,13 +98,13 @@ class PointConstraint(PyObjectBase): """ ... - def setPnt2dOnSurf(self, p: "gp_Pnt2d") -> None: + def setPnt2dOnSurf(self, x: float, y: float, /) -> None: """ Allows you to set a 2D point on the surface. It takes a gp_Pnt2d as an argument, representing the 2D point to be associated with the surface. """ ... - def pnt2dOnSurf(self) -> "gp_Pnt2d": + def pnt2dOnSurf(self) -> Tuple[float, float]: """ Returns the 2D point on the surface. It returns a gp_Pnt2d representing the associated 2D point. """ diff --git a/src/Mod/Part/App/Geometry.pyi b/src/Mod/Part/App/Geometry.pyi index 8b51ce5bcf..cc077e1cf0 100644 --- a/src/Mod/Part/App/Geometry.pyi +++ b/src/Mod/Part/App/Geometry.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from Base.Persistence import Persistence from App.Extension import Extension @@ -21,31 +25,31 @@ class Geometry(Persistence): Tag: Final[str] """Gives the tag of the geometry as string.""" - def mirror(self, geometry: "Geometry") -> None: + def mirror(self, geometry: "Geometry", /) -> None: """ Performs the symmetrical transformation of this geometric object """ ... - def rotate(self, angle: float, axis: Vector) -> None: + def rotate(self, angle: float, axis: Vector, /) -> None: """ Rotates this geometric object at angle Ang (in radians) about axis """ ... - def scale(self, center: Vector, factor: float) -> None: + def scale(self, center: Vector, factor: float, /) -> None: """ Applies a scaling transformation on this geometric object with a center and scaling factor """ ... - def transform(self, transformation: Matrix) -> None: + def transform(self, transformation: Matrix, /) -> None: """ Applies a transformation to this geometric object """ ... - def translate(self, vector: Vector) -> None: + def translate(self, vector: Vector, /) -> None: """ Translates this geometric object """ @@ -66,7 +70,7 @@ class Geometry(Persistence): ... @constmethod - def isSame(self, geom: "Geometry", tol: float, angulartol: float) -> bool: + def isSame(self, geom: "Geometry", tol: float, angulartol: float, /) -> bool: """ isSame(geom, tol, angulartol) -> boolean @@ -75,46 +79,46 @@ class Geometry(Persistence): ... @constmethod - def hasExtensionOfType(self, type_name: str) -> bool: + def hasExtensionOfType(self, type_name: str, /) -> bool: """ Returns a boolean indicating whether a geometry extension of the type indicated as a string exists. """ ... @constmethod - def hasExtensionOfName(self, name: str) -> bool: + def hasExtensionOfName(self, name: str, /) -> bool: """ Returns a boolean indicating whether a geometry extension with the name indicated as a string exists. """ ... @constmethod - def getExtensionOfType(self, type_name: str) -> Optional[Extension]: + def getExtensionOfType(self, type_name: str, /) -> Optional[Extension]: """ Gets the first geometry extension of the type indicated by the string. """ ... @constmethod - def getExtensionOfName(self, name: str) -> Optional[Extension]: + def getExtensionOfName(self, name: str, /) -> Optional[Extension]: """ Gets the first geometry extension of the name indicated by the string. """ ... - def setExtension(self, extension: Extension) -> None: + def setExtension(self, extension: Extension, /) -> None: """ Sets a geometry extension of the indicated type. """ ... - def deleteExtensionOfType(self, type_name: str) -> None: + def deleteExtensionOfType(self, type_name: str, /) -> None: """ Deletes all extensions of the indicated type. """ ... - def deleteExtensionOfName(self, name: str) -> None: + def deleteExtensionOfName(self, name: str, /) -> None: """ Deletes all extensions of the indicated name. """ diff --git a/src/Mod/Part/App/GeometryBoolExtension.pyi b/src/Mod/Part/App/GeometryBoolExtension.pyi index 1c550c6cf3..12a40f8d08 100644 --- a/src/Mod/Part/App/GeometryBoolExtension.pyi +++ b/src/Mod/Part/App/GeometryBoolExtension.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from GeometryExtension import GeometryExtension diff --git a/src/Mod/Part/App/GeometryCurve.pyi b/src/Mod/Part/App/GeometryCurve.pyi index bf68f44611..9d1c56ed97 100644 --- a/src/Mod/Part/App/GeometryCurve.pyi +++ b/src/Mod/Part/App/GeometryCurve.pyi @@ -1,7 +1,13 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from Base.Vector import Vector from Base.Rotation import Rotation as RotationPy from Geometry import Geometry +from Part.App.BSplineCurve import BSplineCurve +from Part.App.TrimmedCurve import TrimmedCurve from typing import Final, overload, List, Union, Optional, Tuple @export( @@ -98,7 +104,7 @@ class GeometryCurve(Geometry): Minimum: int = 2, *, First: Optional[float] = None, - Last: Optional[float] = None + Last: Optional[float] = None, ) -> List[Vector]: """ Discretizes the curve and returns a list of points with an angular deflection of 'a' and a curvature deflection of 'c'. @@ -146,35 +152,35 @@ class GeometryCurve(Geometry): ... @constmethod - def getD0(self, parameter: float) -> Vector: + def getD0(self, parameter: float, /) -> Vector: """ Returns the point of given parameter """ ... @constmethod - def getD1(self, parameter: float) -> Vector: + def getD1(self, parameter: float, /) -> Vector: """ Returns the point and first derivative of given parameter """ ... @constmethod - def getD2(self, parameter: float) -> Vector: + def getD2(self, parameter: float, /) -> Vector: """ Returns the point, first and second derivatives """ ... @constmethod - def getD3(self, parameter: float) -> Vector: + def getD3(self, parameter: float, /) -> Vector: """ Returns the point, first, second and third derivatives """ ... @constmethod - def getDN(self, n: int, parameter: float) -> Vector: + def getDN(self, n: int, parameter: float, /) -> Vector: """ Returns the n-th derivative """ @@ -186,6 +192,7 @@ class GeometryCurve(Geometry): uMin: Optional[float] = None, uMax: Optional[float] = None, Tol: Optional[float] = None, + /, ) -> float: """ Computes the length of a curve @@ -198,6 +205,7 @@ class GeometryCurve(Geometry): self, abscissa: Optional[float] = None, startingParameter: Optional[float] = None, + /, ) -> float: """ Returns the parameter on the curve of a point at the given distance from a starting parameter. @@ -206,49 +214,49 @@ class GeometryCurve(Geometry): ... @constmethod - def value(self, u: float) -> Vector: + def value(self, u: float, /) -> Vector: """ Computes the point of parameter u on this curve """ ... @constmethod - def tangent(self, u: float) -> Vector: + def tangent(self, u: float, /) -> Vector: """ Computes the tangent of parameter u on this curve """ ... @constmethod - def makeRuledSurface(self, otherCurve: "GeometryCurve") -> object: + def makeRuledSurface(self, otherCurve: "GeometryCurve", /) -> object: """ Make a ruled surface of this and the given curves """ ... @constmethod - def intersect2d(self, otherCurve: "GeometryCurve") -> List[Vector]: + def intersect2d(self, otherCurve: "GeometryCurve", /) -> List[Vector]: """ Get intersection points with another curve lying on a plane. """ ... @constmethod - def continuityWith(self, otherCurve: "GeometryCurve") -> str: + def continuityWith(self, otherCurve: "GeometryCurve", /) -> str: """ Computes the continuity of two curves """ ... @constmethod - def parameter(self, point: Vector) -> float: + def parameter(self, point: Vector, /) -> float: """ Returns the parameter on the curve of the nearest orthogonal projection of the point. """ ... @constmethod - def normal(self, pos: float) -> Vector: + def normal(self, pos: float, /) -> Vector: """ Vector = normal(pos) - Get the normal vector at the given parameter [First|Last] if defined """ @@ -318,21 +326,21 @@ class GeometryCurve(Geometry): ... @constmethod - def curvature(self, pos: float) -> float: + def curvature(self, pos: float, /) -> float: """ Float = curvature(pos) - Get the curvature at the given parameter [First|Last] if defined """ ... @constmethod - def centerOfCurvature(self, pos: float) -> Vector: + def centerOfCurvature(self, pos: float, /) -> Vector: """ Vector = centerOfCurvature(float pos) - Get the center of curvature at the given parameter [First|Last] if defined """ ... @constmethod - def intersect(self, curve_or_surface: object, precision: float) -> object: + def intersect(self, curve_or_surface: object, precision: float, /) -> object: """ Returns all intersection points and curve segments between the curve and the curve/surface. @@ -341,21 +349,21 @@ class GeometryCurve(Geometry): ... @constmethod - def intersectCS(self, surface: object) -> object: + def intersectCS(self, surface: object, /) -> object: """ Returns all intersection points and curve segments between the curve and the surface. """ ... @constmethod - def intersectCC(self, otherCurve: "GeometryCurve") -> List[Vector]: + def intersectCC(self, otherCurve: "GeometryCurve", /) -> List[Vector]: """ Returns all intersection points between this curve and the given curve. """ ... @constmethod - def toBSpline(self, points: Tuple[float, float]) -> "BSplineCurve": + def toBSpline(self, points: Tuple[float, float], /) -> BSplineCurve: """ Converts a curve of any type (only part from First to Last) to BSpline curve. toBSpline((first: float, last: float)) -> BSplineCurve @@ -363,7 +371,7 @@ class GeometryCurve(Geometry): ... @constmethod - def toNurbs(self, points: Tuple[float, float]) -> "NurbsCurve": + def toNurbs(self, points: Tuple[float, float], /) -> BSplineCurve: """ Converts a curve of any type (only part from First to Last) to NURBS curve. toNurbs((first: float, last: float)) -> NurbsCurve @@ -371,7 +379,7 @@ class GeometryCurve(Geometry): ... @constmethod - def trim(self, points: Tuple[float, float]) -> "TrimmedCurve": + def trim(self, points: Tuple[float, float], /) -> TrimmedCurve: """ Returns a trimmed curve defined in the given parameter range. trim((first: float, last: float)) -> TrimmedCurve @@ -380,8 +388,8 @@ class GeometryCurve(Geometry): @constmethod def approximateBSpline( - self, Tolerance: float, MaxSegments: int, MaxDegree: int, Order: str = "C2" - ) -> "BSplineCurve": + self, Tolerance: float, MaxSegments: int, MaxDegree: int, Order: str = "C2", / + ) -> BSplineCurve: """ Approximates a curve of any type to a B-Spline curve. approximateBSpline(Tolerance, MaxSegments, MaxDegree, [Order='C2']) -> BSplineCurve @@ -395,7 +403,7 @@ class GeometryCurve(Geometry): ... @constmethod - def reversedParameter(self, U: float) -> float: + def reversedParameter(self, U: float, /) -> float: """ Returns the parameter on the reversed curve for the point of parameter U on this curve. """ diff --git a/src/Mod/Part/App/GeometryDoubleExtension.pyi b/src/Mod/Part/App/GeometryDoubleExtension.pyi index e91ba72224..537c16c1c6 100644 --- a/src/Mod/Part/App/GeometryDoubleExtension.pyi +++ b/src/Mod/Part/App/GeometryDoubleExtension.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from GeometryExtension import GeometryExtension diff --git a/src/Mod/Part/App/GeometryExtension.pyi b/src/Mod/Part/App/GeometryExtension.pyi index 08c10000ee..6ce1048da2 100644 --- a/src/Mod/Part/App/GeometryExtension.pyi +++ b/src/Mod/Part/App/GeometryExtension.pyi @@ -1,6 +1,9 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from Base.PyObjectBase import PyObjectBase -from typing import Final @export( Include="Mod/Part/App/GeometryExtension.h", diff --git a/src/Mod/Part/App/GeometryIntExtension.pyi b/src/Mod/Part/App/GeometryIntExtension.pyi index 56c58a7aaa..2b379986ac 100644 --- a/src/Mod/Part/App/GeometryIntExtension.pyi +++ b/src/Mod/Part/App/GeometryIntExtension.pyi @@ -1,6 +1,9 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from Part.GeometryExtension import GeometryExtension -from typing import Final @export( Father="GeometryExtensionPy", diff --git a/src/Mod/Part/App/GeometryStringExtension.pyi b/src/Mod/Part/App/GeometryStringExtension.pyi index d958dd5a8e..22c0f87d15 100644 --- a/src/Mod/Part/App/GeometryStringExtension.pyi +++ b/src/Mod/Part/App/GeometryStringExtension.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from GeometryExtension import GeometryExtension diff --git a/src/Mod/Part/App/GeometrySurface.pyi b/src/Mod/Part/App/GeometrySurface.pyi index 96404f7fb8..e86e7e4143 100644 --- a/src/Mod/Part/App/GeometrySurface.pyi +++ b/src/Mod/Part/App/GeometrySurface.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from Base.Rotation import Rotation as RotationPy from Base.Vector import Vector @@ -36,28 +40,28 @@ class GeometrySurface(Geometry): ... @constmethod - def toShell(self, *, Bounds: object, Segment: object) -> Any: + def toShell(self, Bounds: object, Segment: object) -> Any: """ Make a shell of the surface. """ ... @constmethod - def getD0(self, param: float) -> Vector: + def getD0(self, param: float, /) -> Vector: """ Returns the point of given parameter """ ... @constmethod - def getDN(self, n: int) -> Any: + def getDN(self, n: int, /) -> Any: """ Returns the n-th derivative """ ... @constmethod - def value(self, u: float, v: float) -> Vector: + def value(self, u: float, v: float, /) -> Vector: """ value(u,v) -> Point Computes the point of parameter (u,v) on this surface @@ -65,7 +69,7 @@ class GeometrySurface(Geometry): ... @constmethod - def tangent(self, u: float, v: float) -> Tuple[Vector, Vector]: + def tangent(self, u: float, v: float, /) -> Tuple[Vector, Vector]: """ tangent(u,v) -> (Vector,Vector) Computes the tangent of parameter (u,v) on this geometry @@ -73,7 +77,7 @@ class GeometrySurface(Geometry): ... @constmethod - def normal(self, u: float, v: float) -> Vector: + def normal(self, u: float, v: float, /) -> Vector: """ normal(u,v) -> Vector Computes the normal of parameter (u,v) on this geometry @@ -99,7 +103,7 @@ class GeometrySurface(Geometry): @overload def projectPoint(self, Point: Vector, Method: Literal["Point"]) -> List[Vector]: ... @constmethod - def projectPoint(self, *, Point: Vector, Method: str = ...) -> Any: + def projectPoint(self, Point: Vector, Method: str = ...) -> Any: """ Computes the projection of a point on the surface @@ -114,7 +118,7 @@ class GeometrySurface(Geometry): ... @constmethod - def isUmbillic(self, u: float, v: float) -> bool: + def isUmbillic(self, u: float, v: float, /) -> bool: """ isUmbillic(u,v) -> bool Check if the geometry on parameter is an umbillic point, @@ -123,7 +127,7 @@ class GeometrySurface(Geometry): ... @constmethod - def curvature(self, u: float, v: float, type: str) -> float: + def curvature(self, u: float, v: float, type: str, /) -> float: """ curvature(u,v,type) -> float The value of type must be one of this: Max, Min, Mean or Gauss @@ -132,7 +136,7 @@ class GeometrySurface(Geometry): ... @constmethod - def curvatureDirections(self, u: float, v: float) -> Tuple[Vector, Vector]: + def curvatureDirections(self, u: float, v: float, /) -> Tuple[Vector, Vector]: """ curvatureDirections(u,v) -> (Vector,Vector) Computes the directions of maximum and minimum curvature @@ -150,7 +154,7 @@ class GeometrySurface(Geometry): ... @constmethod - def isPlanar(self, tolerance: float = 0.0) -> bool: + def isPlanar(self, tolerance: float = 0.0, /) -> bool: """ isPlanar([float]) -> Bool Checks if the surface is planar within a certain tolerance. @@ -158,14 +162,14 @@ class GeometrySurface(Geometry): ... @constmethod - def uIso(self, u: Tuple) -> Union[GeometryCurve, Line]: + def uIso(self, u: Tuple, /) -> Union[GeometryCurve, Line]: """ Builds the U isoparametric curve """ ... @constmethod - def vIso(self, v: Tuple) -> Union[GeometryCurve, Line]: + def vIso(self, v: Tuple, /) -> Union[GeometryCurve, Line]: """ Builds the V isoparametric curve """ @@ -235,14 +239,13 @@ class GeometrySurface(Geometry): @constmethod def toBSpline( self, - *, tolerance: float = 1e-7, continuity_u: str = "C1", continuity_v: str = "C1", max_degree_u: int = 25, max_degree_v: int = 25, max_segments: int = 1000, - precision_code: int = 0 + precision_code: int = 0, ) -> Any: """ Returns a B-Spline representation of this surface. @@ -266,7 +269,7 @@ class GeometrySurface(Geometry): ... @constmethod - def intersectSS(self, SecondSurface: Any, precision_code: int = 0) -> Any: + def intersectSS(self, SecondSurface: Any, precision_code: int = 0, /) -> Any: """ Returns all intersection curves of this surface and the given surface. The required arguments are: diff --git a/src/Mod/Part/App/HLRBRep/HLRBRep_Algo.pyi b/src/Mod/Part/App/HLRBRep/HLRBRep_Algo.pyi index 6e057c5471..df38a7b7a0 100644 --- a/src/Mod/Part/App/HLRBRep/HLRBRep_Algo.pyi +++ b/src/Mod/Part/App/HLRBRep/HLRBRep_Algo.pyi @@ -1,6 +1,9 @@ -from Base.Metadata import export, constmethod, class_declarations +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export, class_declarations from Base.PyObjectBase import PyObjectBase -from typing import Final @export( Twin="HLRBRep_Algo", @@ -62,7 +65,7 @@ class HLRBRep_Algo(PyObjectBase): Licence: LGPL """ - def add(self, S, nbIso: int = 0) -> None: + def add(self, S, nbIso: int = 0, /) -> None: """ add(S, nbIso=0) @@ -72,7 +75,7 @@ class HLRBRep_Algo(PyObjectBase): """ ... - def remove(self, i: int) -> None: + def remove(self, i: int, /) -> None: """ remove(i) @@ -80,7 +83,7 @@ class HLRBRep_Algo(PyObjectBase): """ ... - def index(self, S) -> int: + def index(self, S, /) -> int: """ index(S) -> int @@ -98,7 +101,6 @@ class HLRBRep_Algo(PyObjectBase): def setProjector( self, - *, Origin: tuple[float, float, float] = (0, 0, 0), ZDir: tuple[float, float, float] = (0, 0, 0), XDir: tuple[float, float, float] = (0, 0, 0), @@ -121,7 +123,7 @@ class HLRBRep_Algo(PyObjectBase): """ ... - def showAll(self, i: int = -1) -> None: + def showAll(self, i: int = -1, /) -> None: """ showAll(i=-1) @@ -130,7 +132,7 @@ class HLRBRep_Algo(PyObjectBase): """ ... - def hide(self, i: int = -1, j: int = -1) -> None: + def hide(self, i: int = -1, j: int = -1, /) -> None: """ hide(i=-1, j=-1) @@ -140,7 +142,7 @@ class HLRBRep_Algo(PyObjectBase): """ ... - def hideAll(self, i: int = -1) -> None: + def hideAll(self, i: int = -1, /) -> None: """ hideAll(i=-1) @@ -157,7 +159,7 @@ class HLRBRep_Algo(PyObjectBase): """ ... - def select(self, i: int = -1) -> None: + def select(self, i: int = -1, /) -> None: """ select(i=-1) @@ -166,7 +168,7 @@ class HLRBRep_Algo(PyObjectBase): """ ... - def selectEdge(self, i: int) -> None: + def selectEdge(self, i: int, /) -> None: """ selectEdge(i) @@ -174,7 +176,7 @@ class HLRBRep_Algo(PyObjectBase): """ ... - def selectFace(self, i: int) -> None: + def selectFace(self, i: int, /) -> None: """ selectFace(i) diff --git a/src/Mod/Part/App/HLRBRep/HLRBRep_PolyAlgo.pyi b/src/Mod/Part/App/HLRBRep/HLRBRep_PolyAlgo.pyi index 5d795cbb43..724075bcf7 100644 --- a/src/Mod/Part/App/HLRBRep/HLRBRep_PolyAlgo.pyi +++ b/src/Mod/Part/App/HLRBRep/HLRBRep_PolyAlgo.pyi @@ -1,7 +1,10 @@ -from Base.Metadata import export, constmethod, class_declarations +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export, class_declarations from Base.PyObjectBase import PyObjectBase from Part.TopoShapePy import TopoShape -from typing import Final, overload @export( PythonName="Part.HLRBRep_PolyAlgo", @@ -62,7 +65,7 @@ class HLRBRep_PolyAlgo(PyObjectBase): same shape. """ - def load(self, S: TopoShape) -> None: + def load(self, S: TopoShape, /) -> None: """ load(S) @@ -70,7 +73,7 @@ class HLRBRep_PolyAlgo(PyObjectBase): """ ... - def remove(self, i: int) -> None: + def remove(self, i: int, /) -> None: """ remove(i) @@ -87,7 +90,7 @@ class HLRBRep_PolyAlgo(PyObjectBase): """ ... - def shape(self, i: int) -> TopoShape: + def shape(self, i: int, /) -> TopoShape: """ shape(i) -> TopoShape @@ -95,7 +98,7 @@ class HLRBRep_PolyAlgo(PyObjectBase): """ ... - def index(self, S: TopoShape) -> int: + def index(self, S: TopoShape, /) -> int: """ index(S) -> int @@ -105,11 +108,10 @@ class HLRBRep_PolyAlgo(PyObjectBase): def setProjector( self, - *, Origin: tuple[float, float, float] = (0.0, 0.0, 0.0), ZDir: tuple[float, float, float] = (0.0, 0.0, 0.0), XDir: tuple[float, float, float] = (0.0, 0.0, 0.0), - focus: float = float("nan") + focus: float = float("nan"), ) -> None: """ setProjector(Origin=(0, 0, 0), ZDir=(0,0,0), XDir=(0,0,0), focus=NaN) @@ -165,7 +167,7 @@ class HLRBRep_PolyAlgo(PyObjectBase): """ ... - def outLinedShape(self, S: TopoShape) -> TopoShape: + def outLinedShape(self, S: TopoShape, /) -> TopoShape: """ outLinedShape(S) -> TopoShape diff --git a/src/Mod/Part/App/HLRBRep/HLRToShape.pyi b/src/Mod/Part/App/HLRBRep/HLRToShape.pyi index 0367ea61c0..74afc101be 100644 --- a/src/Mod/Part/App/HLRBRep/HLRToShape.pyi +++ b/src/Mod/Part/App/HLRBRep/HLRToShape.pyi @@ -1,7 +1,11 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from Part.TopoShapePy import TopoShape from Base.PyObjectBase import PyObjectBase -from typing import Optional, overload +from typing import Optional @export( PythonName="Part.HLRToShapePy", @@ -41,7 +45,7 @@ class HLRToShape(PyObjectBase): class. """ - def vCompound(self, Shape: Optional[TopoShape] = None) -> TopoShape: + def vCompound(self, Shape: Optional[TopoShape] = None, /) -> TopoShape: """ vCompound(Shape=None) -> TopoShape @@ -50,7 +54,7 @@ class HLRToShape(PyObjectBase): """ ... - def Rg1LineVCompound(self, Shape: Optional[TopoShape] = None) -> TopoShape: + def Rg1LineVCompound(self, Shape: Optional[TopoShape] = None, /) -> TopoShape: """ Rg1LineVCompound(Shape=None) -> TopoShape @@ -59,7 +63,7 @@ class HLRToShape(PyObjectBase): """ ... - def RgNLineVCompound(self, Shape: Optional[TopoShape] = None) -> TopoShape: + def RgNLineVCompound(self, Shape: Optional[TopoShape] = None, /) -> TopoShape: """ RgNLineVCompound(Shape=None) -> TopoShape @@ -68,7 +72,7 @@ class HLRToShape(PyObjectBase): """ ... - def outLineVCompound(self, Shape: Optional[TopoShape] = None) -> TopoShape: + def outLineVCompound(self, Shape: Optional[TopoShape] = None, /) -> TopoShape: """ outLineVCompound(Shape=None) -> TopoShape @@ -77,7 +81,7 @@ class HLRToShape(PyObjectBase): """ ... - def outLineVCompound3d(self, Shape: Optional[TopoShape] = None) -> TopoShape: + def outLineVCompound3d(self, Shape: Optional[TopoShape] = None, /) -> TopoShape: """ outLineVCompound(Shape=None) -> TopoShape @@ -86,7 +90,7 @@ class HLRToShape(PyObjectBase): """ ... - def isoLineVCompound(self, Shape: Optional[TopoShape] = None) -> TopoShape: + def isoLineVCompound(self, Shape: Optional[TopoShape] = None, /) -> TopoShape: """ isoLineVCompound(Shape=None) -> TopoShape @@ -95,7 +99,7 @@ class HLRToShape(PyObjectBase): """ ... - def hCompound(self, Shape: Optional[TopoShape] = None) -> TopoShape: + def hCompound(self, Shape: Optional[TopoShape] = None, /) -> TopoShape: """ hCompound(Shape=None) -> TopoShape @@ -104,7 +108,7 @@ class HLRToShape(PyObjectBase): """ ... - def Rg1LineHCompound(self, Shape: Optional[TopoShape] = None) -> TopoShape: + def Rg1LineHCompound(self, Shape: Optional[TopoShape] = None, /) -> TopoShape: """ Rg1LineHCompound(Shape=None) -> TopoShape @@ -113,7 +117,7 @@ class HLRToShape(PyObjectBase): """ ... - def RgNLineHCompound(self, Shape: Optional[TopoShape] = None) -> TopoShape: + def RgNLineHCompound(self, Shape: Optional[TopoShape] = None, /) -> TopoShape: """ RgNLineHCompound(Shape=None) -> TopoShape @@ -122,7 +126,7 @@ class HLRToShape(PyObjectBase): """ ... - def outLineHCompound(self, Shape: Optional[TopoShape] = None) -> TopoShape: + def outLineHCompound(self, Shape: Optional[TopoShape] = None, /) -> TopoShape: """ outLineHCompound(Shape=None) -> TopoShape @@ -131,7 +135,7 @@ class HLRToShape(PyObjectBase): """ ... - def isoLineHCompound(self, Shape: Optional[TopoShape] = None) -> TopoShape: + def isoLineHCompound(self, Shape: Optional[TopoShape] = None, /) -> TopoShape: """ isoLineHCompound(Shape=None) -> TopoShape @@ -141,7 +145,7 @@ class HLRToShape(PyObjectBase): ... def compoundOfEdges( - self, Type: int, Visible: bool, In3D: bool, *, Shape: Optional[TopoShape] = None + self, Type: int, Visible: bool, In3D: bool, Shape: Optional[TopoShape] = None ) -> TopoShape: """ compoundOfEdges(Type: int, Visible: bool, In3D: bool, Shape=None) -> TopoShape diff --git a/src/Mod/Part/App/HLRBRep/PolyHLRToShape.pyi b/src/Mod/Part/App/HLRBRep/PolyHLRToShape.pyi index b69947f70f..0b9a639ed7 100644 --- a/src/Mod/Part/App/HLRBRep/PolyHLRToShape.pyi +++ b/src/Mod/Part/App/HLRBRep/PolyHLRToShape.pyi @@ -1,8 +1,12 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from Base.PyObjectBase import PyObjectBase from Part.HLRBRep_PolyAlgo import HLRBRep_PolyAlgo from Part.TopoShapePy import TopoShape -from typing import Optional, overload +from typing import Optional @export( PythonName="Part.PolyHLRToShapePy", @@ -40,7 +44,7 @@ class PolyHLRToShape(PyObjectBase): new computation of the algorithm, but only reads its internal results. """ - def update(self, algo: HLRBRep_PolyAlgo) -> None: + def update(self, algo: HLRBRep_PolyAlgo, /) -> None: """ update(algo: HLRBRep_PolyAlgo) """ @@ -58,7 +62,7 @@ class PolyHLRToShape(PyObjectBase): """ ... - def vCompound(self, Shape: Optional[TopoShape] = None) -> TopoShape: + def vCompound(self, Shape: Optional[TopoShape] = None, /) -> TopoShape: """ vCompound(Shape=None) -> TopoShape @@ -67,7 +71,7 @@ class PolyHLRToShape(PyObjectBase): """ ... - def Rg1LineVCompound(self, Shape: Optional[TopoShape] = None) -> TopoShape: + def Rg1LineVCompound(self, Shape: Optional[TopoShape] = None, /) -> TopoShape: """ Rg1LineVCompound(Shape=None) -> TopoShape @@ -76,7 +80,7 @@ class PolyHLRToShape(PyObjectBase): """ ... - def RgNLineVCompound(self, Shape: Optional[TopoShape] = None) -> TopoShape: + def RgNLineVCompound(self, Shape: Optional[TopoShape] = None, /) -> TopoShape: """ RgNLineVCompound(Shape=None) -> TopoShape @@ -85,7 +89,7 @@ class PolyHLRToShape(PyObjectBase): """ ... - def outLineVCompound(self, Shape: Optional[TopoShape] = None) -> TopoShape: + def outLineVCompound(self, Shape: Optional[TopoShape] = None, /) -> TopoShape: """ outLineVCompound(Shape=None) -> TopoShape @@ -94,7 +98,7 @@ class PolyHLRToShape(PyObjectBase): """ ... - def hCompound(self, Shape: Optional[TopoShape] = None) -> TopoShape: + def hCompound(self, Shape: Optional[TopoShape] = None, /) -> TopoShape: """ hCompound(Shape=None) -> TopoShape @@ -103,7 +107,7 @@ class PolyHLRToShape(PyObjectBase): """ ... - def Rg1LineHCompound(self, Shape: Optional[TopoShape] = None) -> TopoShape: + def Rg1LineHCompound(self, Shape: Optional[TopoShape] = None, /) -> TopoShape: """ Rg1LineHCompound(Shape=None) -> TopoShape @@ -112,7 +116,7 @@ class PolyHLRToShape(PyObjectBase): """ ... - def RgNLineHCompound(self, Shape: Optional[TopoShape] = None) -> TopoShape: + def RgNLineHCompound(self, Shape: Optional[TopoShape] = None, /) -> TopoShape: """ RgNLineHCompound(Shape=None) -> TopoShape @@ -121,7 +125,7 @@ class PolyHLRToShape(PyObjectBase): """ ... - def outLineHCompound(self, Shape: Optional[TopoShape] = None) -> TopoShape: + def outLineHCompound(self, Shape: Optional[TopoShape] = None, /) -> TopoShape: """ outLineHCompound(Shape=None) -> TopoShape diff --git a/src/Mod/Part/App/Hyperbola.pyi b/src/Mod/Part/App/Hyperbola.pyi index a0689db88b..6e2775426c 100644 --- a/src/Mod/Part/App/Hyperbola.pyi +++ b/src/Mod/Part/App/Hyperbola.pyi @@ -1,4 +1,8 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from Base.Vector import Vector from Conic import Conic from typing import Final, overload diff --git a/src/Mod/Part/App/Line.pyi b/src/Mod/Part/App/Line.pyi index c2ec01a386..b80a8c3773 100644 --- a/src/Mod/Part/App/Line.pyi +++ b/src/Mod/Part/App/Line.pyi @@ -1,7 +1,11 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from Base.Vector import Vector from GeometryCurve import GeometryCurve -from typing import overload, Final +from typing import overload @export( PythonName="Part.Line", diff --git a/src/Mod/Part/App/LineSegment.pyi b/src/Mod/Part/App/LineSegment.pyi index 581d7ab8d5..43c493fbb2 100644 --- a/src/Mod/Part/App/LineSegment.pyi +++ b/src/Mod/Part/App/LineSegment.pyi @@ -1,8 +1,12 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from Base.Type import Type from TrimmedCurve import TrimmedCurve from Point import Point -from typing import Final, overload +from typing import overload @export( PythonName="Part.LineSegment", diff --git a/src/Mod/Part/App/OffsetCurve.pyi b/src/Mod/Part/App/OffsetCurve.pyi index 4c50a5343b..56f4b29b45 100644 --- a/src/Mod/Part/App/OffsetCurve.pyi +++ b/src/Mod/Part/App/OffsetCurve.pyi @@ -1,7 +1,10 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from Base.Vector import Vector from GeometryCurve import GeometryCurve -from typing import Final @export( PythonName="Part.OffsetCurve", diff --git a/src/Mod/Part/App/OffsetSurface.pyi b/src/Mod/Part/App/OffsetSurface.pyi index 8266243613..d0978b134f 100644 --- a/src/Mod/Part/App/OffsetSurface.pyi +++ b/src/Mod/Part/App/OffsetSurface.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from GeometrySurface import GeometrySurface diff --git a/src/Mod/Part/App/Parabola.pyi b/src/Mod/Part/App/Parabola.pyi index 096b42c475..cf3fa57d55 100644 --- a/src/Mod/Part/App/Parabola.pyi +++ b/src/Mod/Part/App/Parabola.pyi @@ -1,4 +1,8 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from Base.Vector import Vector from Conic import Conic from typing import Final @@ -35,7 +39,7 @@ class Parabola(Conic): and its directrix. This distance is twice the focal length. """ - def compute(self, p1: Vector, p2: Vector, p3: Vector) -> None: + def compute(self, p1: Vector, p2: Vector, p3: Vector, /) -> None: """ compute(p1,p2,p3) -> None diff --git a/src/Mod/Part/App/Part2DObject.pyi b/src/Mod/Part/App/Part2DObject.pyi index 189a9c95b5..f23d04bc71 100644 --- a/src/Mod/Part/App/Part2DObject.pyi +++ b/src/Mod/Part/App/Part2DObject.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from PartFeature import PartFeature diff --git a/src/Mod/Part/App/PartFeature.pyi b/src/Mod/Part/App/PartFeature.pyi index 98f3722106..a252dfebcf 100644 --- a/src/Mod/Part/App/PartFeature.pyi +++ b/src/Mod/Part/App/PartFeature.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from App.GeoFeature import GeoFeature from App.DocumentObject import DocumentObject diff --git a/src/Mod/Part/App/Plane.pyi b/src/Mod/Part/App/Plane.pyi index 5b408d3111..f684ccb8ed 100644 --- a/src/Mod/Part/App/Plane.pyi +++ b/src/Mod/Part/App/Plane.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from GeometrySurface import GeometrySurface diff --git a/src/Mod/Part/App/PlateSurface.pyi b/src/Mod/Part/App/PlateSurface.pyi index fecbd9252e..290b98924d 100644 --- a/src/Mod/Part/App/PlateSurface.pyi +++ b/src/Mod/Part/App/PlateSurface.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from GeometrySurface import GeometrySurface @@ -23,7 +27,7 @@ class PlateSurface(GeometrySurface): MaxDistance: float = 0, CritOrder: int = 0, Continuity: str = "", - EnlargeCoeff: float = 0 + EnlargeCoeff: float = 0, ) -> None: """ Approximate the plate surface to a B-Spline surface diff --git a/src/Mod/Part/App/Point.pyi b/src/Mod/Part/App/Point.pyi index f989df2b49..2ce0efb4b4 100644 --- a/src/Mod/Part/App/Point.pyi +++ b/src/Mod/Part/App/Point.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from Base.Vector import Vector from Geometry import Geometry diff --git a/src/Mod/Part/App/RectangularTrimmedSurface.pyi b/src/Mod/Part/App/RectangularTrimmedSurface.pyi index 1cbe0fae18..a55943033f 100644 --- a/src/Mod/Part/App/RectangularTrimmedSurface.pyi +++ b/src/Mod/Part/App/RectangularTrimmedSurface.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from GeometrySurface import GeometrySurface from typing import Any, Final, Tuple @@ -31,7 +35,7 @@ class RectangularTrimmedSurface(GeometrySurface): BasisSurface: Final[Any] = None """Represents the basis surface from which the trimmed surface is derived.""" - def setTrim(self, params: Tuple[float, float, float, float]) -> None: + def setTrim(self, params: Tuple[float, float, float, float], /) -> None: """ setTrim(self, params: (u1, u2, v1, v2)) -> None diff --git a/src/Mod/Part/App/ShapeFix/ShapeFix_Edge.pyi b/src/Mod/Part/App/ShapeFix/ShapeFix_Edge.pyi index 0cc7246f96..203266260d 100644 --- a/src/Mod/Part/App/ShapeFix/ShapeFix_Edge.pyi +++ b/src/Mod/Part/App/ShapeFix/ShapeFix_Edge.pyi @@ -1,6 +1,9 @@ -from Base.Metadata import export, constmethod, class_declarations +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export, class_declarations from Base.PyObjectBase import PyObjectBase -from typing import Final @export( PythonName="Part.ShapeFix.Edge", diff --git a/src/Mod/Part/App/ShapeFix/ShapeFix_EdgeConnect.pyi b/src/Mod/Part/App/ShapeFix/ShapeFix_EdgeConnect.pyi index 0a4f3d2749..a4d891a586 100644 --- a/src/Mod/Part/App/ShapeFix/ShapeFix_EdgeConnect.pyi +++ b/src/Mod/Part/App/ShapeFix/ShapeFix_EdgeConnect.pyi @@ -1,4 +1,8 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from Base.PyObjectBase import PyObjectBase from Part.App.TopoShapeEdge import TopoShapeEdge from Part.App.TopoShape import TopoShape @@ -19,9 +23,9 @@ class ShapeFix_EdgeConnect(PyObjectBase): """ @overload - def add(self, edge1: TopoShapeEdge, edge2: TopoShapeEdge) -> None: ... + def add(self, edge1: TopoShapeEdge, edge2: TopoShapeEdge, /) -> None: ... @overload - def add(self, shape: TopoShape) -> None: ... + def add(self, shape: TopoShape, /) -> None: ... def add(self, *args, **kwargs) -> None: """ add(edge, edge) diff --git a/src/Mod/Part/App/ShapeFix/ShapeFix_Face.pyi b/src/Mod/Part/App/ShapeFix/ShapeFix_Face.pyi index eae87dc7e8..6d7c2725e4 100644 --- a/src/Mod/Part/App/ShapeFix/ShapeFix_Face.pyi +++ b/src/Mod/Part/App/ShapeFix/ShapeFix_Face.pyi @@ -1,8 +1,12 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from Part.ShapeFix_Root import ShapeFix_Root from Part.TopoShapeFace import TopoShapeFace from Part.TopoShapeShell import TopoShapeShell -from typing import Final, Union, overload +from typing import Union @export( PythonName="Part.ShapeFix.Face", diff --git a/src/Mod/Part/App/ShapeFix/ShapeFix_FaceConnect.pyi b/src/Mod/Part/App/ShapeFix/ShapeFix_FaceConnect.pyi index 6819755e03..8cc7a62ac9 100644 --- a/src/Mod/Part/App/ShapeFix/ShapeFix_FaceConnect.pyi +++ b/src/Mod/Part/App/ShapeFix/ShapeFix_FaceConnect.pyi @@ -1,4 +1,8 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from Base.PyObjectBase import PyObjectBase @export( @@ -15,13 +19,13 @@ class ShapeFix_FaceConnect(PyObjectBase): Licence: LGPL """ - def add(self, face) -> None: + def add(self, face, /) -> None: """ add(face, face) """ ... - def build(self, shell, sewtolerance, fixtolerance) -> None: + def build(self, shell, sewtolerance, fixtolerance, /) -> None: """ build(shell, sewtolerance, fixtolerance) """ diff --git a/src/Mod/Part/App/ShapeFix/ShapeFix_FixSmallFace.pyi b/src/Mod/Part/App/ShapeFix/ShapeFix_FixSmallFace.pyi index 8a5b45a32d..c18e79f370 100644 --- a/src/Mod/Part/App/ShapeFix/ShapeFix_FixSmallFace.pyi +++ b/src/Mod/Part/App/ShapeFix/ShapeFix_FixSmallFace.pyi @@ -1,7 +1,10 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from Part.App.ShapeFix.ShapeFix_Root import ShapeFix_Root from Part.App.TopoShape import TopoShape -from typing import Final, overload @export( PythonName="Part.ShapeFix.FixSmallFace", diff --git a/src/Mod/Part/App/ShapeFix/ShapeFix_FixSmallSolid.pyi b/src/Mod/Part/App/ShapeFix/ShapeFix_FixSmallSolid.pyi index a9baae65f6..8d64b5f02e 100644 --- a/src/Mod/Part/App/ShapeFix/ShapeFix_FixSmallSolid.pyi +++ b/src/Mod/Part/App/ShapeFix/ShapeFix_FixSmallSolid.pyi @@ -1,6 +1,9 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from Part.App.ShapeFix.ShapeFix_Root import ShapeFix_Root -from typing import overload @export( PythonName="Part.ShapeFix.FixSmallSolid", @@ -16,7 +19,7 @@ class ShapeFix_FixSmallSolid(ShapeFix_Root): Licence: LGPL """ - def setFixMode(self, theMode: int) -> None: + def setFixMode(self, theMode: int, /) -> None: """ Set working mode for operator: - theMode = 0 use both WidthFactorThreshold and VolumeThreshold parameters diff --git a/src/Mod/Part/App/ShapeFix/ShapeFix_FreeBounds.pyi b/src/Mod/Part/App/ShapeFix/ShapeFix_FreeBounds.pyi index f367b4a28b..180d90ceeb 100644 --- a/src/Mod/Part/App/ShapeFix/ShapeFix_FreeBounds.pyi +++ b/src/Mod/Part/App/ShapeFix/ShapeFix_FreeBounds.pyi @@ -1,4 +1,8 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from Base.PyObjectBase import PyObjectBase from Part.App.TopoShapeCompound import TopoShapeCompound from Part.App.TopoShape import TopoShape diff --git a/src/Mod/Part/App/ShapeFix/ShapeFix_Root.pyi b/src/Mod/Part/App/ShapeFix/ShapeFix_Root.pyi index e5c67a64ea..8b087ca05e 100644 --- a/src/Mod/Part/App/ShapeFix/ShapeFix_Root.pyi +++ b/src/Mod/Part/App/ShapeFix/ShapeFix_Root.pyi @@ -1,6 +1,9 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export, constmethod, class_declarations from Base.PyObjectBase import PyObjectBase -from typing import Final, overload @export( PythonName="Part.ShapeFix.Root", diff --git a/src/Mod/Part/App/ShapeFix/ShapeFix_Shape.pyi b/src/Mod/Part/App/ShapeFix/ShapeFix_Shape.pyi index 1940aae036..36a3a0d923 100644 --- a/src/Mod/Part/App/ShapeFix/ShapeFix_Shape.pyi +++ b/src/Mod/Part/App/ShapeFix/ShapeFix_Shape.pyi @@ -1,7 +1,10 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from Part.App.ShapeFix.ShapeFix_Root import ShapeFix_Root from Part.TopoShape import TopoShape -from typing import Final, overload @export( PythonName="Part.ShapeFix.Shape", diff --git a/src/Mod/Part/App/ShapeFix/ShapeFix_ShapeTolerance.pyi b/src/Mod/Part/App/ShapeFix/ShapeFix_ShapeTolerance.pyi index 862aacee9b..f76510afe5 100644 --- a/src/Mod/Part/App/ShapeFix/ShapeFix_ShapeTolerance.pyi +++ b/src/Mod/Part/App/ShapeFix/ShapeFix_ShapeTolerance.pyi @@ -1,7 +1,11 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from Base.PyObjectBase import PyObjectBase from Part.App.TopoShape import TopoShape -from typing import Final, overload +from typing import overload @export( PythonName="Part.ShapeFix.ShapeTolerance", @@ -18,13 +22,13 @@ class ShapeFix_ShapeTolerance(PyObjectBase): """ @overload - def limitTolerance(self, shape: TopoShape, tmin: float) -> None: ... + def limitTolerance(self, shape: TopoShape, tmin: float, /) -> None: ... @overload def limitTolerance( - self, shape: TopoShape, tmin: float, tmax: float, ShapeEnum: str = None + self, shape: TopoShape, tmin: float, tmax: float, ShapeEnum: str = None, / ) -> None: ... def limitTolerance( - self, shape: TopoShape, tmin: float, tmax: float = 0, ShapeEnum: str = None + self, shape: TopoShape, tmin: float, tmax: float = 0, ShapeEnum: str = None, / ) -> None: """ limitTolerance(shape, tmin, [tmax=0, ShapeEnum=SHAPE]) @@ -32,10 +36,12 @@ class ShapeFix_ShapeTolerance(PyObjectBase): ... @overload - def setTolerance(self, shape: TopoShape, precision: float) -> None: ... + def setTolerance(self, shape: TopoShape, precision: float, /) -> None: ... @overload - def setTolerance(self, shape: TopoShape, precision: float, ShapeEnum: str = None) -> None: ... - def setTolerance(self, shape: TopoShape, precision: float, ShapeEnum: str = None) -> None: + def setTolerance( + self, shape: TopoShape, precision: float, ShapeEnum: str = None, / + ) -> None: ... + def setTolerance(self, shape: TopoShape, precision: float, ShapeEnum: str = None, /) -> None: """ setTolerance(shape, precision, [ShapeEnum=SHAPE]) """ diff --git a/src/Mod/Part/App/ShapeFix/ShapeFix_Shell.pyi b/src/Mod/Part/App/ShapeFix/ShapeFix_Shell.pyi index 04160e2675..cb94af5bd3 100644 --- a/src/Mod/Part/App/ShapeFix/ShapeFix_Shell.pyi +++ b/src/Mod/Part/App/ShapeFix/ShapeFix_Shell.pyi @@ -1,6 +1,9 @@ -from Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Metadata import export from Part.App.ShapeFix.ShapeFix_Root import ShapeFix_Root -from typing import Final, overload @export( PythonName="Part.ShapeFix.Shell", diff --git a/src/Mod/Part/App/ShapeFix/ShapeFix_Solid.pyi b/src/Mod/Part/App/ShapeFix/ShapeFix_Solid.pyi index 2a468d75a9..e023e4ff60 100644 --- a/src/Mod/Part/App/ShapeFix/ShapeFix_Solid.pyi +++ b/src/Mod/Part/App/ShapeFix/ShapeFix_Solid.pyi @@ -1,6 +1,9 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from Part.App.ShapeFix.ShapeFix_Root import ShapeFix_Root -from typing import Final @export( PythonName="Part.ShapeFix.Solid", diff --git a/src/Mod/Part/App/ShapeFix/ShapeFix_SplitCommonVertex.pyi b/src/Mod/Part/App/ShapeFix/ShapeFix_SplitCommonVertex.pyi index b0d1d10624..f659da956c 100644 --- a/src/Mod/Part/App/ShapeFix/ShapeFix_SplitCommonVertex.pyi +++ b/src/Mod/Part/App/ShapeFix/ShapeFix_SplitCommonVertex.pyi @@ -1,6 +1,9 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from Part.App.ShapeFix.ShapeFix_Root import ShapeFix_Root -from typing import overload @export( PythonName="Part.ShapeFix.SplitCommonVertex", diff --git a/src/Mod/Part/App/ShapeFix/ShapeFix_SplitTool.pyi b/src/Mod/Part/App/ShapeFix/ShapeFix_SplitTool.pyi index 6f2d9e6ba7..e2d8a9fd8c 100644 --- a/src/Mod/Part/App/ShapeFix/ShapeFix_SplitTool.pyi +++ b/src/Mod/Part/App/ShapeFix/ShapeFix_SplitTool.pyi @@ -1,6 +1,9 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from Base.PyObjectBase import PyObjectBase -from typing import overload @export( PythonName="Part.ShapeFix.SplitTool", diff --git a/src/Mod/Part/App/ShapeFix/ShapeFix_Wire.pyi b/src/Mod/Part/App/ShapeFix/ShapeFix_Wire.pyi index 90cede9115..5c309aeb73 100644 --- a/src/Mod/Part/App/ShapeFix/ShapeFix_Wire.pyi +++ b/src/Mod/Part/App/ShapeFix/ShapeFix_Wire.pyi @@ -1,6 +1,9 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from Part.App.ShapeFix.ShapeFix_Root import ShapeFix_Root -from typing import Final @export( PythonName="Part.ShapeFix.Wire", @@ -54,7 +57,7 @@ class ShapeFix_Wire(ShapeFix_Root): """ pass - def setSurface(self, surface: object, Placement: object = ...) -> None: + def setSurface(self, surface: object, Placement: object = ..., /) -> None: """ setSurface(surface, [Placement]) Set surface for the wire @@ -127,7 +130,7 @@ class ShapeFix_Wire(ShapeFix_Root): """ pass - def fixConnected(self, num: int) -> None: + def fixConnected(self, num: int, /) -> None: """ Applies fixConnected(num) to all edges in the wire Connection between first and last edges is treated only if @@ -176,13 +179,13 @@ class ShapeFix_Wire(ShapeFix_Root): """ pass - def fixGaps3d(self, num: int) -> None: + def fixGaps3d(self, num: int, /) -> None: """ Fixes gaps between ends of 3d curves on adjacent edges """ pass - def fixGaps2d(self, num: int) -> None: + def fixGaps2d(self, num: int, /) -> None: """ Fixes gaps between ends of pcurves on adjacent edges """ @@ -207,13 +210,13 @@ class ShapeFix_Wire(ShapeFix_Root): """ pass - def fixGap3d(self, num: int) -> None: + def fixGap3d(self, num: int, /) -> None: """ Fixes gap between ends of 3d curves on num-1 and num-th edges """ pass - def fixGap2d(self, num: int) -> None: + def fixGap2d(self, num: int, /) -> None: """ Fixes gap between ends of pcurves on num-1 and num-th edges """ diff --git a/src/Mod/Part/App/ShapeFix/ShapeFix_WireVertex.pyi b/src/Mod/Part/App/ShapeFix/ShapeFix_WireVertex.pyi index c213988ed5..8f8211f685 100644 --- a/src/Mod/Part/App/ShapeFix/ShapeFix_WireVertex.pyi +++ b/src/Mod/Part/App/ShapeFix/ShapeFix_WireVertex.pyi @@ -1,4 +1,8 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from Base.PyObjectBase import PyObjectBase @export( diff --git a/src/Mod/Part/App/ShapeFix/ShapeFix_Wireframe.pyi b/src/Mod/Part/App/ShapeFix/ShapeFix_Wireframe.pyi index c6383e7c47..7a63f8c06d 100644 --- a/src/Mod/Part/App/ShapeFix/ShapeFix_Wireframe.pyi +++ b/src/Mod/Part/App/ShapeFix/ShapeFix_Wireframe.pyi @@ -1,6 +1,9 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from Part.App.ShapeFix.ShapeFix_Root import ShapeFix_Root -from typing import Final @export( PythonName="Part.ShapeFix.Wireframe", diff --git a/src/Mod/Part/App/ShapeUpgrade/UnifySameDomain.pyi b/src/Mod/Part/App/ShapeUpgrade/UnifySameDomain.pyi index 50b9850eb2..885323d12a 100644 --- a/src/Mod/Part/App/ShapeUpgrade/UnifySameDomain.pyi +++ b/src/Mod/Part/App/ShapeUpgrade/UnifySameDomain.pyi @@ -1,6 +1,9 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from Base.PyObjectBase import PyObjectBase -from typing import overload @export( PythonName="Part.ShapeUpgrade.UnifySameDomain", diff --git a/src/Mod/Part/App/Sphere.pyi b/src/Mod/Part/App/Sphere.pyi index 93df75794f..c98bcf6ab6 100644 --- a/src/Mod/Part/App/Sphere.pyi +++ b/src/Mod/Part/App/Sphere.pyi @@ -1,5 +1,8 @@ -from Base.Metadata import export, constmethod -from Base.BaseClass import BaseClass +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from Base.Vector import Vector from Base.Axis import Axis as AxisPy from GeometrySurface import GeometrySurface diff --git a/src/Mod/Part/App/SurfaceOfExtrusion.pyi b/src/Mod/Part/App/SurfaceOfExtrusion.pyi index 7409c77dcb..798b97ab10 100644 --- a/src/Mod/Part/App/SurfaceOfExtrusion.pyi +++ b/src/Mod/Part/App/SurfaceOfExtrusion.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from GeometrySurface import GeometrySurface from GeometryCurve import GeometryCurve diff --git a/src/Mod/Part/App/SurfaceOfRevolution.pyi b/src/Mod/Part/App/SurfaceOfRevolution.pyi index 52dcf70deb..2b77df30bc 100644 --- a/src/Mod/Part/App/SurfaceOfRevolution.pyi +++ b/src/Mod/Part/App/SurfaceOfRevolution.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from Base.Placement import Placement from Base.Vector import Vector diff --git a/src/Mod/Part/App/TopoShape.pyi b/src/Mod/Part/App/TopoShape.pyi index 849018519f..444e8a79fe 100644 --- a/src/Mod/Part/App/TopoShape.pyi +++ b/src/Mod/Part/App/TopoShape.pyi @@ -1,9 +1,12 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from Base.Vector import Vector from Base.Matrix import Matrix from Base.BoundBox import BoundBox from App.ComplexGeoData import ComplexGeoData -from __future__ import annotations from typing import Final, List, Tuple, Union, overload @export( @@ -70,13 +73,13 @@ class TopoShape(ComplexGeoData): """ ... - def loads(self, brep_str: str) -> None: + def loads(self, brep_str: str, /) -> None: """ Deserialize the content of this shape from a string in BREP format. """ ... - def read(self, filename: str) -> None: + def read(self, filename: str, /) -> None: """ Read in an IGES, STEP or BREP file. read(filename) @@ -94,7 +97,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def exportIges(self, filename: str) -> None: + def exportIges(self, filename: str, /) -> None: """ Export the content of this shape to an IGES file. exportIges(filename) @@ -102,7 +105,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def exportStep(self, filename: str) -> None: + def exportStep(self, filename: str, /) -> None: """ Export the content of this shape to an STEP file. exportStep(filename) @@ -110,7 +113,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def exportBrep(self, filename: str) -> None: + def exportBrep(self, filename: str, /) -> None: """ Export the content of this shape to an BREP file. exportBrep(filename) @@ -120,7 +123,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def exportBinary(self, filename: str) -> None: + def exportBinary(self, filename: str, /) -> None: """ Export the content of this shape in binary format to a file. exportBinary(filename) @@ -146,28 +149,28 @@ class TopoShape(ComplexGeoData): ... @constmethod - def exportStl(self, filename: str) -> None: + def exportStl(self, filename: str, /) -> None: """ Export the content of this shape to an STL mesh file. exportStl(filename) """ ... - def importBrep(self, filename: str) -> None: + def importBrep(self, filename: str, /) -> None: """ Load the shape from a file in BREP format. importBrep(filename) """ ... - def importBinary(self, filename: str) -> None: + def importBinary(self, filename: str, /) -> None: """ Import the content to this shape of a string in BREP format. importBinary(filename) """ ... - def importBrepFromString(self, s: str, displayProgressBar: bool = True) -> None: + def importBrepFromString(self, s: str, displayProgressBar: bool = True, /) -> None: """ Load the shape from a string that keeps the content in BREP format. importBrepFromString(string, [displayProgressBar=True]) @@ -177,7 +180,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def extrude(self, vector: Vector) -> TopoShape: + def extrude(self, vector: Vector, /) -> TopoShape: """ Extrude the shape along a vector. extrude(vector) -> Shape @@ -187,7 +190,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def revolve(self, base: Vector, direction: Vector, angle: float) -> TopoShape: + def revolve(self, base: Vector, direction: Vector, angle: float, /) -> TopoShape: """ Revolve the shape around an Axis to a given degree. revolve(base, direction, angle) @@ -229,7 +232,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def check(self, runBopCheck: bool = False) -> bool: + def check(self, runBopCheck: bool = False, /) -> bool: """ Checks the shape and report errors in the shape structure. check([runBopCheck = False]) @@ -240,7 +243,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def fuse(self, tools: Tuple[TopoShape, ...], tolerance: float = 0.0) -> TopoShape: + def fuse(self, tools: Tuple[TopoShape, ...], tolerance: float = 0.0, /) -> TopoShape: """ Union of this and a given (list of) topo shape. fuse(tool) -> Shape @@ -259,7 +262,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def multiFuse(self, tools: Tuple[TopoShape, ...], tolerance: float = 0.0) -> TopoShape: + def multiFuse(self, tools: Tuple[TopoShape, ...], tolerance: float = 0.0, /) -> TopoShape: """ Union of this and a given list of topo shapes. multiFuse((tool1,tool2,...),[tolerance=0.0]) -> Shape @@ -275,7 +278,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def common(self, tools: Tuple[TopoShape, ...], tolerance: float = 0.0) -> TopoShape: + def common(self, tools: Tuple[TopoShape, ...], tolerance: float = 0.0, /) -> TopoShape: """ Intersection of this and a given (list of) topo shape. common(tool) -> Shape @@ -293,7 +296,7 @@ class TopoShape(ComplexGeoData): @constmethod def section( - self, tool: Tuple[TopoShape, ...], tolerance: float = 0.0, approximation: bool = False + self, tool: Tuple[TopoShape, ...], tolerance: float = 0.0, approximation: bool = False, / ) -> TopoShape: """ Section of this with a given (list of) topo shape. @@ -313,7 +316,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def slices(self, direction: Vector, distancesList: List[float]) -> List: + def slices(self, direction: Vector, distancesList: List[float], /) -> List: """ Make slices of this shape. slices(direction, distancesList) --> Wires @@ -321,7 +324,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def slice(self, direction: Vector, distance: float) -> List: + def slice(self, direction: Vector, distance: float, /) -> List: """ Make single slice of this shape. slice(direction, distance) --> Wires @@ -329,7 +332,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def cut(self, tool: Tuple[TopoShape, ...], tolerance: float = 0.0) -> TopoShape: + def cut(self, tool: Tuple[TopoShape, ...], tolerance: float = 0.0, /) -> TopoShape: """ Difference of this and a given (list of) topo shape cut(tool) -> Shape @@ -347,7 +350,7 @@ class TopoShape(ComplexGeoData): @constmethod def generalFuse( - self, shapes: Tuple[TopoShape, ...], fuzzy_value: float = 0.0 + self, shapes: Tuple[TopoShape, ...], fuzzy_value: float = 0.0, / ) -> Tuple[TopoShape, List[List[TopoShape]]]: """ Run general fuse algorithm (GFA) between this and given shapes. @@ -386,7 +389,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def childShapes(self, cumOri: bool = True, cumLoc: bool = True) -> List: + def childShapes(self, cumOri: bool = True, cumLoc: bool = True, /) -> List: """ Return a list of sub-shapes that are direct children of this shape. childShapes([cumOri=True, cumLoc=True]) -> list @@ -400,14 +403,14 @@ class TopoShape(ComplexGeoData): ... @constmethod - def ancestorsOfType(self, shape: TopoShape, shape_type: str) -> List: + def ancestorsOfType(self, shape: TopoShape, shape_type: str, /) -> List: """ For a sub-shape of this shape get its ancestors of a type. ancestorsOfType(shape, shape type) -> list """ ... - def removeInternalWires(self, minimalArea: float) -> bool: + def removeInternalWires(self, minimalArea: float, /) -> bool: """ Removes internal wires (also holes) from the shape. removeInternalWires(minimalArea) -> bool @@ -415,7 +418,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def mirror(self, base: Vector, norm: Vector) -> TopoShape: + def mirror(self, base: Vector, norm: Vector, /) -> TopoShape: """ Mirror this shape on a given plane. mirror(base, norm) -> Shape @@ -425,7 +428,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def transformGeometry(self, matrix: Matrix) -> TopoShape: + def transformGeometry(self, matrix: Matrix, /) -> TopoShape: """ Apply geometric transformation on this or a copy the shape. transformGeometry(matrix) -> Shape @@ -449,7 +452,9 @@ class TopoShape(ComplexGeoData): """ ... - def transformShape(self, matrix: Matrix, copy: bool = False, checkScale: bool = False) -> None: + def transformShape( + self, matrix: Matrix, copy: bool = False, checkScale: bool = False, / + ) -> None: """ Apply transformation on a shape without changing the underlying geometry. transformShape(Matrix, [boolean copy=False, checkScale=False]) -> None @@ -461,7 +466,7 @@ class TopoShape(ComplexGeoData): @constmethod def transformed( - self, *, matrix: Matrix, copy: bool = False, checkScale: bool = False, op: str = None + self, matrix: Matrix, *, copy: bool = False, checkScale: bool = False, op: str = None ) -> TopoShape: """ Create a new transformed shape @@ -469,7 +474,7 @@ class TopoShape(ComplexGeoData): """ ... - def translate(self, vector: Vector) -> None: + def translate(self, vector: Vector, /) -> None: """ Apply the translation to the current location of this shape. translate(vector) @@ -477,14 +482,14 @@ class TopoShape(ComplexGeoData): ... @constmethod - def translated(self, vector: Vector) -> TopoShape: + def translated(self, vector: Vector, /) -> TopoShape: """ Create a new shape with translation translated(vector) -> shape """ ... - def rotate(self, base: Vector, dir: Vector, degree: float) -> None: + def rotate(self, base: Vector, dir: Vector, degree: float, /) -> None: """ Apply the rotation (base, dir, degree) to the current location of this shape rotate(base, dir, degree) @@ -494,14 +499,14 @@ class TopoShape(ComplexGeoData): ... @constmethod - def rotated(self, base: Vector, dir: Vector, degree: float) -> TopoShape: + def rotated(self, base: Vector, dir: Vector, degree: float, /) -> TopoShape: """ Create a new shape with rotation. rotated(base, dir, degree) -> shape """ ... - def scale(self, factor: float, base: Vector = None) -> None: + def scale(self, factor: float, base: Vector = None, /) -> None: """ Apply scaling with point and factor to this shape. scale(factor, [base=App.Vector(0,0,0)]) @@ -509,13 +514,19 @@ class TopoShape(ComplexGeoData): ... @constmethod - def scaled(self, factor: float, base: Vector = None) -> TopoShape: + def scaled(self, factor: float, base: Vector = None, /) -> TopoShape: """ Create a new shape with scale. scaled(factor, [base=App.Vector(0,0,0)]) -> shape """ ... + @overload + @constmethod + def makeFillet(self, radius: float, edgeList: List, /) -> TopoShape: ... + @overload + @constmethod + def makeFillet(self, radius1: float, radius2: float, edgeList: List, /) -> TopoShape: ... @constmethod def makeFillet(self, *args) -> TopoShape: """ @@ -528,10 +539,10 @@ class TopoShape(ComplexGeoData): @overload @constmethod - def makeFillet(self, radius: float, edgeList: List) -> TopoShape: ... + def makeChamfer(self, radius: float, edgeList: List, /) -> TopoShape: ... @overload @constmethod - def makeFillet(self, radius1: float, radius2: float, edgeList: List) -> TopoShape: ... + def makeChamfer(self, radius1: float, radius2: float, edgeList: List, /) -> TopoShape: ... @constmethod def makeChamfer(self, *args) -> TopoShape: """ @@ -542,14 +553,8 @@ class TopoShape(ComplexGeoData): """ ... - @overload @constmethod - def makeChamfer(self, radius: float, edgeList: List) -> TopoShape: ... - @overload - @constmethod - def makeChamfer(self, radius1: float, radius2: float, edgeList: List) -> TopoShape: ... - @constmethod - def makeThickness(self, faces: List, offset: float, tolerance: float) -> TopoShape: + def makeThickness(self, faces: List, offset: float, tolerance: float, /) -> TopoShape: """ Hollow a solid according to given thickness and faces. makeThickness(List of faces, Offset (Float), Tolerance (Float)) -> Shape @@ -570,7 +575,7 @@ class TopoShape(ComplexGeoData): self_inter: bool = False, offsetMode: int = 0, join: int = 0, - fill: bool = False + fill: bool = False, ) -> TopoShape: """ Makes an offset shape (3d offsetting). @@ -605,7 +610,7 @@ class TopoShape(ComplexGeoData): join: int = 0, fill: bool = False, openResult: bool = False, - intersection: bool = False + intersection: bool = False, ) -> TopoShape: """ Makes an offset shape (2d offsetting). @@ -639,13 +644,13 @@ class TopoShape(ComplexGeoData): @constmethod def makeEvolved( self, - *, Profile: TopoShape, Join: int, AxeProf: bool, + *, Solid: bool, ProfOnSpine: bool, - Tolerance: float + Tolerance: float, ) -> None: """ Profile along the spine @@ -653,7 +658,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def makeWires(self, op: str = None) -> TopoShape: + def makeWires(self, op: str = None, /) -> TopoShape: """ Make wire(s) using the edges of this shape makeWires([op=None]) @@ -715,7 +720,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def isPartner(self, shape: TopoShape) -> bool: + def isPartner(self, shape: TopoShape, /) -> bool: """ Checks if both shapes share the same geometry. Placement and orientation may differ. @@ -724,7 +729,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def isSame(self, shape: TopoShape) -> bool: + def isSame(self, shape: TopoShape, /) -> bool: """ Checks if both shapes share the same geometry and placement. Orientation may differ. @@ -733,7 +738,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def isEqual(self, shape: TopoShape) -> bool: + def isEqual(self, shape: TopoShape, /) -> bool: """ Checks if both shapes are equal. This means geometry, placement and orientation are equal. @@ -758,7 +763,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def isCoplanar(self, shape: TopoShape, tol: float = None) -> bool: + def isCoplanar(self, shape: TopoShape, tol: float = None, /) -> bool: """ Checks if this shape is coplanar with the given shape. isCoplanar(shape,tol=None) -> bool @@ -774,7 +779,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def findPlane(self, tol: float = None) -> TopoShape: + def findPlane(self, tol: float = None, /) -> TopoShape: """ Returns a plane if the shape is planar findPlane(tol=None) -> Shape @@ -782,7 +787,7 @@ class TopoShape(ComplexGeoData): ... def fix( - self, working_precision: float, minimum_precision: float, maximum_precision: float + self, working_precision: float, minimum_precision: float, maximum_precision: float, / ) -> bool: """ Tries to fix a broken shape. @@ -811,7 +816,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def project(self, shapeList: List[TopoShape]) -> TopoShape: + def project(self, shapeList: List[TopoShape], /) -> TopoShape: """ Project a list of shapes on this shape project(shapeList) -> Shape @@ -819,7 +824,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def makeParallelProjection(self, shape: TopoShape, dir: Vector) -> TopoShape: + def makeParallelProjection(self, shape: TopoShape, dir: Vector, /) -> TopoShape: """ Parallel projection of an edge or wire on this shape makeParallelProjection(shape, dir) -> Shape @@ -827,7 +832,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def makePerspectiveProjection(self, shape: TopoShape, pnt: Vector) -> TopoShape: + def makePerspectiveProjection(self, shape: TopoShape, pnt: Vector, /) -> TopoShape: """ Perspective projection of an edge or wire on this shape makePerspectiveProjection(shape, pnt) -> Shape @@ -843,7 +848,7 @@ class TopoShape(ComplexGeoData): UpDir: Vector = None, EdgeType: str = None, Visible: bool = True, - OnShape: bool = False + OnShape: bool = False, ) -> TopoShape: """ Build projection or reflect lines of a shape according to a view direction. @@ -864,7 +869,7 @@ class TopoShape(ComplexGeoData): """ ... - def makeShapeFromMesh(self, mesh: Tuple[List[Vector], List], tolerance: float) -> TopoShape: + def makeShapeFromMesh(self, mesh: Tuple[List[Vector], List], tolerance: float, /) -> TopoShape: """ Make a compound shape out of mesh data. makeShapeFromMesh((vertex,facets),tolerance) -> Shape @@ -886,7 +891,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def copy(self, copyGeom: bool = True, copyMesh: bool = False) -> TopoShape: + def copy(self, copyGeom: bool = True, copyMesh: bool = False, /) -> TopoShape: """ Create a copy of this shape copy(copyGeom=True, copyMesh=False) -> Shape @@ -911,7 +916,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def replaceShape(self, tupleList: List[Tuple[TopoShape, TopoShape]]) -> TopoShape: + def replaceShape(self, tupleList: List[Tuple[TopoShape, TopoShape]], /) -> TopoShape: """ Replace a sub-shape with a new shape and return a new shape. replaceShape(tupleList) -> Shape @@ -921,7 +926,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def removeShape(self, shapeList: List[TopoShape]) -> TopoShape: + def removeShape(self, shapeList: List[TopoShape], /) -> TopoShape: """ Remove a sub-shape and return a new shape. removeShape(shapeList) -> Shape @@ -931,7 +936,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def defeaturing(self, shapeList: List[TopoShape]) -> TopoShape: + def defeaturing(self, shapeList: List[TopoShape], /) -> TopoShape: """ Remove a feature defined by supplied faces and return a new shape. defeaturing(shapeList) -> Shape @@ -941,7 +946,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def isInside(self, point: Vector, tolerance: float, checkFace: bool) -> bool: + def isInside(self, point: Vector, tolerance: float, checkFace: bool, /) -> bool: """ Checks whether a point is inside or outside the shape. isInside(point, tolerance, checkFace) => Boolean @@ -959,7 +964,9 @@ class TopoShape(ComplexGeoData): ... @constmethod - def proximity(self, shape: TopoShape, tolerance: float = None) -> Tuple[List[int], List[int]]: + def proximity( + self, shape: TopoShape, tolerance: float = None, / + ) -> Tuple[List[int], List[int]]: """ Returns two lists of Face indexes for the Faces involved in the intersection. proximity(shape,[tolerance]) -> (selfFaces, shapeFaces) @@ -968,7 +975,7 @@ class TopoShape(ComplexGeoData): @constmethod def distToShape( - self, shape: TopoShape, tol: float = 1e-7 + self, shape: TopoShape, tol: float = 1e-7, / ) -> Tuple[float, List[Tuple[Vector, Vector]], List[Tuple]]: """ Find the minimum distance to another shape. @@ -996,7 +1003,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def getElement(self, elementName: str, silent: bool = False) -> TopoShape: + def getElement(self, elementName: str, silent: bool = False, /) -> TopoShape: """ Returns a SubElement getElement(elementName, [silent = False]) -> Face | Edge | Vertex @@ -1007,14 +1014,16 @@ class TopoShape(ComplexGeoData): ... @constmethod - def countElement(self, type: str) -> int: + def countElement(self, type: str, /) -> int: """ Returns the count of a type of element countElement(type) -> int """ ... - def mapSubElement(self, shape: Union[TopoShape, Tuple[TopoShape, ...]], op: str = "") -> None: + def mapSubElement( + self, shape: Union[TopoShape, Tuple[TopoShape, ...]], op: str = "", / + ) -> None: """ mapSubElement(shape|[shape...], op='') - maps the sub element of other shape @@ -1028,6 +1037,7 @@ class TopoShape(ComplexGeoData): generated: List[Tuple[TopoShape, TopoShape]], modified: List[Tuple[TopoShape, TopoShape]], op: str = "", + /, ) -> None: """ mapShapes(generated, modified, op='') @@ -1045,7 +1055,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def getElementHistory(self, name: str) -> Union[Tuple[str, str, List[str]], None]: + def getElementHistory(self, name: str, /) -> Union[Tuple[str, str, List[str]], None]: """ getElementHistory(name) - returns the element mapped name history @@ -1057,7 +1067,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def getTolerance(self, mode: int, ShapeType: str = "Shape") -> float: + def getTolerance(self, mode: int, ShapeType: str = "Shape", /) -> float: """ Determines a tolerance from the ones stored in a shape getTolerance(mode, ShapeType=Shape) -> float @@ -1076,7 +1086,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def overTolerance(self, value: float, ShapeType: str = "Shape") -> List[TopoShape]: + def overTolerance(self, value: float, ShapeType: str = "Shape", /) -> List[TopoShape]: """ Determines which shapes have a tolerance over the given value overTolerance(value, [ShapeType=Shape]) -> ShapeList @@ -1087,7 +1097,7 @@ class TopoShape(ComplexGeoData): @constmethod def inTolerance( - self, valmin: float, valmax: float, ShapeType: str = "Shape" + self, valmin: float, valmax: float, ShapeType: str = "Shape", / ) -> List[TopoShape]: """ Determines which shapes have a tolerance within a given interval @@ -1098,7 +1108,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def globalTolerance(self, mode: int) -> float: + def globalTolerance(self, mode: int, /) -> float: """ Returns the computed tolerance according to the mode globalTolerance(mode) -> float @@ -1110,7 +1120,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def fixTolerance(self, value: float, ShapeType: str = "Shape") -> None: + def fixTolerance(self, value: float, ShapeType: str = "Shape", /) -> None: """ Sets (enforces) tolerances in a shape to the given value fixTolerance(value, [ShapeType=Shape]) @@ -1124,7 +1134,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def limitTolerance(self, tmin: float, tmax: float = 0, ShapeType: str = "Shape") -> bool: + def limitTolerance(self, tmin: float, tmax: float = 0, ShapeType: str = "Shape", /) -> bool: """ Limits tolerances in a shape limitTolerance(tmin, [tmax=0, ShapeType=Shape]) -> bool @@ -1145,7 +1155,7 @@ class TopoShape(ComplexGeoData): @constmethod def optimalBoundingBox( - self, useTriangulation: bool = True, useShapeTolerance: bool = False + self, useTriangulation: bool = True, useShapeTolerance: bool = False, / ) -> BoundBox: """ Get the optimal bounding box @@ -1160,7 +1170,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def findSubShape(self, shape: TopoShape) -> Tuple[Union[str, None], int]: + def findSubShape(self, shape: TopoShape, /) -> Tuple[Union[str, None], int]: """ findSubShape(shape) -> (type_name, index) @@ -1177,7 +1187,7 @@ class TopoShape(ComplexGeoData): needName: bool = False, checkGeometry: bool = True, tol: float = 1e-7, - atol: float = 1e-12 + atol: float = 1e-12, ) -> Union[List[Tuple[str, TopoShape]], List[TopoShape]]: """ findSubShapesWithSharedVertex(shape, needName=False, checkGeometry=True, tol=1e-7, atol=1e-12) -> Shape @@ -1200,7 +1210,7 @@ class TopoShape(ComplexGeoData): ... @constmethod - def getChildShapes(self, shapetype: str, avoidtype: str = "") -> List[TopoShape]: + def getChildShapes(self, shapetype: str, avoidtype: str = "", /) -> List[TopoShape]: """ getChildShapes(shapetype, avoidtype='') -> list(Shape) diff --git a/src/Mod/Part/App/TopoShapeCompSolid.pyi b/src/Mod/Part/App/TopoShapeCompSolid.pyi index 34a80fee85..ed8c02bf9e 100644 --- a/src/Mod/Part/App/TopoShapeCompSolid.pyi +++ b/src/Mod/Part/App/TopoShapeCompSolid.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from TopoShape import TopoShape @@ -17,7 +21,7 @@ class TopoShapeCompSolid(TopoShape): TopoShapeCompSolid is the OpenCasCade topological compound solid wrapper """ - def add(self, solid: TopoShape) -> None: + def add(self, solid: TopoShape, /) -> None: """ Add a solid to the compound. add(solid) diff --git a/src/Mod/Part/App/TopoShapeCompound.pyi b/src/Mod/Part/App/TopoShapeCompound.pyi index b78f52c4cb..0e21eaa91d 100644 --- a/src/Mod/Part/App/TopoShapeCompound.pyi +++ b/src/Mod/Part/App/TopoShapeCompound.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from TopoShape import TopoShape @@ -16,7 +20,7 @@ class TopoShapeCompound(TopoShape): Licence: LGPL """ - def add(self, shape: TopoShape) -> None: + def add(self, shape: TopoShape, /) -> None: """ Add a shape to the compound. add(shape) @@ -25,7 +29,7 @@ class TopoShapeCompound(TopoShape): @constmethod def connectEdgesToWires( - self, Shared: bool = True, Tolerance: float = 1e-7 + self, Shared: bool = True, Tolerance: float = 1e-7, / ) -> "TopoShapeCompound": """ Build a compound of wires out of the edges of this compound. diff --git a/src/Mod/Part/App/TopoShapeEdge.pyi b/src/Mod/Part/App/TopoShapeEdge.pyi index c9c9cce0f5..a918f70a88 100644 --- a/src/Mod/Part/App/TopoShapeEdge.pyi +++ b/src/Mod/Part/App/TopoShapeEdge.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from Base.Vector import Vector from Wire import Wire @@ -141,7 +145,7 @@ class TopoShapeEdge(TopoShape): """Returns the continuity""" @constmethod - def getParameterByLength(self, pos: float, tolerance: float = 1e-7) -> float: + def getParameterByLength(self, pos: float, tolerance: float = 1e-7, /) -> float: """ Get the value of the primary parameter at the given distance along the cartesian length of the edge. getParameterByLength(pos, [tolerance = 1e-7]) -> Float @@ -161,7 +165,7 @@ class TopoShapeEdge(TopoShape): ... @constmethod - def tangentAt(self, paramval: float) -> Vector: + def tangentAt(self, paramval: float, /) -> Vector: """ Get the tangent direction at the given primary parameter value along the Edge if it is defined tangentAt(paramval) -> Vector @@ -199,7 +203,7 @@ class TopoShapeEdge(TopoShape): ... @constmethod - def valueAt(self, paramval: float) -> Vector: + def valueAt(self, paramval: float, /) -> Vector: """ Get the value of the cartesian parameter value at the given parameter value along the Edge valueAt(paramval) -> Vector @@ -241,7 +245,7 @@ class TopoShapeEdge(TopoShape): ... @constmethod - def parameters(self, face: object = ...) -> List[float]: + def parameters(self, face: object = ..., /) -> List[float]: """ Get the list of parameters of the tessellation of an edge. parameters([face]) -> list @@ -252,7 +256,7 @@ class TopoShapeEdge(TopoShape): ... @constmethod - def parameterAt(self, vertex: object) -> float: + def parameterAt(self, vertex: object, /) -> float: """ Get the parameter at the given vertex if lying on the edge parameterAt(Vertex) -> Float @@ -260,7 +264,7 @@ class TopoShapeEdge(TopoShape): ... @constmethod - def normalAt(self, paramval: float) -> Vector: + def normalAt(self, paramval: float, /) -> Vector: """ Get the normal direction at the given parameter value along the Edge if it is defined normalAt(paramval) -> Vector @@ -298,7 +302,7 @@ class TopoShapeEdge(TopoShape): ... @constmethod - def derivative1At(self, paramval: float) -> Vector: + def derivative1At(self, paramval: float, /) -> Vector: """ Get the first derivative at the given parameter value along the Edge if it is defined derivative1At(paramval) -> Vector @@ -336,7 +340,7 @@ class TopoShapeEdge(TopoShape): ... @constmethod - def derivative2At(self, paramval: float) -> Vector: + def derivative2At(self, paramval: float, /) -> Vector: """ Get the second derivative at the given parameter value along the Edge if it is defined derivative2At(paramval) -> Vector @@ -374,7 +378,7 @@ class TopoShapeEdge(TopoShape): ... @constmethod - def derivative3At(self, paramval: float) -> Vector: + def derivative3At(self, paramval: float, /) -> Vector: """ Get the third derivative at the given parameter value along the Edge if it is defined derivative3At(paramval) -> Vector @@ -412,7 +416,7 @@ class TopoShapeEdge(TopoShape): ... @constmethod - def curvatureAt(self, paramval: float) -> float: + def curvatureAt(self, paramval: float, /) -> float: """ Get the curvature at the given parameter [First|Last] if defined curvatureAt(paramval) -> Float @@ -420,7 +424,7 @@ class TopoShapeEdge(TopoShape): ... @constmethod - def centerOfCurvatureAt(self, paramval: float) -> Vector: + def centerOfCurvatureAt(self, paramval: float, /) -> Vector: """ Get the center of curvature at the given parameter [First|Last] if defined centerOfCurvatureAt(paramval) -> Vector @@ -428,7 +432,7 @@ class TopoShapeEdge(TopoShape): ... @constmethod - def firstVertex(self, Orientation: bool = False) -> Vertex: + def firstVertex(self, Orientation: bool = False, /) -> Vertex: """ Returns the Vertex of orientation FORWARD in this edge. firstVertex([Orientation=False]) -> Vertex @@ -439,7 +443,7 @@ class TopoShapeEdge(TopoShape): ... @constmethod - def lastVertex(self, Orientation: bool = False) -> Vertex: + def lastVertex(self, Orientation: bool = False, /) -> Vertex: """ Returns the Vertex of orientation REVERSED in this edge. lastVertex([Orientation=False]) -> Vertex @@ -527,7 +531,7 @@ class TopoShapeEdge(TopoShape): ... @constmethod - def split(self, paramval: float) -> Wire: + def split(self, paramval: float, /) -> Wire: """ Splits the edge at the given parameter values and builds a wire out of it split(paramval) -> Wire @@ -545,7 +549,7 @@ class TopoShapeEdge(TopoShape): ... @constmethod - def isSeam(self, Face: object) -> bool: + def isSeam(self, Face: object, /) -> bool: """ Checks whether the edge is a seam edge. isSeam(Face) @@ -553,7 +557,7 @@ class TopoShapeEdge(TopoShape): ... @constmethod - def curveOnSurface(self, idx: int) -> Tuple[object, object, object, float, float]: + def curveOnSurface(self, idx: int, /) -> Tuple[object, object, object, float, float]: """ Returns the 2D curve, the surface, the placement and the parameter range of index idx. curveOnSurface(idx) -> None or tuple diff --git a/src/Mod/Part/App/TopoShapeFace.pyi b/src/Mod/Part/App/TopoShapeFace.pyi index 2794ba48ca..70842ba3b5 100644 --- a/src/Mod/Part/App/TopoShapeFace.pyi +++ b/src/Mod/Part/App/TopoShapeFace.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from Base.Vector import Vector from TopoShape import TopoShape @@ -87,7 +91,7 @@ class TopoShapeFace(TopoShape): eigen vectors of the matrix of inertia of the system. """ - def addWire(self, wire: object) -> None: + def addWire(self, wire: object, /) -> None: """ Adds a wire to the face. addWire(wire) @@ -95,7 +99,7 @@ class TopoShapeFace(TopoShape): ... @constmethod - def makeOffset(self, dist: float) -> object: + def makeOffset(self, dist: float, /) -> object: """ Offset the face by a given amount. makeOffset(dist) -> Face @@ -107,13 +111,13 @@ class TopoShapeFace(TopoShape): @constmethod def makeEvolved( self, - *, Profile: TopoShape, Join: int, + *, AxeProf: bool, Solid: bool, ProfOnSpine: bool, - Tolerance: float + Tolerance: float, ) -> TopoShape: """ Profile along the spine @@ -131,7 +135,7 @@ class TopoShapeFace(TopoShape): ... @constmethod - def tangentAt(self, u: float, v: float) -> Vector: + def tangentAt(self, u: float, v: float, /) -> Vector: """ Get the tangent in u and v isoparametric at the given point if defined tangentAt(u,v) -> Vector @@ -139,7 +143,7 @@ class TopoShapeFace(TopoShape): ... @constmethod - def valueAt(self, u: float, v: float) -> Vector: + def valueAt(self, u: float, v: float, /) -> Vector: """ Get the point at the given parameter [0|Length] if defined valueAt(u,v) -> Vector @@ -147,7 +151,7 @@ class TopoShapeFace(TopoShape): ... @constmethod - def normalAt(self, pos: float) -> Vector: + def normalAt(self, pos: float, /) -> Vector: """ Get the normal vector at the given parameter [0|Length] if defined normalAt(pos) -> Vector @@ -155,7 +159,7 @@ class TopoShapeFace(TopoShape): ... @constmethod - def derivative1At(self, u: float, v: float) -> Tuple[Vector, Vector]: + def derivative1At(self, u: float, v: float, /) -> Tuple[Vector, Vector]: """ Get the first derivative at the given parameter [0|Length] if defined derivative1At(u,v) -> (vectorU,vectorV) @@ -163,7 +167,7 @@ class TopoShapeFace(TopoShape): ... @constmethod - def derivative2At(self, u: float, v: float) -> Tuple[Vector, Vector]: + def derivative2At(self, u: float, v: float, /) -> Tuple[Vector, Vector]: """ Vector = d2At(pos) - Get the second derivative at the given parameter [0|Length] if defined derivative2At(u,v) -> (vectorU,vectorV) @@ -171,7 +175,7 @@ class TopoShapeFace(TopoShape): ... @constmethod - def curvatureAt(self, u: float, v: float) -> float: + def curvatureAt(self, u: float, v: float, /) -> float: """ Get the curvature at the given parameter [0|Length] if defined curvatureAt(u,v) -> Float @@ -179,7 +183,7 @@ class TopoShapeFace(TopoShape): ... @constmethod - def isPartOfDomain(self, u: float, v: float) -> bool: + def isPartOfDomain(self, u: float, v: float, /) -> bool: """ Check if a given (u,v) pair is inside the domain of a face isPartOfDomain(u,v) -> bool @@ -187,7 +191,7 @@ class TopoShapeFace(TopoShape): ... @constmethod - def makeHalfSpace(self, pos: object) -> object: + def makeHalfSpace(self, pos: object, /) -> object: """ Make a half-space solid by this face and a reference point. makeHalfSpace(pos) -> Shape @@ -216,7 +220,7 @@ class TopoShapeFace(TopoShape): ... @constmethod - def curveOnSurface(self, Edge: object) -> Optional[Tuple[object, float, float]]: + def curveOnSurface(self, Edge: object, /) -> Optional[Tuple[object, float, float]]: """ Returns the curve associated to the edge in the parametric space of the face. curveOnSurface(Edge) -> (curve, min, max) or None @@ -226,7 +230,7 @@ class TopoShapeFace(TopoShape): """ ... - def cutHoles(self, list_of_wires: List[object]) -> None: + def cutHoles(self, list_of_wires: List[object], /) -> None: """ Cut holes in the face. cutHoles(list_of_wires) diff --git a/src/Mod/Part/App/TopoShapeShell.pyi b/src/Mod/Part/App/TopoShapeShell.pyi index 1d86b69f65..8401f96a8e 100644 --- a/src/Mod/Part/App/TopoShapeShell.pyi +++ b/src/Mod/Part/App/TopoShapeShell.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from TopoShape import TopoShape from typing import Final, Dict @@ -68,7 +72,7 @@ class TopoShapeShell(TopoShape): eigen vectors of the matrix of inertia of the system. """ - def add(self, face: object) -> None: + def add(self, face: object, /) -> None: """ Add a face to the shell. add(face) @@ -92,7 +96,7 @@ class TopoShapeShell(TopoShape): ... @constmethod - def makeHalfSpace(self, point: object) -> object: + def makeHalfSpace(self, point: object, /) -> object: """ Make a half-space solid by this shell and a reference point. makeHalfSpace(point) -> Solid diff --git a/src/Mod/Part/App/TopoShapeSolid.pyi b/src/Mod/Part/App/TopoShapeSolid.pyi index 11f971e312..719d89b1fe 100644 --- a/src/Mod/Part/App/TopoShapeSolid.pyi +++ b/src/Mod/Part/App/TopoShapeSolid.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from TopoShape import TopoShape from Base.Vector import Vector @@ -77,7 +81,7 @@ class TopoShapeSolid(TopoShape): """ @constmethod - def getMomentOfInertia(self, point: Vector, direction: Vector) -> float: + def getMomentOfInertia(self, point: Vector, direction: Vector, /) -> float: """ computes the moment of inertia of the material system about the axis A. getMomentOfInertia(point,direction) -> Float @@ -85,7 +89,7 @@ class TopoShapeSolid(TopoShape): ... @constmethod - def getRadiusOfGyration(self, point: Vector, direction: Vector) -> float: + def getRadiusOfGyration(self, point: Vector, direction: Vector, /) -> float: """ Returns the radius of gyration of the current system about the axis A. getRadiusOfGyration(point,direction) -> Float @@ -94,10 +98,10 @@ class TopoShapeSolid(TopoShape): @overload @constmethod - def offsetFaces(self, facesTuple: Tuple[TopoShape, ...], offset: float) -> TopoShape: ... + def offsetFaces(self, facesTuple: Tuple[TopoShape, ...], offset: float, /) -> TopoShape: ... @overload @constmethod - def offsetFaces(self, facesDict: Dict[TopoShape, float]) -> TopoShape: ... + def offsetFaces(self, facesDict: Dict[TopoShape, float], /) -> TopoShape: ... @constmethod def offsetFaces(self, *args, **kwargs) -> TopoShape: """ diff --git a/src/Mod/Part/App/TopoShapeVertex.pyi b/src/Mod/Part/App/TopoShapeVertex.pyi index 44685da8c5..0f3555054a 100644 --- a/src/Mod/Part/App/TopoShapeVertex.pyi +++ b/src/Mod/Part/App/TopoShapeVertex.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from Base.Vector import Vector from TopoShape import TopoShape diff --git a/src/Mod/Part/App/TopoShapeWire.pyi b/src/Mod/Part/App/TopoShapeWire.pyi index b67fe61c91..bc1ac4d3c5 100644 --- a/src/Mod/Part/App/TopoShapeWire.pyi +++ b/src/Mod/Part/App/TopoShapeWire.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from TopoShape import TopoShape from typing import Dict, List, Final, overload, Optional @@ -85,14 +89,14 @@ class TopoShapeWire(TopoShape): """ ... - def add(self, edge: object) -> None: + def add(self, edge: object, /) -> None: """ Add an edge to the wire add(edge) """ ... - def fixWire(self, face: Optional[object] = None, tolerance: Optional[float] = None) -> None: + def fixWire(self, face: Optional[object] = None, tolerance: Optional[float] = None, /) -> None: """ Fix wire fixWire([face, tolerance]) @@ -102,7 +106,7 @@ class TopoShapeWire(TopoShape): ... @constmethod - def makeHomogenousWires(self, wire: object) -> object: + def makeHomogenousWires(self, wire: object, /) -> object: """ Make this and the given wire homogeneous to have the same number of edges makeHomogenousWires(wire) -> Wire @@ -110,7 +114,7 @@ class TopoShapeWire(TopoShape): ... @constmethod - def makePipe(self, profile: object) -> object: + def makePipe(self, profile: object, /) -> object: """ Make a pipe by sweeping along a wire. makePipe(profile) -> Shape @@ -124,6 +128,7 @@ class TopoShapeWire(TopoShape): isSolid: bool = False, isFrenet: bool = False, transition: int = 0, + /, ) -> object: """ Make a loft defined by a list of profiles along a wire. @@ -136,9 +141,9 @@ class TopoShapeWire(TopoShape): @constmethod def makeEvolved( self, - *, Profile: TopoShape, Join: int, + *, AxeProf: bool, Solid: bool, ProfOnSpine: bool, @@ -152,7 +157,6 @@ class TopoShapeWire(TopoShape): @constmethod def approximate( self, - *, Tol2d: float = None, Tol3d: float = 0.0001, MaxSegments: int = 10, diff --git a/src/Mod/Part/App/Toroid.pyi b/src/Mod/Part/App/Toroid.pyi index 4353a40f11..05b6394c9d 100644 --- a/src/Mod/Part/App/Toroid.pyi +++ b/src/Mod/Part/App/Toroid.pyi @@ -1,4 +1,8 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from Part.GeometrySurface import GeometrySurface from Base.Vector import Vector from typing import Final diff --git a/src/Mod/Part/App/TrimmedCurve.pyi b/src/Mod/Part/App/TrimmedCurve.pyi index ee15e49b64..dcc1b35fbe 100644 --- a/src/Mod/Part/App/TrimmedCurve.pyi +++ b/src/Mod/Part/App/TrimmedCurve.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from BoundedCurve import BoundedCurve @@ -17,7 +21,7 @@ class TrimmedCurve(BoundedCurve): Licence: LGPL """ - def setParameterRange(self, first: float, last: float) -> None: + def setParameterRange(self, first: float, last: float, /) -> None: """ Re-trims this curve to the provided parameter range ([Float=First, Float=Last]) """ diff --git a/src/Mod/Part/Gui/ViewProviderPartExt.pyi b/src/Mod/Part/Gui/ViewProviderPartExt.pyi index dc9b6adea9..84673132db 100644 --- a/src/Mod/Part/Gui/ViewProviderPartExt.pyi +++ b/src/Mod/Part/Gui/ViewProviderPartExt.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from Gui.ViewProviderGeometryObject import ViewProviderGeometryObject diff --git a/src/Mod/PartDesign/App/Body.pyi b/src/Mod/PartDesign/App/Body.pyi index b8309421ad..bbd13efb94 100644 --- a/src/Mod/PartDesign/App/Body.pyi +++ b/src/Mod/PartDesign/App/Body.pyi @@ -1,6 +1,10 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from Part.BodyBase import BodyBase -from typing import Final, overload +from typing import Final @export( Include="Mod/PartDesign/App/Body.h", @@ -17,9 +21,8 @@ class Body(BodyBase): VisibleFeature: Final[object] = ... """Return the visible feature of this body""" - def insertObject(self, feature: object, target: object, after: bool = False) -> None: + def insertObject(self, feature: object, target: object, after: bool = False, /) -> None: """ - insertObject(feature, target, after=False) Insert the feature into the body after the given feature. @param feature The feature to insert into the body diff --git a/src/Mod/PartDesign/App/Feature.pyi b/src/Mod/PartDesign/App/Feature.pyi index e1d3da4074..e51c64bb16 100644 --- a/src/Mod/PartDesign/App/Feature.pyi +++ b/src/Mod/PartDesign/App/Feature.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from Part.PartFeature import PartFeature from typing import Optional, overload diff --git a/src/Mod/PartDesign/Gui/ViewProvider.pyi b/src/Mod/PartDesign/Gui/ViewProvider.pyi index 2bee076209..d7553c4aba 100644 --- a/src/Mod/PartDesign/Gui/ViewProvider.pyi +++ b/src/Mod/PartDesign/Gui/ViewProvider.pyi @@ -1,6 +1,9 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from Gui.ViewProviderPartExt import ViewProviderPartExt -from typing import Final, overload @export( Include="Mod/PartDesign/Gui/ViewProvider.h", @@ -16,17 +19,17 @@ class ViewProvider(ViewProviderPartExt): Licence: LGPL """ - def setBodyMode(self, mode: bool) -> None: + def setBodyMode(self, mode: bool, /) -> None: """ - setBodyMode(bool): body mode means that the object is part of a body + body mode means that the object is part of a body and that the body is used to set the visual properties, not the features. Hence setting body mode to true will hide most viewprovider properties. """ ... - def makeTemporaryVisible(self, visible: bool) -> None: + def makeTemporaryVisible(self, visible: bool, /) -> None: """ - makeTemporaryVisible(bool): makes this viewprovider visible in the + makes this viewprovider visible in the scene graph without changing any properties, not the visibility one and also not the display mode. This can be used to show the shape of this viewprovider from other viewproviders without doing anything to the document and properties. diff --git a/src/Mod/Points/App/Points.pyi b/src/Mod/Points/App/Points.pyi index f84dabb13e..d664d2a4e2 100644 --- a/src/Mod/Points/App/Points.pyi +++ b/src/Mod/Points/App/Points.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any, Final from Base.Metadata import constmethod, export diff --git a/src/Mod/Robot/App/Robot6Axis.pyi b/src/Mod/Robot/App/Robot6Axis.pyi index 267c1bc606..2bd15a1ecb 100644 --- a/src/Mod/Robot/App/Robot6Axis.pyi +++ b/src/Mod/Robot/App/Robot6Axis.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any from Base.Metadata import export diff --git a/src/Mod/Robot/App/RobotObject.pyi b/src/Mod/Robot/App/RobotObject.pyi index 14b7b6729d..d1acb465bd 100644 --- a/src/Mod/Robot/App/RobotObject.pyi +++ b/src/Mod/Robot/App/RobotObject.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any from Base.Metadata import export diff --git a/src/Mod/Robot/App/Trajectory.pyi b/src/Mod/Robot/App/Trajectory.pyi index 5c3263398c..b0a00bc26d 100644 --- a/src/Mod/Robot/App/Trajectory.pyi +++ b/src/Mod/Robot/App/Trajectory.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any, Final from Base.Metadata import export diff --git a/src/Mod/Robot/App/Waypoint.pyi b/src/Mod/Robot/App/Waypoint.pyi index 375e49c63f..c6a210c035 100644 --- a/src/Mod/Robot/App/Waypoint.pyi +++ b/src/Mod/Robot/App/Waypoint.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any from Base.Metadata import export diff --git a/src/Mod/Sketcher/App/Constraint.pyi b/src/Mod/Sketcher/App/Constraint.pyi index 8c93386409..cb087612aa 100644 --- a/src/Mod/Sketcher/App/Constraint.pyi +++ b/src/Mod/Sketcher/App/Constraint.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from Base.Persistence import Persistence from typing import Final diff --git a/src/Mod/Sketcher/App/ExternalGeometryExtension.pyi b/src/Mod/Sketcher/App/ExternalGeometryExtension.pyi index 3b809b32fb..8889456292 100644 --- a/src/Mod/Sketcher/App/ExternalGeometryExtension.pyi +++ b/src/Mod/Sketcher/App/ExternalGeometryExtension.pyi @@ -1,6 +1,9 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from Part.App.GeometryExtension import GeometryExtension -from typing import Final, overload @export( PythonName="Sketcher.ExternalGeometryExtension", diff --git a/src/Mod/Sketcher/App/ExternalGeometryFacade.pyi b/src/Mod/Sketcher/App/ExternalGeometryFacade.pyi index 3c5ac0082d..106045c85a 100644 --- a/src/Mod/Sketcher/App/ExternalGeometryFacade.pyi +++ b/src/Mod/Sketcher/App/ExternalGeometryFacade.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from Base.BaseClass import BaseClass from typing import Final, List diff --git a/src/Mod/Sketcher/App/GeometryFacade.pyi b/src/Mod/Sketcher/App/GeometryFacade.pyi index a78e115d2e..2ac7a8e84a 100644 --- a/src/Mod/Sketcher/App/GeometryFacade.pyi +++ b/src/Mod/Sketcher/App/GeometryFacade.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from Base.BaseClass import BaseClass from Base.Axis import Axis @@ -61,71 +65,71 @@ class GeometryFacade(BaseClass): """ ... - def rotate(self, Ang: float, axis: Axis) -> None: + def rotate(self, Ang: float, axis: Axis, /) -> None: """ Rotates this geometric object at angle Ang (in radians) about axis """ ... - def scale(self, center: CoordinateSystem, factor: float) -> None: + def scale(self, center: CoordinateSystem, factor: float, /) -> None: """ Applies a scaling transformation on this geometric object with a center and scaling factor """ ... - def transform(self, transformation: Placement) -> None: + def transform(self, transformation: Placement, /) -> None: """ Applies a transformation to this geometric object """ ... - def translate(self, offset: Vector) -> None: + def translate(self, offset: Vector, /) -> None: """ Translates this geometric object """ ... @constmethod - def hasExtensionOfType(self, type_str: str) -> bool: + def hasExtensionOfType(self, type_str: str, /) -> bool: """ Returns a boolean indicating whether a geometry extension of the type indicated as a string exists. """ ... @constmethod - def hasExtensionOfName(self, name: str) -> bool: + def hasExtensionOfName(self, name: str, /) -> bool: """ Returns a boolean indicating whether a geometry extension with the name indicated as a string exists. """ ... @constmethod - def getExtensionOfType(self, type_str: str) -> DocumentObjectExtension: + def getExtensionOfType(self, type_str: str, /) -> DocumentObjectExtension: """ Gets the first geometry extension of the type indicated by the string. """ ... @constmethod - def getExtensionOfName(self, name: str) -> DocumentObjectExtension: + def getExtensionOfName(self, name: str, /) -> DocumentObjectExtension: """ Gets the first geometry extension of the name indicated by the string. """ ... - def setExtension(self, extension: DocumentObjectExtension) -> None: + def setExtension(self, extension: DocumentObjectExtension, /) -> None: """ Sets a geometry extension of the indicated type. """ ... - def deleteExtensionOfType(self, type_str: str) -> None: + def deleteExtensionOfType(self, type_str: str, /) -> None: """ Deletes all extensions of the indicated type. """ ... - def deleteExtensionOfName(self, name: str) -> None: + def deleteExtensionOfName(self, name: str, /) -> None: """ Deletes all extensions of the indicated name. """ diff --git a/src/Mod/Sketcher/App/Sketch.pyi b/src/Mod/Sketcher/App/Sketch.pyi index 6fa03c0c7a..bab1f3b5ec 100644 --- a/src/Mod/Sketcher/App/Sketch.pyi +++ b/src/Mod/Sketcher/App/Sketch.pyi @@ -1,4 +1,8 @@ -from Base.Metadata import export, constmethod +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from Base.Metadata import export from Base.Persistence import Persistence from Base.Vector import Vector from typing import Final, Tuple @@ -56,10 +60,10 @@ class Sketch(Persistence): ... def moveGeometry( - self, GeoIndex: int, PointPos: Vector, Vector: Vector, relative: bool = False + self, GeoIndex: int, PointPos: Vector, Vector: Vector, relative: bool = False, / ) -> None: """ - moveGeometry(GeoIndex,PointPos,Vector,[relative]) - move a given point (or curve) + Move a given point (or curve). to another location. It moves the specified point (or curve) to the given location by adding some temporary weak constraints and solve the sketch. diff --git a/src/Mod/Sketcher/App/SketchGeometryExtension.pyi b/src/Mod/Sketcher/App/SketchGeometryExtension.pyi index 2fda454ba4..e7c55ebbb5 100644 --- a/src/Mod/Sketcher/App/SketchGeometryExtension.pyi +++ b/src/Mod/Sketcher/App/SketchGeometryExtension.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod from Part.App.GeometryExtension import GeometryExtension diff --git a/src/Mod/Sketcher/App/SketchObject.pyi b/src/Mod/Sketcher/App/SketchObject.pyi index 1a7cffefb1..8816f4cfed 100644 --- a/src/Mod/Sketcher/App/SketchObject.pyi +++ b/src/Mod/Sketcher/App/SketchObject.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, constmethod, no_args from Base.Quantity import Quantity from Base.Vector import Vector @@ -79,11 +83,13 @@ class SketchObject(Part2DObject): ... @overload - def addGeometry(self, geo: Geometry, isConstruction: bool = False) -> int: ... + def addGeometry(self, geo: Geometry, isConstruction: bool = False, /) -> int: ... @overload - def addGeometry(self, geo: List[Geometry], isConstruction: bool = False) -> Tuple[int, ...]: ... def addGeometry( - self, geo: Union[Geometry, List[Geometry]], isConstruction: bool = False + self, geo: List[Geometry], isConstruction: bool = False, / + ) -> Tuple[int, ...]: ... + def addGeometry( + self, geo: Union[Geometry, List[Geometry]], isConstruction: bool = False, / ) -> Union[int, Tuple[int, ...]]: """ Add geometric objects to the sketch. @@ -111,7 +117,7 @@ class SketchObject(Part2DObject): """ ... - def delGeometry(self, geoId: int, noSolve: bool) -> None: + def delGeometry(self, geoId: int, noSolve: bool, /) -> None: """ Delete a geometric object from the sketch. @@ -123,7 +129,7 @@ class SketchObject(Part2DObject): """ ... - def delGeometries(self, geoIds: List[int], noSolve: bool) -> None: + def delGeometries(self, geoIds: List[int], noSolve: bool, /) -> None: """ Delete a list of geometric objects from the sketch. @@ -135,7 +141,7 @@ class SketchObject(Part2DObject): """ ... - def deleteAllGeometry(self, noSolve: bool) -> None: + def deleteAllGeometry(self, noSolve: bool, /) -> None: """ Delete all the geometry objects from the sketch, except external geometry. @@ -143,7 +149,7 @@ class SketchObject(Part2DObject): """ ... - def detectDegeneratedGeometries(self, tolerance: float) -> int: + def detectDegeneratedGeometries(self, tolerance: float, /) -> int: """ Detect degenerated geometries. A curve geometry is considered degenerated if the parameter range is less than the tolerance. @@ -158,7 +164,7 @@ class SketchObject(Part2DObject): """ ... - def removeDegeneratedGeometries(self, tolerance: float) -> int: + def removeDegeneratedGeometries(self, tolerance: float, /) -> int: """ Remove degenerated geometries. A curve geometry is considered degenerated if the parameter range is less than the tolerance. @@ -181,7 +187,7 @@ class SketchObject(Part2DObject): """ ... - def toggleConstruction(self, geoId: int) -> None: + def toggleConstruction(self, geoId: int, /) -> None: """ Toggles a geometry between regular and construction. @@ -192,7 +198,7 @@ class SketchObject(Part2DObject): """ ... - def setConstruction(self, geoId: int, state: bool) -> None: + def setConstruction(self, geoId: int, state: bool, /) -> None: """ Set construction mode of a geometry. @@ -205,7 +211,7 @@ class SketchObject(Part2DObject): """ ... - def getConstruction(self, geoId: int) -> bool: + def getConstruction(self, geoId: int, /) -> bool: """ Determine whether the given geometry is a "construction geometry". @@ -221,11 +227,11 @@ class SketchObject(Part2DObject): ... @overload - def addConstraint(self, constraint: Constraint) -> int: ... + def addConstraint(self, constraint: Constraint, /) -> int: ... @overload - def addConstraint(self, constraints: List[Constraint]) -> Tuple[int, ...]: ... + def addConstraint(self, constraints: List[Constraint], /) -> Tuple[int, ...]: ... def addConstraint( - self, constraint: Union[Constraint, List[Constraint]] + self, constraint: Union[Constraint, List[Constraint]], / ) -> Union[int, Tuple[int, ...]]: """ Add constraints to the sketch. @@ -244,7 +250,7 @@ class SketchObject(Part2DObject): """ ... - def delConstraint(self, constraintIndex: int, noSolve: bool) -> None: + def delConstraint(self, constraintIndex: int, noSolve: bool, /) -> None: """ Delete a constraint from the sketch. @@ -256,7 +262,7 @@ class SketchObject(Part2DObject): ... def delConstraints( - self, constraintIndices: List[int], updateGeometry: bool, noSolve: bool + self, constraintIndices: List[int], updateGeometry: bool, noSolve: bool, / ) -> None: """ Delete multiple constraints from a sketch @@ -269,7 +275,7 @@ class SketchObject(Part2DObject): """ ... - def renameConstraint(self, constraintIndex: int, name: str) -> None: + def renameConstraint(self, constraintIndex: int, name: str, /) -> None: """ Rename a constraint in the sketch. @@ -283,7 +289,7 @@ class SketchObject(Part2DObject): ... @constmethod - def getIndexByName(self, name: str) -> int: + def getIndexByName(self, name: str, /) -> int: """ Get the index of a constraint by name. @@ -295,7 +301,7 @@ class SketchObject(Part2DObject): """ ... - def carbonCopy(self, objName: str, asConstruction: bool = True) -> None: + def carbonCopy(self, objName: str, asConstruction: bool = True, /) -> None: """ Copy another sketch's geometry and constraints into this sketch. @@ -308,7 +314,7 @@ class SketchObject(Part2DObject): ... def addExternal( - self, objName: str, subName: str, defining: bool = False, intersection: bool = False + self, objName: str, subName: str, defining: bool = False, intersection: bool = False, / ) -> None: """ Add a link to an external geometry. @@ -324,7 +330,7 @@ class SketchObject(Part2DObject): """ ... - def delExternal(self, extGeoId: int) -> None: + def delExternal(self, extGeoId: int, /) -> None: """ Delete an external geometry link from the sketch. @@ -336,9 +342,9 @@ class SketchObject(Part2DObject): ... @overload - def delConstraintOnPoint(self, vertexId: int) -> None: ... + def delConstraintOnPoint(self, vertexId: int, /) -> None: ... @overload - def delConstraintOnPoint(self, geoId: int, pointPos: int) -> None: ... + def delConstraintOnPoint(self, geoId: int, pointPos: int, /) -> None: ... def delConstraintOnPoint(self, *args: int) -> None: """ Delete coincident constraints associated with a sketch point. @@ -366,7 +372,7 @@ class SketchObject(Part2DObject): """ ... - def setDatum(self, constraint: Union[int, str], value: Union[float, Quantity]) -> None: + def setDatum(self, constraint: Union[int, str], value: Union[float, Quantity], /) -> None: """ Set the value of a datum constraint (e.g. Distance or Angle) @@ -381,7 +387,7 @@ class SketchObject(Part2DObject): ... @constmethod - def getDatum(self, constraint: Union[int, str]) -> Quantity: + def getDatum(self, constraint: Union[int, str], /) -> Quantity: """ Get the value of a datum constraint (e.g. Distance or Angle) @@ -395,7 +401,7 @@ class SketchObject(Part2DObject): """ ... - def setDriving(self, constraintIndex: int, state: bool) -> None: + def setDriving(self, constraintIndex: int, state: bool, /) -> None: """ Set the Driving status of a datum constraint. @@ -408,7 +414,7 @@ class SketchObject(Part2DObject): """ ... - def setDatumsDriving(self, state: bool) -> None: + def setDatumsDriving(self, state: bool, /) -> None: """ Set the Driving status of all datum constraints. @@ -433,7 +439,7 @@ class SketchObject(Part2DObject): ... @constmethod - def getDriving(self, constraintIndex: int) -> bool: + def getDriving(self, constraintIndex: int, /) -> bool: """ Get the Driving status of a datum constraint. @@ -448,7 +454,7 @@ class SketchObject(Part2DObject): """ ... - def toggleDriving(self, constraintIndex: int) -> None: + def toggleDriving(self, constraintIndex: int, /) -> None: """ Toggle the Driving status of a datum constraint. @@ -483,7 +489,7 @@ class SketchObject(Part2DObject): """ ... - def setActive(self, constraintIndex: int, state: bool) -> None: + def setActive(self, constraintIndex: int, state: bool, /) -> None: """ Activates or deactivates a constraint (enforce it or not). @@ -497,7 +503,7 @@ class SketchObject(Part2DObject): ... @constmethod - def getActive(self, constraintIndex: int) -> bool: + def getActive(self, constraintIndex: int, /) -> bool: """ Get whether a constraint is active, i.e. enforced, or not. @@ -512,7 +518,7 @@ class SketchObject(Part2DObject): """ ... - def toggleActive(self, constraintIndex: int) -> None: + def toggleActive(self, constraintIndex: int, /) -> None: """ Toggle the constraint between active (enforced) and inactive. @@ -524,7 +530,7 @@ class SketchObject(Part2DObject): ... @constmethod - def getLabelPosition(self, constraintIndex: int) -> float: + def getLabelPosition(self, constraintIndex: int, /) -> float: """ Get label position of the constraint. @@ -538,7 +544,7 @@ class SketchObject(Part2DObject): """ ... - def setLabelPosition(self, constraintIndex: int, value: float) -> None: + def setLabelPosition(self, constraintIndex: int, value: float, /) -> None: """ Set label position of the constraint. @@ -551,7 +557,7 @@ class SketchObject(Part2DObject): ... @constmethod - def getLabelDistance(self, constraintIndex: int) -> float: + def getLabelDistance(self, constraintIndex: int, /) -> float: """ Get label distance of the constraint. @@ -565,7 +571,7 @@ class SketchObject(Part2DObject): """ ... - def setLabelDistance(self, constraintIndex: int, value: float) -> None: + def setLabelDistance(self, constraintIndex: int, value: float, /) -> None: """ Set label distance of the constraint. @@ -578,7 +584,7 @@ class SketchObject(Part2DObject): ... def moveGeometry( - self, GeoIndex: int, PointPos: int, Vector: Vector, relative: bool = False + self, GeoIndex: int, PointPos: int, Vector: Vector, relative: bool = False, / ) -> None: """ Move a given point (or curve) to another location. @@ -596,7 +602,7 @@ class SketchObject(Part2DObject): ... def moveGeometries( - self, Geos: List[Tuple[int, int]], Vector: Vector, relative: bool = False + self, Geos: List[Tuple[int, int]], Vector: Vector, relative: bool = False, / ) -> None: """ Move given points and curves to another location. @@ -615,7 +621,7 @@ class SketchObject(Part2DObject): ... @constmethod - def getPoint(self, GeoIndex: int, PointPos: int) -> Vector: + def getPoint(self, GeoIndex: int, PointPos: int, /) -> Vector: """ Retrieve the vector of a point in the sketch. @@ -624,7 +630,7 @@ class SketchObject(Part2DObject): ... @constmethod - def getGeoVertexIndex(self, index: int) -> Tuple[int, int]: + def getGeoVertexIndex(self, index: int, /) -> Tuple[int, int]: """ Retrieve the GeoId and PosId of a point in the sketch. @@ -753,7 +759,7 @@ class SketchObject(Part2DObject): """ ... - def calculateAngleViaPoint(self, GeoId1: int, GeoId2: int, px: float, py: float) -> float: + def calculateAngleViaPoint(self, GeoId1: int, GeoId2: int, px: float, py: float, /) -> float: """ calculateAngleViaPoint(GeoId1, GeoId2, px, py) - calculates angle between curves identified by GeoId1 and GeoId2 at point (x,y). The point must be @@ -762,7 +768,7 @@ class SketchObject(Part2DObject): """ ... - def isPointOnCurve(self, GeoIdCurve: int, x: float, y: float) -> bool: + def isPointOnCurve(self, GeoIdCurve: int, x: float, y: float, /) -> bool: """ isPointOnCurve(GeoIdCurve, float x, float y) -> bool - tests if the point (x,y) geometrically lies on a curve (e.g. ellipse). It treats lines as infinite, @@ -770,7 +776,7 @@ class SketchObject(Part2DObject): """ ... - def calculateConstraintError(self, index: int) -> float: + def calculateConstraintError(self, index: int, /) -> float: """ calculateConstraintError(index) - calculates the error function of the constraint identified by its index and returns the signed error value. @@ -780,7 +786,7 @@ class SketchObject(Part2DObject): """ ... - def changeConstraintsLocking(self, bLock: bool) -> None: + def changeConstraintsLocking(self, bLock: bool, /) -> None: """ changeConstraintsLocking(bLock) - locks or unlocks all tangent and perpendicular constraints. (Constraint locking prevents it from @@ -837,19 +843,19 @@ class SketchObject(Part2DObject): """ ... - def makeMissingPointOnPointCoincident(self, arg: bool) -> None: + def makeMissingPointOnPointCoincident(self, arg: bool, /) -> None: """ Applies the detected / set Point On Point coincident constraints. If the argument is True, then solving and redundant removal is done after each individual addition. """ ... - def makeMissingVerticalHorizontal(self, arg: bool) -> None: + def makeMissingVerticalHorizontal(self, arg: bool, /) -> None: """ Applies the detected / set Vertical/Horizontal constraints. If the argument is True, then solving and redundant removal is done after each individual addition. """ ... - def makeMissingEquality(self, arg: bool) -> None: + def makeMissingEquality(self, arg: bool, /) -> None: """ Applies the detected / set Equality constraints. If the argument is True, then solving and redundant removal is done after each individual addition. """ @@ -870,7 +876,7 @@ class SketchObject(Part2DObject): """ ... - def autoRemoveRedundants(self, arg: bool) -> None: + def autoRemoveRedundants(self, arg: bool, /) -> None: """ Removes constraints currently detected as redundant by the solver. If the argument is True, then the geometry is updated after solving. """ @@ -888,7 +894,7 @@ class SketchObject(Part2DObject): """ ... - def setGeometryIds(GeoIdsToIds: List[Tuple[int, int]]): + def setGeometryIds(GeoIdsToIds: List[Tuple[int, int]], /): """ Sets the GeometryId of the SketchGeometryExtension of the geometries with the provided GeoIds Expects a list of pairs (GeoId, id) diff --git a/src/Mod/Sketcher/App/SketchObjectSF.pyi b/src/Mod/Sketcher/App/SketchObjectSF.pyi index 5af77c2a15..02ef6b118f 100644 --- a/src/Mod/Sketcher/App/SketchObjectSF.pyi +++ b/src/Mod/Sketcher/App/SketchObjectSF.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from Part.App.Part2DObject import Part2DObject diff --git a/src/Mod/Sketcher/Gui/ViewProviderSketchGeometryExtension.pyi b/src/Mod/Sketcher/Gui/ViewProviderSketchGeometryExtension.pyi index a3994baf4a..498575b055 100644 --- a/src/Mod/Sketcher/Gui/ViewProviderSketchGeometryExtension.pyi +++ b/src/Mod/Sketcher/Gui/ViewProviderSketchGeometryExtension.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from Part.App.GeometryExtension import GeometryExtension diff --git a/src/Mod/Spreadsheet/App/PropertyColumnWidths.pyi b/src/Mod/Spreadsheet/App/PropertyColumnWidths.pyi index 0bcb7c9cd0..94cf6b18e3 100644 --- a/src/Mod/Spreadsheet/App/PropertyColumnWidths.pyi +++ b/src/Mod/Spreadsheet/App/PropertyColumnWidths.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from Base.Persistence import Persistence diff --git a/src/Mod/Spreadsheet/App/PropertyRowHeights.pyi b/src/Mod/Spreadsheet/App/PropertyRowHeights.pyi index 6f27b86034..848fa6fd2e 100644 --- a/src/Mod/Spreadsheet/App/PropertyRowHeights.pyi +++ b/src/Mod/Spreadsheet/App/PropertyRowHeights.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from Base.Persistence import Persistence diff --git a/src/Mod/Spreadsheet/App/PropertySheet.pyi b/src/Mod/Spreadsheet/App/PropertySheet.pyi index f8be8e14f0..56960acb6a 100644 --- a/src/Mod/Spreadsheet/App/PropertySheet.pyi +++ b/src/Mod/Spreadsheet/App/PropertySheet.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export, sequence_protocol from Base.Persistence import Persistence diff --git a/src/Mod/Spreadsheet/App/Sheet.pyi b/src/Mod/Spreadsheet/App/Sheet.pyi index d71ff4e19a..c8e0b94075 100644 --- a/src/Mod/Spreadsheet/App/Sheet.pyi +++ b/src/Mod/Spreadsheet/App/Sheet.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any from Base.Metadata import export @@ -137,44 +141,44 @@ class Sheet(DocumentObject): """Get given spreadsheet row height""" ... - def touchCells(self) -> Any: - """touchCells(from, to=None): touch cells in the given range""" + def touchCells(self, address: str, address_to: str | None = None, /) -> None: + """touch cells in the given range""" ... - def recomputeCells(self) -> Any: - """recomputeCells(from, to=None) - + def recomputeCells(self, address: str, address_to: str | None = None, /) -> Any: + """ Manually recompute cells in the given range with the given order without - following dependency order.""" + following dependency order. + """ ... - def getUsedCells(self) -> Any: - """getUsedCells() - + def getUsedCells(self) -> list[str]: + """ Get a list of the names of all cells that are marked as used. These cells may - or may not have a non-empty string content.""" + or may not have a non-empty string content. + """ ... - def getNonEmptyCells(self) -> Any: - """getNonEmptyCells() - - Get a list of the names of all cells with data in them.""" + def getNonEmptyCells(self) -> list[str]: + """ + Get a list of the names of all cells with data in them. + """ ... - def getUsedRange(self) -> Any: - """getUsedRange() - + def getUsedRange(self) -> tuple[str, str]: + """ Get a the total range of the used cells in a sheet, as a pair of strings representing the lowest row and column that are used, and the highest row and column that are used (inclusive). Note that the actual first and last cell - of the block are not necessarily used.""" + of the block are not necessarily used. + """ ... - def getNonEmptyRange(self) -> Any: - """getNonEmptyRange() - + def getNonEmptyRange(self) -> tuple[str, str]: + """ Get a the total range of the used cells in a sheet, as a pair of cell addresses representing the lowest row and column that contain data, and the highest row and column that contain data (inclusive). Note that the actual first and last cell - of the block do not necessarily contain anything.""" + of the block do not necessarily contain anything. + """ ... diff --git a/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheet.pyi b/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheet.pyi index 5add098af1..f9fac6f720 100644 --- a/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheet.pyi +++ b/src/Mod/Spreadsheet/Gui/ViewProviderSpreadsheet.pyi @@ -1,3 +1,7 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any from Base.Metadata import export @@ -22,22 +26,10 @@ class ViewProviderSpreadsheet(ViewProviderDocumentObject): """Get access to the sheet view""" ... - def showSheetMdi(self) -> Any: - """ - Create (if necessary) and switch to the Spreadsheet MDI. - - showSheetMdi() - - Returns: None - """ + def showSheetMdi(self) -> None: + """Create (if necessary) and switch to the Spreadsheet MDI.""" ... - def exportAsFile(self) -> Any: - """ - Export the sheet as a file. - - exportAsFile() - - Returns: None - """ + def exportAsFile(self) -> None: + """Export the sheet as a file.""" ... diff --git a/src/Mod/Surface/App/Blending/BlendCurve.pyi b/src/Mod/Surface/App/Blending/BlendCurve.pyi index da40d824b6..c39ce25319 100644 --- a/src/Mod/Surface/App/Blending/BlendCurve.pyi +++ b/src/Mod/Surface/App/Blending/BlendCurve.pyi @@ -1,5 +1,7 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +from __future__ import annotations + from typing import Any from Base.BaseClass import PyObjectBase diff --git a/src/Mod/Surface/App/Blending/BlendPoint.pyi b/src/Mod/Surface/App/Blending/BlendPoint.pyi index d44c4b2978..39d2a67ea4 100644 --- a/src/Mod/Surface/App/Blending/BlendPoint.pyi +++ b/src/Mod/Surface/App/Blending/BlendPoint.pyi @@ -1,5 +1,7 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +from __future__ import annotations + from typing import Any, Final from Base.BaseClass import PyObjectBase diff --git a/src/Mod/TechDraw/App/CenterLine.pyi b/src/Mod/TechDraw/App/CenterLine.pyi index b652ef2b99..177020767d 100644 --- a/src/Mod/TechDraw/App/CenterLine.pyi +++ b/src/Mod/TechDraw/App/CenterLine.pyi @@ -1,8 +1,13 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any, Final from Base.PyObjectBase import PyObjectBase from Base.Metadata import constmethod, export + @export( Include="Mod/TechDraw/App/CenterLine.h", Namespace="TechDraw", @@ -12,7 +17,7 @@ from Base.Metadata import constmethod, export class CenterLine(PyObjectBase): """ CenterLine specifies additional mark up edges in a View - + Author: WandererFan (wandererfan@gmail.com) License: LGPL-2.1-or-later """ @@ -26,6 +31,7 @@ class CenterLine(PyObjectBase): def copy(self) -> Any: """Create a copy of this centerline""" ... + Tag: Final[str] """Gives the tag of the CenterLine as string.""" diff --git a/src/Mod/TechDraw/App/CosmeticEdge.pyi b/src/Mod/TechDraw/App/CosmeticEdge.pyi index 1403bc370d..e6dcf04c2c 100644 --- a/src/Mod/TechDraw/App/CosmeticEdge.pyi +++ b/src/Mod/TechDraw/App/CosmeticEdge.pyi @@ -1,7 +1,15 @@ -from typing import Final +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + +from typing import Final, TypeAlias from Base.PyObjectBase import PyObjectBase from Base.Metadata import export +from Base import Vector + +PyCXXVector: TypeAlias = Vector # Dirty trick to workaround current generator limitations + @export( Include="Mod/TechDraw/App/Cosmetic.h", @@ -13,7 +21,7 @@ from Base.Metadata import export class CosmeticEdge(PyObjectBase): """ CosmeticEdge specifies an extra (cosmetic) edge in Views - + Author: WandererFan (wandererfan@gmail.com) License: LGPL-2.1-or-later """ diff --git a/src/Mod/TechDraw/App/CosmeticExtension.pyi b/src/Mod/TechDraw/App/CosmeticExtension.pyi index 07218eb29f..cd713a0a77 100644 --- a/src/Mod/TechDraw/App/CosmeticExtension.pyi +++ b/src/Mod/TechDraw/App/CosmeticExtension.pyi @@ -1,7 +1,12 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from App.DocumentObjectExtension import DocumentObjectExtension + @export( Include="Mod/TechDraw/App/CosmeticExtension.h", Namespace="TechDraw", @@ -9,7 +14,7 @@ from App.DocumentObjectExtension import DocumentObjectExtension class CosmeticExtension(DocumentObjectExtension): """ This object represents cosmetic features for a DrawViewPart. - + Author: WandererFan (wandererfan@gmail.com) License: LGPL-2.1-or-later """ diff --git a/src/Mod/TechDraw/App/CosmeticVertex.pyi b/src/Mod/TechDraw/App/CosmeticVertex.pyi index ae3da97780..f5b26a4c4f 100644 --- a/src/Mod/TechDraw/App/CosmeticVertex.pyi +++ b/src/Mod/TechDraw/App/CosmeticVertex.pyi @@ -1,8 +1,13 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any, Final from Base.PyObjectBase import PyObjectBase from Base.Metadata import constmethod, export + @export( Include="Mod/TechDraw/App/Cosmetic.h", Namespace="TechDraw", @@ -12,7 +17,7 @@ from Base.Metadata import constmethod, export class CosmeticVertex(PyObjectBase): """ CosmeticVertex specifies an extra (cosmetic) vertex in Views - + Author: WandererFan (wandererfan@gmail.com) License: LGPL-2.1-or-later """ @@ -26,6 +31,7 @@ class CosmeticVertex(PyObjectBase): def copy(self) -> Any: """Create a copy of this CosmeticVertex""" ... + Tag: Final[str] """Gives the tag of the CosmeticVertex as string.""" @@ -35,7 +41,7 @@ class CosmeticVertex(PyObjectBase): Show: bool """Show/hide the vertex.""" - Color: Any # type: tuple[float, float, float, float]] + Color: Any # type: tuple[float, float, float, float]] """set/return the vertex's colour using a tuple (rgba).""" Size: Any diff --git a/src/Mod/TechDraw/App/DrawBrokenView.pyi b/src/Mod/TechDraw/App/DrawBrokenView.pyi index 73cec4d14d..08ec3a064a 100644 --- a/src/Mod/TechDraw/App/DrawBrokenView.pyi +++ b/src/Mod/TechDraw/App/DrawBrokenView.pyi @@ -1,8 +1,13 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any from Base.Metadata import export from TechDraw.DrawViewPart import DrawViewPart + @export( Include="Mod/TechDraw/App/DrawBrokenView.h", Namespace="TechDraw", @@ -11,7 +16,7 @@ from TechDraw.DrawViewPart import DrawViewPart class DrawBrokenView(DrawViewPart): """ Feature for creating and manipulating Technical Drawing broken views - + Author: WandererFan (wandererfan@gmail.com) License: LGPL-2.1-or-later """ diff --git a/src/Mod/TechDraw/App/DrawGeomHatch.pyi b/src/Mod/TechDraw/App/DrawGeomHatch.pyi index de603f8670..c5cf8f4a0b 100644 --- a/src/Mod/TechDraw/App/DrawGeomHatch.pyi +++ b/src/Mod/TechDraw/App/DrawGeomHatch.pyi @@ -1,8 +1,13 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any from Base.Metadata import export from App.DocumentObject import DocumentObject + @export( Include="Mod/TechDraw/App/DrawGeomHatch.h", Namespace="TechDraw", @@ -10,7 +15,7 @@ from App.DocumentObject import DocumentObject class DrawGeomHatch(DocumentObject): """ Feature for creating and manipulating Technical Drawing GeomHatch areas - + Author: WandererFan (wandererfan@gmail.com) License: LGPL-2.1-or-later """ diff --git a/src/Mod/TechDraw/App/DrawHatch.pyi b/src/Mod/TechDraw/App/DrawHatch.pyi index 690f6c8f9f..c0d6955ccc 100644 --- a/src/Mod/TechDraw/App/DrawHatch.pyi +++ b/src/Mod/TechDraw/App/DrawHatch.pyi @@ -1,7 +1,12 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any from Base.Metadata import export from App.DocumentObject import DocumentObject + @export( Include="Mod/TechDraw/App/DrawHatch.h", Namespace="TechDraw", @@ -9,7 +14,7 @@ from App.DocumentObject import DocumentObject class DrawHatch(DocumentObject): """ Feature for creating and manipulating Technical Drawing Hatch areas - + Author: WandererFan (wandererfan@gmail.com) License: LGPL-2.1-or-later """ diff --git a/src/Mod/TechDraw/App/DrawLeaderLine.pyi b/src/Mod/TechDraw/App/DrawLeaderLine.pyi index 797e4a9438..760455f91c 100644 --- a/src/Mod/TechDraw/App/DrawLeaderLine.pyi +++ b/src/Mod/TechDraw/App/DrawLeaderLine.pyi @@ -1,6 +1,11 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from DrawView import DrawView + @export( Include="Mod/TechDraw/App/DrawLeaderLine.h", Namespace="TechDraw", @@ -9,7 +14,7 @@ from DrawView import DrawView class DrawLeaderLine(DrawView): """ Feature for adding leaders to Technical Drawings - + Author: WandererFan (wandererfan@gmail.com) License: LGPL-2.1-or-later """ diff --git a/src/Mod/TechDraw/App/DrawPage.pyi b/src/Mod/TechDraw/App/DrawPage.pyi index f76b42d7e8..ba0667774a 100644 --- a/src/Mod/TechDraw/App/DrawPage.pyi +++ b/src/Mod/TechDraw/App/DrawPage.pyi @@ -1,8 +1,13 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any, Final from Base.Metadata import export from App.DocumentObject import DocumentObject + @export( Include="Mod/TechDraw/App/DrawPage.h", Namespace="TechDraw", @@ -10,7 +15,7 @@ from App.DocumentObject import DocumentObject class DrawPage(DocumentObject): """ Feature for creating and manipulating Technical Drawing Pages - + Author: WandererFan (wandererfan@gmail.com) License: LGPL-2.1-or-later """ @@ -41,6 +46,7 @@ class DrawPage(DocumentObject): def requestPaint(self) -> Any: """Ask the Gui to redraw this page""" ... + PageWidth: Final[float] """Returns the width of this page""" diff --git a/src/Mod/TechDraw/App/DrawParametricTemplate.pyi b/src/Mod/TechDraw/App/DrawParametricTemplate.pyi index 1bdc533308..b4afc2103d 100644 --- a/src/Mod/TechDraw/App/DrawParametricTemplate.pyi +++ b/src/Mod/TechDraw/App/DrawParametricTemplate.pyi @@ -1,8 +1,13 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any, Final from Base.Metadata import export from DrawTemplate import DrawTemplate + @export( Include="Mod/TechDraw/App/DrawParametricTemplate.h", Namespace="TechDraw", @@ -11,7 +16,7 @@ from DrawTemplate import DrawTemplate class DrawParametricTemplate(DrawTemplate): """ Feature for creating and manipulating Technical Drawing Templates - + Author: Luke Parry (l.parry@warwick.ac.uk) License: LGPL-2.1-or-later """ @@ -19,5 +24,6 @@ class DrawParametricTemplate(DrawTemplate): def drawLine(self) -> Any: """Draw a line""" ... + GeometryCount: Final[int] """Number of geometry in template""" diff --git a/src/Mod/TechDraw/App/DrawProjGroup.pyi b/src/Mod/TechDraw/App/DrawProjGroup.pyi index 489b009b0e..948e4b1563 100644 --- a/src/Mod/TechDraw/App/DrawProjGroup.pyi +++ b/src/Mod/TechDraw/App/DrawProjGroup.pyi @@ -1,8 +1,13 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any from Base.Metadata import export from TechDraw.DrawViewCollection import DrawViewCollection + @export( Include="Mod/TechDraw/App/DrawProjGroup.h", Namespace="TechDraw", @@ -11,7 +16,7 @@ from TechDraw.DrawViewCollection import DrawViewCollection class DrawProjGroup(DrawViewCollection): """ Feature for creating and manipulating Technical Drawing Projection Groups - + Author: WandererFan (wandererfan@gmail.com) License: LGPL-2.1-or-later """ diff --git a/src/Mod/TechDraw/App/DrawProjGroupItem.pyi b/src/Mod/TechDraw/App/DrawProjGroupItem.pyi index e2848a4d63..3a147263e1 100644 --- a/src/Mod/TechDraw/App/DrawProjGroupItem.pyi +++ b/src/Mod/TechDraw/App/DrawProjGroupItem.pyi @@ -1,8 +1,13 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any from Base.Metadata import export from TechDraw.DrawViewPart import DrawViewPart + @export( Include="Mod/TechDraw/App/DrawProjGroupItem.h", Namespace="TechDraw", @@ -11,7 +16,7 @@ from TechDraw.DrawViewPart import DrawViewPart class DrawProjGroupItem(DrawViewPart): """ Feature for creating and manipulating component Views Technical Drawing Projection Groups - + Author: WandererFan (wandererfan@gmail.com) License: LGPL-2.1-or-later """ diff --git a/src/Mod/TechDraw/App/DrawRichAnno.pyi b/src/Mod/TechDraw/App/DrawRichAnno.pyi index 258184f688..438382592d 100644 --- a/src/Mod/TechDraw/App/DrawRichAnno.pyi +++ b/src/Mod/TechDraw/App/DrawRichAnno.pyi @@ -1,6 +1,11 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from TechDraw.DrawView import DrawView + @export( Include="Mod/TechDraw/App/DrawRichAnno.h", Namespace="TechDraw", @@ -9,7 +14,7 @@ from TechDraw.DrawView import DrawView class DrawRichAnno(DrawView): """ Feature for adding rich annotation blocks to Technical Drawings - + Author: WandererFan (wandererfan@gmail.com) License: LGPL-2.1-or-later """ diff --git a/src/Mod/TechDraw/App/DrawSVGTemplate.pyi b/src/Mod/TechDraw/App/DrawSVGTemplate.pyi index 2cc9f29114..095e27c73c 100644 --- a/src/Mod/TechDraw/App/DrawSVGTemplate.pyi +++ b/src/Mod/TechDraw/App/DrawSVGTemplate.pyi @@ -1,8 +1,13 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any from Base.Metadata import export from DrawTemplate import DrawTemplate + @export( Include="Mod/TechDraw/App/DrawSVGTemplate.h", Namespace="TechDraw", @@ -11,7 +16,7 @@ from DrawTemplate import DrawTemplate class DrawSVGTemplate(DrawTemplate): """ Feature for creating and manipulating Technical Drawing SVG Templates - + Author: Luke Parry (l.parry@warwick.ac.uk) License: LGPL-2.1-or-later """ diff --git a/src/Mod/TechDraw/App/DrawTemplate.pyi b/src/Mod/TechDraw/App/DrawTemplate.pyi index 26639c1638..01ebfcc497 100644 --- a/src/Mod/TechDraw/App/DrawTemplate.pyi +++ b/src/Mod/TechDraw/App/DrawTemplate.pyi @@ -1,7 +1,12 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from App.DocumentObject import DocumentObject + @export( Include="Mod/TechDraw/App/DrawTemplate.h", Namespace="TechDraw", @@ -9,7 +14,7 @@ from App.DocumentObject import DocumentObject class DrawTemplate(DocumentObject): """ Feature for creating and manipulating Technical Drawing Templates - + Author: Luke Parry (l.parry@warwick.ac.uk) License: LGPL-2.1-or-later """ diff --git a/src/Mod/TechDraw/App/DrawTile.pyi b/src/Mod/TechDraw/App/DrawTile.pyi index f6db6b7b25..08ebfcf377 100644 --- a/src/Mod/TechDraw/App/DrawTile.pyi +++ b/src/Mod/TechDraw/App/DrawTile.pyi @@ -1,7 +1,12 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from App.DocumentObject import DocumentObject + @export( Include="Mod/TechDraw/App/DrawTile.h", Namespace="TechDraw", @@ -9,7 +14,7 @@ from App.DocumentObject import DocumentObject class DrawTile(DocumentObject): """ Feature for adding tiles to leader lines - + Author: WandererFan (wandererfan@gmail.com) License: LGPL-2.1-or-later """ diff --git a/src/Mod/TechDraw/App/DrawTileWeld.pyi b/src/Mod/TechDraw/App/DrawTileWeld.pyi index b90ddf5c31..aea72b50b5 100644 --- a/src/Mod/TechDraw/App/DrawTileWeld.pyi +++ b/src/Mod/TechDraw/App/DrawTileWeld.pyi @@ -1,6 +1,11 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from TechDraw.DrawTile import DrawTile + @export( Include="Mod/TechDraw/App/DrawTileWeld.h", Namespace="TechDraw", @@ -9,7 +14,7 @@ from TechDraw.DrawTile import DrawTile class DrawTileWeld(DrawTile): """ Feature for adding welding tiles to leader lines - + Author: WandererFan (wandererfan@gmail.com) License: LGPL-2.1-or-later """ diff --git a/src/Mod/TechDraw/App/DrawView.pyi b/src/Mod/TechDraw/App/DrawView.pyi index c86dcce3e5..d255f7d5d4 100644 --- a/src/Mod/TechDraw/App/DrawView.pyi +++ b/src/Mod/TechDraw/App/DrawView.pyi @@ -1,9 +1,14 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any from Base.Metadata import export from App.DocumentObject import DocumentObject + @export( Include="Mod/TechDraw/App/DrawView.h", Namespace="TechDraw", @@ -11,7 +16,7 @@ from App.DocumentObject import DocumentObject class DrawView(DocumentObject): """ Feature for creating and manipulating Technical Drawing Views - + Author: WandererFan (wandererfan@gmail.com) License: LGPL-2.1-or-later """ diff --git a/src/Mod/TechDraw/App/DrawViewAnnotation.pyi b/src/Mod/TechDraw/App/DrawViewAnnotation.pyi index 504207e028..b8cdc51ad1 100644 --- a/src/Mod/TechDraw/App/DrawViewAnnotation.pyi +++ b/src/Mod/TechDraw/App/DrawViewAnnotation.pyi @@ -1,6 +1,11 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from TechDraw.Drawview import DrawView + @export( Include="Mod/TechDraw/App/DrawViewAnnotation.h", Namespace="TechDraw", @@ -9,7 +14,7 @@ from TechDraw.Drawview import DrawView class DrawViewAnnotation(DrawView): """ Feature for creating and manipulating Technical Drawing Annotation Views - + Author: WandererFan (wandererfan@gmail.com) License: LGPL-2.1-or-later """ diff --git a/src/Mod/TechDraw/App/DrawViewClip.pyi b/src/Mod/TechDraw/App/DrawViewClip.pyi index 0288c0fff0..17a26c4bbb 100644 --- a/src/Mod/TechDraw/App/DrawViewClip.pyi +++ b/src/Mod/TechDraw/App/DrawViewClip.pyi @@ -1,17 +1,22 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any from Base.Metadata import export from TechDraw.DrawView import DrawView + @export( Include="Mod/TechDraw/App/DrawViewClip.h", Namespace="TechDraw", - FatherInclude="Mod/TechDraw/App/DrawViewPy.h", + FatherInclude="Mod/TechDraw/App/DrawViewPy.h", ) class DrawViewClip(DrawView): """ Feature for creating and manipulating Technical Drawing Clip Views - + Author: WandererFan (wandererfan@gmail.com) License: LGPL-2.1-or-later """ diff --git a/src/Mod/TechDraw/App/DrawViewCollection.pyi b/src/Mod/TechDraw/App/DrawViewCollection.pyi index 216c7cbfeb..643dcc35aa 100644 --- a/src/Mod/TechDraw/App/DrawViewCollection.pyi +++ b/src/Mod/TechDraw/App/DrawViewCollection.pyi @@ -1,8 +1,13 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any from Base.Metadata import export from TechDraw.DrawView import DrawView + @export( Include="Mod/TechDraw/App/DrawViewCollection.h", Namespace="TechDraw", @@ -11,7 +16,7 @@ from TechDraw.DrawView import DrawView class DrawViewCollection(DrawView): """ Feature for creating and manipulating Technical Drawing View Collections - + Author: WandererFan (wandererfan@gmail.com) License: LGPL-2.1-or-later """ diff --git a/src/Mod/TechDraw/App/DrawViewDimExtent.pyi b/src/Mod/TechDraw/App/DrawViewDimExtent.pyi index e9aeb5b3ba..381dc0db1c 100644 --- a/src/Mod/TechDraw/App/DrawViewDimExtent.pyi +++ b/src/Mod/TechDraw/App/DrawViewDimExtent.pyi @@ -1,8 +1,13 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any from Base.Metadata import export from TechDraw.DrawViewDimension import DrawViewDimension + @export( Include="Mod/TechDraw/App/DrawViewDimExtent.h", Namespace="TechDraw", @@ -11,7 +16,7 @@ from TechDraw.DrawViewDimension import DrawViewDimension class DrawViewDimExtent(DrawViewDimension): """ Feature for creating and manipulating Technical Drawing DimExtents - + Author: WandererFan (wandererfan@gmail.com) License: LGPL-2.1-or-later """ diff --git a/src/Mod/TechDraw/App/DrawViewDimension.pyi b/src/Mod/TechDraw/App/DrawViewDimension.pyi index 362f33dee1..80db3445f3 100644 --- a/src/Mod/TechDraw/App/DrawViewDimension.pyi +++ b/src/Mod/TechDraw/App/DrawViewDimension.pyi @@ -1,8 +1,13 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any from Base.Metadata import export from TechDraw.DrawView import DrawView + @export( Include="Mod/TechDraw/App/DrawViewDimension.h", Namespace="TechDraw", @@ -11,7 +16,7 @@ from TechDraw.DrawView import DrawView class DrawViewDimension(DrawView): """ Feature for creating and manipulating Technical Drawing Dimensions - + Author: WandererFan (wandererfan@gmail.com) License: LGPL-2.1-or-later """ diff --git a/src/Mod/TechDraw/App/DrawViewPart.pyi b/src/Mod/TechDraw/App/DrawViewPart.pyi index 8cdd911e2c..5a7126a079 100644 --- a/src/Mod/TechDraw/App/DrawViewPart.pyi +++ b/src/Mod/TechDraw/App/DrawViewPart.pyi @@ -1,8 +1,13 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any from Base.Metadata import export from TechDraw.rawView import DrawView + @export( Include="Mod/TechDraw/App/DrawViewPart.h", Namespace="TechDraw", @@ -11,7 +16,7 @@ from TechDraw.rawView import DrawView class DrawViewPart(DrawView): """ Feature for creating and manipulating Technical Drawing Part Views - + Author: WandererFan (wandererfan@gmail.com) License: LGPL-2.1-or-later """ diff --git a/src/Mod/TechDraw/App/DrawViewSymbol.pyi b/src/Mod/TechDraw/App/DrawViewSymbol.pyi index b30eefac83..3c7efd1eb0 100644 --- a/src/Mod/TechDraw/App/DrawViewSymbol.pyi +++ b/src/Mod/TechDraw/App/DrawViewSymbol.pyi @@ -1,8 +1,13 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any from Base.Metadata import export from TechDraw.DrawView import DrawView + @export( Include="Mod/TechDraw/App/DrawViewSymbol.h", Namespace="TechDraw", @@ -11,7 +16,7 @@ from TechDraw.DrawView import DrawView class DrawViewSymbol(DrawView): """ Feature for creating and manipulating Drawing SVG Symbol Views - + Author: WandererFan (wandererfan@gmail.com) License: LGPL-2.1-or-later """ diff --git a/src/Mod/TechDraw/App/DrawWeldSymbol.pyi b/src/Mod/TechDraw/App/DrawWeldSymbol.pyi index 589aa83a62..9749f70e6d 100644 --- a/src/Mod/TechDraw/App/DrawWeldSymbol.pyi +++ b/src/Mod/TechDraw/App/DrawWeldSymbol.pyi @@ -1,6 +1,11 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from Base.Metadata import export from TechDraw.DrawView import DrawView + @export( Include="Mod/TechDraw/App/DrawWeldSymbol.h", Namespace="TechDraw", @@ -9,7 +14,7 @@ from TechDraw.DrawView import DrawView class DrawWeldSymbol(DrawView): """ Feature for adding welding tiles to leader lines - + Author: WandererFan (wandererfan@gmail.com) License: LGPL-2.1-or-later """ diff --git a/src/Mod/TechDraw/App/GeomFormat.pyi b/src/Mod/TechDraw/App/GeomFormat.pyi index a69a9ee5e9..5ba5b4ea39 100644 --- a/src/Mod/TechDraw/App/GeomFormat.pyi +++ b/src/Mod/TechDraw/App/GeomFormat.pyi @@ -1,8 +1,13 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +from __future__ import annotations + from typing import Any, Final from Base.PyObjectBase import PyObjectBase from Base.Metadata import constmethod, export + @export( Include="Mod/TechDraw/App/Cosmetic.h", Namespace="TechDraw", @@ -12,7 +17,7 @@ from Base.Metadata import constmethod, export class GeomFormat(PyObjectBase): """ GeomFormat specifies appearance parameters for TechDraw Geometry objects - + Author: WandererFan (wandererfan@gmail.com) License: LGPL-2.1-or-later """ @@ -26,5 +31,6 @@ class GeomFormat(PyObjectBase): def copy(self) -> Any: """Create a copy of this geomformat""" ... + Tag: Final[str] """Gives the tag of the GeomFormat as string.""" diff --git a/src/Tools/bindings/model/generateModel_Python.py b/src/Tools/bindings/model/generateModel_Python.py index 1782ffbcc3..3bb87271b2 100644 --- a/src/Tools/bindings/model/generateModel_Python.py +++ b/src/Tools/bindings/model/generateModel_Python.py @@ -2,7 +2,10 @@ """Parses Python binding interface files into a typed AST model.""" -import ast, re +from dataclasses import dataclass +from enum import Enum +import ast +import re from typing import List from model.typedModel import ( GenerateModel, @@ -16,6 +19,221 @@ from model.typedModel import ( SequenceProtocol, ) +SIGNATURE_SEP = re.compile(r"\s+--\s+", re.DOTALL) +SELF_CLS_ARG = re.compile(r"\(\s*(self|cls)(\s*,\s*)?") + + +class ArgumentKind(Enum): + PositionOnly = 0 + Arg = 1 + VarArg = 2 + KwOnly = 3 + KwArg = 4 + + +@dataclass +class FuncArgument: + name: str + annotation: str + kind: ArgumentKind + + +class FunctionSignature: + """ + Parse function arguments with correct classification and order. + """ + + args: list[FuncArgument] + has_keywords: bool + docstring: str + annotated_text: str + text: str + + const_flag: bool = False + static_flag: bool = False + class_flag: bool = False + noargs_flag: bool = False + is_overload: bool = False + + def __init__(self, func: ast.FunctionDef): + self.args = [] + self.has_keywords = False + self.is_overload = False + self.docstring = ast.get_docstring(func) or "" + + args = func.args + self.update_flags(func) + + self.args.extend( + ( + FuncArgument( + arg.arg, + self.get_annotation_str(arg.annotation), + ArgumentKind.PositionOnly, + ) + for arg in args.posonlyargs + ), + ) + + self.args.extend( + ( + FuncArgument( + arg.arg, + self.get_annotation_str(arg.annotation), + ArgumentKind.Arg, + ) + for arg in args.args + ), + ) + + # tricky part to determine if there are keyword arguments or not + if args.args: + if args.args[0].arg in ("self", "cls"): + instance_args = len(args.args) > 1 + else: + instance_args = True + else: + instance_args = False + + self.has_keywords = bool(instance_args or args.kwonlyargs or args.kwarg) + + if args.vararg: + self.args.append( + FuncArgument( + args.vararg.arg, + self.get_annotation_str(args.vararg.annotation), + ArgumentKind.VarArg, + ), + ) + + self.args.extend( + ( + FuncArgument( + arg.arg, + self.get_annotation_str(arg.annotation), + ArgumentKind.KwOnly, + ) + for arg in args.kwonlyargs + ), + ) + + if args.kwarg: + self.args.append( + FuncArgument( + args.kwarg.arg, + self.get_annotation_str(args.kwarg.annotation), + ArgumentKind.KwArg, + ), + ) + + # Annotated signatures (Not supported by __text_signature__) + returns = ast.unparse(func.returns) if func.returns else "object" + parameters = ast.unparse(func.args) + self.annotated_text = SELF_CLS_ARG.sub("(", f"{func.name}({parameters}) -> {returns}", 1) + + # Not Annotated signatures (supported by __text_signature__) + all_args = [*args.posonlyargs, *args.args, args.vararg, *args.kwonlyargs, args.kwarg] + for item in all_args: + if item: + item.annotation = None + parameters = ast.unparse(args) + self.text = SELF_CLS_ARG.sub(r"($\1\2", f"{func.name}({parameters})", 1) + + def get_annotation_str(self, node: ast.AST | None) -> str: + if not node: + return "object" + return ast.unparse(node) + + def update_flags(self, func: ast.FunctionDef) -> None: + for deco in func.decorator_list: + match deco: + case ast.Name(id, _): + name = id + case ast.Attribute(_, attr, _): + name = attr + case _: + continue + + match name: + case "constmethod": + self.const_flag = True + case "classmethod": + self.class_flag = True + case "no_args": + self.noargs_flag = True + case "staticmethod": + self.static_flag = True + case "overload": + self.is_overload = True + + +class Function: + name: str + signatures: list[FunctionSignature] + + def __init__(self, func: ast.FunctionDef) -> None: + self.name = func.name + self.signatures = [FunctionSignature(func)] + + def update(self, func: ast.FunctionDef) -> None: + self.signatures.append(FunctionSignature(func)) + + @property + def docstring(self) -> str: + return "\n".join((f.docstring for f in self.signatures)) + + @property + def has_keywords(self) -> bool: + overloads = len(self.signatures) > 1 + if overloads: + return any(sig.has_keywords for sig in self.signatures if sig.is_overload) + return self.signatures[0].has_keywords + + @property + def signature(self) -> FunctionSignature | None: + """First non overload signature""" + for sig in self.signatures: + if not sig.is_overload: + return sig + return None + + @property + def static_flag(self) -> bool: + return any(sig.static_flag for sig in self.signatures) + + @property + def const_flag(self) -> bool: + return any(sig.const_flag for sig in self.signatures) + + @property + def class_flag(self) -> bool: + return any(sig.class_flag for sig in self.signatures) + + @property + def noargs_flag(self) -> bool: + return any(sig.noargs_flag for sig in self.signatures) + + def add_signature_docs(self, doc: Documentation) -> None: + if len(self.signatures) == 1: + docstring = [self.signatures[0].text] + signature = [self.signatures[0].annotated_text] + else: + docstring = [sig.text for sig in self.signatures if not sig.is_overload] + signature = [sig.annotated_text for sig in self.signatures if sig.is_overload] + + if not docstring: + return + + user_doc = doc.UserDocu or "" + marker = SIGNATURE_SEP.search(user_doc) + if marker: + user_doc = user_doc[marker.end() :].strip() + + docstring.append("--\n") # mark __text_signature__ + docstring.extend(signature) # Include real annotated signature in user docstring + docstring.append(f"\n{user_doc}") # Rest of the docstring + doc.UserDocu = "\n".join(docstring) + def _extract_decorator_kwargs(decorator: ast.expr) -> dict: """ @@ -201,7 +419,12 @@ def _parse_class_attributes(class_node: ast.ClassDef, source_code: str) -> List[ attr_doc = _parse_docstring_for_documentation(docstring) param = Parameter(Name=name, Type=param_type) - attr = Attribute(Documentation=attr_doc, Parameter=param, Name=name, ReadOnly=readonly) + attr = Attribute( + Documentation=attr_doc, + Parameter=param, + Name=name, + ReadOnly=readonly, + ) attributes.append(attr) return attributes @@ -216,7 +439,7 @@ def _parse_methods(class_node: ast.ClassDef) -> List[Methode]: """ methods = [] - def collect_function_defs(nodes): + def collect_function_defs(nodes) -> list[ast.FunctionDef]: funcs = [] for node in nodes: if isinstance(node, ast.FunctionDef): @@ -226,99 +449,43 @@ def _parse_methods(class_node: ast.ClassDef) -> List[Methode]: funcs.extend(collect_function_defs(node.orelse)) return funcs - for stmt in collect_function_defs(class_node.body): - # Skip methods decorated with @overload - skip_method = False - for deco in stmt.decorator_list: - match deco: - case ast.Name(id="overload"): - skip_method = True - break - case ast.Attribute(attr="overload"): - skip_method = True - break - case _: - pass - if skip_method: - continue + # Collect including overloads + functions: dict[str, Function] = {} + for func_node in collect_function_defs(class_node.body): + if func := functions.get(func_node.name): + func.update(func_node) + else: + functions[func_node.name] = Function(func_node) - # Extract method name - method_name = stmt.name - - # Extract docstring - method_docstring = ast.get_docstring(stmt) or "" - doc_obj = _parse_docstring_for_documentation(method_docstring) - has_keyword_args = False + for func in functions.values(): + doc_obj = _parse_docstring_for_documentation(func.docstring) + func.add_signature_docs(doc_obj) method_params = [] - # Helper for extracting an annotation string - def get_annotation_str(annotation): - match annotation: - case ast.Name(id=name): - return name - case ast.Attribute(value=ast.Name(id=name), attr=attr): - return f"{name}.{attr}" - case ast.Subscript(value=ast.Name(id=name), slice=_): - return name - case ast.Subscript( - value=ast.Attribute(value=ast.Name(id=name), attr=attr), slice=_ - ): - return f"{name}.{attr}" - case _: - return "object" + signature = func.signature + if signature is None: + continue # Process positional parameters (skipping self/cls) - for arg in stmt.args.args: - param_name = arg.arg - if param_name in ("self", "cls"): + for arg_i, arg in enumerate(signature.args): + param_name = arg.name + if arg_i == 0 and param_name in ("self", "cls"): continue - annotation_str = "object" - if arg.annotation: - annotation_str = get_annotation_str(arg.annotation) - param_type = _python_type_to_parameter_type(annotation_str) + param_type = _python_type_to_parameter_type(arg.annotation) method_params.append(Parameter(Name=param_name, Type=param_type)) - # Process keyword-only parameters - for kwarg in stmt.args.kwonlyargs: - has_keyword_args = True - param_name = kwarg.arg - annotation_str = "object" - if kwarg.annotation: - annotation_str = get_annotation_str(kwarg.annotation) - param_type = _python_type_to_parameter_type(annotation_str) - method_params.append(Parameter(Name=param_name, Type=param_type)) - - if stmt.args.kwarg: - has_keyword_args = True - - keyword_flag = has_keyword_args and not stmt.args.vararg - - # Check for various decorators using any(...) - const_method_flag = any( - isinstance(deco, ast.Name) and deco.id == "constmethod" for deco in stmt.decorator_list - ) - static_method_flag = any( - isinstance(deco, ast.Name) and deco.id == "staticmethod" for deco in stmt.decorator_list - ) - class_method_flag = any( - isinstance(deco, ast.Name) and deco.id == "classmethod" for deco in stmt.decorator_list - ) - no_args = any( - isinstance(deco, ast.Name) and deco.id == "no_args" for deco in stmt.decorator_list - ) - - methode = Methode( - Name=method_name, + method = Methode( + Name=func.name, Documentation=doc_obj, Parameter=method_params, - Const=const_method_flag, - Static=static_method_flag, - Class=class_method_flag, - Keyword=keyword_flag, - NoArgs=no_args, + Const=func.const_flag, + Static=func.static_flag, + Class=func.class_flag, + Keyword=func.has_keywords, + NoArgs=func.noargs_flag, ) - methods.append(methode) + methods.append(method) return methods