Merge pull request #24262 from mnesarco/pyi-fixes-1
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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":
|
||||
|
||||
@@ -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.
|
||||
"""
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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."""
|
||||
|
||||
@@ -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."""
|
||||
...
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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."""
|
||||
...
|
||||
|
||||
@@ -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.
|
||||
"""
|
||||
...
|
||||
|
||||
@@ -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.
|
||||
"""
|
||||
...
|
||||
|
||||
@@ -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"""
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
"""
|
||||
...
|
||||
|
||||
@@ -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
|
||||
"""
|
||||
|
||||
@@ -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
|
||||
"""
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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."""
|
||||
"""Materials must have complete versions of the specified models."""
|
||||
|
||||
@@ -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):
|
||||
"""
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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.
|
||||
"""
|
||||
...
|
||||
...
|
||||
|
||||
@@ -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
|
||||
"""
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
"""
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
"""
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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).
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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.
|
||||
"""
|
||||
|
||||
@@ -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.
|
||||
"""
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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.
|
||||
"""
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user