From 6992ac67b022bd7ae0f61cd7eeb0810577b158c6 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Sun, 30 Jun 2024 17:57:36 +0200 Subject: [PATCH] .pyi files work slightly better with these changes. Also: regenerating Python stubs. --- scripts/make_stubs.sh | 2 +- scripts/stubgen.py | 8 +- src/pymod/distutils_src/klayout/dbcore.pyi | 7240 +++++++++++++++++-- src/pymod/distutils_src/klayout/laycore.pyi | 5369 +++++++++++++- src/pymod/distutils_src/klayout/libcore.pyi | 1 + src/pymod/distutils_src/klayout/rdbcore.pyi | 297 +- src/pymod/distutils_src/klayout/tlcore.pyi | 440 +- 7 files changed, 12682 insertions(+), 675 deletions(-) diff --git a/scripts/make_stubs.sh b/scripts/make_stubs.sh index b5fc4a9f9..e9f5bad03 100755 --- a/scripts/make_stubs.sh +++ b/scripts/make_stubs.sh @@ -55,7 +55,7 @@ echo "Generating stubs for tl .." $python $inst/stubgen.py tl >$pyi_srcdir/tlcore.pyi echo "Generating stubs for db .." -$python $inst/stubgen.py db tl >$pyi_srcdir/dbcore.pyi +$python $inst/stubgen.py db tl,lay,rdb >$pyi_srcdir/dbcore.pyi echo "Generating stubs for rdb .." $python $inst/stubgen.py rdb tl,db >$pyi_srcdir/rdbcore.pyi diff --git a/scripts/stubgen.py b/scripts/stubgen.py index 18439602e..df40cc8cd 100644 --- a/scripts/stubgen.py +++ b/scripts/stubgen.py @@ -192,6 +192,10 @@ class Stub: stub.format_stub(include_docstring=include_docstring), " " * 4 ) + if self.indent_docstring and (include_docstring or len(self.child_stubs)): + stub_str += "\n" + stub_str += indent("...", " " * 4) + return stub_str @@ -369,7 +373,8 @@ def get_py_methods( # Exceptions: # For X.__eq__(self, a:X), treat second argument as type object instead of X if name in ("__eq__", "__ne__"): - arg_list[1] = arg_list[1][0], "object" + if arg_list[1][1].cls() is not None and arg_list[1][1].cls().__gsi_id__ == c.__gsi_id__: + arg_list[1] = arg_list[1][0], "object" # X._assign(self, other:X), mypy complains if _assign is defined at base class. # We can't specialize other in this case. elif name in ("_assign", "assign"): @@ -454,6 +459,7 @@ def get_module_stubs(module: str) -> List[ClassStub]: def print_mod(module, dependencies): print("from typing import Any, ClassVar, Dict, Sequence, List, Iterator, Optional") print("from typing import overload") + print("from __future__ import annotations") for dep in dependencies: print(f"import klayout.{dep} as {dep}") for stub in get_module_stubs(module): diff --git a/src/pymod/distutils_src/klayout/dbcore.pyi b/src/pymod/distutils_src/klayout/dbcore.pyi index 9c7f10969..4cd0e8ea6 100644 --- a/src/pymod/distutils_src/klayout/dbcore.pyi +++ b/src/pymod/distutils_src/klayout/dbcore.pyi @@ -1,6 +1,9 @@ from typing import Any, ClassVar, Dict, Sequence, List, Iterator, Optional from typing import overload +from __future__ import annotations import klayout.tl as tl +import klayout.lay as lay +import klayout.rdb as rdb class Box: r""" @brief A box class with integer coordinates @@ -76,6 +79,7 @@ class Box: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_dbox'. """ + ... @classmethod def from_s(cls, s: str) -> Box: r""" @@ -84,6 +88,7 @@ class Box: This method has been added in version 0.23. """ + ... @overload @classmethod def new(cls) -> Box: @@ -92,6 +97,7 @@ class Box: Empty boxes don't modify a box when joined with it. The intersection between an empty and any other box is also an empty box. The width, height, p1 and p2 attributes of an empty box are undefined. Use \empty? to get a value indicating whether the box is empty. """ + ... @overload @classmethod def new(cls, dbox: DBox) -> Box: @@ -100,6 +106,7 @@ class Box: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_dbox'. """ + ... @overload @classmethod def new(cls, left: int, bottom: int, right: int, top: int) -> Box: @@ -109,6 +116,7 @@ class Box: Four coordinates are given to create a new box. If the coordinates are not provided in the correct order (i.e. right < left), these are swapped. """ + ... @overload @classmethod def new(cls, lower_left: Point, upper_right: Point) -> Box: @@ -118,6 +126,7 @@ class Box: Two points are given to create a new box. If the coordinates are not provided in the correct order (i.e. right < left), these are swapped. """ + ... @overload @classmethod def new(cls, w: int) -> Box: @@ -128,6 +137,7 @@ class Box: This convenience constructor has been introduced in version 0.28. """ + ... @overload @classmethod def new(cls, w: int, h: int) -> Box: @@ -138,6 +148,7 @@ class Box: This convenience constructor has been introduced in version 0.28. """ + ... @classmethod def world(cls) -> Box: r""" @@ -154,6 +165,7 @@ class Box: This method has been introduced in version 0.28. """ + ... @overload def __add__(self, box: Box) -> Box: r""" @@ -170,6 +182,7 @@ class Box: @return The joined box """ + ... @overload def __add__(self, point: Point) -> Box: r""" @@ -182,6 +195,7 @@ class Box: @return The box joined with the point """ + ... def __and__(self, box: Box) -> Box: r""" @brief Returns the intersection of this box with another box @@ -198,19 +212,23 @@ class Box: @return The intersection box """ + ... def __copy__(self) -> Box: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> Box: r""" @brief Creates a copy of self """ + ... def __eq__(self, box: object) -> bool: r""" @brief Returns true if this box is equal to the other box Returns true, if this box and the given box are equal """ + ... def __hash__(self) -> int: r""" @brief Computes a hash value @@ -218,6 +236,7 @@ class Box: This method has been introduced in version 0.25. """ + ... @overload def __init__(self) -> None: r""" @@ -225,6 +244,7 @@ class Box: Empty boxes don't modify a box when joined with it. The intersection between an empty and any other box is also an empty box. The width, height, p1 and p2 attributes of an empty box are undefined. Use \empty? to get a value indicating whether the box is empty. """ + ... @overload def __init__(self, dbox: DBox) -> None: r""" @@ -232,6 +252,7 @@ class Box: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_dbox'. """ + ... @overload def __init__(self, left: int, bottom: int, right: int, top: int) -> None: r""" @@ -240,6 +261,7 @@ class Box: Four coordinates are given to create a new box. If the coordinates are not provided in the correct order (i.e. right < left), these are swapped. """ + ... @overload def __init__(self, lower_left: Point, upper_right: Point) -> None: r""" @@ -248,6 +270,7 @@ class Box: Two points are given to create a new box. If the coordinates are not provided in the correct order (i.e. right < left), these are swapped. """ + ... @overload def __init__(self, w: int) -> None: r""" @@ -257,6 +280,7 @@ class Box: This convenience constructor has been introduced in version 0.28. """ + ... @overload def __init__(self, w: int, h: int) -> None: r""" @@ -266,11 +290,13 @@ class Box: This convenience constructor has been introduced in version 0.28. """ + ... def __lt__(self, box: Box) -> bool: r""" @brief Returns true if this box is 'less' than another box Returns true, if this box is 'less' with respect to first and second point (in this order) """ + ... @overload def __mul__(self, box: Box) -> Box: r""" @@ -287,6 +313,7 @@ class Box: @return The convolved box """ + ... @overload def __mul__(self, scale_factor: float) -> Box: r""" @@ -301,20 +328,13 @@ class Box: @return The scaled box """ + ... def __ne__(self, box: object) -> bool: r""" @brief Returns true if this box is not equal to the other box Returns true, if this box and the given box are not equal """ - def __repr__(self, dbu: Optional[float] = ...) -> str: - r""" - @brief Returns a string representing this box - - This string can be turned into a box again by using \from_s - . If a DBU is given, the output units will be micrometers. - - The DBU argument has been added in version 0.27.6. - """ + ... @overload def __rmul__(self, box: Box) -> Box: r""" @@ -331,6 +351,7 @@ class Box: @return The convolved box """ + ... @overload def __rmul__(self, scale_factor: float) -> Box: r""" @@ -345,6 +366,7 @@ class Box: @return The scaled box """ + ... def __str__(self, dbu: Optional[float] = ...) -> str: r""" @brief Returns a string representing this box @@ -354,6 +376,7 @@ class Box: The DBU argument has been added in version 0.27.6. """ + ... def __sub__(self, box: Box) -> Box: r""" @brief Subtraction of boxes @@ -368,29 +391,34 @@ class Box: This feature has been introduced in version 0.29. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -398,6 +426,7 @@ class Box: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -405,16 +434,19 @@ class Box: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def area(self) -> float: r""" @brief Computes the box area Returns the box area or 0 if the box is empty """ + ... def assign(self, other: Box) -> None: r""" @brief Assigns another object to self """ + ... def bbox(self) -> Box: r""" @brief Returns the bounding box @@ -422,10 +454,12 @@ class Box: This method has been introduced in version 0.27. """ + ... def center(self) -> Point: r""" @brief Gets the center of the box """ + ... @overload def contains(self, point: Point) -> bool: r""" @@ -439,6 +473,7 @@ class Box: @return true if the point is inside the box. """ + ... @overload def contains(self, x: int, y: int) -> bool: r""" @@ -450,33 +485,39 @@ class Box: @return true if the point is inside the box. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> Box: r""" @brief Creates a copy of self """ + ... def empty(self) -> bool: r""" @brief Returns a value indicating whether the box is empty An empty box may be created with the default constructor for example. Such a box is neutral when combining it with other boxes and renders empty boxes if used in box intersections and false in geometrical relationship tests. """ + ... @overload def enlarge(self, d: int) -> Box: r""" @@ -487,6 +528,7 @@ class Box: @return A reference to this box. """ + ... @overload def enlarge(self, dx: int, dy: int) -> Box: r""" @@ -498,6 +540,7 @@ class Box: @return A reference to this box. """ + ... @overload def enlarge(self, enlargement: Vector) -> Box: r""" @@ -517,6 +560,7 @@ class Box: @return A reference to this box. """ + ... @overload def enlarged(self, d: int) -> Box: r""" @@ -527,6 +571,7 @@ class Box: @return The enlarged box. """ + ... @overload def enlarged(self, dx: int, dy: int) -> Box: r""" @@ -538,6 +583,7 @@ class Box: @return The enlarged box. """ + ... @overload def enlarged(self, enlargement: Vector) -> Box: r""" @@ -557,6 +603,7 @@ class Box: @return The enlarged box. """ + ... def hash(self) -> int: r""" @brief Computes a hash value @@ -564,10 +611,12 @@ class Box: This method has been introduced in version 0.25. """ + ... def height(self) -> int: r""" @brief Gets the height of the box """ + ... def inside(self, box: Box) -> bool: r""" @brief Tests if this box is inside the argument box @@ -575,16 +624,19 @@ class Box: Returns true, if this box is inside the given box, i.e. the box intersection renders this box """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_point(self) -> bool: r""" @brief Returns true, if the box is a single point """ + ... @overload def move(self, distance: Vector) -> Box: r""" @@ -598,6 +650,7 @@ class Box: @return A reference to this box. """ + ... @overload def move(self, dx: int, dy: int) -> Box: r""" @@ -609,6 +662,7 @@ class Box: @return A reference to this box. """ + ... @overload def moved(self, distance: Vector) -> Box: r""" @@ -623,6 +677,7 @@ class Box: @return The moved box. """ + ... @overload def moved(self, dx: int, dy: int) -> Box: r""" @@ -634,6 +689,7 @@ class Box: @return The moved box. """ + ... def overlaps(self, box: Box) -> bool: r""" @brief Tests if this box overlaps the argument box @@ -641,6 +697,7 @@ class Box: Returns true, if the intersection box of this box with the argument box exists and has a non-vanishing area """ + ... def perimeter(self) -> int: r""" @brief Returns the perimeter of the box @@ -649,6 +706,7 @@ class Box: This method has been introduced in version 0.23. """ + ... def to_dtype(self, dbu: Optional[float] = ...) -> DBox: r""" @brief Converts the box to a floating-point coordinate box @@ -657,6 +715,7 @@ class Box: This method has been introduced in version 0.25. """ + ... def to_s(self, dbu: Optional[float] = ...) -> str: r""" @brief Returns a string representing this box @@ -666,6 +725,7 @@ class Box: The DBU argument has been added in version 0.27.6. """ + ... def touches(self, box: Box) -> bool: r""" @brief Tests if this box touches the argument box @@ -673,6 +733,7 @@ class Box: Two boxes touch if they overlap or their boundaries share at least one common point. Touching is equivalent to a non-empty intersection ('!(b1 & b2).empty?'). """ + ... @overload def transformed(self, t: CplxTrans) -> DBox: r""" @@ -682,6 +743,7 @@ class Box: @param t The magnifying transformation to apply @return The transformed box (a DBox now) """ + ... @overload def transformed(self, t: ICplxTrans) -> Box: r""" @@ -693,6 +755,7 @@ class Box: This method has been introduced in version 0.18. """ + ... @overload def transformed(self, t: Trans) -> Box: r""" @@ -702,10 +765,13 @@ class Box: @param t The transformation to apply @return The transformed box """ + ... def width(self) -> int: r""" @brief Gets the width of the box """ + ... + ... class Cell: r""" @@ -778,6 +844,7 @@ class Cell: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> Cell: r""" @brief Creates a copy of the cell @@ -786,6 +853,7 @@ class Cell: This method has been introduced in version 0.27. """ + ... def __deepcopy__(self) -> Cell: r""" @brief Creates a copy of the cell @@ -794,33 +862,39 @@ class Cell: This method has been introduced in version 0.27. """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -828,6 +902,7 @@ class Cell: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -835,6 +910,7 @@ class Cell: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def add_meta_info(self, info: LayoutMetaInfo) -> None: r""" @brief Adds meta information to the cell @@ -842,6 +918,7 @@ class Cell: This method has been introduced in version 0.28.8. """ + ... def basic_name(self) -> str: r""" @brief Returns the name of the library or PCell or the real name of the cell @@ -853,6 +930,7 @@ class Cell: This method has been introduced in version 0.22. """ + ... @overload def bbox(self) -> Box: r""" @@ -862,6 +940,7 @@ class Cell: The bounding box is computed over all layers. To compute the bounding box over single layers, use \bbox with a layer index argument. """ + ... @overload def bbox(self, layer_index: int) -> Box: r""" @@ -873,6 +952,7 @@ class Cell: 'bbox' is the preferred synonym since version 0.28. """ + ... def bbox_per_layer(self, layer_index: int) -> Box: r""" @brief Gets the per-layer bounding box of the cell @@ -883,6 +963,7 @@ class Cell: 'bbox' is the preferred synonym since version 0.28. """ + ... def begin_instances_rec(self) -> RecursiveInstanceIterator: r""" @brief Delivers a recursive instance iterator for the instances below the cell @@ -892,6 +973,7 @@ class Cell: This method has been added in version 0.27. """ + ... @overload def begin_instances_rec_overlapping(self, region: Box) -> RecursiveInstanceIterator: r""" @@ -904,6 +986,7 @@ class Cell: This method has been added in version 0.27. """ + ... @overload def begin_instances_rec_overlapping(self, region: DBox) -> RecursiveInstanceIterator: r""" @@ -916,6 +999,7 @@ class Cell: This variant has been added in version 0.27. """ + ... @overload def begin_instances_rec_touching(self, region: Box) -> RecursiveInstanceIterator: r""" @@ -928,6 +1012,7 @@ class Cell: This method has been added in version 0.27. """ + ... @overload def begin_instances_rec_touching(self, region: DBox) -> RecursiveInstanceIterator: r""" @@ -940,6 +1025,7 @@ class Cell: This variant has been added in version 0.27. """ + ... def begin_shapes_rec(self, layer: int) -> RecursiveShapeIterator: r""" @brief Delivers a recursive shape iterator for the shapes below the cell on the given layer @@ -950,6 +1036,7 @@ class Cell: This method has been added in version 0.23. """ + ... @overload def begin_shapes_rec_overlapping(self, layer: int, region: Box) -> RecursiveShapeIterator: r""" @@ -963,6 +1050,7 @@ class Cell: This method has been added in version 0.23. """ + ... @overload def begin_shapes_rec_overlapping(self, layer: int, region: DBox) -> RecursiveShapeIterator: r""" @@ -976,6 +1064,7 @@ class Cell: This variant has been added in version 0.25. """ + ... @overload def begin_shapes_rec_touching(self, layer: int, region: Box) -> RecursiveShapeIterator: r""" @@ -989,6 +1078,7 @@ class Cell: This method has been added in version 0.23. """ + ... @overload def begin_shapes_rec_touching(self, layer: int, region: DBox) -> RecursiveShapeIterator: r""" @@ -1002,6 +1092,7 @@ class Cell: This variant has been added in version 0.25. """ + ... def called_cells(self) -> List[int]: r""" @brief Gets a list of all called cells @@ -1013,6 +1104,7 @@ class Cell: @return A list of cell indices. """ + ... def caller_cells(self) -> List[int]: r""" @brief Gets a list of all caller cells @@ -1024,12 +1116,14 @@ class Cell: @return A list of cell indices. """ + ... def cell_index(self) -> int: r""" @brief Gets the cell index @return The cell index of the cell """ + ... def change_pcell_parameter(self, instance: Instance, name: str, value: Any) -> Instance: r""" @brief Changes a single parameter for an individual PCell instance given by name @@ -1038,6 +1132,7 @@ class Cell: This method has been introduced in version 0.23. """ + ... @overload def change_pcell_parameters(self, instance: Instance, dict: Dict[str, Any]) -> Instance: r""" @@ -1048,6 +1143,7 @@ class Cell: This method has been introduced in version 0.24. """ + ... @overload def change_pcell_parameters(self, instance: Instance, parameters: Sequence[Any]) -> Instance: r""" @@ -1063,6 +1159,7 @@ class Cell: This method has been introduced in version 0.22. """ + ... def child_cells(self) -> int: r""" @brief Gets the number of child cells @@ -1070,27 +1167,32 @@ class Cell: The number of child cells (not child instances!) is returned. CAUTION: this method is SLOW, in particular if many instances are present. """ + ... def child_instances(self) -> int: r""" @brief Gets the number of child instances @return Returns the number of cell instances """ + ... @overload def clear(self) -> None: r""" @brief Clears the cell (deletes shapes and instances) This method has been introduced in version 0.23. """ + ... @overload def clear(self, layer_index: int) -> None: r""" @brief Clears the shapes on the given layer """ + ... def clear_insts(self) -> None: r""" @brief Clears the instance list """ + ... def clear_meta_info(self) -> None: r""" @brief Clears the meta information of the cell @@ -1098,10 +1200,12 @@ class Cell: This method has been introduced in version 0.28.8. """ + ... def clear_shapes(self) -> None: r""" @brief Clears all shapes in the cell """ + ... @overload def copy(self, src: int, dest: int) -> None: r""" @@ -1116,6 +1220,7 @@ class Cell: @param src The layer index of the source layer @param dest The layer index of the destination layer """ + ... @overload def copy(self, src_cell: Cell, src_layer: int, dest: int) -> None: r""" @@ -1128,6 +1233,7 @@ class Cell: @param src_layer The layer index of the layer from which to take the shapes @param dest The layer index of the destination layer """ + ... def copy_instances(self, source_cell: Cell) -> None: r""" @brief Copies the instances of child cells in the source cell to this cell @@ -1140,6 +1246,7 @@ class Cell: This method has been added in version 0.23. """ + ... def copy_meta_info(self, other: Cell) -> None: r""" @brief Copies the meta information from the other cell into this cell @@ -1148,6 +1255,7 @@ class Cell: This method has been introduced in version 0.28.16. """ + ... @overload def copy_shapes(self, source_cell: Cell) -> None: r""" @@ -1162,6 +1270,7 @@ class Cell: This method has been added in version 0.23. """ + ... @overload def copy_shapes(self, source_cell: Cell, layer_mapping: LayerMapping) -> None: r""" @@ -1175,6 +1284,7 @@ class Cell: This method has been added in version 0.23. """ + ... def copy_tree(self, source_cell: Cell) -> List[int]: r""" @brief Copies the cell tree of the given cell into this cell @@ -1188,6 +1298,7 @@ class Cell: This method has been added in version 0.23. """ + ... @overload def copy_tree_shapes(self, source_cell: Cell, cell_mapping: CellMapping) -> None: r""" @@ -1205,6 +1316,7 @@ class Cell: This method has been added in version 0.23. """ + ... @overload def copy_tree_shapes(self, source_cell: Cell, cell_mapping: CellMapping, layer_mapping: LayerMapping) -> None: r""" @@ -1222,11 +1334,13 @@ class Cell: This method has been added in version 0.23. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... @overload def dbbox(self) -> DBox: r""" @@ -1238,6 +1352,7 @@ class Cell: This method has been introduced in version 0.25. """ + ... @overload def dbbox(self, layer_index: int) -> DBox: r""" @@ -1249,6 +1364,7 @@ class Cell: This method has been introduced in version 0.25. 'dbbox' is the preferred synonym since version 0.28. """ + ... def dbbox_per_layer(self, layer_index: int) -> DBox: r""" @brief Gets the per-layer bounding box of the cell in micrometer units @@ -1259,6 +1375,7 @@ class Cell: This method has been introduced in version 0.25. 'dbbox' is the preferred synonym since version 0.28. """ + ... def delete(self) -> None: r""" @brief Deletes this cell @@ -1274,6 +1391,7 @@ class Cell: This method has been introduced in version 0.23. """ + ... def delete_property(self, key: Any) -> None: r""" @brief Deletes the user property with the given key @@ -1282,18 +1400,21 @@ class Cell: This method has been introduced in version 0.23. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def display_title(self) -> str: r""" @brief Returns a nice looking name for display purposes @@ -1302,10 +1423,12 @@ class Cell: This method has been introduced in version 0.22. """ + ... def dump_mem_statistics(self, detailed: Optional[bool] = ...) -> None: r""" @hide """ + ... def dup(self) -> Cell: r""" @brief Creates a copy of the cell @@ -1314,18 +1437,21 @@ class Cell: This method has been introduced in version 0.27. """ + ... def each_child_cell(self) -> Iterator[int]: r""" @brief Iterates over all child cells This iterator will report the child cell indices, not every instance. """ + ... def each_inst(self) -> Iterator[Instance]: r""" @brief Iterates over all child instances (which may actually be instance arrays) Starting with version 0.15, this iterator delivers \Instance objects rather than \CellInstArray objects. """ + ... def each_meta_info(self) -> Iterator[LayoutMetaInfo]: r""" @brief Iterates over the meta information of the cell @@ -1333,6 +1459,7 @@ class Cell: This method has been introduced in version 0.28.8. """ + ... @overload def each_overlapping_inst(self, b: Box) -> Iterator[Instance]: r""" @@ -1345,6 +1472,7 @@ class Cell: Starting with version 0.15, this iterator delivers \Instance objects rather than \CellInstArray objects. """ + ... @overload def each_overlapping_inst(self, b: DBox) -> Iterator[Instance]: r""" @@ -1357,6 +1485,7 @@ class Cell: This variant has been introduced in version 0.25. """ + ... @overload def each_overlapping_shape(self, layer_index: int, box: Box) -> Iterator[Shape]: r""" @@ -1368,6 +1497,7 @@ class Cell: This call is equivalent to each_overlapping_shape(layer_index,box,RBA::Shapes::SAll). This convenience method has been introduced in version 0.16. """ + ... @overload def each_overlapping_shape(self, layer_index: int, box: Box, flags: int) -> Iterator[Shape]: r""" @@ -1377,6 +1507,7 @@ class Cell: @param box The box by which to query the shapes @param layer_index The layer on which to run the query """ + ... @overload def each_overlapping_shape(self, layer_index: int, box: DBox) -> Iterator[Shape]: r""" @@ -1388,6 +1519,7 @@ class Cell: This call is equivalent to each_overlapping_shape(layer_index,box,RBA::Shapes::SAll). This convenience method has been introduced in version 0.16. """ + ... @overload def each_overlapping_shape(self, layer_index: int, box: DBox, flags: int) -> Iterator[Shape]: r""" @@ -1397,6 +1529,7 @@ class Cell: @param box The box by which to query the shapes as a \DBox object in micrometer units @param layer_index The layer on which to run the query """ + ... def each_parent_cell(self) -> Iterator[int]: r""" @brief Iterates over all parent cells @@ -1404,12 +1537,14 @@ class Cell: This iterator will iterate over the parent cells, just returning their cell index. """ + ... def each_parent_inst(self) -> Iterator[ParentInstArray]: r""" @brief Iterates over the parent instance list (which may actually be instance arrays) The parent instances are basically inversions of the instances. Using parent instances it is possible to determine how a specific cell is called from where. """ + ... @overload def each_shape(self, layer_index: int) -> Iterator[Shape]: r""" @@ -1420,6 +1555,7 @@ class Cell: This call is equivalent to each_shape(layer_index,RBA::Shapes::SAll). This convenience method has been introduced in version 0.16. """ + ... @overload def each_shape(self, layer_index: int, flags: int) -> Iterator[Shape]: r""" @@ -1430,6 +1566,7 @@ class Cell: This iterator is equivalent to 'shapes(layer).each'. """ + ... @overload def each_touching_inst(self, b: Box) -> Iterator[Instance]: r""" @@ -1442,6 +1579,7 @@ class Cell: Starting with version 0.15, this iterator delivers \Instance objects rather than \CellInstArray objects. """ + ... @overload def each_touching_inst(self, b: DBox) -> Iterator[Instance]: r""" @@ -1454,6 +1592,7 @@ class Cell: This variant has been introduced in version 0.25. """ + ... @overload def each_touching_shape(self, layer_index: int, box: Box) -> Iterator[Shape]: r""" @@ -1465,6 +1604,7 @@ class Cell: This call is equivalent to each_touching_shape(layer_index,box,RBA::Shapes::SAll). This convenience method has been introduced in version 0.16. """ + ... @overload def each_touching_shape(self, layer_index: int, box: Box, flags: int) -> Iterator[Shape]: r""" @@ -1474,6 +1614,7 @@ class Cell: @param box The box by which to query the shapes @param layer_index The layer on which to run the query """ + ... @overload def each_touching_shape(self, layer_index: int, box: DBox) -> Iterator[Shape]: r""" @@ -1485,6 +1626,7 @@ class Cell: This call is equivalent to each_touching_shape(layer_index,box,RBA::Shapes::SAll). This convenience method has been introduced in version 0.16. """ + ... @overload def each_touching_shape(self, layer_index: int, box: DBox, flags: int) -> Iterator[Shape]: r""" @@ -1494,12 +1636,14 @@ class Cell: @param box The box by which to query the shapes as a \DBox object in micrometer units @param layer_index The layer on which to run the query """ + ... def erase(self, inst: Instance) -> None: r""" @brief Erases the instance given by the Instance object This method has been introduced in version 0.16. It can only be used in editable mode. """ + ... @overload def fill_region(self, region: Region, fill_cell_index: int, fc_bbox: Box, row_step: Vector, column_step: Vector, origin: Optional[Point] = ..., remaining_parts: Optional[Region] = ..., fill_margin: Optional[Vector] = ..., remaining_polygons: Optional[Region] = ..., glue_box: Optional[Box] = ...) -> None: r""" @@ -1521,6 +1665,7 @@ class Cell: This variant has been introduced in version 0.27. """ + ... @overload def fill_region(self, region: Region, fill_cell_index: int, fc_box: Box, origin: Optional[Point] = ..., remaining_parts: Optional[Region] = ..., fill_margin: Optional[Vector] = ..., remaining_polygons: Optional[Region] = ..., glue_box: Optional[Box] = ...) -> None: r""" @@ -1569,6 +1714,7 @@ class Cell: This method has been introduced in version 0.23 and enhanced in version 0.27. """ + ... def fill_region_multi(self, region: Region, fill_cell_index: int, fc_bbox: Box, row_step: Vector, column_step: Vector, fill_margin: Optional[Vector] = ..., remaining_polygons: Optional[Region] = ..., glue_box: Optional[Box] = ...) -> None: r""" @brief Fills the given region with cells of the given type in enhanced mode with iterations @@ -1578,6 +1724,7 @@ class Cell: This method has been introduced in version 0.27. """ + ... @overload def flatten(self, levels: int, prune: bool) -> None: r""" @@ -1592,6 +1739,7 @@ class Cell: This method has been introduced in version 0.23. """ + ... @overload def flatten(self, prune: bool) -> None: r""" @@ -1607,12 +1755,14 @@ class Cell: This method has been introduced in version 0.23. """ + ... def has_prop_id(self) -> bool: r""" @brief Returns true, if the cell has user properties This method has been introduced in version 0.23. """ + ... def hierarchy_levels(self) -> int: r""" @brief Returns the number of hierarchy levels below @@ -1621,6 +1771,7 @@ class Cell: CAUTION: this method may be expensive! """ + ... @overload def insert(self, cell_inst_array: CellInstArray) -> Instance: r""" @@ -1629,6 +1780,7 @@ class Cell: With version 0.16, this method returns an Instance object that represents the new instance. It's use is discouraged in readonly mode, since it invalidates other Instance references. """ + ... @overload def insert(self, cell_inst_array: CellInstArray, property_id: int) -> Instance: r""" @@ -1638,6 +1790,7 @@ class Cell: With version 0.16, this method returns an Instance object that represents the new instance. It's use is discouraged in readonly mode, since it invalidates other Instance references. """ + ... @overload def insert(self, cell_inst_array: DCellInstArray) -> Instance: r""" @@ -1647,6 +1800,7 @@ class Cell: This variant has been introduced in version 0.25. """ + ... @overload def insert(self, cell_inst_array: DCellInstArray, property_id: int) -> Instance: r""" @@ -1656,6 +1810,7 @@ class Cell: This variant has been introduced in version 0.25. """ + ... @overload def insert(self, inst: Instance) -> Instance: r""" @@ -1666,12 +1821,14 @@ class Cell: It has been added in version 0.16. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_empty(self) -> bool: r""" @brief Returns a value indicating whether the cell is empty @@ -1680,6 +1837,7 @@ class Cell: This method has been introduced in version 0.20. """ + ... def is_ghost_cell(self) -> bool: r""" @brief Returns a value indicating whether the cell is a "ghost cell" @@ -1692,12 +1850,14 @@ class Cell: This method has been introduced in version 0.20. """ + ... def is_leaf(self) -> bool: r""" @brief Gets a value indicating whether the cell is a leaf cell A cell is a leaf cell if there are no child instantiations. """ + ... def is_library_cell(self) -> bool: r""" @brief Returns true, if the cell is a proxy cell pointing to a library cell @@ -1707,6 +1867,7 @@ class Cell: This method has been introduced in version 0.22. """ + ... @overload def is_pcell_variant(self) -> bool: r""" @@ -1720,6 +1881,7 @@ class Cell: This method has been introduced in version 0.22. """ + ... @overload def is_pcell_variant(self, instance: Instance) -> bool: r""" @@ -1729,6 +1891,7 @@ class Cell: This method has been introduced in version 0.22. """ + ... def is_proxy(self) -> bool: r""" @brief Returns true, if the cell presents some external entity @@ -1744,18 +1907,21 @@ class Cell: This method has been introduced in version 0.22. """ + ... def is_top(self) -> bool: r""" @brief Gets a value indicating whether the cell is a top-level cell A cell is a top-level cell if there are no parent instantiations. """ + ... def is_valid(self, instance: Instance) -> bool: r""" @brief Tests if the given \Instance object is still pointing to a valid object This method has been introduced in version 0.16. If the instance represented by the given reference has been deleted, this method returns false. If however, another instance has been inserted already that occupies the original instances position, this method will return true again. """ + ... @overload def layout(self) -> Layout: r""" @@ -1763,6 +1929,7 @@ class Cell: this method has been introduced in version 0.22. """ + ... @overload def layout(self) -> Layout: r""" @@ -1770,6 +1937,7 @@ class Cell: this method has been introduced in version 0.22. """ + ... def library(self) -> Library: r""" @brief Returns a reference to the library from which the cell is imported @@ -1777,6 +1945,7 @@ class Cell: this method has been introduced in version 0.22. """ + ... def library_cell_index(self) -> int: r""" @brief Returns the index of the cell in the layout of the library (if it's a library proxy) @@ -1793,6 +1962,7 @@ class Cell: This method has been introduced in version 0.22. """ + ... def merge_meta_info(self, other: Cell) -> None: r""" @brief Merges the meta information from the other cell into this cell @@ -1802,6 +1972,7 @@ class Cell: This method has been introduced in version 0.28.16. """ + ... def meta_info(self, name: str) -> LayoutMetaInfo: r""" @brief Gets the meta information for a given name @@ -1811,6 +1982,7 @@ class Cell: This method has been introduced in version 0.28.8. """ + ... def meta_info_value(self, name: str) -> Any: r""" @brief Gets the meta information value for a given name @@ -1821,6 +1993,7 @@ class Cell: This method has been introduced in version 0.28.8. """ + ... @overload def move(self, src: int, dest: int) -> None: r""" @@ -1834,6 +2007,7 @@ class Cell: @param src The layer index of the source layer @param dest The layer index of the destination layer """ + ... @overload def move(self, src_cell: Cell, src_layer: int, dest: int) -> None: r""" @@ -1846,6 +2020,7 @@ class Cell: @param src_layer The layer index of the layer from which to take the shapes @param dest The layer index of the destination layer """ + ... def move_instances(self, source_cell: Cell) -> None: r""" @brief Moves the instances of child cells in the source cell to this cell @@ -1858,6 +2033,7 @@ class Cell: This method has been added in version 0.23. """ + ... @overload def move_shapes(self, source_cell: Cell) -> None: r""" @@ -1872,6 +2048,7 @@ class Cell: This method has been added in version 0.23. """ + ... @overload def move_shapes(self, source_cell: Cell, layer_mapping: LayerMapping) -> None: r""" @@ -1885,6 +2062,7 @@ class Cell: This method has been added in version 0.23. """ + ... def move_tree(self, source_cell: Cell) -> List[int]: r""" @brief Moves the cell tree of the given cell into this cell @@ -1898,6 +2076,7 @@ class Cell: This method has been added in version 0.23. """ + ... @overload def move_tree_shapes(self, source_cell: Cell, cell_mapping: CellMapping) -> None: r""" @@ -1915,6 +2094,7 @@ class Cell: This method has been added in version 0.23. """ + ... @overload def move_tree_shapes(self, source_cell: Cell, cell_mapping: CellMapping, layer_mapping: LayerMapping) -> None: r""" @@ -1932,12 +2112,14 @@ class Cell: This method has been added in version 0.23. """ + ... def parent_cells(self) -> int: r""" @brief Gets the number of parent cells The number of parent cells (cells which reference our cell) is reported. """ + ... @overload def pcell_declaration(self) -> PCellDeclaration_Native: r""" @@ -1948,6 +2130,7 @@ class Cell: This method has been introduced in version 0.22. """ + ... @overload def pcell_declaration(self, instance: Instance) -> PCellDeclaration_Native: r""" @@ -1957,6 +2140,7 @@ class Cell: This method has been introduced in version 0.22. """ + ... def pcell_id(self) -> int: r""" @brief Returns the PCell ID if the cell is a pcell variant @@ -1968,6 +2152,7 @@ class Cell: This method has been introduced in version 0.22. """ + ... def pcell_library(self) -> Library: r""" @brief Returns the library where the PCell is declared if this cell is a PCell and it is not defined locally. @@ -1978,6 +2163,7 @@ class Cell: This method has been introduced in version 0.22. """ + ... @overload def pcell_parameter(self, instance: Instance, name: str) -> Any: r""" @@ -1989,6 +2175,7 @@ class Cell: This method has been introduced in version 0.25. """ + ... @overload def pcell_parameter(self, name: str) -> Any: r""" @@ -1998,6 +2185,7 @@ class Cell: This method has been introduced in version 0.25. """ + ... @overload def pcell_parameters(self) -> List[Any]: r""" @@ -2009,6 +2197,7 @@ class Cell: This method has been introduced in version 0.22. """ + ... @overload def pcell_parameters(self, instance: Instance) -> List[Any]: r""" @@ -2019,6 +2208,7 @@ class Cell: This method has been introduced in version 0.22. """ + ... @overload def pcell_parameters_by_name(self) -> Dict[str, Any]: r""" @@ -2030,6 +2220,7 @@ class Cell: This method has been introduced in version 0.24. """ + ... @overload def pcell_parameters_by_name(self, instance: Instance) -> Dict[str, Any]: r""" @@ -2040,12 +2231,14 @@ class Cell: This method has been introduced in version 0.24. """ + ... def property(self, key: Any) -> Any: r""" @brief Gets the user property with the given key This method is a convenience method that gets the property with the given key. If no property with that key exists, it will return nil. Using that method is more convenient than using the layout object and the properties ID to retrieve the property value. This method has been introduced in version 0.23. """ + ... @overload def prune_cell(self) -> None: r""" @@ -2059,6 +2252,7 @@ class Cell: This method has been introduced in version 0.23. """ + ... @overload def prune_cell(self, levels: int) -> None: r""" @@ -2074,6 +2268,7 @@ class Cell: This method has been introduced in version 0.23. """ + ... @overload def prune_subcells(self) -> None: r""" @@ -2085,6 +2280,7 @@ class Cell: This method has been introduced in version 0.23. """ + ... @overload def prune_subcells(self, levels: int) -> None: r""" @@ -2098,6 +2294,7 @@ class Cell: This method has been introduced in version 0.23. """ + ... def qname(self) -> str: r""" @brief Returns the library-qualified name @@ -2106,6 +2303,7 @@ class Cell: This method has been introduced in version 0.25. """ + ... @overload def read(self, file_name: str) -> List[int]: r""" @@ -2114,6 +2312,7 @@ class Cell: This method has been introduced in version 0.28. """ + ... @overload def read(self, file_name: str, options: LoadLayoutOptions) -> List[int]: r""" @@ -2141,6 +2340,7 @@ class Cell: This method has been introduced in version 0.28. """ + ... def refresh(self) -> None: r""" @brief Refreshes a proxy cell @@ -2153,6 +2353,7 @@ class Cell: This method has been introduced in version 0.22. """ + ... def remove_meta_info(self, name: str) -> None: r""" @brief Removes meta information from the cell @@ -2160,6 +2361,7 @@ class Cell: This method has been introduced in version 0.28.8. """ + ... @overload def replace(self, instance: Instance, cell_inst_array: CellInstArray) -> Instance: r""" @@ -2168,6 +2370,7 @@ class Cell: This method has been introduced in version 0.16. It can only be used in editable mode. The instance given by the instance object (first argument) is replaced by the given instance (second argument). The new object will not have any properties. """ + ... @overload def replace(self, instance: Instance, cell_inst_array: CellInstArray, property_id: int) -> Instance: r""" @@ -2178,6 +2381,7 @@ class Cell: The property Id must be obtained from the \Layout object's property_id method which associates a property set with a property Id. The new object will not have any properties. """ + ... @overload def replace(self, instance: Instance, cell_inst_array: DCellInstArray) -> Instance: r""" @@ -2187,6 +2391,7 @@ class Cell: This variant has been introduced in version 0.25. """ + ... @overload def replace(self, instance: Instance, cell_inst_array: DCellInstArray, property_id: int) -> Instance: r""" @@ -2196,6 +2401,7 @@ class Cell: This variant has been introduced in version 0.25. """ + ... def replace_prop_id(self, instance: Instance, property_id: int) -> Instance: r""" @brief Replaces (or install) the properties of a cell @@ -2204,6 +2410,7 @@ class Cell: Changes the properties Id of the given instance or install a properties Id on that instance if it does not have one yet. The property Id must be obtained from the \Layout object's property_id method which associates a property set with a property Id. """ + ... def set_property(self, key: Any, value: Any) -> None: r""" @brief Sets the user property with the given key to the given value @@ -2211,6 +2418,7 @@ class Cell: This method may change the properties ID. Note: GDS only supports integer keys. OASIS supports numeric and string keys. This method has been introduced in version 0.23. """ + ... @overload def shapes(self, layer_index: int) -> Shapes: r""" @@ -2223,6 +2431,7 @@ class Cell: @return A reference to the shapes list """ + ... @overload def shapes(self, layer_index: int) -> Shapes: r""" @@ -2236,12 +2445,14 @@ class Cell: This variant has been introduced in version 0.26.4. """ + ... def swap(self, layer_index1: int, layer_index2: int) -> None: r""" @brief Swaps the layers given This method swaps two layers inside this cell. """ + ... @overload def transform(self, instance: Instance, trans: DCplxTrans) -> Instance: r""" @@ -2251,6 +2462,7 @@ class Cell: This variant has been introduced in version 0.25. """ + ... @overload def transform(self, instance: Instance, trans: DTrans) -> Instance: r""" @@ -2260,6 +2472,7 @@ class Cell: This variant has been introduced in version 0.25. """ + ... @overload def transform(self, instance: Instance, trans: ICplxTrans) -> Instance: r""" @@ -2269,6 +2482,7 @@ class Cell: The original instance may be deleted and re-inserted by this method. Therefore, a new reference is returned. It is permitted in editable mode only. """ + ... @overload def transform(self, instance: Instance, trans: Trans) -> Instance: r""" @@ -2278,6 +2492,7 @@ class Cell: The original instance may be deleted and re-inserted by this method. Therefore, a new reference is returned. It is permitted in editable mode only. """ + ... @overload def transform(self, trans: DCplxTrans) -> None: r""" @@ -2287,6 +2502,7 @@ class Cell: This method has been introduced in version 0.26.7. """ + ... @overload def transform(self, trans: DTrans) -> None: r""" @@ -2296,6 +2512,7 @@ class Cell: This method has been introduced in version 0.26.7. """ + ... @overload def transform(self, trans: ICplxTrans) -> None: r""" @@ -2305,6 +2522,7 @@ class Cell: This method has been introduced in version 0.26.7. """ + ... @overload def transform(self, trans: Trans) -> None: r""" @@ -2314,6 +2532,7 @@ class Cell: This method has been introduced in version 0.26.7. """ + ... @overload def transform_into(self, instance: Instance, trans: DCplxTrans) -> Instance: r""" @@ -2323,6 +2542,7 @@ class Cell: This variant has been introduced in version 0.25. """ + ... @overload def transform_into(self, instance: Instance, trans: DTrans) -> Instance: r""" @@ -2332,6 +2552,7 @@ class Cell: This variant has been introduced in version 0.25. """ + ... @overload def transform_into(self, instance: Instance, trans: ICplxTrans) -> Instance: r""" @@ -2343,6 +2564,7 @@ class Cell: The original instance may be deleted and re-inserted by this method. Therefore, a new reference is returned. It is permitted in editable mode only. """ + ... @overload def transform_into(self, instance: Instance, trans: Trans) -> Instance: r""" @@ -2355,6 +2577,7 @@ class Cell: The original instance may be deleted and re-inserted by this method. Therefore, a new reference is returned. It is permitted in editable mode only. """ + ... @overload def transform_into(self, trans: DCplxTrans) -> None: r""" @@ -2363,6 +2586,7 @@ class Cell: This variant has been introduced in version 0.25. """ + ... @overload def transform_into(self, trans: DTrans) -> None: r""" @@ -2371,6 +2595,7 @@ class Cell: This variant has been introduced in version 0.25. """ + ... @overload def transform_into(self, trans: ICplxTrans) -> None: r""" @@ -2379,6 +2604,7 @@ class Cell: See the comments for the simple-transformation version for a description of this method. This method has been introduced in version 0.23. """ + ... @overload def transform_into(self, trans: Trans) -> None: r""" @@ -2388,6 +2614,7 @@ class Cell: It has been introduced in version 0.23. """ + ... @overload def write(self, file_name: str) -> None: r""" @@ -2396,6 +2623,7 @@ class Cell: This method has been introduced in version 0.23. """ + ... @overload def write(self, file_name: str, options: SaveLayoutOptions) -> None: r""" @@ -2405,6 +2633,8 @@ class Cell: This method has been introduced in version 0.23. """ + ... + ... class CellInstArray: r""" @@ -2472,6 +2702,7 @@ class CellInstArray: This convenience method has been introduced in version 0.28. """ + ... na: int r""" Getter: @@ -2514,6 +2745,7 @@ class CellInstArray: r""" @brief Creates en empty cell instance with size 0 """ + ... @overload @classmethod def new(cls, cell: Cell, disp: Vector) -> CellInstArray: @@ -2524,6 +2756,7 @@ class CellInstArray: This convenience variant takes a \Cell pointer and is equivalent to using 'cell.cell_index()'. It has been introduced in version 0.28. """ + ... @overload @classmethod def new(cls, cell: Cell, disp: Vector, a: Vector, b: Vector, na: int, nb: int) -> CellInstArray: @@ -2538,6 +2771,7 @@ class CellInstArray: This convenience variant takes a \Cell pointer and is equivalent to using 'cell.cell_index()'. It has been introduced in version 0.28. """ + ... @overload @classmethod def new(cls, cell: Cell, trans: ICplxTrans) -> CellInstArray: @@ -2548,6 +2782,7 @@ class CellInstArray: This convenience variant takes a \Cell pointer and is equivalent to using 'cell.cell_index()'. It has been introduced in version 0.28. """ + ... @overload @classmethod def new(cls, cell: Cell, trans: ICplxTrans, a: Vector, b: Vector, na: int, nb: int) -> CellInstArray: @@ -2562,6 +2797,7 @@ class CellInstArray: This convenience variant takes a \Cell pointer and is equivalent to using 'cell.cell_index()'. It has been introduced in version 0.28. """ + ... @overload @classmethod def new(cls, cell: Cell, trans: Trans) -> CellInstArray: @@ -2572,6 +2808,7 @@ class CellInstArray: This convenience variant takes a \Cell pointer and is equivalent to using 'cell.cell_index()'. It has been introduced in version 0.28. """ + ... @overload @classmethod def new(cls, cell: Cell, trans: Trans, a: Vector, b: Vector, na: int, nb: int) -> CellInstArray: @@ -2586,6 +2823,7 @@ class CellInstArray: This convenience variant takes a \Cell pointer and is equivalent to using 'cell.cell_index()'. It has been introduced in version 0.28. """ + ... @overload @classmethod def new(cls, cell_index: int, disp: Vector) -> CellInstArray: @@ -2595,6 +2833,7 @@ class CellInstArray: @param disp The displacement This convenience initializer has been introduced in version 0.28. """ + ... @overload @classmethod def new(cls, cell_index: int, disp: Vector, a: Vector, b: Vector, na: int, nb: int) -> CellInstArray: @@ -2609,6 +2848,7 @@ class CellInstArray: This convenience initializer has been introduced in version 0.28. """ + ... @overload @classmethod def new(cls, cell_index: int, trans: ICplxTrans) -> CellInstArray: @@ -2617,6 +2857,7 @@ class CellInstArray: @param cell_index The cell to instantiate @param trans The complex transformation by which to instantiate the cell """ + ... @overload @classmethod def new(cls, cell_index: int, trans: ICplxTrans, a: Vector, b: Vector, na: int, nb: int) -> CellInstArray: @@ -2631,6 +2872,7 @@ class CellInstArray: Starting with version 0.25 the displacements are of vector type. """ + ... @overload @classmethod def new(cls, cell_index: int, trans: Trans) -> CellInstArray: @@ -2639,6 +2881,7 @@ class CellInstArray: @param cell_index The cell to instantiate @param trans The transformation by which to instantiate the cell """ + ... @overload @classmethod def new(cls, cell_index: int, trans: Trans, a: Vector, b: Vector, na: int, nb: int) -> CellInstArray: @@ -2653,18 +2896,22 @@ class CellInstArray: Starting with version 0.25 the displacements are of vector type. """ + ... def __copy__(self) -> CellInstArray: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> CellInstArray: r""" @brief Creates a copy of self """ + ... def __eq__(self, other: object) -> bool: r""" @brief Compares two arrays for equality """ + ... def __hash__(self) -> int: r""" @brief Computes a hash value @@ -2672,11 +2919,13 @@ class CellInstArray: This method has been introduced in version 0.25. """ + ... @overload def __init__(self) -> None: r""" @brief Creates en empty cell instance with size 0 """ + ... @overload def __init__(self, cell: Cell, disp: Vector) -> None: r""" @@ -2686,6 +2935,7 @@ class CellInstArray: This convenience variant takes a \Cell pointer and is equivalent to using 'cell.cell_index()'. It has been introduced in version 0.28. """ + ... @overload def __init__(self, cell: Cell, disp: Vector, a: Vector, b: Vector, na: int, nb: int) -> None: r""" @@ -2699,6 +2949,7 @@ class CellInstArray: This convenience variant takes a \Cell pointer and is equivalent to using 'cell.cell_index()'. It has been introduced in version 0.28. """ + ... @overload def __init__(self, cell: Cell, trans: ICplxTrans) -> None: r""" @@ -2708,6 +2959,7 @@ class CellInstArray: This convenience variant takes a \Cell pointer and is equivalent to using 'cell.cell_index()'. It has been introduced in version 0.28. """ + ... @overload def __init__(self, cell: Cell, trans: ICplxTrans, a: Vector, b: Vector, na: int, nb: int) -> None: r""" @@ -2721,6 +2973,7 @@ class CellInstArray: This convenience variant takes a \Cell pointer and is equivalent to using 'cell.cell_index()'. It has been introduced in version 0.28. """ + ... @overload def __init__(self, cell: Cell, trans: Trans) -> None: r""" @@ -2730,6 +2983,7 @@ class CellInstArray: This convenience variant takes a \Cell pointer and is equivalent to using 'cell.cell_index()'. It has been introduced in version 0.28. """ + ... @overload def __init__(self, cell: Cell, trans: Trans, a: Vector, b: Vector, na: int, nb: int) -> None: r""" @@ -2743,6 +2997,7 @@ class CellInstArray: This convenience variant takes a \Cell pointer and is equivalent to using 'cell.cell_index()'. It has been introduced in version 0.28. """ + ... @overload def __init__(self, cell_index: int, disp: Vector) -> None: r""" @@ -2751,6 +3006,7 @@ class CellInstArray: @param disp The displacement This convenience initializer has been introduced in version 0.28. """ + ... @overload def __init__(self, cell_index: int, disp: Vector, a: Vector, b: Vector, na: int, nb: int) -> None: r""" @@ -2764,6 +3020,7 @@ class CellInstArray: This convenience initializer has been introduced in version 0.28. """ + ... @overload def __init__(self, cell_index: int, trans: ICplxTrans) -> None: r""" @@ -2771,6 +3028,7 @@ class CellInstArray: @param cell_index The cell to instantiate @param trans The complex transformation by which to instantiate the cell """ + ... @overload def __init__(self, cell_index: int, trans: ICplxTrans, a: Vector, b: Vector, na: int, nb: int) -> None: r""" @@ -2784,6 +3042,7 @@ class CellInstArray: Starting with version 0.25 the displacements are of vector type. """ + ... @overload def __init__(self, cell_index: int, trans: Trans) -> None: r""" @@ -2791,6 +3050,7 @@ class CellInstArray: @param cell_index The cell to instantiate @param trans The transformation by which to instantiate the cell """ + ... @overload def __init__(self, cell_index: int, trans: Trans, a: Vector, b: Vector, na: int, nb: int) -> None: r""" @@ -2804,55 +3064,58 @@ class CellInstArray: Starting with version 0.25 the displacements are of vector type. """ + ... def __len__(self) -> int: r""" @brief Gets the number of single instances in the array If the instance represents a single instance, the count is 1. Otherwise it is na*nb. Starting with version 0.27, there may be iterated instances for which the size is larger than 1, but \is_regular_array? will return false. In this case, use \each_trans or \each_cplx_trans to retrieve the individual placements of the iterated instance. """ + ... def __lt__(self, other: CellInstArray) -> bool: r""" @brief Compares two arrays for 'less' The comparison provides an arbitrary sorting criterion and not specific sorting order. It is guaranteed that if an array a is less than b, b is not less than a. In addition, it a is not less than b and b is not less than a, then a is equal to b. """ + ... def __ne__(self, other: object) -> bool: r""" @brief Compares two arrays for inequality """ - def __repr__(self) -> str: - r""" - @brief Converts the array to a string - - This method was introduced in version 0.22. - """ + ... def __str__(self) -> str: r""" @brief Converts the array to a string This method was introduced in version 0.22. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -2860,6 +3123,7 @@ class CellInstArray: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -2867,16 +3131,19 @@ class CellInstArray: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: CellInstArray) -> None: r""" @brief Assigns another object to self """ + ... @overload def bbox(self, layout: Layout) -> Box: r""" @brief Gets the bounding box of the array The bounding box incorporates all instances that the array represents. It needs the layout object to access the actual cell from the cell index. """ + ... @overload def bbox(self, layout: Layout, layer_index: int) -> Box: r""" @@ -2885,6 +3152,7 @@ class CellInstArray: 'bbox' is the preferred synonym since version 0.28. """ + ... def bbox_per_layer(self, layout: Layout, layer_index: int) -> Box: r""" @brief Gets the bounding box of the array with respect to one layer @@ -2892,27 +3160,32 @@ class CellInstArray: 'bbox' is the preferred synonym since version 0.28. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> CellInstArray: r""" @brief Creates a copy of self """ + ... def each_cplx_trans(self) -> Iterator[ICplxTrans]: r""" @brief Gets the complex transformations represented by this instance @@ -2921,6 +3194,7 @@ class CellInstArray: This method has been introduced in version 0.25. """ + ... def each_trans(self) -> Iterator[Trans]: r""" @brief Gets the simple transformations represented by this instance @@ -2930,6 +3204,7 @@ class CellInstArray: This method has been introduced in version 0.25. """ + ... def hash(self) -> int: r""" @brief Computes a hash value @@ -2937,6 +3212,7 @@ class CellInstArray: This method has been introduced in version 0.25. """ + ... def invert(self) -> None: r""" @brief Inverts the array reference @@ -2944,6 +3220,7 @@ class CellInstArray: The inverted array reference describes in which transformations the parent cell is seen from the current cell. """ + ... def is_complex(self) -> bool: r""" @brief Gets a value indicating whether the array is a complex array @@ -2951,27 +3228,32 @@ class CellInstArray: Returns true if the array represents complex instances (that is, with magnification and arbitrary rotation angles). """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_regular_array(self) -> bool: r""" @brief Gets a value indicating whether this instance is a regular array """ + ... def size(self) -> int: r""" @brief Gets the number of single instances in the array If the instance represents a single instance, the count is 1. Otherwise it is na*nb. Starting with version 0.27, there may be iterated instances for which the size is larger than 1, but \is_regular_array? will return false. In this case, use \each_trans or \each_cplx_trans to retrieve the individual placements of the iterated instance. """ + ... def to_s(self) -> str: r""" @brief Converts the array to a string This method was introduced in version 0.22. """ + ... @overload def transform(self, trans: ICplxTrans) -> None: r""" @@ -2979,6 +3261,7 @@ class CellInstArray: This method has been introduced in version 0.20. """ + ... @overload def transform(self, trans: Trans) -> None: r""" @@ -2986,6 +3269,7 @@ class CellInstArray: This method has been introduced in version 0.20. """ + ... @overload def transformed(self, trans: ICplxTrans) -> CellInstArray: r""" @@ -2993,6 +3277,7 @@ class CellInstArray: This method has been introduced in version 0.20. """ + ... @overload def transformed(self, trans: Trans) -> CellInstArray: r""" @@ -3000,6 +3285,8 @@ class CellInstArray: This method has been introduced in version 0.20. """ + ... + ... class CellMapping: r""" @@ -3093,41 +3380,49 @@ class CellMapping: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> CellMapping: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> CellMapping: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -3135,6 +3430,7 @@ class CellMapping: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -3142,10 +3438,12 @@ class CellMapping: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: CellMapping) -> None: r""" @brief Assigns another object to self """ + ... def cell_mapping(self, cell_index_b: int) -> int: r""" @brief Determines cell mapping of a layout_b cell to the corresponding layout_a cell. @@ -3156,33 +3454,39 @@ class CellMapping: Note that the returned index can be \DropCell to indicate the cell shall be dropped. """ + ... def clear(self) -> None: r""" @brief Clears the mapping. This method has been introduced in version 0.23. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> CellMapping: r""" @brief Creates a copy of self """ + ... @overload def for_multi_cells(self, cell_a: Sequence[Cell], cell_b: Sequence[Cell]) -> None: r""" @@ -3194,6 +3498,7 @@ class CellMapping: This is a convenience version which uses cell references instead of layout/cell index combinations. It has been introduced in version 0.28. """ + ... @overload def for_multi_cells(self, layout_a: Layout, cell_indexes_a: Sequence[int], layout_b: Layout, cell_indexes_b: Sequence[int]) -> None: r""" @@ -3210,6 +3515,7 @@ class CellMapping: This method has been introduced in version 0.27. """ + ... @overload def for_multi_cells_full(self, cell_a: Sequence[Cell], cell_b: Sequence[Cell]) -> List[int]: r""" @@ -3221,6 +3527,7 @@ class CellMapping: This is a convenience version which uses cell references instead of layout/cell index combinations. It has been introduced in version 0.28. """ + ... @overload def for_multi_cells_full(self, layout_a: Layout, cell_indexes_a: Sequence[int], layout_b: Layout, cell_indexes_b: Sequence[int]) -> List[int]: r""" @@ -3235,6 +3542,7 @@ class CellMapping: This method has been introduced in version 0.27. """ + ... @overload def for_single_cell(self, cell_a: Cell, cell_b: Cell) -> None: r""" @@ -3246,6 +3554,7 @@ class CellMapping: This is a convenience version which uses cell references instead of layout/cell index combinations. It has been introduced in version 0.28. """ + ... @overload def for_single_cell(self, layout_a: Layout, cell_index_a: int, layout_b: Layout, cell_index_b: int) -> None: r""" @@ -3262,6 +3571,7 @@ class CellMapping: This method has been introduced in version 0.23. """ + ... @overload def for_single_cell_full(self, cell_a: Cell, cell_b: Cell) -> List[int]: r""" @@ -3273,6 +3583,7 @@ class CellMapping: This is a convenience version which uses cell references instead of layout/cell index combinations. It has been introduced in version 0.28. """ + ... @overload def for_single_cell_full(self, layout_a: Layout, cell_index_a: int, layout_b: Layout, cell_index_b: int) -> List[int]: r""" @@ -3287,6 +3598,7 @@ class CellMapping: This method has been introduced in version 0.23. """ + ... @overload def from_geometry(self, cell_a: Cell, cell_b: Cell) -> None: r""" @@ -3298,6 +3610,7 @@ class CellMapping: This is a convenience version which uses cell references instead of layout/cell index combinations. It has been introduced in version 0.28. """ + ... @overload def from_geometry(self, layout_a: Layout, cell_index_a: int, layout_b: Layout, cell_index_b: int) -> None: r""" @@ -3313,6 +3626,7 @@ class CellMapping: This method has been introduced in version 0.23. """ + ... @overload def from_geometry_full(self, cell_a: Cell, cell_b: Cell) -> List[int]: r""" @@ -3324,6 +3638,7 @@ class CellMapping: This is a convenience version which uses cell references instead of layout/cell index combinations. It has been introduced in version 0.28. """ + ... @overload def from_geometry_full(self, layout_a: Layout, cell_index_a: int, layout_b: Layout, cell_index_b: int) -> List[int]: r""" @@ -3342,6 +3657,7 @@ class CellMapping: This method has been introduced in version 0.23. """ + ... @overload def from_names(self, cell_a: Cell, cell_b: Cell) -> None: r""" @@ -3353,6 +3669,7 @@ class CellMapping: This is a convenience version which uses cell references instead of layout/cell index combinations. It has been introduced in version 0.28. """ + ... @overload def from_names(self, layout_a: Layout, cell_index_a: int, layout_b: Layout, cell_index_b: int) -> None: r""" @@ -3368,6 +3685,7 @@ class CellMapping: This method has been introduced in version 0.23. """ + ... @overload def from_names_full(self, cell_a: Cell, cell_b: Cell) -> List[int]: r""" @@ -3379,6 +3697,7 @@ class CellMapping: This is a convenience version which uses cell references instead of layout/cell index combinations. It has been introduced in version 0.28. """ + ... @overload def from_names_full(self, layout_a: Layout, cell_index_a: int, layout_b: Layout, cell_index_b: int) -> List[int]: r""" @@ -3397,6 +3716,7 @@ class CellMapping: This method has been introduced in version 0.23. """ + ... def has_mapping(self, cell_index_b: int) -> bool: r""" @brief Returns as value indicating whether a cell of layout_b has a mapping to a layout_a cell. @@ -3406,12 +3726,14 @@ class CellMapping: Note that if the cell is supposed to be dropped (see \DropCell), the respective source cell will also be regarded "mapped", so has_mapping? will return true in this case. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def map(self, cell_index_b: int, cell_index_a: int) -> None: r""" @brief Explicitly specifies a mapping. @@ -3424,6 +3746,7 @@ class CellMapping: This method has been introduced in version 0.23. """ + ... def table(self) -> Dict[int, int]: r""" @brief Returns the mapping table. @@ -3433,6 +3756,8 @@ class CellMapping: This method has been introduced in version 0.25. """ + ... + ... class Circuit(NetlistObject): r""" @@ -3488,33 +3813,39 @@ class Circuit(NetlistObject): r""" @brief Assigns another object to self """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _dup(self) -> Circuit: r""" @brief Creates a copy of self """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -3522,6 +3853,7 @@ class Circuit(NetlistObject): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -3529,34 +3861,40 @@ class Circuit(NetlistObject): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def blank(self) -> None: r""" @brief Blanks out the circuit This method will remove all the innards of the circuit and just leave the pins. The pins won't be connected to inside nets anymore, but the circuit can still be called by subcircuit references. This method will eventually create a 'circuit abstract' (or black box). It will set the \dont_purge flag to mark this circuit as 'intentionally empty'. """ + ... def clear(self) -> None: r""" @brief Clears the circuit This method removes all objects and clears the other attributes. """ + ... def combine_devices(self) -> None: r""" @brief Combines devices where possible This method will combine devices that can be combined according to their device classes 'combine_devices' method. For example, serial or parallel resistors can be combined into a single resistor. """ + ... @overload def connect_pin(self, pin: Pin, net: Net) -> None: r""" @brief Connects the given pin with the given net. The net and the pin must be objects from inside the circuit. Any previous connected is resolved before this connection is made. A pin can only be connected to one net at a time. """ + ... @overload def connect_pin(self, pin_id: int, net: Net) -> None: r""" @brief Connects the given pin with the given net. The net must be one inside the circuit. Any previous connected is resolved before this connection is made. A pin can only be connected to one net at a time. """ + ... def create_device(self, device_class: DeviceClass, name: Optional[str] = ...) -> Device: r""" @brief Creates a new bound \Device object inside the circuit @@ -3564,6 +3902,7 @@ class Circuit(NetlistObject): For more details see the \Device class. """ + ... def create_net(self, name: Optional[str] = ...) -> Net: r""" @brief Creates a new \Net object inside the circuit @@ -3571,6 +3910,7 @@ class Circuit(NetlistObject): A net needs to be filled with references to connect to specific objects. See the \Net class for more details. """ + ... def create_pin(self, name: str) -> Pin: r""" @brief Creates a new \Pin object inside the circuit @@ -3578,6 +3918,7 @@ class Circuit(NetlistObject): Starting with version 0.26.8, this method returns a reference to a \Pin object rather than a copy. """ + ... def create_subcircuit(self, circuit: Circuit, name: Optional[str] = ...) -> SubCircuit: r""" @brief Creates a new bound \SubCircuit object inside the circuit @@ -3585,12 +3926,14 @@ class Circuit(NetlistObject): For more details see the \SubCircuit class. """ + ... @overload def device_by_id(self, id: int) -> Device: r""" @brief Gets the device object for a given ID. If the ID is not a valid device ID, nil is returned. """ + ... @overload def device_by_id(self, id: int) -> Device: r""" @@ -3599,12 +3942,14 @@ class Circuit(NetlistObject): This constness variant has been introduced in version 0.26.8 """ + ... @overload def device_by_name(self, name: str) -> Device: r""" @brief Gets the device object for a given name. If the ID is not a valid device name, nil is returned. """ + ... @overload def device_by_name(self, name: str) -> Device: r""" @@ -3613,22 +3958,26 @@ class Circuit(NetlistObject): This constness variant has been introduced in version 0.26.8 """ + ... @overload def disconnect_pin(self, pin: Pin) -> None: r""" @brief Disconnects the given pin from any net. """ + ... @overload def disconnect_pin(self, pin_id: int) -> None: r""" @brief Disconnects the given pin from any net. """ + ... @overload def each_child(self) -> Iterator[Circuit]: r""" @brief Iterates over the child circuits of this circuit Child circuits are the ones that are referenced from this circuit via subcircuits. """ + ... @overload def each_child(self) -> Iterator[Circuit]: r""" @@ -3637,11 +3986,13 @@ class Circuit(NetlistObject): This constness variant has been introduced in version 0.26.8 """ + ... @overload def each_device(self) -> Iterator[Device]: r""" @brief Iterates over the devices of the circuit """ + ... @overload def each_device(self) -> Iterator[Device]: r""" @@ -3649,11 +4000,13 @@ class Circuit(NetlistObject): This constness variant has been introduced in version 0.26.8 """ + ... @overload def each_net(self) -> Iterator[Net]: r""" @brief Iterates over the nets of the circuit """ + ... @overload def each_net(self) -> Iterator[Net]: r""" @@ -3661,12 +4014,14 @@ class Circuit(NetlistObject): This constness variant has been introduced in version 0.26.8 """ + ... @overload def each_parent(self) -> Iterator[Circuit]: r""" @brief Iterates over the parent circuits of this circuit Child circuits are the ones that are referencing this circuit via subcircuits. """ + ... @overload def each_parent(self) -> Iterator[Circuit]: r""" @@ -3675,11 +4030,13 @@ class Circuit(NetlistObject): This constness variant has been introduced in version 0.26.8 """ + ... @overload def each_pin(self) -> Iterator[Pin]: r""" @brief Iterates over the pins of the circuit """ + ... @overload def each_pin(self) -> Iterator[Pin]: r""" @@ -3687,11 +4044,13 @@ class Circuit(NetlistObject): This constness variant has been introduced in version 0.26.8 """ + ... @overload def each_ref(self) -> Iterator[SubCircuit]: r""" @brief Iterates over the subcircuit objects referencing this circuit """ + ... @overload def each_ref(self) -> Iterator[SubCircuit]: r""" @@ -3700,11 +4059,13 @@ class Circuit(NetlistObject): This constness variant has been introduced in version 0.26.8 """ + ... @overload def each_subcircuit(self) -> Iterator[SubCircuit]: r""" @brief Iterates over the subcircuits of the circuit """ + ... @overload def each_subcircuit(self) -> Iterator[SubCircuit]: r""" @@ -3712,16 +4073,19 @@ class Circuit(NetlistObject): This constness variant has been introduced in version 0.26.8 """ + ... def flatten_subcircuit(self, subcircuit: SubCircuit) -> None: r""" @brief Flattens a subcircuit This method will substitute the given subcircuit by its contents. The subcircuit is removed after this. """ + ... def has_refs(self) -> bool: r""" @brief Returns a value indicating whether the circuit has references A circuit has references if there is at least one subcircuit referring to it. """ + ... def join_nets(self, net: Net, with_: Net) -> None: r""" @brief Joins (connects) two nets into one @@ -3729,17 +4093,20 @@ class Circuit(NetlistObject): This method has been introduced in version 0.26.4. Starting with version 0.28.13, net names will be formed from both input names, combining them with as a comma-separated list. """ + ... def net_by_cluster_id(self, cluster_id: int) -> Net: r""" @brief Gets the net object corresponding to a specific cluster ID If the ID is not a valid pin cluster ID, nil is returned. """ + ... @overload def net_by_name(self, name: str) -> Net: r""" @brief Gets the net object for a given name. If the ID is not a valid net name, nil is returned. """ + ... @overload def net_by_name(self, name: str) -> Net: r""" @@ -3748,6 +4115,7 @@ class Circuit(NetlistObject): This constness variant has been introduced in version 0.26.8 """ + ... @overload def net_for_pin(self, pin: Pin) -> Net: r""" @@ -3755,6 +4123,7 @@ class Circuit(NetlistObject): This is the net object inside the circuit which attaches to the given outward-bound pin. This method returns nil if the pin is not connected or the pin object is nil. """ + ... @overload def net_for_pin(self, pin: Pin) -> Net: r""" @@ -3764,6 +4133,7 @@ class Circuit(NetlistObject): This constness variant has been introduced in version 0.26.8 """ + ... @overload def net_for_pin(self, pin_id: int) -> Net: r""" @@ -3771,6 +4141,7 @@ class Circuit(NetlistObject): This is the net object inside the circuit which attaches to the given outward-bound pin. This method returns nil if the pin is not connected or the pin ID is invalid. """ + ... @overload def net_for_pin(self, pin_id: int) -> Net: r""" @@ -3780,11 +4151,13 @@ class Circuit(NetlistObject): This constness variant has been introduced in version 0.26.8 """ + ... @overload def netlist(self) -> Netlist: r""" @brief Gets the netlist object the circuit lives in """ + ... @overload def netlist(self) -> Netlist: r""" @@ -3792,6 +4165,7 @@ class Circuit(NetlistObject): This constness variant has been introduced in version 0.26.8 """ + ... @overload def nets_by_name(self, name_pattern: str) -> List[Net]: r""" @@ -3800,6 +4174,7 @@ class Circuit(NetlistObject): This method has been introduced in version 0.27.3. """ + ... @overload def nets_by_name(self, name_pattern: str) -> List[Net]: r""" @@ -3809,12 +4184,14 @@ class Circuit(NetlistObject): This constness variant has been introduced in version 0.27.3 """ + ... @overload def pin_by_id(self, id: int) -> Pin: r""" @brief Gets the \Pin object corresponding to a specific ID If the ID is not a valid pin ID, nil is returned. """ + ... @overload def pin_by_id(self, id: int) -> Pin: r""" @@ -3823,12 +4200,14 @@ class Circuit(NetlistObject): This constness variant has been introduced in version 0.26.8 """ + ... @overload def pin_by_name(self, name: str) -> Pin: r""" @brief Gets the \Pin object corresponding to a specific name If the ID is not a valid pin name, nil is returned. """ + ... @overload def pin_by_name(self, name: str) -> Pin: r""" @@ -3837,15 +4216,18 @@ class Circuit(NetlistObject): This constness variant has been introduced in version 0.26.8 """ + ... def pin_count(self) -> int: r""" @brief Gets the number of pins in the circuit """ + ... def purge_nets(self) -> None: r""" @brief Purges floating nets. Floating nets are nets with no device or subcircuit attached to. Such floating nets are removed in this step. If these nets are connected outward to a circuit pin, this circuit pin is also removed. """ + ... def purge_nets_keep_pins(self) -> None: r""" @brief Purges floating nets but keep pins. @@ -3853,36 +4235,43 @@ class Circuit(NetlistObject): This method has been introduced in version 0.26.2. """ + ... def remove_device(self, device: Device) -> None: r""" @brief Removes the given device from the circuit """ + ... def remove_net(self, net: Net) -> None: r""" @brief Removes the given net from the circuit """ + ... def remove_pin(self, id: int) -> None: r""" @brief Removes the pin with the given ID from the circuit This method has been introduced in version 0.26.2. """ + ... def remove_subcircuit(self, subcircuit: SubCircuit) -> None: r""" @brief Removes the given subcircuit from the circuit """ + ... def rename_pin(self, id: int, new_name: str) -> None: r""" @brief Renames the pin with the given ID to 'new_name' This method has been introduced in version 0.26.8. """ + ... @overload def subcircuit_by_id(self, id: int) -> SubCircuit: r""" @brief Gets the subcircuit object for a given ID. If the ID is not a valid subcircuit ID, nil is returned. """ + ... @overload def subcircuit_by_id(self, id: int) -> SubCircuit: r""" @@ -3891,12 +4280,14 @@ class Circuit(NetlistObject): This constness variant has been introduced in version 0.26.8 """ + ... @overload def subcircuit_by_name(self, name: str) -> SubCircuit: r""" @brief Gets the subcircuit object for a given name. If the ID is not a valid subcircuit name, nil is returned. """ + ... @overload def subcircuit_by_name(self, name: str) -> SubCircuit: r""" @@ -3905,6 +4296,8 @@ class Circuit(NetlistObject): This constness variant has been introduced in version 0.26.8 """ + ... + ... class CompoundRegionOperationNode: r""" @@ -3946,84 +4339,103 @@ class CompoundRegionOperationNode: r""" @brief Creates an enum from an integer value """ + ... @overload @classmethod def new(cls, s: str) -> CompoundRegionOperationNode.GeometricalOp: r""" @brief Creates an enum from a string value """ + ... + @overload + def __eq__(self, other: int) -> bool: + r""" + @brief Compares an enum with an integer value + """ + ... @overload def __eq__(self, other: object) -> bool: r""" @brief Compares two enums """ - @overload - def __eq__(self, other: object) -> bool: - r""" - @brief Compares an enum with an integer value - """ + ... def __hash__(self) -> int: r""" @brief Gets the hash value from the enum """ + ... @overload def __init__(self, i: int) -> None: r""" @brief Creates an enum from an integer value """ + ... @overload def __init__(self, s: str) -> None: r""" @brief Creates an enum from a string value """ + ... def __int__(self) -> int: r""" @brief Gets the integer value from the enum """ + ... @overload def __lt__(self, other: CompoundRegionOperationNode.GeometricalOp) -> bool: r""" @brief Returns true if the first enum is less (in the enum symbol order) than the second """ + ... @overload def __lt__(self, other: int) -> bool: r""" @brief Returns true if the enum is less (in the enum symbol order) than the integer value """ + ... + @overload + def __ne__(self, other: int) -> bool: + r""" + @brief Compares an enum with an integer for inequality + """ + ... @overload def __ne__(self, other: object) -> bool: r""" @brief Compares two enums for inequality """ - @overload - def __ne__(self, other: object) -> bool: - r""" - @brief Compares an enum with an integer for inequality - """ + ... def __repr__(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def __str__(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... def hash(self) -> int: r""" @brief Gets the hash value from the enum """ + ... def inspect(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def to_i(self) -> int: r""" @brief Gets the integer value from the enum """ + ... def to_s(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... + ... class LogicalOp: r""" @brief This class represents the CompoundRegionOperationNode::LogicalOp enum @@ -4044,84 +4456,103 @@ class CompoundRegionOperationNode: r""" @brief Creates an enum from an integer value """ + ... @overload @classmethod def new(cls, s: str) -> CompoundRegionOperationNode.LogicalOp: r""" @brief Creates an enum from a string value """ + ... @overload - def __eq__(self, other: object) -> bool: + def __eq__(self, other: int) -> bool: r""" @brief Compares an enum with an integer value """ + ... @overload def __eq__(self, other: object) -> bool: r""" @brief Compares two enums """ + ... def __hash__(self) -> int: r""" @brief Gets the hash value from the enum """ + ... @overload def __init__(self, i: int) -> None: r""" @brief Creates an enum from an integer value """ + ... @overload def __init__(self, s: str) -> None: r""" @brief Creates an enum from a string value """ + ... def __int__(self) -> int: r""" @brief Gets the integer value from the enum """ + ... @overload def __lt__(self, other: CompoundRegionOperationNode.LogicalOp) -> bool: r""" @brief Returns true if the first enum is less (in the enum symbol order) than the second """ + ... @overload def __lt__(self, other: int) -> bool: r""" @brief Returns true if the enum is less (in the enum symbol order) than the integer value """ + ... @overload - def __ne__(self, other: object) -> bool: + def __ne__(self, other: int) -> bool: r""" @brief Compares an enum with an integer for inequality """ + ... @overload def __ne__(self, other: object) -> bool: r""" @brief Compares two enums for inequality """ + ... def __repr__(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def __str__(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... def hash(self) -> int: r""" @brief Gets the hash value from the enum """ + ... def inspect(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def to_i(self) -> int: r""" @brief Gets the integer value from the enum """ + ... def to_s(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... + ... class ParameterType: r""" @brief This class represents the parameter type enum used in \CompoundRegionOperationNode#new_bbox_filter @@ -4154,84 +4585,103 @@ class CompoundRegionOperationNode: r""" @brief Creates an enum from an integer value """ + ... @overload @classmethod def new(cls, s: str) -> CompoundRegionOperationNode.ParameterType: r""" @brief Creates an enum from a string value """ + ... @overload - def __eq__(self, other: object) -> bool: + def __eq__(self, other: int) -> bool: r""" @brief Compares an enum with an integer value """ + ... @overload def __eq__(self, other: object) -> bool: r""" @brief Compares two enums """ + ... def __hash__(self) -> int: r""" @brief Gets the hash value from the enum """ + ... @overload def __init__(self, i: int) -> None: r""" @brief Creates an enum from an integer value """ + ... @overload def __init__(self, s: str) -> None: r""" @brief Creates an enum from a string value """ + ... def __int__(self) -> int: r""" @brief Gets the integer value from the enum """ + ... @overload def __lt__(self, other: CompoundRegionOperationNode.ParameterType) -> bool: r""" @brief Returns true if the first enum is less (in the enum symbol order) than the second """ + ... @overload def __lt__(self, other: int) -> bool: r""" @brief Returns true if the enum is less (in the enum symbol order) than the integer value """ + ... + @overload + def __ne__(self, other: int) -> bool: + r""" + @brief Compares an enum with an integer for inequality + """ + ... @overload def __ne__(self, other: object) -> bool: r""" @brief Compares two enums for inequality """ - @overload - def __ne__(self, other: object) -> bool: - r""" - @brief Compares an enum with an integer for inequality - """ + ... def __repr__(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def __str__(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... def hash(self) -> int: r""" @brief Gets the hash value from the enum """ + ... def inspect(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def to_i(self) -> int: r""" @brief Gets the integer value from the enum """ + ... def to_s(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... + ... class RatioParameterType: r""" @brief This class represents the parameter type enum used in \CompoundRegionOperationNode#new_ratio_filter @@ -4256,84 +4706,103 @@ class CompoundRegionOperationNode: r""" @brief Creates an enum from an integer value """ + ... @overload @classmethod def new(cls, s: str) -> CompoundRegionOperationNode.RatioParameterType: r""" @brief Creates an enum from a string value """ + ... + @overload + def __eq__(self, other: int) -> bool: + r""" + @brief Compares an enum with an integer value + """ + ... @overload def __eq__(self, other: object) -> bool: r""" @brief Compares two enums """ - @overload - def __eq__(self, other: object) -> bool: - r""" - @brief Compares an enum with an integer value - """ + ... def __hash__(self) -> int: r""" @brief Gets the hash value from the enum """ + ... @overload def __init__(self, i: int) -> None: r""" @brief Creates an enum from an integer value """ + ... @overload def __init__(self, s: str) -> None: r""" @brief Creates an enum from a string value """ + ... def __int__(self) -> int: r""" @brief Gets the integer value from the enum """ + ... @overload def __lt__(self, other: CompoundRegionOperationNode.RatioParameterType) -> bool: r""" @brief Returns true if the first enum is less (in the enum symbol order) than the second """ + ... @overload def __lt__(self, other: int) -> bool: r""" @brief Returns true if the enum is less (in the enum symbol order) than the integer value """ + ... @overload - def __ne__(self, other: object) -> bool: + def __ne__(self, other: int) -> bool: r""" @brief Compares an enum with an integer for inequality """ + ... @overload def __ne__(self, other: object) -> bool: r""" @brief Compares two enums for inequality """ + ... def __repr__(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def __str__(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... def hash(self) -> int: r""" @brief Gets the hash value from the enum """ + ... def inspect(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def to_i(self) -> int: r""" @brief Gets the integer value from the enum """ + ... def to_s(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... + ... class ResultType: r""" @brief This class represents the CompoundRegionOperationNode::ResultType enum @@ -4358,84 +4827,103 @@ class CompoundRegionOperationNode: r""" @brief Creates an enum from an integer value """ + ... @overload @classmethod def new(cls, s: str) -> CompoundRegionOperationNode.ResultType: r""" @brief Creates an enum from a string value """ + ... @overload - def __eq__(self, other: object) -> bool: + def __eq__(self, other: int) -> bool: r""" @brief Compares an enum with an integer value """ + ... @overload def __eq__(self, other: object) -> bool: r""" @brief Compares two enums """ + ... def __hash__(self) -> int: r""" @brief Gets the hash value from the enum """ + ... @overload def __init__(self, i: int) -> None: r""" @brief Creates an enum from an integer value """ + ... @overload def __init__(self, s: str) -> None: r""" @brief Creates an enum from a string value """ + ... def __int__(self) -> int: r""" @brief Gets the integer value from the enum """ + ... @overload def __lt__(self, other: CompoundRegionOperationNode.ResultType) -> bool: r""" @brief Returns true if the first enum is less (in the enum symbol order) than the second """ + ... @overload def __lt__(self, other: int) -> bool: r""" @brief Returns true if the enum is less (in the enum symbol order) than the integer value """ + ... + @overload + def __ne__(self, other: int) -> bool: + r""" + @brief Compares an enum with an integer for inequality + """ + ... @overload def __ne__(self, other: object) -> bool: r""" @brief Compares two enums for inequality """ - @overload - def __ne__(self, other: object) -> bool: - r""" - @brief Compares an enum with an integer for inequality - """ + ... def __repr__(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def __str__(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... def hash(self) -> int: r""" @brief Gets the hash value from the enum """ + ... def inspect(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def to_i(self) -> int: r""" @brief Gets the integer value from the enum """ + ... def to_s(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... + ... description: str r""" Getter: @@ -4455,24 +4943,28 @@ class CompoundRegionOperationNode: r""" @brief Creates a new object of this class """ + ... @classmethod def new_area_filter(cls, input: CompoundRegionOperationNode, inverse: Optional[bool] = ..., amin: Optional[int] = ..., amax: Optional[int] = ...) -> CompoundRegionOperationNode: r""" @brief Creates a node filtering the input by area. This node renders the input if the area is between amin and amax (exclusively). If 'inverse' is set to true, the input shape is returned if the area is less than amin (exclusively) or larger than amax (inclusively). """ + ... @classmethod def new_area_sum_filter(cls, input: CompoundRegionOperationNode, inverse: Optional[bool] = ..., amin: Optional[int] = ..., amax: Optional[int] = ...) -> CompoundRegionOperationNode: r""" @brief Creates a node filtering the input by area sum. Like \new_area_filter, but applies to the sum of all shapes in the current set. """ + ... @classmethod def new_bbox_filter(cls, input: CompoundRegionOperationNode, parameter: CompoundRegionOperationNode.ParameterType, inverse: Optional[bool] = ..., pmin: Optional[int] = ..., pmax: Optional[int] = ...) -> CompoundRegionOperationNode: r""" @brief Creates a node filtering the input by bounding box parameters. This node renders the input if the specified bounding box parameter of the input shape is between pmin and pmax (exclusively). If 'inverse' is set to true, the input shape is returned if the parameter is less than pmin (exclusively) or larger than pmax (inclusively). """ + ... @classmethod def new_case(cls, inputs: Sequence[CompoundRegionOperationNode]) -> CompoundRegionOperationNode: r""" @@ -4480,16 +4972,19 @@ class CompoundRegionOperationNode: The inputs are treated as a sequence of condition/result pairs: c1,r1,c2,r2 etc. If there is an odd number of inputs, the last element is taken as the default result. The implementation will evaluate c1 and if not empty, will render r1. Otherwise, c2 will be evaluated and r2 rendered if c2 isn't empty etc. If none of the conditions renders a non-empty set and a default result is present, the default will be returned. Otherwise, the result is empty. """ + ... @classmethod def new_centers(cls, input: CompoundRegionOperationNode, length: int, fraction: float) -> CompoundRegionOperationNode: r""" @brief Creates a node delivering a part at the center of each input edge. """ + ... @classmethod def new_convex_decomposition(cls, input: CompoundRegionOperationNode, mode: PreferredOrientation) -> CompoundRegionOperationNode: r""" @brief Creates a node providing a composition into convex pieces. """ + ... @classmethod def new_corners_as_dots(cls, input: CompoundRegionOperationNode, angle_min: float, include_angle_min: bool, angle_max: float, include_angle_max: bool, inverse: Optional[bool] = ..., absolute: Optional[bool] = ...) -> CompoundRegionOperationNode: r""" @@ -4497,6 +4992,7 @@ class CompoundRegionOperationNode: 'absolute' and 'inverse' arguments have been added in version 0.29.1. """ + ... @classmethod def new_corners_as_edge_pairs(cls, input: CompoundRegionOperationNode, angle_min: float, include_angle_min: bool, angle_max: float, include_angle_max: bool, inverse: Optional[bool] = ..., absolute: Optional[bool] = ...) -> CompoundRegionOperationNode: r""" @@ -4505,6 +5001,7 @@ class CompoundRegionOperationNode: This feature has been introduced in version 0.27.1. 'absolute' and 'inverse' arguments have been added in version 0.29.1. """ + ... @classmethod def new_corners_as_rectangles(cls, input: CompoundRegionOperationNode, angle_min: float, include_angle_min: bool, angle_max: float, include_angle_max: bool, dim: int, inverse: Optional[bool] = ..., absolute: Optional[bool] = ...) -> CompoundRegionOperationNode: r""" @@ -4512,21 +5009,25 @@ class CompoundRegionOperationNode: 'absolute' and 'inverse' arguments have been added in version 0.29.1. """ + ... @classmethod def new_count_filter(cls, inputs: CompoundRegionOperationNode, invert: Optional[bool] = ..., min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> CompoundRegionOperationNode: r""" @brief Creates a node selecting results but their shape count. """ + ... @classmethod def new_edge_length_filter(cls, input: CompoundRegionOperationNode, inverse: Optional[bool] = ..., lmin: Optional[int] = ..., lmax: Optional[int] = ...) -> CompoundRegionOperationNode: r""" @brief Creates a node filtering edges by their length. """ + ... @classmethod def new_edge_length_sum_filter(cls, input: CompoundRegionOperationNode, inverse: Optional[bool] = ..., lmin: Optional[int] = ..., lmax: Optional[int] = ...) -> CompoundRegionOperationNode: r""" @brief Creates a node filtering edges by their length sum (over the local set). """ + ... @classmethod def new_edge_orientation_filter(cls, input: CompoundRegionOperationNode, inverse: bool, amin: float, include_amin: bool, amax: float, include_amax: bool, absolute_angle: Optional[bool] = ...) -> CompoundRegionOperationNode: r""" @@ -4534,16 +5035,19 @@ class CompoundRegionOperationNode: 'absolute_angle' has been introduced in version 0.29.1. """ + ... @classmethod def new_edge_pair_to_first_edges(cls, input: CompoundRegionOperationNode) -> CompoundRegionOperationNode: r""" @brief Creates a node delivering the first edge of each edges pair. """ + ... @classmethod def new_edge_pair_to_second_edges(cls, input: CompoundRegionOperationNode) -> CompoundRegionOperationNode: r""" @brief Creates a node delivering the second edge of each edges pair. """ + ... @classmethod def new_edges(cls, input: CompoundRegionOperationNode, mode: Optional[EdgeMode] = ...) -> CompoundRegionOperationNode: r""" @@ -4552,11 +5056,13 @@ class CompoundRegionOperationNode: The 'mode' argument has been added in version 0.29. """ + ... @classmethod def new_empty(cls, type: CompoundRegionOperationNode.ResultType) -> CompoundRegionOperationNode: r""" @brief Creates a node delivering an empty result of the given type """ + ... @classmethod def new_enclosed_check(cls, other: CompoundRegionOperationNode, d: int, whole_edges: Optional[bool] = ..., metrics: Optional[Metrics] = ..., ignore_angle: Optional[Any] = ..., min_projection: Optional[Any] = ..., max_projection: Optional[Any] = ..., shielded: Optional[bool] = ..., opposite_filter: Optional[Region.OppositeFilter] = ..., rect_filter: Optional[Region.RectFilter] = ..., zero_distance_mode: Optional[ZeroDistanceMode] = ..., negative: Optional[bool] = ...) -> CompoundRegionOperationNode: r""" @@ -4564,11 +5070,13 @@ class CompoundRegionOperationNode: This method has been added in version 0.27.5. The zero_distance_mode argument has been inserted in version 0.29. """ + ... @classmethod def new_enclosing(cls, a: CompoundRegionOperationNode, b: CompoundRegionOperationNode, inverse: Optional[bool] = ..., min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> CompoundRegionOperationNode: r""" @brief Creates a node representing an inside selection operation between the inputs. """ + ... @classmethod def new_enclosing_check(cls, other: CompoundRegionOperationNode, d: int, whole_edges: Optional[bool] = ..., metrics: Optional[Metrics] = ..., ignore_angle: Optional[Any] = ..., min_projection: Optional[Any] = ..., max_projection: Optional[Any] = ..., shielded: Optional[bool] = ..., opposite_filter: Optional[Region.OppositeFilter] = ..., rect_filter: Optional[Region.RectFilter] = ..., zero_distance_mode: Optional[ZeroDistanceMode] = ..., negative: Optional[bool] = ...) -> CompoundRegionOperationNode: r""" @@ -4576,68 +5084,81 @@ class CompoundRegionOperationNode: The zero_distance_mode argument has been inserted in version 0.29. """ + ... @classmethod def new_end_segments(cls, input: CompoundRegionOperationNode, length: int, fraction: float) -> CompoundRegionOperationNode: r""" @brief Creates a node delivering a part at the end of each input edge. """ + ... @classmethod def new_extended(cls, input: CompoundRegionOperationNode, ext_b: int, ext_e: int, ext_o: int, ext_i: int) -> CompoundRegionOperationNode: r""" @brief Creates a node delivering a polygonized version of the edges with the four extension parameters. """ + ... @classmethod def new_extended_in(cls, input: CompoundRegionOperationNode, e: int) -> CompoundRegionOperationNode: r""" @brief Creates a node delivering a polygonized, inside-extended version of the edges. """ + ... @classmethod def new_extended_out(cls, input: CompoundRegionOperationNode, e: int) -> CompoundRegionOperationNode: r""" @brief Creates a node delivering a polygonized, inside-extended version of the edges. """ + ... @classmethod def new_extents(cls, input: CompoundRegionOperationNode, e: Optional[int] = ...) -> CompoundRegionOperationNode: r""" @brief Creates a node returning the extents of the objects. The 'e' parameter provides a generic enlargement which is applied to the boxes. This is helpful to cover dot-like edges or edge pairs in the input. """ + ... @classmethod def new_foreign(cls) -> CompoundRegionOperationNode: r""" @brief Creates a node object representing the primary input without the current polygon """ + ... @classmethod def new_geometrical_boolean(cls, op: CompoundRegionOperationNode.GeometricalOp, a: CompoundRegionOperationNode, b: CompoundRegionOperationNode) -> CompoundRegionOperationNode: r""" @brief Creates a node representing a geometrical boolean operation between the inputs. """ + ... @classmethod def new_hole_count_filter(cls, input: CompoundRegionOperationNode, inverse: Optional[bool] = ..., hmin: Optional[int] = ..., hmax: Optional[int] = ...) -> CompoundRegionOperationNode: r""" @brief Creates a node filtering the input by number of holes per polygon. This node renders the input if the hole count is between hmin and hmax (exclusively). If 'inverse' is set to true, the input shape is returned if the hole count is less than hmin (exclusively) or larger than hmax (inclusively). """ + ... @classmethod def new_holes(cls, input: CompoundRegionOperationNode) -> CompoundRegionOperationNode: r""" @brief Creates a node extracting the holes from polygons. """ + ... @classmethod def new_hulls(cls, input: CompoundRegionOperationNode) -> CompoundRegionOperationNode: r""" @brief Creates a node extracting the hulls from polygons. """ + ... @classmethod def new_inside(cls, a: CompoundRegionOperationNode, b: CompoundRegionOperationNode, inverse: Optional[bool] = ...) -> CompoundRegionOperationNode: r""" @brief Creates a node representing an inside selection operation between the inputs. """ + ... @classmethod def new_interacting(cls, a: CompoundRegionOperationNode, b: CompoundRegionOperationNode, inverse: Optional[bool] = ..., min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> CompoundRegionOperationNode: r""" @brief Creates a node representing an interacting selection operation between the inputs. """ + ... @classmethod def new_isolated_check(cls, d: int, whole_edges: Optional[bool] = ..., metrics: Optional[Metrics] = ..., ignore_angle: Optional[Any] = ..., min_projection: Optional[Any] = ..., max_projection: Optional[Any] = ..., shielded: Optional[bool] = ..., opposite_filter: Optional[Region.OppositeFilter] = ..., rect_filter: Optional[Region.RectFilter] = ..., zero_distance_mode: Optional[ZeroDistanceMode] = ..., negative: Optional[bool] = ...) -> CompoundRegionOperationNode: r""" @@ -4645,11 +5166,13 @@ class CompoundRegionOperationNode: The zero_distance_mode argument has been inserted in version 0.29. """ + ... @classmethod def new_join(cls, inputs: Sequence[CompoundRegionOperationNode]) -> CompoundRegionOperationNode: r""" @brief Creates a node that joins the inputs. """ + ... @classmethod def new_logical_boolean(cls, op: CompoundRegionOperationNode.LogicalOp, invert: bool, inputs: Sequence[CompoundRegionOperationNode]) -> CompoundRegionOperationNode: r""" @@ -4657,59 +5180,69 @@ class CompoundRegionOperationNode: A logical AND operation will evaluate the arguments and render the subject shape when all arguments are non-empty. The logical OR operation will evaluate the arguments and render the subject shape when one argument is non-empty. Setting 'inverse' to true will reverse the result and return the subject shape when one argument is empty in the AND case and when all arguments are empty in the OR case. """ + ... @classmethod def new_merged(cls, input: CompoundRegionOperationNode, min_coherence: Optional[bool] = ..., min_wc: Optional[int] = ...) -> CompoundRegionOperationNode: r""" @brief Creates a node providing merged input polygons. """ + ... @overload @classmethod def new_minkowski_sum(cls, input: CompoundRegionOperationNode, e: Edge) -> CompoundRegionOperationNode: r""" @brief Creates a node providing a Minkowski sum with an edge. """ + ... @overload @classmethod def new_minkowski_sum(cls, input: CompoundRegionOperationNode, p: Box) -> CompoundRegionOperationNode: r""" @brief Creates a node providing a Minkowski sum with a box. """ + ... @overload @classmethod def new_minkowski_sum(cls, input: CompoundRegionOperationNode, p: Polygon) -> CompoundRegionOperationNode: r""" @brief Creates a node providing a Minkowski sum with a polygon. """ + ... @overload @classmethod def new_minkowski_sum(cls, input: CompoundRegionOperationNode, p: Sequence[Point]) -> CompoundRegionOperationNode: r""" @brief Creates a node providing a Minkowski sum with a point sequence forming a contour. """ + ... @overload @classmethod def new_minkowsky_sum(cls, input: CompoundRegionOperationNode, e: Edge) -> CompoundRegionOperationNode: r""" @brief Creates a node providing a Minkowski sum with an edge. """ + ... @overload @classmethod def new_minkowsky_sum(cls, input: CompoundRegionOperationNode, p: Box) -> CompoundRegionOperationNode: r""" @brief Creates a node providing a Minkowski sum with a box. """ + ... @overload @classmethod def new_minkowsky_sum(cls, input: CompoundRegionOperationNode, p: Polygon) -> CompoundRegionOperationNode: r""" @brief Creates a node providing a Minkowski sum with a polygon. """ + ... @overload @classmethod def new_minkowsky_sum(cls, input: CompoundRegionOperationNode, p: Sequence[Point]) -> CompoundRegionOperationNode: r""" @brief Creates a node providing a Minkowski sum with a point sequence forming a contour. """ + ... @classmethod def new_notch_check(cls, d: int, whole_edges: Optional[bool] = ..., metrics: Optional[Metrics] = ..., ignore_angle: Optional[Any] = ..., min_projection: Optional[Any] = ..., max_projection: Optional[Any] = ..., shielded: Optional[bool] = ..., zero_distance_mode: Optional[ZeroDistanceMode] = ..., negative: Optional[bool] = ...) -> CompoundRegionOperationNode: r""" @@ -4717,11 +5250,13 @@ class CompoundRegionOperationNode: The zero_distance_mode argument has been inserted in version 0.29. """ + ... @classmethod def new_outside(cls, a: CompoundRegionOperationNode, b: CompoundRegionOperationNode, inverse: Optional[bool] = ...) -> CompoundRegionOperationNode: r""" @brief Creates a node representing an outside selection operation between the inputs. """ + ... @classmethod def new_overlap_check(cls, other: CompoundRegionOperationNode, d: int, whole_edges: Optional[bool] = ..., metrics: Optional[Metrics] = ..., ignore_angle: Optional[Any] = ..., min_projection: Optional[Any] = ..., max_projection: Optional[Any] = ..., shielded: Optional[bool] = ..., opposite_filter: Optional[Region.OppositeFilter] = ..., rect_filter: Optional[Region.RectFilter] = ..., zero_distance_mode: Optional[ZeroDistanceMode] = ..., negative: Optional[bool] = ...) -> CompoundRegionOperationNode: r""" @@ -4729,77 +5264,91 @@ class CompoundRegionOperationNode: The zero_distance_mode argument has been inserted in version 0.29. """ + ... @classmethod def new_overlapping(cls, a: CompoundRegionOperationNode, b: CompoundRegionOperationNode, inverse: Optional[bool] = ..., min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> CompoundRegionOperationNode: r""" @brief Creates a node representing an overlapping selection operation between the inputs. """ + ... @classmethod def new_perimeter_filter(cls, input: CompoundRegionOperationNode, inverse: Optional[bool] = ..., pmin: Optional[int] = ..., pmax: Optional[int] = ...) -> CompoundRegionOperationNode: r""" @brief Creates a node filtering the input by perimeter. This node renders the input if the perimeter is between pmin and pmax (exclusively). If 'inverse' is set to true, the input shape is returned if the perimeter is less than pmin (exclusively) or larger than pmax (inclusively). """ + ... @classmethod def new_perimeter_sum_filter(cls, input: CompoundRegionOperationNode, inverse: Optional[bool] = ..., amin: Optional[int] = ..., amax: Optional[int] = ...) -> CompoundRegionOperationNode: r""" @brief Creates a node filtering the input by area sum. Like \new_perimeter_filter, but applies to the sum of all shapes in the current set. """ + ... @classmethod def new_polygon_breaker(cls, input: CompoundRegionOperationNode, max_vertex_count: int, max_area_ratio: float) -> CompoundRegionOperationNode: r""" @brief Creates a node providing a composition into parts with less than the given number of points and a smaller area ratio. """ + ... @classmethod def new_polygons(cls, input: CompoundRegionOperationNode, e: Optional[int] = ...) -> CompoundRegionOperationNode: r""" @brief Creates a node converting the input to polygons. @param e The enlargement parameter when converting edges or edge pairs to polygons. """ + ... @classmethod def new_primary(cls) -> CompoundRegionOperationNode: r""" @brief Creates a node object representing the primary input """ + ... @classmethod def new_ratio_filter(cls, input: CompoundRegionOperationNode, parameter: CompoundRegionOperationNode.RatioParameterType, inverse: Optional[bool] = ..., pmin: Optional[float] = ..., pmin_included: Optional[bool] = ..., pmax: Optional[float] = ..., pmax_included: Optional[bool] = ...) -> CompoundRegionOperationNode: r""" @brief Creates a node filtering the input by ratio parameters. This node renders the input if the specified ratio parameter of the input shape is between pmin and pmax. If 'pmin_included' is true, the range will include pmin. Same for 'pmax_included' and pmax. If 'inverse' is set to true, the input shape is returned if the parameter is not within the specified range. """ + ... @classmethod def new_rectangle_filter(cls, input: CompoundRegionOperationNode, is_square: Optional[bool] = ..., inverse: Optional[bool] = ...) -> CompoundRegionOperationNode: r""" @brief Creates a node filtering the input for rectangular or square shapes. If 'is_square' is true, only squares will be selected. If 'inverse' is true, the non-rectangle/non-square shapes are returned. """ + ... @classmethod def new_rectilinear_filter(cls, input: CompoundRegionOperationNode, inverse: Optional[bool] = ...) -> CompoundRegionOperationNode: r""" @brief Creates a node filtering the input for rectilinear shapes (or non-rectilinear ones with 'inverse' set to 'true'). """ + ... @classmethod def new_relative_extents(cls, input: CompoundRegionOperationNode, fx1: float, fy1: float, fx2: float, fy2: float, dx: int, dy: int) -> CompoundRegionOperationNode: r""" @brief Creates a node returning markers at specified locations of the extent (e.g. at the center). """ + ... @classmethod def new_relative_extents_as_edges(cls, input: CompoundRegionOperationNode, fx1: float, fy1: float, fx2: float, fy2: float) -> CompoundRegionOperationNode: r""" @brief Creates a node returning edges at specified locations of the extent (e.g. at the center). """ + ... @classmethod def new_rounded_corners(cls, input: CompoundRegionOperationNode, rinner: float, router: float, n: int) -> CompoundRegionOperationNode: r""" @brief Creates a node generating rounded corners. @param rinner The inner corner radius.@param router The outer corner radius.@param n The number if points per full circle. """ + ... @classmethod def new_secondary(cls, region: Region) -> CompoundRegionOperationNode: r""" @brief Creates a node object representing the secondary input from the given region """ + ... @classmethod def new_separation_check(cls, other: CompoundRegionOperationNode, d: int, whole_edges: Optional[bool] = ..., metrics: Optional[Metrics] = ..., ignore_angle: Optional[Any] = ..., min_projection: Optional[Any] = ..., max_projection: Optional[Any] = ..., shielded: Optional[bool] = ..., opposite_filter: Optional[Region.OppositeFilter] = ..., rect_filter: Optional[Region.RectFilter] = ..., zero_distance_mode: Optional[ZeroDistanceMode] = ..., negative: Optional[bool] = ...) -> CompoundRegionOperationNode: r""" @@ -4807,11 +5356,13 @@ class CompoundRegionOperationNode: The zero_distance_mode argument has been inserted in version 0.29. """ + ... @classmethod def new_sized(cls, input: CompoundRegionOperationNode, dx: int, dy: int, mode: int) -> CompoundRegionOperationNode: r""" @brief Creates a node providing sizing. """ + ... @classmethod def new_smoothed(cls, input: CompoundRegionOperationNode, d: int, keep_hv: Optional[bool] = ...) -> CompoundRegionOperationNode: r""" @@ -4819,6 +5370,7 @@ class CompoundRegionOperationNode: @param d The tolerance to be applied for the smoothing. @param keep_hv If true, horizontal and vertical edges are maintained. """ + ... @classmethod def new_space_check(cls, d: int, whole_edges: Optional[bool] = ..., metrics: Optional[Metrics] = ..., ignore_angle: Optional[Any] = ..., min_projection: Optional[Any] = ..., max_projection: Optional[Any] = ..., shielded: Optional[bool] = ..., opposite_filter: Optional[Region.OppositeFilter] = ..., rect_filter: Optional[Region.RectFilter] = ..., zero_distance_mode: Optional[ZeroDistanceMode] = ..., negative: Optional[bool] = ...) -> CompoundRegionOperationNode: r""" @@ -4826,22 +5378,26 @@ class CompoundRegionOperationNode: The zero_distance_mode argument has been inserted in version 0.29. """ + ... @classmethod def new_start_segments(cls, input: CompoundRegionOperationNode, length: int, fraction: float) -> CompoundRegionOperationNode: r""" @brief Creates a node delivering a part at the beginning of each input edge. """ + ... @classmethod def new_strange_polygons_filter(cls, input: CompoundRegionOperationNode) -> CompoundRegionOperationNode: r""" @brief Creates a node extracting strange polygons. 'strange polygons' are ones which cannot be oriented - e.g. '8' shape polygons. """ + ... @classmethod def new_trapezoid_decomposition(cls, input: CompoundRegionOperationNode, mode: TrapezoidDecompositionMode) -> CompoundRegionOperationNode: r""" @brief Creates a node providing a composition into trapezoids. """ + ... @classmethod def new_width_check(cls, d: int, whole_edges: Optional[bool] = ..., metrics: Optional[Metrics] = ..., ignore_angle: Optional[Any] = ..., min_projection: Optional[Any] = ..., max_projection: Optional[Any] = ..., shielded: Optional[bool] = ..., zero_distance_mode: Optional[ZeroDistanceMode] = ..., negative: Optional[bool] = ...) -> CompoundRegionOperationNode: r""" @@ -4849,33 +5405,39 @@ class CompoundRegionOperationNode: The zero_distance_mode argument has been inserted in version 0.29. """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -4883,6 +5445,7 @@ class CompoundRegionOperationNode: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -4890,33 +5453,40 @@ class CompoundRegionOperationNode: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def result_type(self) -> CompoundRegionOperationNode.ResultType: r""" @brief Gets the result type of this node """ + ... + ... class Connectivity: r""" @@ -4939,49 +5509,54 @@ class Connectivity: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> Connectivity: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> Connectivity: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ - def __repr__(self) -> str: - r""" - @hide - """ + ... def __str__(self) -> str: r""" @hide """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -4989,6 +5564,7 @@ class Connectivity: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -4996,62 +5572,74 @@ class Connectivity: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: Connectivity) -> None: r""" @brief Assigns another object to self """ + ... @overload def connect(self, layer: int) -> None: r""" @brief Specifies intra-layer connectivity. This method specifies a hard connection between shapes on the given layer. Without specifying such a connection, shapes on that layer do not form connection regions. """ + ... @overload def connect(self, layer_a: int, layer_b: int) -> None: r""" @brief Specifies inter-layer connectivity. This method specifies a hard connection between shapes on layer_a and layer_b. """ + ... def connect_global(self, layer: int, global_net_name: str) -> int: r""" @brief Connects the given layer to the global net given by name. Returns the ID of the global net. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> Connectivity: r""" @brief Creates a copy of self """ + ... def global_net_id(self, global_net_name: str) -> int: r""" @brief Gets the ID for a given global net name. """ + ... def global_net_name(self, global_net_id: int) -> str: r""" @brief Gets the name for a given global net ID. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def soft_connect(self, layer_a: int, layer_b: int) -> None: r""" @brief Specifies a soft connection between layer_a and layer_b. @@ -5061,6 +5649,7 @@ class Connectivity: Soft connections have in introduced in version 0.29. """ + ... def soft_connect_global(self, layer: int, global_net_name: str) -> int: r""" @brief Soft-connects the given layer to the global net given by name. @@ -5069,10 +5658,13 @@ class Connectivity: Soft connections have in introduced in version 0.29. """ + ... def to_s(self) -> str: r""" @hide """ + ... + ... class CplxTrans: r""" @@ -5192,6 +5784,7 @@ class CplxTrans: This constructor has been introduced in version 0.25. The 'dbu' argument has been added in version 0.29. """ + ... @classmethod def from_s(cls, s: str) -> CplxTrans: r""" @@ -5200,12 +5793,14 @@ class CplxTrans: This method has been added in version 0.23. """ + ... @overload @classmethod def new(cls) -> CplxTrans: r""" @brief Creates a unit transformation """ + ... @overload @classmethod def new(cls, c: CplxTrans, mag: Optional[float] = ..., u: Optional[DVector] = ...) -> CplxTrans: @@ -5219,6 +5814,7 @@ class CplxTrans: @param c The original transformation @param u The Additional displacement """ + ... @overload @classmethod def new(cls, c: CplxTrans, mag: Optional[float] = ..., x: Optional[float] = ..., y: Optional[float] = ...) -> CplxTrans: @@ -5233,6 +5829,7 @@ class CplxTrans: @param x The Additional displacement (x) @param y The Additional displacement (y) """ + ... @overload @classmethod def new(cls, mag: Optional[float] = ..., rot: Optional[float] = ..., mirrx: Optional[bool] = ..., u: Optional[DVector] = ...) -> CplxTrans: @@ -5247,6 +5844,7 @@ class CplxTrans: @param mirrx True, if mirrored at x axis @param u The displacement """ + ... @overload @classmethod def new(cls, mag: Optional[float] = ..., rot: Optional[float] = ..., mirrx: Optional[bool] = ..., x: Optional[float] = ..., y: Optional[float] = ...) -> CplxTrans: @@ -5262,6 +5860,7 @@ class CplxTrans: @param x The x displacement @param y The y displacement """ + ... @overload @classmethod def new(cls, t: Trans, mag: Optional[float] = ...) -> CplxTrans: @@ -5270,6 +5869,7 @@ class CplxTrans: Creates a magnifying transformation from a simple transformation and a magnification. """ + ... @overload @classmethod def new(cls, trans: DCplxTrans, dbu: Optional[float] = ...) -> CplxTrans: @@ -5279,6 +5879,7 @@ class CplxTrans: This constructor has been introduced in version 0.25. The 'dbu' argument has been added in version 0.29. """ + ... @overload @classmethod def new(cls, trans: ICplxTrans, dbu: Optional[float] = ...) -> CplxTrans: @@ -5288,6 +5889,7 @@ class CplxTrans: This constructor has been introduced in version 0.25. The 'dbu' argument has been added in version 0.29. """ + ... @overload @classmethod def new(cls, trans: VCplxTrans, dbu: Optional[float] = ...) -> CplxTrans: @@ -5297,6 +5899,7 @@ class CplxTrans: This constructor has been introduced in version 0.25. The 'dbu' argument has been added in version 0.29. """ + ... @overload @classmethod def new(cls, u: DVector) -> CplxTrans: @@ -5307,6 +5910,7 @@ class CplxTrans: This method has been added in version 0.25. """ + ... @overload @classmethod def new(cls, x: float, y: float) -> CplxTrans: @@ -5319,18 +5923,22 @@ class CplxTrans: @param x The x displacement @param y The y displacement """ + ... def __copy__(self) -> CplxTrans: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> CplxTrans: r""" @brief Creates a copy of self """ + ... def __eq__(self, other: object) -> bool: r""" @brief Tests for equality """ + ... def __hash__(self) -> int: r""" @brief Computes a hash value @@ -5338,11 +5946,13 @@ class CplxTrans: This method has been introduced in version 0.25. """ + ... @overload def __init__(self) -> None: r""" @brief Creates a unit transformation """ + ... @overload def __init__(self, c: CplxTrans, mag: Optional[float] = ..., u: Optional[DVector] = ...) -> None: r""" @@ -5355,6 +5965,7 @@ class CplxTrans: @param c The original transformation @param u The Additional displacement """ + ... @overload def __init__(self, c: CplxTrans, mag: Optional[float] = ..., x: Optional[float] = ..., y: Optional[float] = ...) -> None: r""" @@ -5368,6 +5979,7 @@ class CplxTrans: @param x The Additional displacement (x) @param y The Additional displacement (y) """ + ... @overload def __init__(self, mag: Optional[float] = ..., rot: Optional[float] = ..., mirrx: Optional[bool] = ..., u: Optional[DVector] = ...) -> None: r""" @@ -5381,6 +5993,7 @@ class CplxTrans: @param mirrx True, if mirrored at x axis @param u The displacement """ + ... @overload def __init__(self, mag: Optional[float] = ..., rot: Optional[float] = ..., mirrx: Optional[bool] = ..., x: Optional[float] = ..., y: Optional[float] = ...) -> None: r""" @@ -5395,6 +6008,7 @@ class CplxTrans: @param x The x displacement @param y The y displacement """ + ... @overload def __init__(self, t: Trans, mag: Optional[float] = ...) -> None: r""" @@ -5402,6 +6016,7 @@ class CplxTrans: Creates a magnifying transformation from a simple transformation and a magnification. """ + ... @overload def __init__(self, trans: DCplxTrans, dbu: Optional[float] = ...) -> None: r""" @@ -5410,6 +6025,7 @@ class CplxTrans: This constructor has been introduced in version 0.25. The 'dbu' argument has been added in version 0.29. """ + ... @overload def __init__(self, trans: ICplxTrans, dbu: Optional[float] = ...) -> None: r""" @@ -5418,6 +6034,7 @@ class CplxTrans: This constructor has been introduced in version 0.25. The 'dbu' argument has been added in version 0.29. """ + ... @overload def __init__(self, trans: VCplxTrans, dbu: Optional[float] = ...) -> None: r""" @@ -5426,6 +6043,7 @@ class CplxTrans: This constructor has been introduced in version 0.25. The 'dbu' argument has been added in version 0.29. """ + ... @overload def __init__(self, u: DVector) -> None: r""" @@ -5435,6 +6053,7 @@ class CplxTrans: This method has been added in version 0.25. """ + ... @overload def __init__(self, x: float, y: float) -> None: r""" @@ -5446,11 +6065,13 @@ class CplxTrans: @param x The x displacement @param y The y displacement """ + ... def __lt__(self, other: CplxTrans) -> bool: r""" @brief Provides a 'less' criterion for sorting This method is provided to implement a sorting order. The definition of 'less' is opaque and might change in future versions. """ + ... @overload def __mul__(self, box: Box) -> DBox: r""" @@ -5463,21 +6084,22 @@ class CplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __mul__(self, d: int) -> float: r""" - @brief Transforms a distance + @brief Transforms a single distance The "ctrans" method transforms the given distance. - e = t(d). For the simple transformations, there - is no magnification and no modification of the distance - therefore. + This is equivalent to multiplying with the magnification. For the simple transformations, there + is no magnification and no modification of the distance. @param d The distance to transform @return The transformed distance - The product '*' has been added as a synonym in version 0.28. + The product '*' has been added as a synonym in version 0.28. The distance can be signed since version 0.29.3. """ + ... @overload def __mul__(self, edge: Edge) -> DEdge: r""" @@ -5490,6 +6112,7 @@ class CplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __mul__(self, p: Point) -> DPoint: r""" @@ -5503,6 +6126,7 @@ class CplxTrans: @param p The point to transform @return The transformed point """ + ... @overload def __mul__(self, p: Vector) -> DVector: r""" @@ -5516,6 +6140,7 @@ class CplxTrans: @param v The vector to transform @return The transformed vector """ + ... @overload def __mul__(self, path: Path) -> DPath: r""" @@ -5528,6 +6153,7 @@ class CplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __mul__(self, polygon: Polygon) -> DPolygon: r""" @@ -5540,6 +6166,7 @@ class CplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __mul__(self, t: CplxTrans) -> CplxTrans: r""" @@ -5550,6 +6177,7 @@ class CplxTrans: @param t The transformation to apply before @return The modified transformation """ + ... @overload def __mul__(self, t: ICplxTrans) -> CplxTrans: r""" @@ -5560,6 +6188,7 @@ class CplxTrans: @param t The transformation to apply before @return The modified transformation """ + ... @overload def __mul__(self, t: VCplxTrans) -> DCplxTrans: r""" @@ -5570,6 +6199,7 @@ class CplxTrans: @param t The transformation to apply before @return The modified transformation """ + ... @overload def __mul__(self, text: Text) -> DText: r""" @@ -5582,18 +6212,12 @@ class CplxTrans: This convenience method has been introduced in version 0.25. """ + ... def __ne__(self, other: object) -> bool: r""" @brief Tests for inequality """ - def __repr__(self, lazy: Optional[bool] = ..., dbu: Optional[float] = ...) -> str: - r""" - @brief String conversion - If 'lazy' is true, some parts are omitted when not required. - If a DBU is given, the output units will be micrometers. - - The lazy and DBU arguments have been added in version 0.27.6. - """ + ... @overload def __rmul__(self, box: Box) -> DBox: r""" @@ -5606,21 +6230,22 @@ class CplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __rmul__(self, d: int) -> float: r""" - @brief Transforms a distance + @brief Transforms a single distance The "ctrans" method transforms the given distance. - e = t(d). For the simple transformations, there - is no magnification and no modification of the distance - therefore. + This is equivalent to multiplying with the magnification. For the simple transformations, there + is no magnification and no modification of the distance. @param d The distance to transform @return The transformed distance - The product '*' has been added as a synonym in version 0.28. + The product '*' has been added as a synonym in version 0.28. The distance can be signed since version 0.29.3. """ + ... @overload def __rmul__(self, edge: Edge) -> DEdge: r""" @@ -5633,6 +6258,7 @@ class CplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __rmul__(self, p: Point) -> DPoint: r""" @@ -5646,6 +6272,7 @@ class CplxTrans: @param p The point to transform @return The transformed point """ + ... @overload def __rmul__(self, p: Vector) -> DVector: r""" @@ -5659,6 +6286,7 @@ class CplxTrans: @param v The vector to transform @return The transformed vector """ + ... @overload def __rmul__(self, path: Path) -> DPath: r""" @@ -5671,6 +6299,7 @@ class CplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __rmul__(self, polygon: Polygon) -> DPolygon: r""" @@ -5683,6 +6312,7 @@ class CplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __rmul__(self, text: Text) -> DText: r""" @@ -5695,6 +6325,7 @@ class CplxTrans: This convenience method has been introduced in version 0.25. """ + ... def __str__(self, lazy: Optional[bool] = ..., dbu: Optional[float] = ...) -> str: r""" @brief String conversion @@ -5703,29 +6334,34 @@ class CplxTrans: The lazy and DBU arguments have been added in version 0.27.6. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -5733,6 +6369,7 @@ class CplxTrans: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -5740,45 +6377,51 @@ class CplxTrans: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: CplxTrans) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def ctrans(self, d: int) -> float: r""" - @brief Transforms a distance + @brief Transforms a single distance The "ctrans" method transforms the given distance. - e = t(d). For the simple transformations, there - is no magnification and no modification of the distance - therefore. + This is equivalent to multiplying with the magnification. For the simple transformations, there + is no magnification and no modification of the distance. @param d The distance to transform @return The transformed distance - The product '*' has been added as a synonym in version 0.28. + The product '*' has been added as a synonym in version 0.28. The distance can be signed since version 0.29.3. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> CplxTrans: r""" @brief Creates a copy of self """ + ... def hash(self) -> int: r""" @brief Computes a hash value @@ -5786,6 +6429,7 @@ class CplxTrans: This method has been introduced in version 0.25. """ + ... def invert(self) -> CplxTrans: r""" @brief Inverts the transformation (in place) @@ -5795,6 +6439,7 @@ class CplxTrans: @return The inverted transformation """ + ... def inverted(self) -> VCplxTrans: r""" @brief Returns the inverted transformation @@ -5803,6 +6448,7 @@ class CplxTrans: @return The inverted transformation """ + ... def is_complex(self) -> bool: r""" @brief Returns true if the transformation is a complex one @@ -5813,12 +6459,14 @@ class CplxTrans: This method has been introduced in version 0.27.5. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_mag(self) -> bool: r""" @brief Tests, if the transformation is a magnifying one @@ -5826,22 +6474,26 @@ class CplxTrans: This is the recommended test for checking if the transformation represents a magnification. """ + ... def is_mirror(self) -> bool: r""" @brief Gets the mirror flag If this property is true, the transformation is composed of a mirroring at the x-axis followed by a rotation by the angle given by the \angle property. """ + ... def is_ortho(self) -> bool: r""" @brief Tests, if the transformation is an orthogonal transformation If the rotation is by a multiple of 90 degree, this method will return true. """ + ... def is_unity(self) -> bool: r""" @brief Tests, whether this is a unit transformation """ + ... def rot(self) -> int: r""" @brief Returns the respective simple transformation equivalent rotation code if possible @@ -5851,6 +6503,7 @@ class CplxTrans: magnification and displacement. If the transformation is not orthogonal, the result reflects the quadrant the rotation goes into. """ + ... def s_trans(self) -> Trans: r""" @brief Extracts the simple transformation part @@ -5858,6 +6511,7 @@ class CplxTrans: The simple transformation part does not reflect magnification or arbitrary angles. Rotation angles are rounded down to multiples of 90 degree. Magnification is fixed to 1.0. """ + ... def to_itrans(self, dbu: Optional[float] = ...) -> ICplxTrans: r""" @brief Converts the transformation to another transformation with integer input and output coordinates @@ -5870,6 +6524,7 @@ class CplxTrans: This method has been introduced in version 0.25 and was deprecated in version 0.29. """ + ... def to_s(self, lazy: Optional[bool] = ..., dbu: Optional[float] = ...) -> str: r""" @brief String conversion @@ -5878,6 +6533,7 @@ class CplxTrans: The lazy and DBU arguments have been added in version 0.27.6. """ + ... def to_trans(self, dbu: Optional[float] = ...) -> DCplxTrans: r""" @brief Converts the transformation to another transformation with floating-point input coordinates @@ -5890,6 +6546,7 @@ class CplxTrans: This method has been introduced in version 0.25 and was deprecated in version 0.29. """ + ... def to_vtrans(self, dbu: Optional[float] = ...) -> VCplxTrans: r""" @brief Converts the transformation to another transformation with integer output and floating-point input coordinates @@ -5902,6 +6559,7 @@ class CplxTrans: This method has been introduced in version 0.25 and was deprecated in version 0.29. """ + ... @overload def trans(self, box: Box) -> DBox: r""" @@ -5914,6 +6572,7 @@ class CplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def trans(self, edge: Edge) -> DEdge: r""" @@ -5926,6 +6585,7 @@ class CplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def trans(self, p: Point) -> DPoint: r""" @@ -5939,6 +6599,7 @@ class CplxTrans: @param p The point to transform @return The transformed point """ + ... @overload def trans(self, p: Vector) -> DVector: r""" @@ -5952,6 +6613,7 @@ class CplxTrans: @param v The vector to transform @return The transformed vector """ + ... @overload def trans(self, path: Path) -> DPath: r""" @@ -5964,6 +6626,7 @@ class CplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def trans(self, polygon: Polygon) -> DPolygon: r""" @@ -5976,6 +6639,7 @@ class CplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def trans(self, text: Text) -> DText: r""" @@ -5988,6 +6652,8 @@ class CplxTrans: This convenience method has been introduced in version 0.25. """ + ... + ... class DBox: r""" @@ -6064,6 +6730,7 @@ class DBox: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_ibox'. """ + ... @classmethod def from_s(cls, s: str) -> DBox: r""" @@ -6072,6 +6739,7 @@ class DBox: This method has been added in version 0.23. """ + ... @overload @classmethod def new(cls) -> DBox: @@ -6080,6 +6748,7 @@ class DBox: Empty boxes don't modify a box when joined with it. The intersection between an empty and any other box is also an empty box. The width, height, p1 and p2 attributes of an empty box are undefined. Use \empty? to get a value indicating whether the box is empty. """ + ... @overload @classmethod def new(cls, box: Box) -> DBox: @@ -6088,6 +6757,7 @@ class DBox: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_ibox'. """ + ... @overload @classmethod def new(cls, left: float, bottom: float, right: float, top: float) -> DBox: @@ -6097,6 +6767,7 @@ class DBox: Four coordinates are given to create a new box. If the coordinates are not provided in the correct order (i.e. right < left), these are swapped. """ + ... @overload @classmethod def new(cls, lower_left: DPoint, upper_right: DPoint) -> DBox: @@ -6106,6 +6777,7 @@ class DBox: Two points are given to create a new box. If the coordinates are not provided in the correct order (i.e. right < left), these are swapped. """ + ... @overload @classmethod def new(cls, w: float) -> DBox: @@ -6116,6 +6788,7 @@ class DBox: This convenience constructor has been introduced in version 0.28. """ + ... @overload @classmethod def new(cls, w: float, h: float) -> DBox: @@ -6126,6 +6799,7 @@ class DBox: This convenience constructor has been introduced in version 0.28. """ + ... @classmethod def world(cls) -> DBox: r""" @@ -6142,6 +6816,7 @@ class DBox: This method has been introduced in version 0.28. """ + ... @overload def __add__(self, box: DBox) -> DBox: r""" @@ -6158,6 +6833,7 @@ class DBox: @return The joined box """ + ... @overload def __add__(self, point: DPoint) -> DBox: r""" @@ -6170,6 +6846,7 @@ class DBox: @return The box joined with the point """ + ... def __and__(self, box: DBox) -> DBox: r""" @brief Returns the intersection of this box with another box @@ -6186,19 +6863,23 @@ class DBox: @return The intersection box """ + ... def __copy__(self) -> DBox: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> DBox: r""" @brief Creates a copy of self """ + ... def __eq__(self, box: object) -> bool: r""" @brief Returns true if this box is equal to the other box Returns true, if this box and the given box are equal """ + ... def __hash__(self) -> int: r""" @brief Computes a hash value @@ -6206,6 +6887,7 @@ class DBox: This method has been introduced in version 0.25. """ + ... @overload def __init__(self) -> None: r""" @@ -6213,6 +6895,7 @@ class DBox: Empty boxes don't modify a box when joined with it. The intersection between an empty and any other box is also an empty box. The width, height, p1 and p2 attributes of an empty box are undefined. Use \empty? to get a value indicating whether the box is empty. """ + ... @overload def __init__(self, box: Box) -> None: r""" @@ -6220,6 +6903,7 @@ class DBox: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_ibox'. """ + ... @overload def __init__(self, left: float, bottom: float, right: float, top: float) -> None: r""" @@ -6228,6 +6912,7 @@ class DBox: Four coordinates are given to create a new box. If the coordinates are not provided in the correct order (i.e. right < left), these are swapped. """ + ... @overload def __init__(self, lower_left: DPoint, upper_right: DPoint) -> None: r""" @@ -6236,6 +6921,7 @@ class DBox: Two points are given to create a new box. If the coordinates are not provided in the correct order (i.e. right < left), these are swapped. """ + ... @overload def __init__(self, w: float) -> None: r""" @@ -6245,6 +6931,7 @@ class DBox: This convenience constructor has been introduced in version 0.28. """ + ... @overload def __init__(self, w: float, h: float) -> None: r""" @@ -6254,11 +6941,13 @@ class DBox: This convenience constructor has been introduced in version 0.28. """ + ... def __lt__(self, box: DBox) -> bool: r""" @brief Returns true if this box is 'less' than another box Returns true, if this box is 'less' with respect to first and second point (in this order) """ + ... @overload def __mul__(self, box: DBox) -> DBox: r""" @@ -6275,6 +6964,7 @@ class DBox: @return The convolved box """ + ... @overload def __mul__(self, scale_factor: float) -> DBox: r""" @@ -6289,20 +6979,13 @@ class DBox: @return The scaled box """ + ... def __ne__(self, box: object) -> bool: r""" @brief Returns true if this box is not equal to the other box Returns true, if this box and the given box are not equal """ - def __repr__(self, dbu: Optional[float] = ...) -> str: - r""" - @brief Returns a string representing this box - - This string can be turned into a box again by using \from_s - . If a DBU is given, the output units will be micrometers. - - The DBU argument has been added in version 0.27.6. - """ + ... @overload def __rmul__(self, box: DBox) -> DBox: r""" @@ -6319,6 +7002,7 @@ class DBox: @return The convolved box """ + ... @overload def __rmul__(self, scale_factor: float) -> DBox: r""" @@ -6333,6 +7017,7 @@ class DBox: @return The scaled box """ + ... def __str__(self, dbu: Optional[float] = ...) -> str: r""" @brief Returns a string representing this box @@ -6342,6 +7027,7 @@ class DBox: The DBU argument has been added in version 0.27.6. """ + ... def __sub__(self, box: DBox) -> DBox: r""" @brief Subtraction of boxes @@ -6356,29 +7042,34 @@ class DBox: This feature has been introduced in version 0.29. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -6386,6 +7077,7 @@ class DBox: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -6393,16 +7085,19 @@ class DBox: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def area(self) -> float: r""" @brief Computes the box area Returns the box area or 0 if the box is empty """ + ... def assign(self, other: DBox) -> None: r""" @brief Assigns another object to self """ + ... def bbox(self) -> DBox: r""" @brief Returns the bounding box @@ -6410,10 +7105,12 @@ class DBox: This method has been introduced in version 0.27. """ + ... def center(self) -> DPoint: r""" @brief Gets the center of the box """ + ... @overload def contains(self, point: DPoint) -> bool: r""" @@ -6427,6 +7124,7 @@ class DBox: @return true if the point is inside the box. """ + ... @overload def contains(self, x: float, y: float) -> bool: r""" @@ -6438,33 +7136,39 @@ class DBox: @return true if the point is inside the box. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> DBox: r""" @brief Creates a copy of self """ + ... def empty(self) -> bool: r""" @brief Returns a value indicating whether the box is empty An empty box may be created with the default constructor for example. Such a box is neutral when combining it with other boxes and renders empty boxes if used in box intersections and false in geometrical relationship tests. """ + ... @overload def enlarge(self, d: float) -> DBox: r""" @@ -6475,6 +7179,7 @@ class DBox: @return A reference to this box. """ + ... @overload def enlarge(self, dx: float, dy: float) -> DBox: r""" @@ -6486,6 +7191,7 @@ class DBox: @return A reference to this box. """ + ... @overload def enlarge(self, enlargement: DVector) -> DBox: r""" @@ -6505,6 +7211,7 @@ class DBox: @return A reference to this box. """ + ... @overload def enlarged(self, d: float) -> DBox: r""" @@ -6515,6 +7222,7 @@ class DBox: @return The enlarged box. """ + ... @overload def enlarged(self, dx: float, dy: float) -> DBox: r""" @@ -6526,6 +7234,7 @@ class DBox: @return The enlarged box. """ + ... @overload def enlarged(self, enlargement: DVector) -> DBox: r""" @@ -6545,6 +7254,7 @@ class DBox: @return The enlarged box. """ + ... def hash(self) -> int: r""" @brief Computes a hash value @@ -6552,10 +7262,12 @@ class DBox: This method has been introduced in version 0.25. """ + ... def height(self) -> float: r""" @brief Gets the height of the box """ + ... def inside(self, box: DBox) -> bool: r""" @brief Tests if this box is inside the argument box @@ -6563,16 +7275,19 @@ class DBox: Returns true, if this box is inside the given box, i.e. the box intersection renders this box """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_point(self) -> bool: r""" @brief Returns true, if the box is a single point """ + ... @overload def move(self, distance: DVector) -> DBox: r""" @@ -6586,6 +7301,7 @@ class DBox: @return A reference to this box. """ + ... @overload def move(self, dx: float, dy: float) -> DBox: r""" @@ -6597,6 +7313,7 @@ class DBox: @return A reference to this box. """ + ... @overload def moved(self, distance: DVector) -> DBox: r""" @@ -6611,6 +7328,7 @@ class DBox: @return The moved box. """ + ... @overload def moved(self, dx: float, dy: float) -> DBox: r""" @@ -6622,6 +7340,7 @@ class DBox: @return The moved box. """ + ... def overlaps(self, box: DBox) -> bool: r""" @brief Tests if this box overlaps the argument box @@ -6629,6 +7348,7 @@ class DBox: Returns true, if the intersection box of this box with the argument box exists and has a non-vanishing area """ + ... def perimeter(self) -> float: r""" @brief Returns the perimeter of the box @@ -6637,6 +7357,7 @@ class DBox: This method has been introduced in version 0.23. """ + ... def to_itype(self, dbu: Optional[float] = ...) -> Box: r""" @brief Converts the box to an integer coordinate box @@ -6645,6 +7366,7 @@ class DBox: This method has been introduced in version 0.25. """ + ... def to_s(self, dbu: Optional[float] = ...) -> str: r""" @brief Returns a string representing this box @@ -6654,6 +7376,7 @@ class DBox: The DBU argument has been added in version 0.27.6. """ + ... def touches(self, box: DBox) -> bool: r""" @brief Tests if this box touches the argument box @@ -6661,6 +7384,7 @@ class DBox: Two boxes touch if they overlap or their boundaries share at least one common point. Touching is equivalent to a non-empty intersection ('!(b1 & b2).empty?'). """ + ... @overload def transformed(self, t: DCplxTrans) -> DBox: r""" @@ -6670,6 +7394,7 @@ class DBox: @param t The magnifying transformation to apply @return The transformed box (a DBox now) """ + ... @overload def transformed(self, t: DTrans) -> DBox: r""" @@ -6679,6 +7404,7 @@ class DBox: @param t The transformation to apply @return The transformed box """ + ... @overload def transformed(self, t: VCplxTrans) -> Box: r""" @@ -6690,10 +7416,13 @@ class DBox: This method has been introduced in version 0.25. """ + ... def width(self) -> float: r""" @brief Gets the width of the box """ + ... + ... class DCellInstArray: r""" @@ -6747,6 +7476,7 @@ class DCellInstArray: This convenience method has been introduced in version 0.28. """ + ... na: int r""" Getter: @@ -6783,6 +7513,7 @@ class DCellInstArray: r""" @brief Creates en empty cell instance with size 0 """ + ... @overload @classmethod def new(cls, cell: Cell, disp: DVector) -> DCellInstArray: @@ -6793,6 +7524,7 @@ class DCellInstArray: This convenience variant takes a \Cell pointer and is equivalent to using 'cell.cell_index()'. It has been introduced in version 0.28. """ + ... @overload @classmethod def new(cls, cell: Cell, disp: DVector, a: DVector, b: DVector, na: int, nb: int) -> DCellInstArray: @@ -6807,6 +7539,7 @@ class DCellInstArray: This convenience variant takes a \Cell pointer and is equivalent to using 'cell.cell_index()'. It has been introduced in version 0.28. """ + ... @overload @classmethod def new(cls, cell: Cell, trans: DCplxTrans) -> DCellInstArray: @@ -6817,6 +7550,7 @@ class DCellInstArray: This convenience variant takes a \Cell pointer and is equivalent to using 'cell.cell_index()'. It has been introduced in version 0.28. """ + ... @overload @classmethod def new(cls, cell: Cell, trans: DCplxTrans, a: DVector, b: DVector, na: int, nb: int) -> DCellInstArray: @@ -6831,6 +7565,7 @@ class DCellInstArray: This convenience variant takes a \Cell pointer and is equivalent to using 'cell.cell_index()'. It has been introduced in version 0.28. """ + ... @overload @classmethod def new(cls, cell: Cell, trans: DTrans) -> DCellInstArray: @@ -6841,6 +7576,7 @@ class DCellInstArray: This convenience variant takes a \Cell pointer and is equivalent to using 'cell.cell_index()'. It has been introduced in version 0.28. """ + ... @overload @classmethod def new(cls, cell: Cell, trans: DTrans, a: DVector, b: DVector, na: int, nb: int) -> DCellInstArray: @@ -6855,6 +7591,7 @@ class DCellInstArray: This convenience variant takes a \Cell pointer and is equivalent to using 'cell.cell_index()'. It has been introduced in version 0.28. """ + ... @overload @classmethod def new(cls, cell_index: int, disp: DVector) -> DCellInstArray: @@ -6864,6 +7601,7 @@ class DCellInstArray: @param disp The displacement This convenience initializer has been introduced in version 0.28. """ + ... @overload @classmethod def new(cls, cell_index: int, disp: DVector, a: DVector, b: DVector, na: int, nb: int) -> DCellInstArray: @@ -6878,6 +7616,7 @@ class DCellInstArray: This convenience initializer has been introduced in version 0.28. """ + ... @overload @classmethod def new(cls, cell_index: int, trans: DCplxTrans) -> DCellInstArray: @@ -6886,6 +7625,7 @@ class DCellInstArray: @param cell_index The cell to instantiate @param trans The complex transformation by which to instantiate the cell """ + ... @overload @classmethod def new(cls, cell_index: int, trans: DCplxTrans, a: DVector, b: DVector, na: int, nb: int) -> DCellInstArray: @@ -6898,6 +7638,7 @@ class DCellInstArray: @param na The number of placements in the 'a' axis @param nb The number of placements in the 'b' axis """ + ... @overload @classmethod def new(cls, cell_index: int, trans: DTrans) -> DCellInstArray: @@ -6906,6 +7647,7 @@ class DCellInstArray: @param cell_index The cell to instantiate @param trans The transformation by which to instantiate the cell """ + ... @overload @classmethod def new(cls, cell_index: int, trans: DTrans, a: DVector, b: DVector, na: int, nb: int) -> DCellInstArray: @@ -6918,18 +7660,22 @@ class DCellInstArray: @param na The number of placements in the 'a' axis @param nb The number of placements in the 'b' axis """ + ... def __copy__(self) -> DCellInstArray: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> DCellInstArray: r""" @brief Creates a copy of self """ + ... def __eq__(self, other: object) -> bool: r""" @brief Compares two arrays for equality """ + ... def __hash__(self) -> int: r""" @brief Computes a hash value @@ -6937,11 +7683,13 @@ class DCellInstArray: This method has been introduced in version 0.25. """ + ... @overload def __init__(self) -> None: r""" @brief Creates en empty cell instance with size 0 """ + ... @overload def __init__(self, cell: Cell, disp: DVector) -> None: r""" @@ -6951,6 +7699,7 @@ class DCellInstArray: This convenience variant takes a \Cell pointer and is equivalent to using 'cell.cell_index()'. It has been introduced in version 0.28. """ + ... @overload def __init__(self, cell: Cell, disp: DVector, a: DVector, b: DVector, na: int, nb: int) -> None: r""" @@ -6964,6 +7713,7 @@ class DCellInstArray: This convenience variant takes a \Cell pointer and is equivalent to using 'cell.cell_index()'. It has been introduced in version 0.28. """ + ... @overload def __init__(self, cell: Cell, trans: DCplxTrans) -> None: r""" @@ -6973,6 +7723,7 @@ class DCellInstArray: This convenience variant takes a \Cell pointer and is equivalent to using 'cell.cell_index()'. It has been introduced in version 0.28. """ + ... @overload def __init__(self, cell: Cell, trans: DCplxTrans, a: DVector, b: DVector, na: int, nb: int) -> None: r""" @@ -6986,6 +7737,7 @@ class DCellInstArray: This convenience variant takes a \Cell pointer and is equivalent to using 'cell.cell_index()'. It has been introduced in version 0.28. """ + ... @overload def __init__(self, cell: Cell, trans: DTrans) -> None: r""" @@ -6995,6 +7747,7 @@ class DCellInstArray: This convenience variant takes a \Cell pointer and is equivalent to using 'cell.cell_index()'. It has been introduced in version 0.28. """ + ... @overload def __init__(self, cell: Cell, trans: DTrans, a: DVector, b: DVector, na: int, nb: int) -> None: r""" @@ -7008,6 +7761,7 @@ class DCellInstArray: This convenience variant takes a \Cell pointer and is equivalent to using 'cell.cell_index()'. It has been introduced in version 0.28. """ + ... @overload def __init__(self, cell_index: int, disp: DVector) -> None: r""" @@ -7016,6 +7770,7 @@ class DCellInstArray: @param disp The displacement This convenience initializer has been introduced in version 0.28. """ + ... @overload def __init__(self, cell_index: int, disp: DVector, a: DVector, b: DVector, na: int, nb: int) -> None: r""" @@ -7029,6 +7784,7 @@ class DCellInstArray: This convenience initializer has been introduced in version 0.28. """ + ... @overload def __init__(self, cell_index: int, trans: DCplxTrans) -> None: r""" @@ -7036,6 +7792,7 @@ class DCellInstArray: @param cell_index The cell to instantiate @param trans The complex transformation by which to instantiate the cell """ + ... @overload def __init__(self, cell_index: int, trans: DCplxTrans, a: DVector, b: DVector, na: int, nb: int) -> None: r""" @@ -7047,6 +7804,7 @@ class DCellInstArray: @param na The number of placements in the 'a' axis @param nb The number of placements in the 'b' axis """ + ... @overload def __init__(self, cell_index: int, trans: DTrans) -> None: r""" @@ -7054,6 +7812,7 @@ class DCellInstArray: @param cell_index The cell to instantiate @param trans The transformation by which to instantiate the cell """ + ... @overload def __init__(self, cell_index: int, trans: DTrans, a: DVector, b: DVector, na: int, nb: int) -> None: r""" @@ -7065,51 +7824,56 @@ class DCellInstArray: @param na The number of placements in the 'a' axis @param nb The number of placements in the 'b' axis """ + ... def __len__(self) -> int: r""" @brief Gets the number of single instances in the array If the instance represents a single instance, the count is 1. Otherwise it is na*nb. Starting with version 0.27, there may be iterated instances for which the size is larger than 1, but \is_regular_array? will return false. In this case, use \each_trans or \each_cplx_trans to retrieve the individual placements of the iterated instance. """ + ... def __lt__(self, other: DCellInstArray) -> bool: r""" @brief Compares two arrays for 'less' The comparison provides an arbitrary sorting criterion and not specific sorting order. It is guaranteed that if an array a is less than b, b is not less than a. In addition, it a is not less than b and b is not less than a, then a is equal to b. """ + ... def __ne__(self, other: object) -> bool: r""" @brief Compares two arrays for inequality """ - def __repr__(self) -> str: - r""" - @brief Converts the array to a string - """ + ... def __str__(self) -> str: r""" @brief Converts the array to a string """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -7117,6 +7881,7 @@ class DCellInstArray: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -7124,16 +7889,19 @@ class DCellInstArray: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: DCellInstArray) -> None: r""" @brief Assigns another object to self """ + ... @overload def bbox(self, layout: Layout) -> DBox: r""" @brief Gets the bounding box of the array The bounding box incorporates all instances that the array represents. It needs the layout object to access the actual cell from the cell index. """ + ... @overload def bbox(self, layout: Layout, layer_index: int) -> DBox: r""" @@ -7142,6 +7910,7 @@ class DCellInstArray: 'bbox' is the preferred synonym since version 0.28. """ + ... def bbox_per_layer(self, layout: Layout, layer_index: int) -> DBox: r""" @brief Gets the bounding box of the array with respect to one layer @@ -7149,33 +7918,39 @@ class DCellInstArray: 'bbox' is the preferred synonym since version 0.28. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> DCellInstArray: r""" @brief Creates a copy of self """ + ... def each_cplx_trans(self) -> Iterator[DCplxTrans]: r""" @brief Gets the complex transformations represented by this instance For a single instance, this iterator will deliver the single, complex transformation. For array instances, the iterator will deliver each complex transformation of the expanded array. This iterator is a generalization of \each_trans for general complex transformations. """ + ... def each_trans(self) -> Iterator[DTrans]: r""" @brief Gets the simple transformations represented by this instance @@ -7183,6 +7958,7 @@ class DCellInstArray: This iterator will only deliver valid transformations if the instance array is not of complex type (see \is_complex?). A more general iterator that delivers the complex transformations is \each_cplx_trans. """ + ... def hash(self) -> int: r""" @brief Computes a hash value @@ -7190,6 +7966,7 @@ class DCellInstArray: This method has been introduced in version 0.25. """ + ... def invert(self) -> None: r""" @brief Inverts the array reference @@ -7197,6 +7974,7 @@ class DCellInstArray: The inverted array reference describes in which transformations the parent cell is seen from the current cell. """ + ... def is_complex(self) -> bool: r""" @brief Gets a value indicating whether the array is a complex array @@ -7204,45 +7982,55 @@ class DCellInstArray: Returns true if the array represents complex instances (that is, with magnification and arbitrary rotation angles). """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_regular_array(self) -> bool: r""" @brief Gets a value indicating whether this instance is a regular array """ + ... def size(self) -> int: r""" @brief Gets the number of single instances in the array If the instance represents a single instance, the count is 1. Otherwise it is na*nb. Starting with version 0.27, there may be iterated instances for which the size is larger than 1, but \is_regular_array? will return false. In this case, use \each_trans or \each_cplx_trans to retrieve the individual placements of the iterated instance. """ + ... def to_s(self) -> str: r""" @brief Converts the array to a string """ + ... @overload def transform(self, trans: DCplxTrans) -> None: r""" @brief Transforms the cell instance with the given complex transformation """ + ... @overload def transform(self, trans: DTrans) -> None: r""" @brief Transforms the cell instance with the given transformation """ + ... @overload def transformed(self, trans: DCplxTrans) -> DCellInstArray: r""" @brief Gets the transformed cell instance (complex transformation) """ + ... @overload def transformed(self, trans: DTrans) -> DCellInstArray: r""" @brief Gets the transformed cell instance """ + ... + ... class DCplxTrans: r""" @@ -7364,6 +8152,7 @@ class DCplxTrans: This constructor has been introduced in version 0.25. The 'dbu' argument has been added in version 0.29. """ + ... @classmethod def from_s(cls, s: str) -> DCplxTrans: r""" @@ -7372,12 +8161,14 @@ class DCplxTrans: This method has been added in version 0.23. """ + ... @overload @classmethod def new(cls) -> DCplxTrans: r""" @brief Creates a unit transformation """ + ... @overload @classmethod def new(cls, c: DCplxTrans, mag: Optional[float] = ..., u: Optional[DVector] = ...) -> DCplxTrans: @@ -7391,6 +8182,7 @@ class DCplxTrans: @param c The original transformation @param u The Additional displacement """ + ... @overload @classmethod def new(cls, c: DCplxTrans, mag: Optional[float] = ..., x: Optional[float] = ..., y: Optional[float] = ...) -> DCplxTrans: @@ -7405,6 +8197,7 @@ class DCplxTrans: @param x The Additional displacement (x) @param y The Additional displacement (y) """ + ... @overload @classmethod def new(cls, mag: Optional[float] = ..., rot: Optional[float] = ..., mirrx: Optional[bool] = ..., u: Optional[DVector] = ...) -> DCplxTrans: @@ -7419,6 +8212,7 @@ class DCplxTrans: @param mirrx True, if mirrored at x axis @param u The displacement """ + ... @overload @classmethod def new(cls, mag: Optional[float] = ..., rot: Optional[float] = ..., mirrx: Optional[bool] = ..., x: Optional[float] = ..., y: Optional[float] = ...) -> DCplxTrans: @@ -7434,6 +8228,7 @@ class DCplxTrans: @param x The x displacement @param y The y displacement """ + ... @overload @classmethod def new(cls, t: DTrans, mag: Optional[float] = ...) -> DCplxTrans: @@ -7442,6 +8237,7 @@ class DCplxTrans: Creates a magnifying transformation from a simple transformation and a magnification. """ + ... @overload @classmethod def new(cls, trans: CplxTrans, dbu: Optional[float] = ...) -> DCplxTrans: @@ -7451,6 +8247,7 @@ class DCplxTrans: This constructor has been introduced in version 0.25. The 'dbu' argument has been added in version 0.29. """ + ... @overload @classmethod def new(cls, trans: ICplxTrans, dbu: Optional[float] = ...) -> DCplxTrans: @@ -7460,6 +8257,7 @@ class DCplxTrans: This constructor has been introduced in version 0.25. The 'dbu' argument has been added in version 0.29. """ + ... @overload @classmethod def new(cls, trans: VCplxTrans, dbu: Optional[float] = ...) -> DCplxTrans: @@ -7469,6 +8267,7 @@ class DCplxTrans: This constructor has been introduced in version 0.25. The 'dbu' argument has been added in version 0.29. """ + ... @overload @classmethod def new(cls, u: DVector) -> DCplxTrans: @@ -7479,6 +8278,7 @@ class DCplxTrans: This method has been added in version 0.25. """ + ... @overload @classmethod def new(cls, x: float, y: float) -> DCplxTrans: @@ -7491,18 +8291,22 @@ class DCplxTrans: @param x The x displacement @param y The y displacement """ + ... def __copy__(self) -> DCplxTrans: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> DCplxTrans: r""" @brief Creates a copy of self """ + ... def __eq__(self, other: object) -> bool: r""" @brief Tests for equality """ + ... def __hash__(self) -> int: r""" @brief Computes a hash value @@ -7510,11 +8314,13 @@ class DCplxTrans: This method has been introduced in version 0.25. """ + ... @overload def __init__(self) -> None: r""" @brief Creates a unit transformation """ + ... @overload def __init__(self, c: DCplxTrans, mag: Optional[float] = ..., u: Optional[DVector] = ...) -> None: r""" @@ -7527,6 +8333,7 @@ class DCplxTrans: @param c The original transformation @param u The Additional displacement """ + ... @overload def __init__(self, c: DCplxTrans, mag: Optional[float] = ..., x: Optional[float] = ..., y: Optional[float] = ...) -> None: r""" @@ -7540,6 +8347,7 @@ class DCplxTrans: @param x The Additional displacement (x) @param y The Additional displacement (y) """ + ... @overload def __init__(self, mag: Optional[float] = ..., rot: Optional[float] = ..., mirrx: Optional[bool] = ..., u: Optional[DVector] = ...) -> None: r""" @@ -7553,6 +8361,7 @@ class DCplxTrans: @param mirrx True, if mirrored at x axis @param u The displacement """ + ... @overload def __init__(self, mag: Optional[float] = ..., rot: Optional[float] = ..., mirrx: Optional[bool] = ..., x: Optional[float] = ..., y: Optional[float] = ...) -> None: r""" @@ -7567,6 +8376,7 @@ class DCplxTrans: @param x The x displacement @param y The y displacement """ + ... @overload def __init__(self, t: DTrans, mag: Optional[float] = ...) -> None: r""" @@ -7574,6 +8384,7 @@ class DCplxTrans: Creates a magnifying transformation from a simple transformation and a magnification. """ + ... @overload def __init__(self, trans: CplxTrans, dbu: Optional[float] = ...) -> None: r""" @@ -7582,6 +8393,7 @@ class DCplxTrans: This constructor has been introduced in version 0.25. The 'dbu' argument has been added in version 0.29. """ + ... @overload def __init__(self, trans: ICplxTrans, dbu: Optional[float] = ...) -> None: r""" @@ -7590,6 +8402,7 @@ class DCplxTrans: This constructor has been introduced in version 0.25. The 'dbu' argument has been added in version 0.29. """ + ... @overload def __init__(self, trans: VCplxTrans, dbu: Optional[float] = ...) -> None: r""" @@ -7598,6 +8411,7 @@ class DCplxTrans: This constructor has been introduced in version 0.25. The 'dbu' argument has been added in version 0.29. """ + ... @overload def __init__(self, u: DVector) -> None: r""" @@ -7607,6 +8421,7 @@ class DCplxTrans: This method has been added in version 0.25. """ + ... @overload def __init__(self, x: float, y: float) -> None: r""" @@ -7618,11 +8433,13 @@ class DCplxTrans: @param x The x displacement @param y The y displacement """ + ... def __lt__(self, other: DCplxTrans) -> bool: r""" @brief Provides a 'less' criterion for sorting This method is provided to implement a sorting order. The definition of 'less' is opaque and might change in future versions. """ + ... @overload def __mul__(self, box: DBox) -> DBox: r""" @@ -7635,21 +8452,22 @@ class DCplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __mul__(self, d: float) -> float: r""" - @brief Transforms a distance + @brief Transforms a single distance The "ctrans" method transforms the given distance. - e = t(d). For the simple transformations, there - is no magnification and no modification of the distance - therefore. + This is equivalent to multiplying with the magnification. For the simple transformations, there + is no magnification and no modification of the distance. @param d The distance to transform @return The transformed distance - The product '*' has been added as a synonym in version 0.28. + The product '*' has been added as a synonym in version 0.28. The distance can be signed since version 0.29.3. """ + ... @overload def __mul__(self, edge: DEdge) -> DEdge: r""" @@ -7662,6 +8480,7 @@ class DCplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __mul__(self, p: DPoint) -> DPoint: r""" @@ -7675,6 +8494,7 @@ class DCplxTrans: @param p The point to transform @return The transformed point """ + ... @overload def __mul__(self, p: DVector) -> DVector: r""" @@ -7688,6 +8508,7 @@ class DCplxTrans: @param v The vector to transform @return The transformed vector """ + ... @overload def __mul__(self, path: DPath) -> DPath: r""" @@ -7700,6 +8521,7 @@ class DCplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __mul__(self, polygon: DPolygon) -> DPolygon: r""" @@ -7712,6 +8534,7 @@ class DCplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __mul__(self, t: CplxTrans) -> CplxTrans: r""" @@ -7722,6 +8545,7 @@ class DCplxTrans: @param t The transformation to apply before @return The modified transformation """ + ... @overload def __mul__(self, t: DCplxTrans) -> DCplxTrans: r""" @@ -7732,6 +8556,7 @@ class DCplxTrans: @param t The transformation to apply before @return The modified transformation """ + ... @overload def __mul__(self, text: DText) -> DText: r""" @@ -7744,18 +8569,12 @@ class DCplxTrans: This convenience method has been introduced in version 0.25. """ + ... def __ne__(self, other: object) -> bool: r""" @brief Tests for inequality """ - def __repr__(self, lazy: Optional[bool] = ..., dbu: Optional[float] = ...) -> str: - r""" - @brief String conversion - If 'lazy' is true, some parts are omitted when not required. - If a DBU is given, the output units will be micrometers. - - The lazy and DBU arguments have been added in version 0.27.6. - """ + ... @overload def __rmul__(self, box: DBox) -> DBox: r""" @@ -7768,21 +8587,22 @@ class DCplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __rmul__(self, d: float) -> float: r""" - @brief Transforms a distance + @brief Transforms a single distance The "ctrans" method transforms the given distance. - e = t(d). For the simple transformations, there - is no magnification and no modification of the distance - therefore. + This is equivalent to multiplying with the magnification. For the simple transformations, there + is no magnification and no modification of the distance. @param d The distance to transform @return The transformed distance - The product '*' has been added as a synonym in version 0.28. + The product '*' has been added as a synonym in version 0.28. The distance can be signed since version 0.29.3. """ + ... @overload def __rmul__(self, edge: DEdge) -> DEdge: r""" @@ -7795,6 +8615,7 @@ class DCplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __rmul__(self, p: DPoint) -> DPoint: r""" @@ -7808,6 +8629,7 @@ class DCplxTrans: @param p The point to transform @return The transformed point """ + ... @overload def __rmul__(self, p: DVector) -> DVector: r""" @@ -7821,6 +8643,7 @@ class DCplxTrans: @param v The vector to transform @return The transformed vector """ + ... @overload def __rmul__(self, path: DPath) -> DPath: r""" @@ -7833,6 +8656,7 @@ class DCplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __rmul__(self, polygon: DPolygon) -> DPolygon: r""" @@ -7845,6 +8669,7 @@ class DCplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __rmul__(self, text: DText) -> DText: r""" @@ -7857,6 +8682,7 @@ class DCplxTrans: This convenience method has been introduced in version 0.25. """ + ... def __str__(self, lazy: Optional[bool] = ..., dbu: Optional[float] = ...) -> str: r""" @brief String conversion @@ -7865,29 +8691,34 @@ class DCplxTrans: The lazy and DBU arguments have been added in version 0.27.6. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -7895,6 +8726,7 @@ class DCplxTrans: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -7902,45 +8734,51 @@ class DCplxTrans: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: DCplxTrans) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def ctrans(self, d: float) -> float: r""" - @brief Transforms a distance + @brief Transforms a single distance The "ctrans" method transforms the given distance. - e = t(d). For the simple transformations, there - is no magnification and no modification of the distance - therefore. + This is equivalent to multiplying with the magnification. For the simple transformations, there + is no magnification and no modification of the distance. @param d The distance to transform @return The transformed distance - The product '*' has been added as a synonym in version 0.28. + The product '*' has been added as a synonym in version 0.28. The distance can be signed since version 0.29.3. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> DCplxTrans: r""" @brief Creates a copy of self """ + ... def hash(self) -> int: r""" @brief Computes a hash value @@ -7948,6 +8786,7 @@ class DCplxTrans: This method has been introduced in version 0.25. """ + ... def invert(self) -> DCplxTrans: r""" @brief Inverts the transformation (in place) @@ -7957,6 +8796,7 @@ class DCplxTrans: @return The inverted transformation """ + ... def inverted(self) -> DCplxTrans: r""" @brief Returns the inverted transformation @@ -7965,6 +8805,7 @@ class DCplxTrans: @return The inverted transformation """ + ... def is_complex(self) -> bool: r""" @brief Returns true if the transformation is a complex one @@ -7975,12 +8816,14 @@ class DCplxTrans: This method has been introduced in version 0.27.5. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_mag(self) -> bool: r""" @brief Tests, if the transformation is a magnifying one @@ -7988,22 +8831,26 @@ class DCplxTrans: This is the recommended test for checking if the transformation represents a magnification. """ + ... def is_mirror(self) -> bool: r""" @brief Gets the mirror flag If this property is true, the transformation is composed of a mirroring at the x-axis followed by a rotation by the angle given by the \angle property. """ + ... def is_ortho(self) -> bool: r""" @brief Tests, if the transformation is an orthogonal transformation If the rotation is by a multiple of 90 degree, this method will return true. """ + ... def is_unity(self) -> bool: r""" @brief Tests, whether this is a unit transformation """ + ... def rot(self) -> int: r""" @brief Returns the respective simple transformation equivalent rotation code if possible @@ -8013,6 +8860,7 @@ class DCplxTrans: magnification and displacement. If the transformation is not orthogonal, the result reflects the quadrant the rotation goes into. """ + ... def s_trans(self) -> DTrans: r""" @brief Extracts the simple transformation part @@ -8020,6 +8868,7 @@ class DCplxTrans: The simple transformation part does not reflect magnification or arbitrary angles. Rotation angles are rounded down to multiples of 90 degree. Magnification is fixed to 1.0. """ + ... def to_itrans(self, dbu: Optional[float] = ...) -> ICplxTrans: r""" @brief Converts the transformation to another transformation with integer input and output coordinates @@ -8034,6 +8883,7 @@ class DCplxTrans: This method has been introduced in version 0.25 and was deprecated in version 0.29. """ + ... def to_s(self, lazy: Optional[bool] = ..., dbu: Optional[float] = ...) -> str: r""" @brief String conversion @@ -8042,6 +8892,7 @@ class DCplxTrans: The lazy and DBU arguments have been added in version 0.27.6. """ + ... def to_trans(self, dbu: Optional[float] = ...) -> CplxTrans: r""" @brief Converts the transformation to another transformation with integer input coordinates @@ -8054,6 +8905,7 @@ class DCplxTrans: This method has been introduced in version 0.25 and was deprecated in version 0.29. """ + ... def to_vtrans(self, dbu: Optional[float] = ...) -> VCplxTrans: r""" @brief Converts the transformation to another transformation with integer output coordinates @@ -8068,6 +8920,7 @@ class DCplxTrans: This method has been introduced in version 0.25 and was deprecated in version 0.29. """ + ... @overload def trans(self, box: DBox) -> DBox: r""" @@ -8080,6 +8933,7 @@ class DCplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def trans(self, edge: DEdge) -> DEdge: r""" @@ -8092,6 +8946,7 @@ class DCplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def trans(self, p: DPoint) -> DPoint: r""" @@ -8105,6 +8960,7 @@ class DCplxTrans: @param p The point to transform @return The transformed point """ + ... @overload def trans(self, p: DVector) -> DVector: r""" @@ -8118,6 +8974,7 @@ class DCplxTrans: @param v The vector to transform @return The transformed vector """ + ... @overload def trans(self, path: DPath) -> DPath: r""" @@ -8130,6 +8987,7 @@ class DCplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def trans(self, polygon: DPolygon) -> DPolygon: r""" @@ -8142,6 +9000,7 @@ class DCplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def trans(self, text: DText) -> DText: r""" @@ -8154,6 +9013,8 @@ class DCplxTrans: This convenience method has been introduced in version 0.25. """ + ... + ... class DEdge: r""" @@ -8226,6 +9087,7 @@ class DEdge: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_iedge'. """ + ... @classmethod def from_s(cls, s: str) -> DEdge: r""" @@ -8234,12 +9096,14 @@ class DEdge: This method has been added in version 0.23. """ + ... @overload @classmethod def new(cls) -> DEdge: r""" @brief Default constructor: creates a degenerated edge 0,0 to 0,0 """ + ... @overload @classmethod def new(cls, edge: Edge) -> DEdge: @@ -8248,6 +9112,7 @@ class DEdge: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_iedge'. """ + ... @overload @classmethod def new(cls, p1: DPoint, p2: DPoint) -> DEdge: @@ -8256,6 +9121,7 @@ class DEdge: Two points are given to create a new edge. """ + ... @overload @classmethod def new(cls, x1: float, y1: float, x2: float, y2: float) -> DEdge: @@ -8264,6 +9130,7 @@ class DEdge: Two points are given to create a new edge. """ + ... @classmethod def new_pp(cls, p1: DPoint, p2: DPoint) -> DEdge: r""" @@ -8271,6 +9138,7 @@ class DEdge: Two points are given to create a new edge. """ + ... @classmethod def new_xyxy(cls, x1: float, y1: float, x2: float, y2: float) -> DEdge: r""" @@ -8278,19 +9146,23 @@ class DEdge: Two points are given to create a new edge. """ + ... def __copy__(self) -> DEdge: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> DEdge: r""" @brief Creates a copy of self """ + ... def __eq__(self, e: object) -> bool: r""" @brief Equality test @param e The object to compare against """ + ... def __hash__(self) -> int: r""" @brief Computes a hash value @@ -8298,11 +9170,13 @@ class DEdge: This method has been introduced in version 0.25. """ + ... @overload def __init__(self) -> None: r""" @brief Default constructor: creates a degenerated edge 0,0 to 0,0 """ + ... @overload def __init__(self, edge: Edge) -> None: r""" @@ -8310,6 +9184,7 @@ class DEdge: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_iedge'. """ + ... @overload def __init__(self, p1: DPoint, p2: DPoint) -> None: r""" @@ -8317,6 +9192,7 @@ class DEdge: Two points are given to create a new edge. """ + ... @overload def __init__(self, x1: float, y1: float, x2: float, y2: float) -> None: r""" @@ -8324,12 +9200,14 @@ class DEdge: Two points are given to create a new edge. """ + ... def __lt__(self, e: DEdge) -> bool: r""" @brief Less operator @param e The object to compare against @return True, if the edge is 'less' as the other edge with respect to first and second point """ + ... def __mul__(self, scale_factor: float) -> DEdge: r""" @brief Scale edge @@ -8342,18 +9220,13 @@ class DEdge: @return The scaled edge """ + ... def __ne__(self, e: object) -> bool: r""" @brief Inequality test @param e The object to compare against """ - def __repr__(self, dbu: Optional[float] = ...) -> str: - r""" - @brief Returns a string representing the edge - If a DBU is given, the output units will be micrometers. - - The DBU argument has been added in version 0.27.6. - """ + ... def __rmul__(self, scale_factor: float) -> DEdge: r""" @brief Scale edge @@ -8366,6 +9239,7 @@ class DEdge: @return The scaled edge """ + ... def __str__(self, dbu: Optional[float] = ...) -> str: r""" @brief Returns a string representing the edge @@ -8373,29 +9247,34 @@ class DEdge: The DBU argument has been added in version 0.27.6. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -8403,6 +9282,7 @@ class DEdge: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -8410,14 +9290,17 @@ class DEdge: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: DEdge) -> None: r""" @brief Assigns another object to self """ + ... def bbox(self) -> DBox: r""" @brief Return the bounding box of the edge. """ + ... def clipped(self, box: DBox) -> Any: r""" @brief Returns the edge clipped at the given box @@ -8427,6 +9310,7 @@ class DEdge: This method has been introduced in version 0.26.2. """ + ... def clipped_line(self, box: DBox) -> Any: r""" @brief Returns the line through the edge clipped at the given box @@ -8438,6 +9322,7 @@ class DEdge: This method has been introduced in version 0.26.2. """ + ... def coincident(self, e: DEdge) -> bool: r""" @brief Coincidence check. @@ -8450,6 +9335,7 @@ class DEdge: @return True if the edges are coincident. """ + ... def contains(self, p: DPoint) -> bool: r""" @brief Tests whether a point is on an edge. @@ -8461,6 +9347,7 @@ class DEdge: @return True if the point is on the edge. """ + ... def contains_excl(self, p: DPoint) -> bool: r""" @brief Tests whether a point is on an edge excluding the endpoints. @@ -8472,11 +9359,13 @@ class DEdge: @return True if the point is on the edge but not equal p1 or p2. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def crossed_by(self, e: DEdge) -> bool: r""" @brief Checks, if the line given by self is crossed by the edge e @@ -8486,6 +9375,7 @@ class DEdge: @param e The edge representing the line that the edge must be crossing. """ + ... def crossing_point(self, e: DEdge) -> DPoint: r""" @brief Returns the crossing point on two edges. @@ -8497,6 +9387,7 @@ class DEdge: This method has been introduced in version 0.19. """ + ... def cut_point(self, e: DEdge) -> Any: r""" @brief Returns the intersection point of the lines through the two edges. @@ -8509,24 +9400,28 @@ class DEdge: This method has been introduced in version 0.27.1. """ + ... def d(self) -> DVector: r""" @brief Gets the edge extension as a vector. This method is equivalent to p2 - p1. This method has been introduced in version 0.26.2. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def distance(self, p: DPoint) -> float: r""" @brief Gets the distance of the point from the line through the edge. @@ -8547,6 +9442,7 @@ class DEdge: @return The distance """ + ... def distance_abs(self, p: DPoint) -> float: r""" @brief Absolute distance between the edge and a point. @@ -8557,26 +9453,32 @@ class DEdge: @return The distance """ + ... def dup(self) -> DEdge: r""" @brief Creates a copy of self """ + ... def dx(self) -> float: r""" @brief The horizontal extend of the edge. """ + ... def dx_abs(self) -> float: r""" @brief The absolute value of the horizontal extend of the edge. """ + ... def dy(self) -> float: r""" @brief The vertical extend of the edge. """ + ... def dy_abs(self) -> float: r""" @brief The absolute value of the vertical extend of the edge. """ + ... def enlarge(self, p: DVector) -> DEdge: r""" @brief Enlarges the edge. @@ -8590,6 +9492,7 @@ class DEdge: @return The enlarged edge. """ + ... def enlarged(self, p: DVector) -> DEdge: r""" @brief Returns the enlarged edge (does not modify self) @@ -8602,6 +9505,7 @@ class DEdge: @return The enlarged edge. """ + ... def euclidian_distance(self, p: DPoint) -> float: r""" @brief Gets the distance of the point from the the edge. @@ -8616,6 +9520,7 @@ class DEdge: @return The distance """ + ... def extend(self, d: float) -> DEdge: r""" @brief Extends the edge (modifies self) @@ -8633,6 +9538,7 @@ class DEdge: @return The extended edge (self). """ + ... def extended(self, d: float) -> DEdge: r""" @brief Returns the extended edge (does not modify self) @@ -8650,6 +9556,7 @@ class DEdge: @return The extended edge. """ + ... def hash(self) -> int: r""" @brief Computes a hash value @@ -8657,6 +9564,7 @@ class DEdge: This method has been introduced in version 0.25. """ + ... def intersect(self, e: DEdge) -> bool: r""" @brief Intersection test. @@ -8669,6 +9577,7 @@ class DEdge: The 'intersects' (with an 's') synonym has been introduced in version 0.28.12. """ + ... def intersection_point(self, e: DEdge) -> Any: r""" @brief Returns the intersection point of two edges. @@ -8681,6 +9590,7 @@ class DEdge: This method has been introduced in version 0.19. From version 0.26.2, this method will return nil in case of non-intersection. """ + ... def intersects(self, e: DEdge) -> bool: r""" @brief Intersection test. @@ -8693,18 +9603,21 @@ class DEdge: The 'intersects' (with an 's') synonym has been introduced in version 0.28.12. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_degenerate(self) -> bool: r""" @brief Test for degenerated edge An edge is degenerate, if both end and start point are identical. """ + ... def is_parallel(self, e: DEdge) -> bool: r""" @brief Test for being parallel @@ -8713,10 +9626,12 @@ class DEdge: @return True if both edges are parallel """ + ... def length(self) -> float: r""" @brief The length of the edge """ + ... @overload def move(self, dx: float, dy: float) -> DEdge: r""" @@ -8732,6 +9647,7 @@ class DEdge: This version has been added in version 0.23. """ + ... @overload def move(self, p: DVector) -> DEdge: r""" @@ -8744,6 +9660,7 @@ class DEdge: @return The moved edge. """ + ... @overload def moved(self, dx: float, dy: float) -> DEdge: r""" @@ -8759,6 +9676,7 @@ class DEdge: This version has been added in version 0.23. """ + ... @overload def moved(self, p: DVector) -> DEdge: r""" @@ -8771,12 +9689,14 @@ class DEdge: @return The moved edge. """ + ... def ortho_length(self) -> float: r""" @brief The orthogonal length of the edge ("manhattan-length") @return The orthogonal length (abs(dx)+abs(dy)) """ + ... def shift(self, d: float) -> DEdge: r""" @brief Shifts the edge (modifies self) @@ -8792,6 +9712,7 @@ class DEdge: @return The shifted edge (self). """ + ... def shifted(self, d: float) -> DEdge: r""" @brief Returns the shifted edge (does not modify self) @@ -8807,6 +9728,7 @@ class DEdge: @return The shifted edge. """ + ... def side_of(self, p: DPoint) -> int: r""" @brief Indicates at which side the point is located relative to the edge. @@ -8818,10 +9740,12 @@ class DEdge: @return The side value """ + ... def sq_length(self) -> float: r""" @brief The square of the length of the edge """ + ... def swap_points(self) -> DEdge: r""" @brief Swap the points of the edge @@ -8830,6 +9754,7 @@ class DEdge: This method has been introduced in version 0.23. """ + ... def swapped_points(self) -> DEdge: r""" @brief Returns an edge in which both points are swapped @@ -8838,6 +9763,7 @@ class DEdge: This method has been introduced in version 0.23. """ + ... def to_itype(self, dbu: Optional[float] = ...) -> Edge: r""" @brief Converts the edge to an integer coordinate edge @@ -8846,6 +9772,7 @@ class DEdge: This method has been introduced in version 0.25. """ + ... def to_s(self, dbu: Optional[float] = ...) -> str: r""" @brief Returns a string representing the edge @@ -8853,6 +9780,7 @@ class DEdge: The DBU argument has been added in version 0.27.6. """ + ... @overload def transformed(self, t: DCplxTrans) -> DEdge: r""" @@ -8865,6 +9793,7 @@ class DEdge: @return The transformed edge. """ + ... @overload def transformed(self, t: DTrans) -> DEdge: r""" @@ -8877,6 +9806,7 @@ class DEdge: @return The transformed edge. """ + ... @overload def transformed(self, t: VCplxTrans) -> Edge: r""" @@ -8887,6 +9817,7 @@ class DEdge: This method has been introduced in version 0.25. """ + ... def transformed_cplx(self, t: DCplxTrans) -> DEdge: r""" @brief Transform the edge. @@ -8898,6 +9829,8 @@ class DEdge: @return The transformed edge. """ + ... + ... class DEdgePair: r""" @@ -8946,6 +9879,7 @@ class DEdgePair: This method has been added in version 0.23. """ + ... @overload @classmethod def new(cls) -> DEdgePair: @@ -8954,6 +9888,7 @@ class DEdgePair: This constructor creates an default edge pair. """ + ... @overload @classmethod def new(cls, edge_pair: EdgePair) -> DEdgePair: @@ -8962,6 +9897,7 @@ class DEdgePair: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_iedge_pair'. """ + ... @overload @classmethod def new(cls, first: DEdge, second: DEdge, symmetric: Optional[bool] = ...) -> DEdgePair: @@ -8971,14 +9907,17 @@ class DEdgePair: This constructor creates an edge pair from the two edges given. See \symmetric? for a description of this attribute. """ + ... def __copy__(self) -> DEdgePair: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> DEdgePair: r""" @brief Creates a copy of self """ + ... def __eq__(self, box: object) -> bool: r""" @brief Equality @@ -8986,6 +9925,7 @@ class DEdgePair: This method has been introduced in version 0.25. """ + ... def __hash__(self) -> int: r""" @brief Computes a hash value @@ -8993,6 +9933,7 @@ class DEdgePair: This method has been introduced in version 0.25. """ + ... @overload def __init__(self) -> None: r""" @@ -9000,6 +9941,7 @@ class DEdgePair: This constructor creates an default edge pair. """ + ... @overload def __init__(self, edge_pair: EdgePair) -> None: r""" @@ -9007,6 +9949,7 @@ class DEdgePair: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_iedge_pair'. """ + ... @overload def __init__(self, first: DEdge, second: DEdge, symmetric: Optional[bool] = ...) -> None: r""" @@ -9015,6 +9958,7 @@ class DEdgePair: This constructor creates an edge pair from the two edges given. See \symmetric? for a description of this attribute. """ + ... def __lt__(self, box: DEdgePair) -> bool: r""" @brief Less operator @@ -9022,6 +9966,7 @@ class DEdgePair: This method has been introduced in version 0.25. """ + ... def __ne__(self, box: object) -> bool: r""" @brief Inequality @@ -9029,13 +9974,7 @@ class DEdgePair: This method has been introduced in version 0.25. """ - def __repr__(self, dbu: Optional[float] = ...) -> str: - r""" - @brief Returns a string representing the edge pair - If a DBU is given, the output units will be micrometers. - - The DBU argument has been added in version 0.27.6. - """ + ... def __str__(self, dbu: Optional[float] = ...) -> str: r""" @brief Returns a string representing the edge pair @@ -9043,29 +9982,34 @@ class DEdgePair: The DBU argument has been added in version 0.27.6. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -9073,6 +10017,7 @@ class DEdgePair: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -9080,37 +10025,44 @@ class DEdgePair: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def area(self) -> float: r""" @brief Gets the area between the edges of the edge pair This attribute has been introduced in version 0.28. """ + ... def assign(self, other: DEdgePair) -> None: r""" @brief Assigns another object to self """ + ... def bbox(self) -> DBox: r""" @brief Gets the bounding box of the edge pair """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def distance(self) -> float: r""" @brief Gets the distance of the edges in the edge pair @@ -9119,10 +10071,12 @@ class DEdgePair: This attribute has been introduced in version 0.28.14. """ + ... def dup(self) -> DEdgePair: r""" @brief Creates a copy of self """ + ... def greater(self) -> DEdge: r""" @brief Gets the 'greater' edge for symmetric edge pairs @@ -9130,6 +10084,7 @@ class DEdgePair: This read-only attribute has been introduced in version 0.27. """ + ... def hash(self) -> int: r""" @brief Computes a hash value @@ -9137,12 +10092,14 @@ class DEdgePair: This method has been introduced in version 0.25. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def lesser(self) -> DEdge: r""" @brief Gets the 'lesser' edge for symmetric edge pairs @@ -9150,12 +10107,14 @@ class DEdgePair: This read-only attribute has been introduced in version 0.27. """ + ... def normalized(self) -> DEdgePair: r""" @brief Normalizes the edge pair This method normalized the edge pair such that when connecting the edges at their start and end points a closed loop is formed which is oriented clockwise. To achieve this, the points of the first and/or first and second edge are swapped. Normalization is a first step recommended before converting an edge pair to a polygon, because that way the polygons won't be self-overlapping and the enlargement parameter is applied properly. """ + ... def perimeter(self) -> float: r""" @brief Gets the perimeter of the edge pair @@ -9164,6 +10123,7 @@ class DEdgePair: This attribute has been introduced in version 0.28. """ + ... def polygon(self, e: float) -> DPolygon: r""" @brief Convert an edge pair to a polygon @@ -9174,6 +10134,7 @@ class DEdgePair: Another version for converting edge pairs to simple polygons is \simple_polygon which renders a \SimplePolygon object. @param e The enlargement (set to zero for exact representation) """ + ... def simple_polygon(self, e: float) -> DSimplePolygon: r""" @brief Convert an edge pair to a simple polygon @@ -9184,6 +10145,7 @@ class DEdgePair: Another version for converting edge pairs to polygons is \polygon which renders a \Polygon object. @param e The enlargement (set to zero for exact representation) """ + ... def to_itype(self, dbu: Optional[float] = ...) -> EdgePair: r""" @brief Converts the edge pair to an integer coordinate edge pair @@ -9192,6 +10154,7 @@ class DEdgePair: This method has been introduced in version 0.25. """ + ... def to_s(self, dbu: Optional[float] = ...) -> str: r""" @brief Returns a string representing the edge pair @@ -9199,6 +10162,7 @@ class DEdgePair: The DBU argument has been added in version 0.27.6. """ + ... @overload def transformed(self, t: DCplxTrans) -> DEdgePair: r""" @@ -9211,6 +10175,7 @@ class DEdgePair: @return The transformed edge pair """ + ... @overload def transformed(self, t: DTrans) -> DEdgePair: r""" @@ -9223,6 +10188,7 @@ class DEdgePair: @return The transformed edge pair """ + ... @overload def transformed(self, t: VCplxTrans) -> EdgePair: r""" @@ -9234,6 +10200,8 @@ class DEdgePair: This method has been introduced in version 0.25. """ + ... + ... class DPath: r""" @@ -9293,6 +10261,7 @@ class DPath: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_ipath'. """ + ... @classmethod def from_s(cls, s: str) -> DPath: r""" @@ -9301,12 +10270,14 @@ class DPath: This method has been added in version 0.23. """ + ... @overload @classmethod def new(cls) -> DPath: r""" @brief Default constructor: creates an empty (invalid) path with width 0 """ + ... @overload @classmethod def new(cls, path: Path) -> DPath: @@ -9315,6 +10286,7 @@ class DPath: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_ipath'. """ + ... @overload @classmethod def new(cls, pts: Sequence[DPoint], width: float) -> DPath: @@ -9325,6 +10297,7 @@ class DPath: @param pts The points forming the spine of the path @param width The width of the path """ + ... @overload @classmethod def new(cls, pts: Sequence[DPoint], width: float, bgn_ext: float, end_ext: float) -> DPath: @@ -9337,6 +10310,7 @@ class DPath: @param bgn_ext The begin extension of the path @param end_ext The end extension of the path """ + ... @overload @classmethod def new(cls, pts: Sequence[DPoint], width: float, bgn_ext: float, end_ext: float, round: bool) -> DPath: @@ -9350,6 +10324,7 @@ class DPath: @param end_ext The end extension of the path @param round If this flag is true, the path will get rounded ends """ + ... @classmethod def new_pw(cls, pts: Sequence[DPoint], width: float) -> DPath: r""" @@ -9359,6 +10334,7 @@ class DPath: @param pts The points forming the spine of the path @param width The width of the path """ + ... @classmethod def new_pwx(cls, pts: Sequence[DPoint], width: float, bgn_ext: float, end_ext: float) -> DPath: r""" @@ -9370,6 +10346,7 @@ class DPath: @param bgn_ext The begin extension of the path @param end_ext The end extension of the path """ + ... @classmethod def new_pwxr(cls, pts: Sequence[DPoint], width: float, bgn_ext: float, end_ext: float, round: bool) -> DPath: r""" @@ -9382,19 +10359,23 @@ class DPath: @param end_ext The end extension of the path @param round If this flag is true, the path will get rounded ends """ + ... def __copy__(self) -> DPath: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> DPath: r""" @brief Creates a copy of self """ + ... def __eq__(self, p: object) -> bool: r""" @brief Equality test @param p The object to compare against """ + ... def __hash__(self) -> int: r""" @brief Computes a hash value @@ -9402,11 +10383,13 @@ class DPath: This method has been introduced in version 0.25. """ + ... @overload def __init__(self) -> None: r""" @brief Default constructor: creates an empty (invalid) path with width 0 """ + ... @overload def __init__(self, path: Path) -> None: r""" @@ -9414,6 +10397,7 @@ class DPath: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_ipath'. """ + ... @overload def __init__(self, pts: Sequence[DPoint], width: float) -> None: r""" @@ -9423,6 +10407,7 @@ class DPath: @param pts The points forming the spine of the path @param width The width of the path """ + ... @overload def __init__(self, pts: Sequence[DPoint], width: float, bgn_ext: float, end_ext: float) -> None: r""" @@ -9434,6 +10419,7 @@ class DPath: @param bgn_ext The begin extension of the path @param end_ext The end extension of the path """ + ... @overload def __init__(self, pts: Sequence[DPoint], width: float, bgn_ext: float, end_ext: float, round: bool) -> None: r""" @@ -9446,12 +10432,14 @@ class DPath: @param end_ext The end extension of the path @param round If this flag is true, the path will get rounded ends """ + ... def __lt__(self, p: DPath) -> bool: r""" @brief Less operator @param p The object to compare against This operator is provided to establish some, not necessarily a certain sorting order """ + ... def __mul__(self, f: float) -> DPath: r""" @brief Scaling by some factor @@ -9459,15 +10447,13 @@ class DPath: Returns the scaled object. All coordinates are multiplied with the given factor and if necessary rounded. """ + ... def __ne__(self, p: object) -> bool: r""" @brief Inequality test @param p The object to compare against """ - def __repr__(self) -> str: - r""" - @brief Convert to a string - """ + ... def __rmul__(self, f: float) -> DPath: r""" @brief Scaling by some factor @@ -9475,33 +10461,39 @@ class DPath: Returns the scaled object. All coordinates are multiplied with the given factor and if necessary rounded. """ + ... def __str__(self) -> str: r""" @brief Convert to a string """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -9509,6 +10501,7 @@ class DPath: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -9516,45 +10509,54 @@ class DPath: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def area(self) -> float: r""" @brief Returns the approximate area of the path This method returns the approximate value of the area. It is computed from the length times the width. end extensions are taken into account correctly, but not effects of the corner interpolation. This method was added in version 0.22. """ + ... def assign(self, other: DPath) -> None: r""" @brief Assigns another object to self """ + ... def bbox(self) -> DBox: r""" @brief Returns the bounding box of the path """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> DPath: r""" @brief Creates a copy of self """ + ... def each_point(self) -> Iterator[DPoint]: r""" @brief Get the points that make up the path's spine """ + ... def hash(self) -> int: r""" @brief Computes a hash value @@ -9562,16 +10564,19 @@ class DPath: This method has been introduced in version 0.25. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_round(self) -> bool: r""" @brief Returns true, if the path has round ends """ + ... def length(self) -> float: r""" @brief Returns the length of the path @@ -9579,6 +10584,7 @@ class DPath: This method was added in version 0.23. """ + ... @overload def move(self, dx: float, dy: float) -> DPath: r""" @@ -9594,6 +10600,7 @@ class DPath: This version has been added in version 0.23. """ + ... @overload def move(self, p: DVector) -> DPath: r""" @@ -9606,6 +10613,7 @@ class DPath: @return The moved path. """ + ... @overload def moved(self, dx: float, dy: float) -> DPath: r""" @@ -9621,6 +10629,7 @@ class DPath: This version has been added in version 0.23. """ + ... @overload def moved(self, p: DVector) -> DPath: r""" @@ -9633,21 +10642,25 @@ class DPath: @return The moved path. """ + ... def num_points(self) -> int: r""" @brief Get the number of points """ + ... def perimeter(self) -> float: r""" @brief Returns the approximate perimeter of the path This method returns the approximate value of the perimeter. It is computed from the length and the width. end extensions are taken into account correctly, but not effects of the corner interpolation. This method was added in version 0.24.4. """ + ... def polygon(self) -> DPolygon: r""" @brief Convert the path to a polygon The returned polygon is not guaranteed to be non-self overlapping. This may happen if the path overlaps itself or contains very short segments. """ + ... def round_corners(self, radius: float, npoints: int, accuracy: float) -> DPath: r""" @brief Creates a new path whose corners are interpolated with circular bends @@ -9660,11 +10673,13 @@ class DPath: This method has been introduced in version 0.25. """ + ... def simple_polygon(self) -> DSimplePolygon: r""" @brief Convert the path to a simple polygon The returned polygon is not guaranteed to be non-selfoverlapping. This may happen if the path overlaps itself or contains very short segments. """ + ... def to_itype(self, dbu: Optional[float] = ...) -> Path: r""" @brief Converts the path to an integer coordinate path @@ -9673,10 +10688,12 @@ class DPath: This method has been introduced in version 0.25. """ + ... def to_s(self) -> str: r""" @brief Convert to a string """ + ... @overload def transformed(self, t: DCplxTrans) -> DPath: r""" @@ -9689,6 +10706,7 @@ class DPath: @return The transformed path. """ + ... @overload def transformed(self, t: DTrans) -> DPath: r""" @@ -9701,6 +10719,7 @@ class DPath: @return The transformed path. """ + ... @overload def transformed(self, t: VCplxTrans) -> Path: r""" @@ -9712,6 +10731,7 @@ class DPath: This method has been introduced in version 0.25. """ + ... def transformed_cplx(self, t: DCplxTrans) -> DPath: r""" @brief Transform the path. @@ -9723,6 +10743,8 @@ class DPath: @return The transformed path. """ + ... + ... class DPoint: r""" @@ -9754,6 +10776,7 @@ class DPoint: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_ipoint'. """ + ... @classmethod def from_s(cls, s: str) -> DPoint: r""" @@ -9762,12 +10785,14 @@ class DPoint: This method has been added in version 0.23. """ + ... @overload @classmethod def new(cls) -> DPoint: r""" @brief Default constructor: creates a point at 0,0 """ + ... @overload @classmethod def new(cls, point: Point) -> DPoint: @@ -9776,6 +10801,7 @@ class DPoint: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_ipoint'. """ + ... @overload @classmethod def new(cls, v: DVector) -> DPoint: @@ -9784,6 +10810,7 @@ class DPoint: This constructor is equivalent to computing point(0,0)+v. This method has been introduced in version 0.25. """ + ... @overload @classmethod def new(cls, x: float, y: float) -> DPoint: @@ -9791,6 +10818,7 @@ class DPoint: @brief Constructor for a point from two coordinate values """ + ... def __add__(self, v: DVector) -> DPoint: r""" @brief Adds a vector to a point @@ -9800,19 +10828,23 @@ class DPoint: Starting with version 0.25, this method expects a vector argument. """ + ... def __copy__(self) -> DPoint: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> DPoint: r""" @brief Creates a copy of self """ + ... def __eq__(self, p: object) -> bool: r""" @brief Equality test operator """ + ... def __hash__(self) -> int: r""" @brief Computes a hash value @@ -9820,6 +10852,7 @@ class DPoint: This method has been introduced in version 0.25. """ + ... def __imul__(self, f: float) -> DPoint: r""" @brief Scaling by some factor @@ -9827,11 +10860,13 @@ class DPoint: Scales object in place. All coordinates are multiplied with the given factor and if necessary rounded. """ + ... @overload def __init__(self) -> None: r""" @brief Default constructor: creates a point at 0,0 """ + ... @overload def __init__(self, point: Point) -> None: r""" @@ -9839,6 +10874,7 @@ class DPoint: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_ipoint'. """ + ... @overload def __init__(self, v: DVector) -> None: r""" @@ -9846,12 +10882,14 @@ class DPoint: This constructor is equivalent to computing point(0,0)+v. This method has been introduced in version 0.25. """ + ... @overload def __init__(self, x: float, y: float) -> None: r""" @brief Constructor for a point from two coordinate values """ + ... def __itruediv__(self, d: float) -> DPoint: r""" @brief Division by some divisor @@ -9859,6 +10897,7 @@ class DPoint: Divides the object in place. All coordinates are divided with the given divisor and if necessary rounded. """ + ... def __lt__(self, p: DPoint) -> bool: r""" @brief "less" comparison operator @@ -9867,6 +10906,7 @@ class DPoint: This operator is provided to establish a sorting order """ + ... def __mul__(self, f: float) -> DPoint: r""" @brief Scaling by some factor @@ -9874,11 +10914,13 @@ class DPoint: Returns the scaled object. All coordinates are multiplied with the given factor and if necessary rounded. """ + ... def __ne__(self, p: object) -> bool: r""" @brief Inequality test operator """ + ... def __neg__(self) -> DPoint: r""" @brief Compute the negative of a point @@ -9888,13 +10930,7 @@ class DPoint: This method has been added in version 0.23. """ - def __repr__(self, dbu: Optional[float] = ...) -> str: - r""" - @brief String conversion. - If a DBU is given, the output units will be micrometers. - - The DBU argument has been added in version 0.27.6. - """ + ... def __rmul__(self, f: float) -> DPoint: r""" @brief Scaling by some factor @@ -9902,6 +10938,7 @@ class DPoint: Returns the scaled object. All coordinates are multiplied with the given factor and if necessary rounded. """ + ... def __str__(self, dbu: Optional[float] = ...) -> str: r""" @brief String conversion. @@ -9909,6 +10946,7 @@ class DPoint: The DBU argument has been added in version 0.27.6. """ + ... @overload def __sub__(self, p: DPoint) -> DVector: r""" @@ -9919,6 +10957,7 @@ class DPoint: Starting with version 0.25, this method renders a vector. """ + ... @overload def __sub__(self, v: DVector) -> DPoint: r""" @@ -9929,6 +10968,7 @@ class DPoint: This method has been added in version 0.27. """ + ... def __truediv__(self, d: float) -> DPoint: r""" @brief Division by some divisor @@ -9936,29 +10976,34 @@ class DPoint: Returns the scaled object. All coordinates are divided with the given divisor and if necessary rounded. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -9966,6 +11011,7 @@ class DPoint: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -9973,6 +11019,7 @@ class DPoint: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def abs(self) -> float: r""" @brief The absolute value of the point (Euclidian distance to 0,0) @@ -9981,27 +11028,32 @@ class DPoint: This method has been introduced in version 0.23. """ + ... def assign(self, other: DPoint) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def distance(self, d: DPoint) -> float: r""" @brief The Euclidian distance to another point @@ -10009,10 +11061,12 @@ class DPoint: @param d The other point to compute the distance to. """ + ... def dup(self) -> DPoint: r""" @brief Creates a copy of self """ + ... def hash(self) -> int: r""" @brief Computes a hash value @@ -10020,12 +11074,14 @@ class DPoint: This method has been introduced in version 0.25. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def sq_abs(self) -> float: r""" @brief The square of the absolute value of the point (Euclidian distance to 0,0) @@ -10034,6 +11090,7 @@ class DPoint: This method has been introduced in version 0.23. """ + ... def sq_distance(self, d: DPoint) -> float: r""" @brief The square Euclidian distance to another point @@ -10041,6 +11098,7 @@ class DPoint: @param d The other point to compute the distance to. """ + ... def to_itype(self, dbu: Optional[float] = ...) -> Point: r""" @brief Converts the point to an integer coordinate point @@ -10049,6 +11107,7 @@ class DPoint: This method has been introduced in version 0.25. """ + ... def to_s(self, dbu: Optional[float] = ...) -> str: r""" @brief String conversion. @@ -10056,11 +11115,14 @@ class DPoint: The DBU argument has been added in version 0.27.6. """ + ... def to_v(self) -> DVector: r""" @brief Turns the point into a vector This method returns a vector representing the distance from (0,0) to the point.This method has been introduced in version 0.25. """ + ... + ... class DPolygon: r""" @@ -10111,6 +11173,7 @@ class DPolygon: @param p An array of points to assign to the polygon's hull The 'assign_hull' variant is provided in analogy to 'assign_hole'. """ + ... @classmethod def ellipse(cls, box: DBox, n: int) -> DPolygon: r""" @@ -10121,6 +11184,7 @@ class DPolygon: This method has been introduced in version 0.23. """ + ... @classmethod def from_ipoly(cls, polygon: Polygon) -> DPolygon: r""" @@ -10128,6 +11192,7 @@ class DPolygon: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_ipolygon'. """ + ... @classmethod def from_s(cls, s: str) -> DPolygon: r""" @@ -10136,12 +11201,14 @@ class DPolygon: This method has been added in version 0.23. """ + ... @overload @classmethod def new(cls) -> DPolygon: r""" @brief Creates an empty (invalid) polygon """ + ... @overload @classmethod def new(cls, box: DBox) -> DPolygon: @@ -10150,6 +11217,7 @@ class DPolygon: @param box The box to convert to a polygon """ + ... @overload @classmethod def new(cls, polygon: Polygon) -> DPolygon: @@ -10158,6 +11226,7 @@ class DPolygon: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_ipolygon'. """ + ... @overload @classmethod def new(cls, pts: Sequence[DPoint], raw: Optional[bool] = ...) -> DPolygon: @@ -10169,6 +11238,7 @@ class DPolygon: The 'raw' argument was added in version 0.24. """ + ... @overload @classmethod def new(cls, sp: DSimplePolygon) -> DPolygon: @@ -10177,19 +11247,23 @@ class DPolygon: @param sp The simple polygon that is converted into the polygon This method was introduced in version 0.22. """ + ... def __copy__(self) -> DPolygon: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> DPolygon: r""" @brief Creates a copy of self """ + ... def __eq__(self, p: object) -> bool: r""" @brief Returns a value indicating whether the polygons are equal @param p The object to compare against """ + ... def __hash__(self) -> int: r""" @brief Computes a hash value @@ -10197,11 +11271,13 @@ class DPolygon: This method has been introduced in version 0.25. """ + ... @overload def __init__(self) -> None: r""" @brief Creates an empty (invalid) polygon """ + ... @overload def __init__(self, box: DBox) -> None: r""" @@ -10209,6 +11285,7 @@ class DPolygon: @param box The box to convert to a polygon """ + ... @overload def __init__(self, polygon: Polygon) -> None: r""" @@ -10216,6 +11293,7 @@ class DPolygon: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_ipolygon'. """ + ... @overload def __init__(self, pts: Sequence[DPoint], raw: Optional[bool] = ...) -> None: r""" @@ -10226,6 +11304,7 @@ class DPolygon: The 'raw' argument was added in version 0.24. """ + ... @overload def __init__(self, sp: DSimplePolygon) -> None: r""" @@ -10233,60 +11312,66 @@ class DPolygon: @param sp The simple polygon that is converted into the polygon This method was introduced in version 0.22. """ + ... def __lt__(self, p: DPolygon) -> bool: r""" @brief Returns a value indicating whether self is less than p @param p The object to compare against This operator is provided to establish some, not necessarily a certain sorting order """ + ... def __mul__(self, f: float) -> DPolygon: r""" @brief Scales the polygon by some factor Returns the scaled object. All coordinates are multiplied with the given factor and if necessary rounded. """ + ... def __ne__(self, p: object) -> bool: r""" @brief Returns a value indicating whether the polygons are not equal @param p The object to compare against """ - def __repr__(self) -> str: - r""" - @brief Returns a string representing the polygon - """ + ... def __rmul__(self, f: float) -> DPolygon: r""" @brief Scales the polygon by some factor Returns the scaled object. All coordinates are multiplied with the given factor and if necessary rounded. """ + ... def __str__(self) -> str: r""" @brief Returns a string representing the polygon """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -10294,6 +11379,7 @@ class DPolygon: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -10301,11 +11387,13 @@ class DPolygon: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def area(self) -> float: r""" @brief Gets the area of the polygon The area is correct only if the polygon is not self-overlapping and the polygon is oriented clockwise.Orientation is ensured automatically in most cases. """ + ... def area2(self) -> float: r""" @brief Gets the double area of the polygon @@ -10313,10 +11401,12 @@ class DPolygon: This method has been introduced in version 0.26.1 """ + ... def assign(self, other: DPolygon) -> None: r""" @brief Assigns another object to self """ + ... @overload def assign_hole(self, n: int, b: DBox) -> None: r""" @@ -10326,6 +11416,7 @@ class DPolygon: If the hole index is not valid, this method does nothing. This method was introduced in version 0.23. """ + ... @overload def assign_hole(self, n: int, p: Sequence[DPoint], raw: Optional[bool] = ...) -> None: r""" @@ -10338,6 +11429,7 @@ class DPolygon: This method was introduced in version 0.18. The 'raw' argument was added in version 0.24. """ + ... def assign_hull(self, p: Sequence[DPoint], raw: Optional[bool] = ...) -> None: r""" @brief Sets the points of the hull of polygon @@ -10352,11 +11444,13 @@ class DPolygon: The 'raw' argument was added in version 0.24. """ + ... def bbox(self) -> DBox: r""" @brief Returns the bounding box of the polygon The bounding box is the box enclosing all points of the polygon. """ + ... def break_(self, max_vertex_count: int, max_area_ratio: float) -> List[DPolygon]: r""" @brief Splits the polygon into parts with a maximum vertex count and area ratio @@ -10368,6 +11462,7 @@ class DPolygon: This method has been introduced in version 0.29. """ + ... def compress(self, remove_reflected: bool) -> None: r""" @brief Compresses the polygon. @@ -10379,27 +11474,32 @@ class DPolygon: This method was introduced in version 0.18. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> DPolygon: r""" @brief Creates a copy of self """ + ... @overload def each_edge(self) -> Iterator[DEdge]: r""" @@ -10407,6 +11507,7 @@ class DPolygon: This iterator will deliver all edges, including those of the holes. Hole edges are oriented counterclockwise while hull edges are oriented clockwise. """ + ... @overload def each_edge(self, contour: int) -> Iterator[DEdge]: r""" @@ -10419,15 +11520,18 @@ class DPolygon: This method was introduced in version 0.24. """ + ... def each_point_hole(self, n: int) -> Iterator[DPoint]: r""" @brief Iterates over the points that make up the nth hole The hole number must be less than the number of holes (see \holes) """ + ... def each_point_hull(self) -> Iterator[DPoint]: r""" @brief Iterates over the points that make up the hull """ + ... def extract_rad(self) -> List[Any]: r""" @brief Extracts the corner radii from a rounded polygon @@ -10452,6 +11556,7 @@ class DPolygon: This method was introduced in version 0.25. """ + ... def hash(self) -> int: r""" @brief Computes a hash value @@ -10459,10 +11564,12 @@ class DPolygon: This method has been introduced in version 0.25. """ + ... def holes(self) -> int: r""" @brief Returns the number of holes """ + ... @overload def insert_hole(self, b: DBox) -> None: r""" @@ -10470,6 +11577,7 @@ class DPolygon: @param b The box to insert as a new hole This method was introduced in version 0.23. """ + ... @overload def insert_hole(self, p: Sequence[DPoint], raw: Optional[bool] = ...) -> None: r""" @@ -10479,11 +11587,13 @@ class DPolygon: The 'raw' argument was added in version 0.24. """ + ... def inside(self, p: DPoint) -> bool: r""" @brief Tests, if the given point is inside the polygon If the given point is inside or on the edge of the polygon, true is returned. This tests works well only if the polygon is not self-overlapping and oriented clockwise. """ + ... def is_box(self) -> bool: r""" @brief Returns true, if the polygon is a simple box. @@ -10494,16 +11604,19 @@ class DPolygon: This method was introduced in version 0.23. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_empty(self) -> bool: r""" @brief Returns a value indicating whether the polygon is empty """ + ... def is_halfmanhattan(self) -> bool: r""" @brief Returns a value indicating whether the polygon is half-manhattan @@ -10511,10 +11624,12 @@ class DPolygon: This predicate was introduced in version 0.27. """ + ... def is_rectilinear(self) -> bool: r""" @brief Returns a value indicating whether the polygon is rectilinear """ + ... @overload def move(self, p: DVector) -> DPolygon: r""" @@ -10529,6 +11644,7 @@ class DPolygon: This method has been introduced in version 0.23. """ + ... @overload def move(self, x: float, y: float) -> DPolygon: r""" @@ -10542,6 +11658,7 @@ class DPolygon: @return The moved polygon (self). """ + ... @overload def moved(self, p: DVector) -> DPolygon: r""" @@ -10556,6 +11673,7 @@ class DPolygon: This method has been introduced in version 0.23. """ + ... @overload def moved(self, x: float, y: float) -> DPolygon: r""" @@ -10571,20 +11689,24 @@ class DPolygon: This method has been introduced in version 0.23. """ + ... def num_points(self) -> int: r""" @brief Gets the total number of points (hull plus holes) This method was introduced in version 0.18. """ + ... def num_points_hole(self, n: int) -> int: r""" @brief Gets the number of points of the given hole The argument gives the index of the hole of which the number of points are requested. The index must be less than the number of holes (see \holes). """ + ... def num_points_hull(self) -> int: r""" @brief Gets the number of points of the hull """ + ... def perimeter(self) -> float: r""" @brief Gets the perimeter of the polygon @@ -10592,6 +11714,7 @@ class DPolygon: This method has been introduce in version 0.23. """ + ... def point_hole(self, n: int, p: int) -> DPoint: r""" @brief Gets a specific point of a hole @@ -10600,6 +11723,7 @@ class DPolygon: If the index of the point or of the hole is not valid, a default value is returned. This method was introduced in version 0.18. """ + ... def point_hull(self, p: int) -> DPoint: r""" @brief Gets a specific point of the hull @@ -10607,6 +11731,7 @@ class DPolygon: If the index of the point is not a valid index, a default value is returned. This method was introduced in version 0.18. """ + ... def round_corners(self, rinner: float, router: float, n: int) -> DPolygon: r""" @brief Rounds the corners of the polygon @@ -10621,6 +11746,7 @@ class DPolygon: This method was introduced in version 0.20 for integer coordinates and in 0.25 for all coordinate types. """ + ... @overload def size(self, d: float, mode: Optional[int] = ...) -> None: r""" @@ -10636,6 +11762,7 @@ class DPolygon: This method has been introduced in version 0.23. """ + ... @overload def size(self, dv: Vector, mode: Optional[int] = ...) -> None: r""" @@ -10650,6 +11777,7 @@ class DPolygon: This version has been introduced in version 0.28. """ + ... @overload def size(self, dx: float, dy: float, mode: int) -> None: r""" @@ -10675,6 +11803,7 @@ class DPolygon: result = ep.simple_merge_p2p([ poly ], false, false, 1) @/code """ + ... @overload def sized(self, d: float, mode: Optional[int] = ...) -> DPolygon: r""" @@ -10688,6 +11817,7 @@ class DPolygon: See \size and \sized for a detailed description. """ + ... @overload def sized(self, dv: Vector, mode: Optional[int] = ...) -> DPolygon: r""" @@ -10702,6 +11832,7 @@ class DPolygon: This version has been introduced in version 0.28. """ + ... @overload def sized(self, dx: float, dy: float, mode: int) -> DPolygon: r""" @@ -10712,6 +11843,7 @@ class DPolygon: This method has been introduced in version 0.23. """ + ... def sort_holes(self) -> None: r""" @brief Brings the holes in a specific order @@ -10719,6 +11851,7 @@ class DPolygon: This method has been introduced in version 0.28.8. """ + ... def split(self) -> List[DPolygon]: r""" @brief Splits the polygon into two or more parts @@ -10728,6 +11861,7 @@ class DPolygon: This method has been introduced in version 0.25.3. """ + ... def to_itype(self, dbu: Optional[float] = ...) -> Polygon: r""" @brief Converts the polygon to an integer coordinate polygon @@ -10736,10 +11870,12 @@ class DPolygon: This method has been introduced in version 0.25. """ + ... def to_s(self) -> str: r""" @brief Returns a string representing the polygon """ + ... @overload def touches(self, box: DBox) -> bool: r""" @@ -10748,6 +11884,7 @@ class DPolygon: This method was introduced in version 0.25.1. """ + ... @overload def touches(self, edge: DEdge) -> bool: r""" @@ -10756,6 +11893,7 @@ class DPolygon: This method was introduced in version 0.25.1. """ + ... @overload def touches(self, polygon: DPolygon) -> bool: r""" @@ -10764,6 +11902,7 @@ class DPolygon: This method was introduced in version 0.25.1. """ + ... @overload def touches(self, simple_polygon: DSimplePolygon) -> bool: r""" @@ -10772,6 +11911,7 @@ class DPolygon: This method was introduced in version 0.25.1. """ + ... @overload def transform(self, t: DCplxTrans) -> DPolygon: r""" @@ -10784,6 +11924,7 @@ class DPolygon: This method has been introduced in version 0.24. """ + ... @overload def transform(self, t: DTrans) -> DPolygon: r""" @@ -10796,6 +11937,7 @@ class DPolygon: This method has been introduced in version 0.24. """ + ... @overload def transformed(self, t: DCplxTrans) -> DPolygon: r""" @@ -10810,6 +11952,7 @@ class DPolygon: With version 0.25, the original 'transformed_cplx' method is deprecated and 'transformed' takes both simple and complex transformations. """ + ... @overload def transformed(self, t: DTrans) -> DPolygon: r""" @@ -10822,6 +11965,7 @@ class DPolygon: @return The transformed polygon. """ + ... @overload def transformed(self, t: VCplxTrans) -> Polygon: r""" @@ -10833,6 +11977,7 @@ class DPolygon: This method has been introduced in version 0.25. """ + ... def transformed_cplx(self, t: DCplxTrans) -> DPolygon: r""" @brief Transforms the polygon with a complex transformation @@ -10846,6 +11991,8 @@ class DPolygon: With version 0.25, the original 'transformed_cplx' method is deprecated and 'transformed' takes both simple and complex transformations. """ + ... + ... class DSimplePolygon: r""" @@ -10875,6 +12022,7 @@ class DSimplePolygon: See the constructor description for details about raw mode. """ + ... @classmethod def ellipse(cls, box: DBox, n: int) -> DSimplePolygon: r""" @@ -10885,12 +12033,14 @@ class DSimplePolygon: This method has been introduced in version 0.23. """ + ... @classmethod def from_ipoly(cls, polygon: SimplePolygon) -> DSimplePolygon: r""" @brief Creates a floating-point coordinate polygon from an integer coordinate polygon This constructor has been introduced in version 0.25 and replaces the previous static method 'from_ipoly'. """ + ... @classmethod def from_s(cls, s: str) -> DSimplePolygon: r""" @@ -10899,12 +12049,14 @@ class DSimplePolygon: This method has been added in version 0.23. """ + ... @overload @classmethod def new(cls) -> DSimplePolygon: r""" @brief Default constructor: creates an empty (invalid) polygon """ + ... @overload @classmethod def new(cls, box: DBox) -> DSimplePolygon: @@ -10913,6 +12065,7 @@ class DSimplePolygon: @param box The box to convert to a polygon """ + ... @overload @classmethod def new(cls, polygon: SimplePolygon) -> DSimplePolygon: @@ -10920,6 +12073,7 @@ class DSimplePolygon: @brief Creates a floating-point coordinate polygon from an integer coordinate polygon This constructor has been introduced in version 0.25 and replaces the previous static method 'from_ipoly'. """ + ... @overload @classmethod def new(cls, pts: Sequence[DPoint], raw: Optional[bool] = ...) -> DSimplePolygon: @@ -10935,19 +12089,23 @@ class DSimplePolygon: The 'raw' argument has been added in version 0.24. """ + ... def __copy__(self) -> DSimplePolygon: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> DSimplePolygon: r""" @brief Creates a copy of self """ + ... def __eq__(self, p: object) -> bool: r""" @brief Returns a value indicating whether self is equal to p @param p The object to compare against """ + ... def __hash__(self) -> int: r""" @brief Computes a hash value @@ -10955,11 +12113,13 @@ class DSimplePolygon: This method has been introduced in version 0.25. """ + ... @overload def __init__(self) -> None: r""" @brief Default constructor: creates an empty (invalid) polygon """ + ... @overload def __init__(self, box: DBox) -> None: r""" @@ -10967,12 +12127,14 @@ class DSimplePolygon: @param box The box to convert to a polygon """ + ... @overload def __init__(self, polygon: SimplePolygon) -> None: r""" @brief Creates a floating-point coordinate polygon from an integer coordinate polygon This constructor has been introduced in version 0.25 and replaces the previous static method 'from_ipoly'. """ + ... @overload def __init__(self, pts: Sequence[DPoint], raw: Optional[bool] = ...) -> None: r""" @@ -10987,6 +12149,7 @@ class DSimplePolygon: The 'raw' argument has been added in version 0.24. """ + ... def __lt__(self, p: DSimplePolygon) -> bool: r""" @brief Returns a value indicating whether self is less than p @@ -10995,54 +12158,59 @@ class DSimplePolygon: This method has been introduced in version 0.25. """ + ... def __mul__(self, f: float) -> DSimplePolygon: r""" @brief Scales the polygon by some factor Returns the scaled object. All coordinates are multiplied with the given factor and if necessary rounded. """ + ... def __ne__(self, p: object) -> bool: r""" @brief Returns a value indicating whether self is not equal to p @param p The object to compare against """ - def __repr__(self) -> str: - r""" - @brief Returns a string representing the polygon - """ + ... def __rmul__(self, f: float) -> DSimplePolygon: r""" @brief Scales the polygon by some factor Returns the scaled object. All coordinates are multiplied with the given factor and if necessary rounded. """ + ... def __str__(self) -> str: r""" @brief Returns a string representing the polygon """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -11050,6 +12218,7 @@ class DSimplePolygon: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -11057,11 +12226,13 @@ class DSimplePolygon: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def area(self) -> float: r""" @brief Gets the area of the polygon The area is correct only if the polygon is not self-overlapping and the polygon is oriented clockwise. """ + ... def area2(self) -> float: r""" @brief Gets the double area of the polygon @@ -11069,14 +12240,17 @@ class DSimplePolygon: This method has been introduced in version 0.26.1 """ + ... def assign(self, other: DSimplePolygon) -> None: r""" @brief Assigns another object to self """ + ... def bbox(self) -> DBox: r""" @brief Returns the bounding box of the simple polygon """ + ... def break_(self, max_vertex_count: int, max_area_ratio: float) -> List[DSimplePolygon]: r""" @brief Splits the polygon into parts with a maximum vertex count and area ratio @@ -11088,6 +12262,7 @@ class DSimplePolygon: This method has been introduced in version 0.29. """ + ... def compress(self, remove_reflected: bool) -> None: r""" @brief Compressed the simple polygon. @@ -11099,35 +12274,42 @@ class DSimplePolygon: This method was introduced in version 0.18. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> DSimplePolygon: r""" @brief Creates a copy of self """ + ... def each_edge(self) -> Iterator[DEdge]: r""" @brief Iterates over the edges that make up the simple polygon """ + ... def each_point(self) -> Iterator[DPoint]: r""" @brief Iterates over the points that make up the simple polygon """ + ... def extract_rad(self) -> List[Any]: r""" @brief Extracts the corner radii from a rounded polygon @@ -11152,6 +12334,7 @@ class DSimplePolygon: This method was introduced in version 0.25. """ + ... def hash(self) -> int: r""" @brief Computes a hash value @@ -11159,11 +12342,13 @@ class DSimplePolygon: This method has been introduced in version 0.25. """ + ... def inside(self, p: DPoint) -> bool: r""" @brief Gets a value indicating whether the given point is inside the polygon If the given point is inside or on the edge the polygon, true is returned. This tests works well only if the polygon is not self-overlapping and oriented clockwise. """ + ... def is_box(self) -> bool: r""" @brief Returns a value indicating whether the polygon is a simple box. @@ -11174,16 +12359,19 @@ class DSimplePolygon: This method was introduced in version 0.23. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_empty(self) -> bool: r""" @brief Returns a value indicating whether the polygon is empty """ + ... def is_halfmanhattan(self) -> bool: r""" @brief Returns a value indicating whether the polygon is half-manhattan @@ -11191,10 +12379,12 @@ class DSimplePolygon: This predicate was introduced in version 0.27. """ + ... def is_rectilinear(self) -> bool: r""" @brief Returns a value indicating whether the polygon is rectilinear """ + ... @overload def move(self, p: DVector) -> DSimplePolygon: r""" @@ -11207,6 +12397,7 @@ class DSimplePolygon: @return The moved simple polygon. """ + ... @overload def move(self, x: float, y: float) -> DSimplePolygon: r""" @@ -11220,6 +12411,7 @@ class DSimplePolygon: @return The moved polygon (self). """ + ... @overload def moved(self, p: DVector) -> DSimplePolygon: r""" @@ -11232,6 +12424,7 @@ class DSimplePolygon: @return The moved simple polygon. """ + ... @overload def moved(self, x: float, y: float) -> DSimplePolygon: r""" @@ -11247,21 +12440,25 @@ class DSimplePolygon: This method has been introduced in version 0.23. """ + ... def num_points(self) -> int: r""" @brief Gets the number of points """ + ... def perimeter(self) -> float: r""" @brief Gets the perimeter of the polygon The perimeter is sum of the lengths of all edges making up the polygon. """ + ... def point(self, p: int) -> DPoint: r""" @brief Gets a specific point of the contour@param p The index of the point to get If the index of the point is not a valid index, a default value is returned. This method was introduced in version 0.18. """ + ... def round_corners(self, rinner: float, router: float, n: int) -> DSimplePolygon: r""" @brief Rounds the corners of the polygon @@ -11276,6 +12473,7 @@ class DSimplePolygon: This method was introduced in version 0.22 for integer coordinates and in 0.25 for all coordinate types. """ + ... def set_points(self, pts: Sequence[DPoint], raw: Optional[bool] = ...) -> None: r""" @brief Sets the points of the simple polygon @@ -11287,6 +12485,7 @@ class DSimplePolygon: This method has been added in version 0.24. """ + ... def split(self) -> List[DSimplePolygon]: r""" @brief Splits the polygon into two or more parts @@ -11296,6 +12495,7 @@ class DSimplePolygon: This method has been introduced in version 0.25.3. """ + ... def to_itype(self, dbu: Optional[float] = ...) -> SimplePolygon: r""" @brief Converts the polygon to an integer coordinate polygon @@ -11303,10 +12503,12 @@ class DSimplePolygon: This method has been introduced in version 0.25. """ + ... def to_s(self) -> str: r""" @brief Returns a string representing the polygon """ + ... @overload def touches(self, box: DBox) -> bool: r""" @@ -11315,6 +12517,7 @@ class DSimplePolygon: This method was introduced in version 0.25.1. """ + ... @overload def touches(self, edge: DEdge) -> bool: r""" @@ -11323,6 +12526,7 @@ class DSimplePolygon: This method was introduced in version 0.25.1. """ + ... @overload def touches(self, polygon: DPolygon) -> bool: r""" @@ -11331,6 +12535,7 @@ class DSimplePolygon: This method was introduced in version 0.25.1. """ + ... @overload def touches(self, simple_polygon: DSimplePolygon) -> bool: r""" @@ -11339,6 +12544,7 @@ class DSimplePolygon: This method was introduced in version 0.25.1. """ + ... @overload def transform(self, t: DCplxTrans) -> DSimplePolygon: r""" @@ -11351,6 +12557,7 @@ class DSimplePolygon: This method has been introduced in version 0.24. """ + ... @overload def transform(self, t: DTrans) -> DSimplePolygon: r""" @@ -11363,6 +12570,7 @@ class DSimplePolygon: This method has been introduced in version 0.24. """ + ... @overload def transformed(self, t: DCplxTrans) -> DSimplePolygon: r""" @@ -11377,6 +12585,7 @@ class DSimplePolygon: With version 0.25, the original 'transformed_cplx' method is deprecated and 'transformed' takes both simple and complex transformations. """ + ... @overload def transformed(self, t: DTrans) -> DSimplePolygon: r""" @@ -11389,6 +12598,7 @@ class DSimplePolygon: @return The transformed simple polygon. """ + ... @overload def transformed(self, t: VCplxTrans) -> SimplePolygon: r""" @@ -11399,6 +12609,7 @@ class DSimplePolygon: This method has been introduced in version 0.25. """ + ... def transformed_cplx(self, t: DCplxTrans) -> DSimplePolygon: r""" @brief Transforms the simple polygon. @@ -11412,6 +12623,8 @@ class DSimplePolygon: With version 0.25, the original 'transformed_cplx' method is deprecated and 'transformed' takes both simple and complex transformations. """ + ... + ... class DText: r""" @@ -11513,7 +12726,8 @@ class DText: Setter: @brief Sets the vertical alignment - This is the version accepting integer values. It's provided for backward compatibility. + This property specifies how the text is aligned relative to the anchor point. + This property has been introduced in version 0.22 and extended to enums in 0.28. """ x: float r""" @@ -11547,6 +12761,7 @@ class DText: This method has been added in version 0.23. """ + ... @overload @classmethod def new(cls) -> DText: @@ -11555,6 +12770,7 @@ class DText: Creates a text with unit transformation and empty text. """ + ... @overload @classmethod def new(cls, Text: Text) -> DText: @@ -11563,6 +12779,7 @@ class DText: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_itext'. """ + ... @overload @classmethod def new(cls, string: str, trans: DTrans) -> DText: @@ -11572,6 +12789,7 @@ class DText: A string and a transformation is provided to this constructor. The transformation specifies the location and orientation of the text object. """ + ... @overload @classmethod def new(cls, string: str, trans: DTrans, height: float, font: int) -> DText: @@ -11581,6 +12799,7 @@ class DText: A string and a transformation is provided to this constructor. The transformation specifies the location and orientation of the text object. In addition, the text height and font can be specified. """ + ... @overload @classmethod def new(cls, string: str, x: float, y: float) -> DText: @@ -11592,14 +12811,17 @@ class DText: This method has been introduced in version 0.23. """ + ... def __copy__(self) -> DText: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> DText: r""" @brief Creates a copy of self """ + ... def __eq__(self, text: object) -> bool: r""" @brief Equality @@ -11607,6 +12829,7 @@ class DText: Return true, if this text object and the given text are equal """ + ... def __hash__(self) -> int: r""" @brief Computes a hash value @@ -11614,6 +12837,7 @@ class DText: This method has been introduced in version 0.25. """ + ... @overload def __init__(self) -> None: r""" @@ -11621,6 +12845,7 @@ class DText: Creates a text with unit transformation and empty text. """ + ... @overload def __init__(self, Text: Text) -> None: r""" @@ -11628,6 +12853,7 @@ class DText: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_itext'. """ + ... @overload def __init__(self, string: str, trans: DTrans) -> None: r""" @@ -11636,6 +12862,7 @@ class DText: A string and a transformation is provided to this constructor. The transformation specifies the location and orientation of the text object. """ + ... @overload def __init__(self, string: str, trans: DTrans, height: float, font: int) -> None: r""" @@ -11644,6 +12871,7 @@ class DText: A string and a transformation is provided to this constructor. The transformation specifies the location and orientation of the text object. In addition, the text height and font can be specified. """ + ... @overload def __init__(self, string: str, x: float, y: float) -> None: r""" @@ -11654,12 +12882,14 @@ class DText: This method has been introduced in version 0.23. """ + ... def __lt__(self, t: DText) -> bool: r""" @brief Less operator @param t The object to compare against This operator is provided to establish some, not necessarily a certain sorting order """ + ... def __ne__(self, text: object) -> bool: r""" @brief Inequality @@ -11667,13 +12897,7 @@ class DText: Return true, if this text object and the given text are not equal """ - def __repr__(self, dbu: Optional[float] = ...) -> str: - r""" - @brief Converts the object to a string. - If a DBU is given, the output units will be micrometers. - - The DBU argument has been added in version 0.27.6. - """ + ... def __str__(self, dbu: Optional[float] = ...) -> str: r""" @brief Converts the object to a string. @@ -11681,29 +12905,34 @@ class DText: The DBU argument has been added in version 0.27.6. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -11711,6 +12940,7 @@ class DText: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -11718,10 +12948,12 @@ class DText: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: DText) -> None: r""" @brief Assigns another object to self """ + ... def bbox(self) -> DBox: r""" @brief Gets the bounding box of the text @@ -11729,27 +12961,32 @@ class DText: This method has been added in version 0.28. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> DText: r""" @brief Creates a copy of self """ + ... def hash(self) -> int: r""" @brief Computes a hash value @@ -11757,12 +12994,14 @@ class DText: This method has been introduced in version 0.25. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... @overload def move(self, distance: DVector) -> DText: r""" @@ -11776,6 +13015,7 @@ class DText: @return A reference to this text object """ + ... @overload def move(self, dx: float, dy: float) -> DText: r""" @@ -11792,6 +13032,7 @@ class DText: This method was introduced in version 0.23. """ + ... @overload def moved(self, distance: DVector) -> DText: r""" @@ -11806,6 +13047,7 @@ class DText: @return The moved text. """ + ... @overload def moved(self, dx: float, dy: float) -> DText: r""" @@ -11823,12 +13065,14 @@ class DText: This method was introduced in version 0.23. """ + ... def position(self) -> DPoint: r""" @brief Gets the position of the text This convenience method has been added in version 0.28. """ + ... def to_itype(self, dbu: Optional[float] = ...) -> Text: r""" @brief Converts the text to an integer coordinate text @@ -11837,6 +13081,7 @@ class DText: This method has been introduced in version 0.25. """ + ... def to_s(self, dbu: Optional[float] = ...) -> str: r""" @brief Converts the object to a string. @@ -11844,6 +13089,7 @@ class DText: The DBU argument has been added in version 0.27.6. """ + ... @overload def transformed(self, t: DCplxTrans) -> DText: r""" @@ -11853,6 +13099,7 @@ class DText: @param t The magnifying transformation to apply @return The transformed text (a DText now) """ + ... @overload def transformed(self, t: DTrans) -> DText: r""" @@ -11862,6 +13109,7 @@ class DText: @param t The transformation to apply @return The transformed text """ + ... @overload def transformed(self, t: VCplxTrans) -> Text: r""" @@ -11873,6 +13121,8 @@ class DText: This method has been introduced in version 0.25. """ + ... + ... class DTrans: r""" @@ -11993,6 +13243,7 @@ class DTrans: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_itrans'. """ + ... @classmethod def from_s(cls, s: str) -> DTrans: r""" @@ -12001,12 +13252,14 @@ class DTrans: This method has been added in version 0.23. """ + ... @overload @classmethod def new(cls) -> DTrans: r""" @brief Creates a unit transformation """ + ... @overload @classmethod def new(cls, c: DTrans, u: Optional[DVector] = ...) -> DTrans: @@ -12020,6 +13273,7 @@ class DTrans: @param c The original transformation @param u The Additional displacement """ + ... @overload @classmethod def new(cls, c: DTrans, x: Optional[float] = ..., y: Optional[float] = ...) -> DTrans: @@ -12034,6 +13288,7 @@ class DTrans: @param x The Additional displacement (x) @param y The Additional displacement (y) """ + ... @overload @classmethod def new(cls, rot: Optional[int] = ..., mirrx: Optional[bool] = ..., u: Optional[DVector] = ...) -> DTrans: @@ -12047,6 +13302,7 @@ class DTrans: @param mirrx True, if mirrored at x axis @param u The displacement """ + ... @overload @classmethod def new(cls, rot: Optional[int] = ..., mirrx: Optional[bool] = ..., x: Optional[float] = ..., y: Optional[float] = ...) -> DTrans: @@ -12061,6 +13317,7 @@ class DTrans: @param x The horizontal displacement @param y The vertical displacement """ + ... @overload @classmethod def new(cls, trans: Trans) -> DTrans: @@ -12069,6 +13326,7 @@ class DTrans: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_itrans'. """ + ... @overload @classmethod def new(cls, u: DVector) -> DTrans: @@ -12077,6 +13335,7 @@ class DTrans: @param u The displacement """ + ... @overload @classmethod def new(cls, x: float, y: float) -> DTrans: @@ -12086,18 +13345,22 @@ class DTrans: @param x The horizontal displacement @param y The vertical displacement """ + ... def __copy__(self) -> DTrans: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> DTrans: r""" @brief Creates a copy of self """ + ... def __eq__(self, other: object) -> bool: r""" @brief Tests for equality """ + ... def __hash__(self) -> int: r""" @brief Computes a hash value @@ -12105,11 +13368,13 @@ class DTrans: This method has been introduced in version 0.25. """ + ... @overload def __init__(self) -> None: r""" @brief Creates a unit transformation """ + ... @overload def __init__(self, c: DTrans, u: Optional[DVector] = ...) -> None: r""" @@ -12122,6 +13387,7 @@ class DTrans: @param c The original transformation @param u The Additional displacement """ + ... @overload def __init__(self, c: DTrans, x: Optional[float] = ..., y: Optional[float] = ...) -> None: r""" @@ -12135,6 +13401,7 @@ class DTrans: @param x The Additional displacement (x) @param y The Additional displacement (y) """ + ... @overload def __init__(self, rot: Optional[int] = ..., mirrx: Optional[bool] = ..., u: Optional[DVector] = ...) -> None: r""" @@ -12147,6 +13414,7 @@ class DTrans: @param mirrx True, if mirrored at x axis @param u The displacement """ + ... @overload def __init__(self, rot: Optional[int] = ..., mirrx: Optional[bool] = ..., x: Optional[float] = ..., y: Optional[float] = ...) -> None: r""" @@ -12160,6 +13428,7 @@ class DTrans: @param x The horizontal displacement @param y The vertical displacement """ + ... @overload def __init__(self, trans: Trans) -> None: r""" @@ -12167,6 +13436,7 @@ class DTrans: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_itrans'. """ + ... @overload def __init__(self, u: DVector) -> None: r""" @@ -12174,6 +13444,7 @@ class DTrans: @param u The displacement """ + ... @overload def __init__(self, x: float, y: float) -> None: r""" @@ -12182,11 +13453,13 @@ class DTrans: @param x The horizontal displacement @param y The vertical displacement """ + ... def __lt__(self, other: DTrans) -> bool: r""" @brief Provides a 'less' criterion for sorting This method is provided to implement a sorting order. The definition of 'less' is opaque and might change in future versions. """ + ... @overload def __mul__(self, box: DBox) -> DBox: r""" @@ -12199,21 +13472,22 @@ class DTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __mul__(self, d: float) -> float: r""" - @brief Transforms a distance + @brief Transforms a single distance The "ctrans" method transforms the given distance. - e = t(d). For the simple transformations, there - is no magnification and no modification of the distance - therefore. + This is equivalent to multiplying with the magnification. For the simple transformations, there + is no magnification and no modification of the distance. @param d The distance to transform @return The transformed distance - The product '*' has been added as a synonym in version 0.28. + The product '*' has been added as a synonym in version 0.28. The distance can be signed since version 0.29.3. """ + ... @overload def __mul__(self, edge: DEdge) -> DEdge: r""" @@ -12226,6 +13500,7 @@ class DTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __mul__(self, p: DPoint) -> DPoint: r""" @@ -12239,6 +13514,7 @@ class DTrans: @param p The point to transform @return The transformed point """ + ... @overload def __mul__(self, path: DPath) -> DPath: r""" @@ -12251,6 +13527,7 @@ class DTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __mul__(self, polygon: DPolygon) -> DPolygon: r""" @@ -12263,6 +13540,7 @@ class DTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __mul__(self, t: DTrans) -> DTrans: r""" @@ -12273,6 +13551,7 @@ class DTrans: @param t The transformation to apply before @return The modified transformation """ + ... @overload def __mul__(self, text: DText) -> DText: r""" @@ -12285,6 +13564,7 @@ class DTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __mul__(self, v: DVector) -> DVector: r""" @@ -12298,17 +13578,12 @@ class DTrans: @param v The vector to transform @return The transformed vector """ + ... def __ne__(self, other: object) -> bool: r""" @brief Tests for inequality """ - def __repr__(self, dbu: Optional[float] = ...) -> str: - r""" - @brief String conversion - If a DBU is given, the output units will be micrometers. - - The DBU argument has been added in version 0.27.6. - """ + ... @overload def __rmul__(self, box: DBox) -> DBox: r""" @@ -12321,21 +13596,22 @@ class DTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __rmul__(self, d: float) -> float: r""" - @brief Transforms a distance + @brief Transforms a single distance The "ctrans" method transforms the given distance. - e = t(d). For the simple transformations, there - is no magnification and no modification of the distance - therefore. + This is equivalent to multiplying with the magnification. For the simple transformations, there + is no magnification and no modification of the distance. @param d The distance to transform @return The transformed distance - The product '*' has been added as a synonym in version 0.28. + The product '*' has been added as a synonym in version 0.28. The distance can be signed since version 0.29.3. """ + ... @overload def __rmul__(self, edge: DEdge) -> DEdge: r""" @@ -12348,6 +13624,7 @@ class DTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __rmul__(self, p: DPoint) -> DPoint: r""" @@ -12361,6 +13638,7 @@ class DTrans: @param p The point to transform @return The transformed point """ + ... @overload def __rmul__(self, path: DPath) -> DPath: r""" @@ -12373,6 +13651,7 @@ class DTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __rmul__(self, polygon: DPolygon) -> DPolygon: r""" @@ -12385,6 +13664,7 @@ class DTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __rmul__(self, text: DText) -> DText: r""" @@ -12397,6 +13677,7 @@ class DTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __rmul__(self, v: DVector) -> DVector: r""" @@ -12410,6 +13691,7 @@ class DTrans: @param v The vector to transform @return The transformed vector """ + ... def __str__(self, dbu: Optional[float] = ...) -> str: r""" @brief String conversion @@ -12417,29 +13699,34 @@ class DTrans: The DBU argument has been added in version 0.27.6. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -12447,6 +13734,7 @@ class DTrans: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -12454,45 +13742,51 @@ class DTrans: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: DTrans) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def ctrans(self, d: float) -> float: r""" - @brief Transforms a distance + @brief Transforms a single distance The "ctrans" method transforms the given distance. - e = t(d). For the simple transformations, there - is no magnification and no modification of the distance - therefore. + This is equivalent to multiplying with the magnification. For the simple transformations, there + is no magnification and no modification of the distance. @param d The distance to transform @return The transformed distance - The product '*' has been added as a synonym in version 0.28. + The product '*' has been added as a synonym in version 0.28. The distance can be signed since version 0.29.3. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> DTrans: r""" @brief Creates a copy of self """ + ... def hash(self) -> int: r""" @brief Computes a hash value @@ -12500,6 +13794,7 @@ class DTrans: This method has been introduced in version 0.25. """ + ... def invert(self) -> DTrans: r""" @brief Inverts the transformation (in place) @@ -12509,6 +13804,7 @@ class DTrans: @return The inverted transformation """ + ... def inverted(self) -> DTrans: r""" @brief Returns the inverted transformation @@ -12516,18 +13812,21 @@ class DTrans: @return The inverted transformation """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_mirror(self) -> bool: r""" @brief Gets the mirror flag If this property is true, the transformation is composed of a mirroring at the x-axis followed by a rotation by the angle given by the \angle property. """ + ... def to_itype(self, dbu: Optional[float] = ...) -> Trans: r""" @brief Converts the transformation to an integer coordinate transformation @@ -12536,6 +13835,7 @@ class DTrans: This method has been introduced in version 0.25. """ + ... def to_s(self, dbu: Optional[float] = ...) -> str: r""" @brief String conversion @@ -12543,6 +13843,7 @@ class DTrans: The DBU argument has been added in version 0.27.6. """ + ... @overload def trans(self, box: DBox) -> DBox: r""" @@ -12555,6 +13856,7 @@ class DTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def trans(self, edge: DEdge) -> DEdge: r""" @@ -12567,6 +13869,7 @@ class DTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def trans(self, p: DPoint) -> DPoint: r""" @@ -12580,6 +13883,7 @@ class DTrans: @param p The point to transform @return The transformed point """ + ... @overload def trans(self, path: DPath) -> DPath: r""" @@ -12592,6 +13896,7 @@ class DTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def trans(self, polygon: DPolygon) -> DPolygon: r""" @@ -12604,6 +13909,7 @@ class DTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def trans(self, text: DText) -> DText: r""" @@ -12616,6 +13922,7 @@ class DTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def trans(self, v: DVector) -> DVector: r""" @@ -12629,6 +13936,8 @@ class DTrans: @param v The vector to transform @return The transformed vector """ + ... + ... class DVector: r""" @@ -12662,12 +13971,14 @@ class DVector: @brief Creates an object from a string Creates the object from a string representation (as returned by \to_s) """ + ... @overload @classmethod def new(cls) -> DVector: r""" @brief Default constructor: creates a null vector with coordinates (0,0) """ + ... @overload @classmethod def new(cls, p: DPoint) -> DVector: @@ -12676,12 +13987,14 @@ class DVector: This constructor is equivalent to computing p-point(0,0). This method has been introduced in version 0.25. """ + ... @overload @classmethod def new(cls, vector: Vector) -> DVector: r""" @brief Creates a floating-point coordinate vector from an integer coordinate vector """ + ... @overload @classmethod def new(cls, x: float, y: float) -> DVector: @@ -12689,6 +14002,7 @@ class DVector: @brief Constructor for a vector from two coordinate values """ + ... @overload def __add__(self, p: DPoint) -> DPoint: r""" @@ -12697,6 +14011,7 @@ class DVector: Returns the point p shifted by the vector. """ + ... @overload def __add__(self, v: DVector) -> DVector: r""" @@ -12705,19 +14020,23 @@ class DVector: Adds vector v to self by adding the coordinates. """ + ... def __copy__(self) -> DVector: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> DVector: r""" @brief Creates a copy of self """ + ... def __eq__(self, v: object) -> bool: r""" @brief Equality test operator """ + ... def __hash__(self) -> int: r""" @brief Computes a hash value @@ -12725,6 +14044,7 @@ class DVector: This method has been introduced in version 0.25. """ + ... def __imul__(self, f: float) -> DVector: r""" @brief Scaling by some factor @@ -12732,11 +14052,13 @@ class DVector: Scales object in place. All coordinates are multiplied with the given factor and if necessary rounded. """ + ... @overload def __init__(self) -> None: r""" @brief Default constructor: creates a null vector with coordinates (0,0) """ + ... @overload def __init__(self, p: DPoint) -> None: r""" @@ -12744,17 +14066,20 @@ class DVector: This constructor is equivalent to computing p-point(0,0). This method has been introduced in version 0.25. """ + ... @overload def __init__(self, vector: Vector) -> None: r""" @brief Creates a floating-point coordinate vector from an integer coordinate vector """ + ... @overload def __init__(self, x: float, y: float) -> None: r""" @brief Constructor for a vector from two coordinate values """ + ... def __itruediv__(self, d: float) -> DVector: r""" @brief Division by some divisor @@ -12762,6 +14087,7 @@ class DVector: Divides the object in place. All coordinates are divided with the given divisor and if necessary rounded. """ + ... def __lt__(self, v: DVector) -> bool: r""" @brief "less" comparison operator @@ -12770,6 +14096,7 @@ class DVector: This operator is provided to establish a sorting order """ + ... @overload def __mul__(self, f: float) -> DVector: r""" @@ -12778,6 +14105,7 @@ class DVector: Returns the scaled object. All coordinates are multiplied with the given factor and if necessary rounded. """ + ... @overload def __mul__(self, v: DVector) -> float: r""" @@ -12786,11 +14114,13 @@ class DVector: The scalar product of a and b is defined as: vp = ax*bx+ay*by. """ + ... def __ne__(self, v: object) -> bool: r""" @brief Inequality test operator """ + ... def __neg__(self) -> DVector: r""" @brief Compute the negative of a vector @@ -12798,13 +14128,7 @@ class DVector: Returns a new vector with -x,-y. """ - def __repr__(self, dbu: Optional[float] = ...) -> str: - r""" - @brief String conversion - If a DBU is given, the output units will be micrometers. - - The DBU argument has been added in version 0.27.6. - """ + ... @overload def __rmul__(self, f: float) -> DVector: r""" @@ -12813,6 +14137,7 @@ class DVector: Returns the scaled object. All coordinates are multiplied with the given factor and if necessary rounded. """ + ... @overload def __rmul__(self, v: DVector) -> float: r""" @@ -12821,6 +14146,7 @@ class DVector: The scalar product of a and b is defined as: vp = ax*bx+ay*by. """ + ... def __str__(self, dbu: Optional[float] = ...) -> str: r""" @brief String conversion @@ -12828,6 +14154,7 @@ class DVector: The DBU argument has been added in version 0.27.6. """ + ... def __sub__(self, v: DVector) -> DVector: r""" @brief Subtract two vectors @@ -12835,6 +14162,7 @@ class DVector: Subtract vector v from self by subtracting the coordinates. """ + ... def __truediv__(self, d: float) -> DVector: r""" @brief Division by some divisor @@ -12842,29 +14170,34 @@ class DVector: Returns the scaled object. All coordinates are divided with the given divisor and if necessary rounded. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -12872,6 +14205,7 @@ class DVector: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -12879,36 +14213,43 @@ class DVector: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def abs(self) -> float: r""" @brief Returns the length of the vector 'abs' is an alias provided for compatibility with the former point type. """ + ... def assign(self, other: DVector) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> DVector: r""" @brief Creates a copy of self """ + ... def hash(self) -> int: r""" @brief Computes a hash value @@ -12916,17 +14257,20 @@ class DVector: This method has been introduced in version 0.25. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def length(self) -> float: r""" @brief Returns the length of the vector 'abs' is an alias provided for compatibility with the former point type. """ + ... def sprod(self, v: DVector) -> float: r""" @brief Computes the scalar product between self and the given vector @@ -12934,6 +14278,7 @@ class DVector: The scalar product of a and b is defined as: vp = ax*bx+ay*by. """ + ... def sprod_sign(self, v: DVector) -> int: r""" @brief Computes the scalar product between self and the given vector and returns a value indicating the sign of the product @@ -12941,28 +14286,33 @@ class DVector: @return 1 if the scalar product is positive, 0 if it is zero and -1 if it is negative. """ + ... def sq_abs(self) -> float: r""" @brief The square length of the vector 'sq_abs' is an alias provided for compatibility with the former point type. """ + ... def sq_length(self) -> float: r""" @brief The square length of the vector 'sq_abs' is an alias provided for compatibility with the former point type. """ + ... def to_itype(self, dbu: Optional[float] = ...) -> Vector: r""" @brief Converts the point to an integer coordinate point The database unit can be specified to translate the floating-point coordinate vector in micron units to an integer-coordinate vector in database units. The vector's' coordinates will be divided by the database unit. """ + ... def to_p(self) -> DPoint: r""" @brief Turns the vector into a point This method returns the point resulting from adding the vector to (0,0). This method has been introduced in version 0.25. """ + ... def to_s(self, dbu: Optional[float] = ...) -> str: r""" @brief String conversion @@ -12970,6 +14320,7 @@ class DVector: The DBU argument has been added in version 0.27.6. """ + ... def vprod(self, v: DVector) -> float: r""" @brief Computes the vector product between self and the given vector @@ -12977,6 +14328,7 @@ class DVector: The vector product of a and b is defined as: vp = ax*by-ay*bx. """ + ... def vprod_sign(self, v: DVector) -> int: r""" @brief Computes the vector product between self and the given vector and returns a value indicating the sign of the product @@ -12984,6 +14336,8 @@ class DVector: @return 1 if the vector product is positive, 0 if it is zero and -1 if it is negative. """ + ... + ... class DeepShapeStore: r""" @@ -13015,6 +14369,7 @@ class DeepShapeStore: This attribute has been introduced in version 0.28.4 """ + ... max_area_ratio: float r""" Getter: @@ -13103,38 +14458,45 @@ class DeepShapeStore: r""" @hide """ + ... @classmethod def new(cls) -> DeepShapeStore: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -13142,6 +14504,7 @@ class DeepShapeStore: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -13149,6 +14512,7 @@ class DeepShapeStore: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def add_breakout_cell(self, layout_index: int, cell_index: Sequence[int]) -> None: r""" @brief Adds a cell indexe to the breakout cell list for the given layout inside the store @@ -13156,6 +14520,7 @@ class DeepShapeStore: This method has been added in version 0.26.1 """ + ... @overload def add_breakout_cells(self, layout_index: int, cells: Sequence[int]) -> None: r""" @@ -13164,6 +14529,7 @@ class DeepShapeStore: This method has been added in version 0.26.1 """ + ... @overload def add_breakout_cells(self, layout_index: int, pattern: str) -> None: r""" @@ -13172,6 +14538,7 @@ class DeepShapeStore: This method has been added in version 0.26.1 """ + ... @overload def add_breakout_cells(self, pattern: str) -> None: r""" @@ -13180,6 +14547,7 @@ class DeepShapeStore: This method has been added in version 0.26.1 """ + ... @overload def clear_breakout_cells(self) -> None: r""" @@ -13188,6 +14556,7 @@ class DeepShapeStore: This method has been added in version 0.26.1 """ + ... @overload def clear_breakout_cells(self, layout_index: int) -> None: r""" @@ -13198,35 +14567,41 @@ class DeepShapeStore: This method has been added in version 0.26.1 """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_singular(self) -> bool: r""" @brief Gets a value indicating whether there is a single layout variant Specifically for network extraction, singular DSS objects are required. Multiple layouts may be present if different sources of layouts have been used. Such DSS objects are not usable for network extraction. """ + ... def pop_state(self) -> None: r""" @brief Restores the store's state on the state state @@ -13234,6 +14609,7 @@ class DeepShapeStore: This method has been added in version 0.26.1 """ + ... def push_state(self) -> None: r""" @brief Pushes the store's state on the state state @@ -13241,6 +14617,7 @@ class DeepShapeStore: This method has been added in version 0.26.1 """ + ... @overload def set_breakout_cells(self, layout_index: int, cells: Sequence[int]) -> None: r""" @@ -13249,6 +14626,7 @@ class DeepShapeStore: This method has been added in version 0.26.1 """ + ... @overload def set_breakout_cells(self, layout_index: int, pattern: str) -> None: r""" @@ -13257,6 +14635,7 @@ class DeepShapeStore: This method has been added in version 0.26.1 """ + ... @overload def set_breakout_cells(self, pattern: str) -> None: r""" @@ -13265,6 +14644,8 @@ class DeepShapeStore: This method has been added in version 0.26.1 """ + ... + ... class Device(NetlistObject): r""" @@ -13311,33 +14692,39 @@ class Device(NetlistObject): r""" @brief Assigns another object to self """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _dup(self) -> Device: r""" @brief Creates a copy of self """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -13345,6 +14732,7 @@ class Device(NetlistObject): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -13352,21 +14740,25 @@ class Device(NetlistObject): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def add_combined_abstract(self, ref: DeviceAbstractRef) -> None: r""" @hide Provided for test purposes mainly. """ + ... def add_reconnected_terminal_for(self, outer_terminal: int, descriptor: DeviceReconnectedTerminal) -> None: r""" @hide Provided for test purposes mainly. """ + ... @overload def circuit(self) -> Circuit: r""" @brief Gets the circuit the device lives in. """ + ... @overload def circuit(self) -> Circuit: r""" @@ -13374,21 +14766,25 @@ class Device(NetlistObject): This constness variant has been introduced in version 0.26.8 """ + ... def clear_combined_abstracts(self) -> None: r""" @hide Provided for test purposes mainly. """ + ... def clear_reconnected_terminals(self) -> None: r""" @hide Provided for test purposes mainly. """ + ... @overload def connect_terminal(self, terminal_id: int, net: Net) -> None: r""" @brief Connects the given terminal to the specified net. """ + ... @overload def connect_terminal(self, terminal_name: str, net: Net) -> None: r""" @@ -13396,37 +14792,44 @@ class Device(NetlistObject): This version accepts a terminal name. If the name is not a valid terminal name, an exception is raised. If the terminal has been connected to a global net, it will be disconnected from there. """ + ... def device_class(self) -> DeviceClass: r""" @brief Gets the device class the device belongs to. """ + ... @overload def disconnect_terminal(self, terminal_id: int) -> None: r""" @brief Disconnects the given terminal from any net. If the terminal has been connected to a global, this connection will be disconnected too. """ + ... @overload def disconnect_terminal(self, terminal_name: str) -> None: r""" @brief Disconnects the given terminal from any net. This version accepts a terminal name. If the name is not a valid terminal name, an exception is raised. """ + ... def each_combined_abstract(self) -> Iterator[DeviceAbstractRef]: r""" @brief Iterates over the combined device specifications. This feature applies to combined devices. This iterator will deliver all device abstracts present in addition to the default device abstract. """ + ... def each_reconnected_terminal_for(self, terminal_id: int) -> Iterator[DeviceReconnectedTerminal]: r""" @brief Iterates over the reconnected terminal specifications for a given outer terminal. This feature applies to combined devices. This iterator will deliver all device-to-abstract terminal reroutings. """ + ... def expanded_name(self) -> str: r""" @brief Gets the expanded name of the device. The expanded name takes the name of the device. If the name is empty, the numeric ID will be used to build a name. """ + ... def id(self) -> int: r""" @brief Gets the device ID. @@ -13434,18 +14837,21 @@ class Device(NetlistObject): It can be used to retrieve the device from the circuit using \Circuit#device_by_id. When assigned, the device ID is not 0. """ + ... def is_combined_device(self) -> bool: r""" @brief Returns true, if the device is a combined device. Combined devices feature multiple device abstracts and device-to-abstract terminal connections. See \each_reconnected_terminal and \each_combined_abstract for more details. """ + ... @overload def net_for_terminal(self, terminal_id: int) -> Net: r""" @brief Gets the net connected to the specified terminal. If the terminal is not connected, nil is returned for the net. """ + ... @overload def net_for_terminal(self, terminal_id: int) -> Net: r""" @@ -13454,6 +14860,7 @@ class Device(NetlistObject): This constness variant has been introduced in version 0.26.8 """ + ... @overload def net_for_terminal(self, terminal_name: str) -> Net: r""" @@ -13462,6 +14869,7 @@ class Device(NetlistObject): This convenience method has been introduced in version 0.27.3. """ + ... @overload def net_for_terminal(self, terminal_name: str) -> Net: r""" @@ -13470,28 +14878,34 @@ class Device(NetlistObject): This convenience method has been introduced in version 0.27.3. """ + ... @overload def parameter(self, param_id: int) -> float: r""" @brief Gets the parameter value for the given parameter ID. """ + ... @overload def parameter(self, param_name: str) -> float: r""" @brief Gets the parameter value for the given parameter name. If the parameter name is not valid, an exception is thrown. """ + ... @overload def set_parameter(self, param_id: int, value: float) -> None: r""" @brief Sets the parameter value for the given parameter ID. """ + ... @overload def set_parameter(self, param_name: str, value: float) -> None: r""" @brief Sets the parameter value for the given parameter name. If the parameter name is not valid, an exception is thrown. """ + ... + ... class DeviceAbstract: r""" @@ -13514,41 +14928,49 @@ class DeviceAbstract: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> DeviceAbstract: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> DeviceAbstract: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -13556,6 +14978,7 @@ class DeviceAbstract: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -13563,56 +14986,61 @@ class DeviceAbstract: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: DeviceAbstract) -> None: r""" @brief Assigns another object to self """ + ... def cell_index(self) -> int: r""" @brief Gets the cell index of the device abstract. This is the cell that represents the device. """ + ... def cluster_id_for_terminal(self, terminal_id: int) -> int: r""" @brief Gets the cluster ID for the given terminal. The cluster ID links the terminal to geometrical shapes within the clusters of the cell (see \cell_index) """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def device_class(self) -> DeviceClass: r""" @brief Gets the device class of the device. """ + ... def dup(self) -> DeviceAbstract: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ - @overload - def netlist(self) -> Netlist: - r""" - @brief Gets the netlist the device abstract lives in. - """ + ... @overload def netlist(self) -> Netlist: r""" @@ -13620,6 +15048,14 @@ class DeviceAbstract: This constness variant has been introduced in version 0.26.8 """ + ... + @overload + def netlist(self) -> Netlist: + r""" + @brief Gets the netlist the device abstract lives in. + """ + ... + ... class DeviceAbstractRef: r""" @@ -13651,41 +15087,49 @@ class DeviceAbstractRef: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> DeviceAbstractRef: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> DeviceAbstractRef: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -13693,6 +15137,7 @@ class DeviceAbstractRef: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -13700,37 +15145,45 @@ class DeviceAbstractRef: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: DeviceAbstractRef) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> DeviceAbstractRef: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... + ... class DeviceClass: r""" @@ -13766,6 +15219,7 @@ class DeviceClass: This method has been moved from 'GenericDeviceClass' to 'DeviceClass' in version 0.27.3. """ + ... @property def supports_serial_combination(self) -> None: r""" @@ -13775,6 +15229,7 @@ class DeviceClass: This method has been moved from 'GenericDeviceClass' to 'DeviceClass' in version 0.27.3. """ + ... description: str r""" Getter: @@ -13825,41 +15280,49 @@ class DeviceClass: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> DeviceClass: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> DeviceClass: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -13867,6 +15330,7 @@ class DeviceClass: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -13874,6 +15338,7 @@ class DeviceClass: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def add_parameter(self, parameter_def: DeviceParameterDefinition) -> None: r""" @brief Adds the given parameter definition to the device class @@ -13882,6 +15347,7 @@ class DeviceClass: This method has been moved from 'GenericDeviceClass' to 'DeviceClass' in version 0.27.3. """ + ... def add_terminal(self, terminal_def: DeviceTerminalDefinition) -> None: r""" @brief Adds the given terminal definition to the device class @@ -13891,49 +15357,58 @@ class DeviceClass: This method has been moved from 'GenericDeviceClass' to 'DeviceClass' in version 0.27.3. """ + ... def assign(self, other: DeviceClass) -> None: r""" @brief Assigns another object to self """ + ... def clear_equivalent_terminal_ids(self) -> None: r""" @brief Clears all equivalent terminal ids This method has been added in version 0.27.3. """ + ... def clear_parameters(self) -> None: r""" @brief Clears the list of parameters This method has been added in version 0.27.3. """ + ... def clear_terminals(self) -> None: r""" @brief Clears the list of terminals This method has been moved from 'GenericDeviceClass' to 'DeviceClass' in version 0.27.3. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> DeviceClass: r""" @brief Creates a copy of self """ + ... @overload def enable_parameter(self, parameter_id: int, enable: bool) -> None: r""" @@ -13942,6 +15417,7 @@ class DeviceClass: This method has been introduced in version 0.27.3. """ + ... @overload def enable_parameter(self, parameter_name: str, enable: bool) -> None: r""" @@ -13952,6 +15428,7 @@ class DeviceClass: This method has been introduced in version 0.27.3. """ + ... def equivalent_terminal_id(self, original_id: int, equivalent_id: int) -> None: r""" @brief Specifies a terminal to be equivalent to another. @@ -13961,35 +15438,42 @@ class DeviceClass: This method has been moved from 'GenericDeviceClass' to 'DeviceClass' in version 0.27.3. """ + ... def has_parameter(self, name: str) -> bool: r""" @brief Returns true, if the device class has a parameter with the given name. """ + ... def has_terminal(self, name: str) -> bool: r""" @brief Returns true, if the device class has a terminal with the given name. """ + ... def id(self) -> int: r""" @brief Gets the unique ID of the device class The ID is a unique integer that identifies the device class. Use the ID to check for object identity - i.e. to determine whether two devices share the same device class. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def netlist(self) -> Netlist: r""" @brief Gets the netlist the device class lives in. """ + ... @overload def parameter_definition(self, parameter_id: int) -> DeviceParameterDefinition: r""" @brief Gets the parameter definition object for a given ID. Parameter definition IDs are used in some places to reference a specific parameter of a device. This method obtains the corresponding definition object. """ + ... @overload def parameter_definition(self, parameter_name: str) -> DeviceParameterDefinition: r""" @@ -13999,31 +15483,38 @@ class DeviceClass: This method has been introduced in version 0.27.3. """ + ... def parameter_definitions(self) -> List[DeviceParameterDefinition]: r""" @brief Gets the list of parameter definitions of the device. See the \DeviceParameterDefinition class description for details. """ + ... def parameter_id(self, name: str) -> int: r""" @brief Returns the parameter ID of the parameter with the given name. An exception is thrown if there is no parameter with the given name. Use \has_parameter to check whether the name is a valid parameter name. """ + ... def terminal_definition(self, terminal_id: int) -> DeviceTerminalDefinition: r""" @brief Gets the terminal definition object for a given ID. Terminal definition IDs are used in some places to reference a specific terminal of a device. This method obtains the corresponding definition object. """ + ... def terminal_definitions(self) -> List[DeviceTerminalDefinition]: r""" @brief Gets the list of terminal definitions of the device. See the \DeviceTerminalDefinition class description for details. """ + ... def terminal_id(self, name: str) -> int: r""" @brief Returns the terminal ID of the terminal with the given name. An exception is thrown if there is no terminal with the given name. Use \has_terminal to check whether the name is a valid terminal name. """ + ... + ... class DeviceClassBJT3Transistor(DeviceClass): r""" @@ -14079,33 +15570,39 @@ class DeviceClassBJT3Transistor(DeviceClass): r""" @brief Assigns another object to self """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _dup(self) -> DeviceClassBJT3Transistor: r""" @brief Creates a copy of self """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -14113,6 +15610,7 @@ class DeviceClassBJT3Transistor(DeviceClass): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -14120,6 +15618,8 @@ class DeviceClassBJT3Transistor(DeviceClass): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... + ... class DeviceClassBJT4Transistor(DeviceClassBJT3Transistor): r""" @@ -14138,33 +15638,39 @@ class DeviceClassBJT4Transistor(DeviceClassBJT3Transistor): r""" @brief Assigns another object to self """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _dup(self) -> DeviceClassBJT4Transistor: r""" @brief Creates a copy of self """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -14172,6 +15678,7 @@ class DeviceClassBJT4Transistor(DeviceClassBJT3Transistor): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -14179,6 +15686,8 @@ class DeviceClassBJT4Transistor(DeviceClassBJT3Transistor): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... + ... class DeviceClassCapacitor(DeviceClass): r""" @@ -14214,33 +15723,39 @@ class DeviceClassCapacitor(DeviceClass): r""" @brief Assigns another object to self """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _dup(self) -> DeviceClassCapacitor: r""" @brief Creates a copy of self """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -14248,6 +15763,7 @@ class DeviceClassCapacitor(DeviceClass): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -14255,6 +15771,8 @@ class DeviceClassCapacitor(DeviceClass): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... + ... class DeviceClassCapacitorWithBulk(DeviceClassCapacitor): r""" @@ -14273,33 +15791,39 @@ class DeviceClassCapacitorWithBulk(DeviceClassCapacitor): r""" @brief Assigns another object to self """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _dup(self) -> DeviceClassCapacitorWithBulk: r""" @brief Creates a copy of self """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -14307,6 +15831,7 @@ class DeviceClassCapacitorWithBulk(DeviceClassCapacitor): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -14314,6 +15839,8 @@ class DeviceClassCapacitorWithBulk(DeviceClassCapacitor): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... + ... class DeviceClassDiode(DeviceClass): r""" @@ -14345,33 +15872,39 @@ class DeviceClassDiode(DeviceClass): r""" @brief Assigns another object to self """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _dup(self) -> DeviceClassDiode: r""" @brief Creates a copy of self """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -14379,6 +15912,7 @@ class DeviceClassDiode(DeviceClass): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -14386,6 +15920,8 @@ class DeviceClassDiode(DeviceClass): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... + ... class DeviceClassFactory: r""" @@ -14417,41 +15953,49 @@ class DeviceClassFactory: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> DeviceClassFactory: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> DeviceClassFactory: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -14459,6 +16003,7 @@ class DeviceClassFactory: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -14466,37 +16011,45 @@ class DeviceClassFactory: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: DeviceClassFactory) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> DeviceClassFactory: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... + ... class DeviceClassInductor(DeviceClass): r""" @@ -14523,33 +16076,39 @@ class DeviceClassInductor(DeviceClass): r""" @brief Assigns another object to self """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _dup(self) -> DeviceClassInductor: r""" @brief Creates a copy of self """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -14557,6 +16116,7 @@ class DeviceClassInductor(DeviceClass): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -14564,6 +16124,8 @@ class DeviceClassInductor(DeviceClass): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... + ... class DeviceClassMOS3Transistor(DeviceClass): r""" @@ -14618,33 +16180,39 @@ class DeviceClassMOS3Transistor(DeviceClass): r""" @brief Assigns another object to self """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _dup(self) -> DeviceClassMOS3Transistor: r""" @brief Creates a copy of self """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -14652,6 +16220,7 @@ class DeviceClassMOS3Transistor(DeviceClass): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -14659,11 +16228,14 @@ class DeviceClassMOS3Transistor(DeviceClass): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def join_split_gates(self, circuit: Circuit) -> None: r""" @brief Joins source/drain nets from 'split gate' transistor strings on the given circuit This method has been introduced in version 0.27.9 """ + ... + ... class DeviceClassMOS4Transistor(DeviceClassMOS3Transistor): r""" @@ -14683,33 +16255,39 @@ class DeviceClassMOS4Transistor(DeviceClassMOS3Transistor): r""" @brief Assigns another object to self """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _dup(self) -> DeviceClassMOS4Transistor: r""" @brief Creates a copy of self """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -14717,6 +16295,7 @@ class DeviceClassMOS4Transistor(DeviceClassMOS3Transistor): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -14724,6 +16303,8 @@ class DeviceClassMOS4Transistor(DeviceClassMOS3Transistor): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... + ... class DeviceClassResistor(DeviceClass): r""" @@ -14767,33 +16348,39 @@ class DeviceClassResistor(DeviceClass): r""" @brief Assigns another object to self """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _dup(self) -> DeviceClassResistor: r""" @brief Creates a copy of self """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -14801,6 +16388,7 @@ class DeviceClassResistor(DeviceClass): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -14808,6 +16396,8 @@ class DeviceClassResistor(DeviceClass): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... + ... class DeviceClassResistorWithBulk(DeviceClassResistor): r""" @@ -14826,33 +16416,39 @@ class DeviceClassResistorWithBulk(DeviceClassResistor): r""" @brief Assigns another object to self """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _dup(self) -> DeviceClassResistorWithBulk: r""" @brief Creates a copy of self """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -14860,6 +16456,7 @@ class DeviceClassResistorWithBulk(DeviceClassResistor): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -14867,6 +16464,8 @@ class DeviceClassResistorWithBulk(DeviceClassResistor): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... + ... class DeviceExtractorBJT3Transistor(DeviceExtractorBase): r""" @@ -14911,34 +16510,40 @@ class DeviceExtractorBJT3Transistor(DeviceExtractorBase): @brief Creates a new device extractor with the given name For the 'factory' parameter see \DeviceClassFactory. It has been added in version 0.27.3. """ + ... def __init__(self, name: str, factory: Optional[DeviceClassFactory] = ...) -> None: r""" @brief Creates a new device extractor with the given name For the 'factory' parameter see \DeviceClassFactory. It has been added in version 0.27.3. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -14946,6 +16551,7 @@ class DeviceExtractorBJT3Transistor(DeviceExtractorBase): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -14953,6 +16559,8 @@ class DeviceExtractorBJT3Transistor(DeviceExtractorBase): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... + ... class DeviceExtractorBJT4Transistor(DeviceExtractorBJT3Transistor): r""" @@ -14981,34 +16589,40 @@ class DeviceExtractorBJT4Transistor(DeviceExtractorBJT3Transistor): @brief Creates a new device extractor with the given name For the 'factory' parameter see \DeviceClassFactory. It has been added in version 0.27.3. """ + ... def __init__(self, name: str, factory: Optional[DeviceClassFactory] = ...) -> None: r""" @brief Creates a new device extractor with the given name For the 'factory' parameter see \DeviceClassFactory. It has been added in version 0.27.3. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -15016,6 +16630,7 @@ class DeviceExtractorBJT4Transistor(DeviceExtractorBJT3Transistor): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -15023,6 +16638,8 @@ class DeviceExtractorBJT4Transistor(DeviceExtractorBJT3Transistor): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... + ... class DeviceExtractorBase: r""" @@ -15045,33 +16662,39 @@ class DeviceExtractorBase: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -15079,6 +16702,7 @@ class DeviceExtractorBase: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -15086,23 +16710,27 @@ class DeviceExtractorBase: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def device_class(self) -> DeviceClass: r""" @brief Gets the device class used during extraction @@ -15110,28 +16738,35 @@ class DeviceExtractorBase: This method has been added in version 0.27.3. """ + ... def each_error(self) -> Iterator[LogEntryData]: r""" @brief Iterates over all log entries collected in the device extractor.Starting with version 0.28.13, the preferred name of the method is 'each_log_entry' as log entries have been generalized to become warnings too. """ + ... def each_layer_definition(self) -> Iterator[NetlistDeviceExtractorLayerDefinition]: r""" @brief Iterates over all layer definitions. """ + ... def each_log_entry(self) -> Iterator[LogEntryData]: r""" @brief Iterates over all log entries collected in the device extractor.Starting with version 0.28.13, the preferred name of the method is 'each_log_entry' as log entries have been generalized to become warnings too. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def test_initialize(self, netlist: Netlist) -> None: r""" @hide """ + ... + ... class DeviceExtractorCapacitor(DeviceExtractorBase): r""" @@ -15173,34 +16808,40 @@ class DeviceExtractorCapacitor(DeviceExtractorBase): @brief Creates a new device extractor with the given name For the 'factory' parameter see \DeviceClassFactory. It has been added in version 0.27.3. """ + ... def __init__(self, name: str, area_cap: float, factory: Optional[DeviceClassFactory] = ...) -> None: r""" @brief Creates a new device extractor with the given name For the 'factory' parameter see \DeviceClassFactory. It has been added in version 0.27.3. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -15208,6 +16849,7 @@ class DeviceExtractorCapacitor(DeviceExtractorBase): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -15215,6 +16857,8 @@ class DeviceExtractorCapacitor(DeviceExtractorBase): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... + ... class DeviceExtractorCapacitorWithBulk(DeviceExtractorBase): r""" @@ -15257,34 +16901,40 @@ class DeviceExtractorCapacitorWithBulk(DeviceExtractorBase): @brief Creates a new device extractor with the given name For the 'factory' parameter see \DeviceClassFactory. It has been added in version 0.27.3. """ + ... def __init__(self, name: str, sheet_rho: float, factory: Optional[DeviceClassFactory] = ...) -> None: r""" @brief Creates a new device extractor with the given name For the 'factory' parameter see \DeviceClassFactory. It has been added in version 0.27.3. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -15292,6 +16942,7 @@ class DeviceExtractorCapacitorWithBulk(DeviceExtractorBase): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -15299,6 +16950,8 @@ class DeviceExtractorCapacitorWithBulk(DeviceExtractorBase): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... + ... class DeviceExtractorDiode(DeviceExtractorBase): r""" @@ -15343,34 +16996,40 @@ class DeviceExtractorDiode(DeviceExtractorBase): @brief Creates a new device extractor with the given name For the 'factory' parameter see \DeviceClassFactory. It has been added in version 0.27.3. """ + ... def __init__(self, name: str, factory: Optional[DeviceClassFactory] = ...) -> None: r""" @brief Creates a new device extractor with the given name For the 'factory' parameter see \DeviceClassFactory. It has been added in version 0.27.3. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -15378,6 +17037,7 @@ class DeviceExtractorDiode(DeviceExtractorBase): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -15385,6 +17045,8 @@ class DeviceExtractorDiode(DeviceExtractorBase): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... + ... class DeviceExtractorMOS3Transistor(DeviceExtractorBase): r""" @@ -15437,6 +17099,7 @@ class DeviceExtractorMOS3Transistor(DeviceExtractorBase): For the 'factory' parameter see \DeviceClassFactory. It has been added in version 0.27.3. """ + ... def __init__(self, name: str, strict: Optional[bool] = ..., factory: Optional[DeviceClassFactory] = ...) -> None: r""" @brief Creates a new device extractor with the given name. @@ -15444,29 +17107,34 @@ class DeviceExtractorMOS3Transistor(DeviceExtractorBase): For the 'factory' parameter see \DeviceClassFactory. It has been added in version 0.27.3. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -15474,6 +17142,7 @@ class DeviceExtractorMOS3Transistor(DeviceExtractorBase): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -15481,10 +17150,13 @@ class DeviceExtractorMOS3Transistor(DeviceExtractorBase): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def strict(self) -> bool: r""" @brief Returns a value indicating whether extraction happens in strict mode. """ + ... + ... class DeviceExtractorMOS4Transistor(DeviceExtractorBase): r""" @@ -15519,34 +17191,40 @@ class DeviceExtractorMOS4Transistor(DeviceExtractorBase): @brief Creates a new device extractor with the given name For the 'factory' parameter see \DeviceClassFactory. It has been added in version 0.27.3. """ + ... def __init__(self, name: str, strict: Optional[bool] = ..., factory: Optional[DeviceClassFactory] = ...) -> None: r""" @brief Creates a new device extractor with the given name For the 'factory' parameter see \DeviceClassFactory. It has been added in version 0.27.3. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -15554,6 +17232,7 @@ class DeviceExtractorMOS4Transistor(DeviceExtractorBase): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -15561,6 +17240,8 @@ class DeviceExtractorMOS4Transistor(DeviceExtractorBase): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... + ... class DeviceExtractorResistor(DeviceExtractorBase): r""" @@ -15604,34 +17285,40 @@ class DeviceExtractorResistor(DeviceExtractorBase): @brief Creates a new device extractor with the given name For the 'factory' parameter see \DeviceClassFactory. It has been added in version 0.27.3. """ + ... def __init__(self, name: str, sheet_rho: float, factory: Optional[DeviceClassFactory] = ...) -> None: r""" @brief Creates a new device extractor with the given name For the 'factory' parameter see \DeviceClassFactory. It has been added in version 0.27.3. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -15639,6 +17326,7 @@ class DeviceExtractorResistor(DeviceExtractorBase): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -15646,6 +17334,8 @@ class DeviceExtractorResistor(DeviceExtractorBase): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... + ... class DeviceExtractorResistorWithBulk(DeviceExtractorBase): r""" @@ -15689,34 +17379,40 @@ class DeviceExtractorResistorWithBulk(DeviceExtractorBase): @brief Creates a new device extractor with the given name For the 'factory' parameter see \DeviceClassFactory. It has been added in version 0.27.3. """ + ... def __init__(self, name: str, sheet_rho: float, factory: Optional[DeviceClassFactory] = ...) -> None: r""" @brief Creates a new device extractor with the given name For the 'factory' parameter see \DeviceClassFactory. It has been added in version 0.27.3. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -15724,6 +17420,7 @@ class DeviceExtractorResistorWithBulk(DeviceExtractorBase): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -15731,6 +17428,8 @@ class DeviceExtractorResistorWithBulk(DeviceExtractorBase): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... + ... class DeviceParameterDefinition: r""" @@ -15805,14 +17504,17 @@ class DeviceParameterDefinition: @param si_scaling The scaling factor to SI units @param geo_scaling_exponent Indicates how the parameter scales with geometrical scaling (0: no scaling, 1.0: linear, 2.0: quadratic) """ + ... def __copy__(self) -> DeviceParameterDefinition: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> DeviceParameterDefinition: r""" @brief Creates a copy of self """ + ... def __init__(self, name: str, description: Optional[str] = ..., default_value: Optional[float] = ..., is_primary: Optional[bool] = ..., si_scaling: Optional[float] = ..., geo_scaling_exponent: Optional[float] = ...) -> None: r""" @brief Creates a new parameter definition. @@ -15823,29 +17525,34 @@ class DeviceParameterDefinition: @param si_scaling The scaling factor to SI units @param geo_scaling_exponent Indicates how the parameter scales with geometrical scaling (0: no scaling, 1.0: linear, 2.0: quadratic) """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -15853,6 +17560,7 @@ class DeviceParameterDefinition: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -15860,42 +17568,51 @@ class DeviceParameterDefinition: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: DeviceParameterDefinition) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> DeviceParameterDefinition: r""" @brief Creates a copy of self """ + ... def id(self) -> int: r""" @brief Gets the ID of the parameter. The ID of the parameter is used in some places to refer to a specific parameter (e.g. in the \NetParameterRef object). """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... + ... class DeviceReconnectedTerminal: r""" @@ -15929,41 +17646,49 @@ class DeviceReconnectedTerminal: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> DeviceReconnectedTerminal: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> DeviceReconnectedTerminal: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -15971,6 +17696,7 @@ class DeviceReconnectedTerminal: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -15978,37 +17704,45 @@ class DeviceReconnectedTerminal: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: DeviceReconnectedTerminal) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> DeviceReconnectedTerminal: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... + ... class DeviceTerminalDefinition: r""" @@ -16036,41 +17770,49 @@ class DeviceTerminalDefinition: r""" @brief Creates a new terminal definition. """ + ... def __copy__(self) -> DeviceTerminalDefinition: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> DeviceTerminalDefinition: r""" @brief Creates a copy of self """ + ... def __init__(self, name: str, description: Optional[str] = ...) -> None: r""" @brief Creates a new terminal definition. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -16078,6 +17820,7 @@ class DeviceTerminalDefinition: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -16085,42 +17828,51 @@ class DeviceTerminalDefinition: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: DeviceTerminalDefinition) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> DeviceTerminalDefinition: r""" @brief Creates a copy of self """ + ... def id(self) -> int: r""" @brief Gets the ID of the terminal. The ID of the terminal is used in some places to refer to a specific terminal (e.g. in the \NetTerminalRef object). """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... + ... class Edge: r""" @@ -16192,6 +17944,7 @@ class Edge: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_dedge'. """ + ... @classmethod def from_s(cls, s: str) -> Edge: r""" @@ -16200,12 +17953,14 @@ class Edge: This method has been added in version 0.23. """ + ... @overload @classmethod def new(cls) -> Edge: r""" @brief Default constructor: creates a degenerated edge 0,0 to 0,0 """ + ... @overload @classmethod def new(cls, dedge: DEdge) -> Edge: @@ -16214,6 +17969,7 @@ class Edge: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_dedge'. """ + ... @overload @classmethod def new(cls, p1: Point, p2: Point) -> Edge: @@ -16222,6 +17978,7 @@ class Edge: Two points are given to create a new edge. """ + ... @overload @classmethod def new(cls, x1: int, y1: int, x2: int, y2: int) -> Edge: @@ -16230,6 +17987,7 @@ class Edge: Two points are given to create a new edge. """ + ... @classmethod def new_pp(cls, p1: Point, p2: Point) -> Edge: r""" @@ -16237,6 +17995,7 @@ class Edge: Two points are given to create a new edge. """ + ... @classmethod def new_xyxy(cls, x1: int, y1: int, x2: int, y2: int) -> Edge: r""" @@ -16244,19 +18003,23 @@ class Edge: Two points are given to create a new edge. """ + ... def __copy__(self) -> Edge: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> Edge: r""" @brief Creates a copy of self """ + ... def __eq__(self, e: object) -> bool: r""" @brief Equality test @param e The object to compare against """ + ... def __hash__(self) -> int: r""" @brief Computes a hash value @@ -16264,11 +18027,13 @@ class Edge: This method has been introduced in version 0.25. """ + ... @overload def __init__(self) -> None: r""" @brief Default constructor: creates a degenerated edge 0,0 to 0,0 """ + ... @overload def __init__(self, dedge: DEdge) -> None: r""" @@ -16276,6 +18041,7 @@ class Edge: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_dedge'. """ + ... @overload def __init__(self, p1: Point, p2: Point) -> None: r""" @@ -16283,6 +18049,7 @@ class Edge: Two points are given to create a new edge. """ + ... @overload def __init__(self, x1: int, y1: int, x2: int, y2: int) -> None: r""" @@ -16290,12 +18057,14 @@ class Edge: Two points are given to create a new edge. """ + ... def __lt__(self, e: Edge) -> bool: r""" @brief Less operator @param e The object to compare against @return True, if the edge is 'less' as the other edge with respect to first and second point """ + ... def __mul__(self, scale_factor: float) -> Edge: r""" @brief Scale edge @@ -16308,18 +18077,13 @@ class Edge: @return The scaled edge """ + ... def __ne__(self, e: object) -> bool: r""" @brief Inequality test @param e The object to compare against """ - def __repr__(self, dbu: Optional[float] = ...) -> str: - r""" - @brief Returns a string representing the edge - If a DBU is given, the output units will be micrometers. - - The DBU argument has been added in version 0.27.6. - """ + ... def __rmul__(self, scale_factor: float) -> Edge: r""" @brief Scale edge @@ -16332,6 +18096,7 @@ class Edge: @return The scaled edge """ + ... def __str__(self, dbu: Optional[float] = ...) -> str: r""" @brief Returns a string representing the edge @@ -16339,29 +18104,34 @@ class Edge: The DBU argument has been added in version 0.27.6. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -16369,6 +18139,7 @@ class Edge: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -16376,14 +18147,17 @@ class Edge: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: Edge) -> None: r""" @brief Assigns another object to self """ + ... def bbox(self) -> Box: r""" @brief Return the bounding box of the edge. """ + ... def clipped(self, box: Box) -> Any: r""" @brief Returns the edge clipped at the given box @@ -16393,6 +18167,7 @@ class Edge: This method has been introduced in version 0.26.2. """ + ... def clipped_line(self, box: Box) -> Any: r""" @brief Returns the line through the edge clipped at the given box @@ -16404,6 +18179,7 @@ class Edge: This method has been introduced in version 0.26.2. """ + ... def coincident(self, e: Edge) -> bool: r""" @brief Coincidence check. @@ -16416,6 +18192,7 @@ class Edge: @return True if the edges are coincident. """ + ... def contains(self, p: Point) -> bool: r""" @brief Tests whether a point is on an edge. @@ -16427,6 +18204,7 @@ class Edge: @return True if the point is on the edge. """ + ... def contains_excl(self, p: Point) -> bool: r""" @brief Tests whether a point is on an edge excluding the endpoints. @@ -16438,11 +18216,13 @@ class Edge: @return True if the point is on the edge but not equal p1 or p2. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def crossed_by(self, e: Edge) -> bool: r""" @brief Checks, if the line given by self is crossed by the edge e @@ -16452,6 +18232,7 @@ class Edge: @param e The edge representing the line that the edge must be crossing. """ + ... def crossing_point(self, e: Edge) -> Point: r""" @brief Returns the crossing point on two edges. @@ -16463,6 +18244,7 @@ class Edge: This method has been introduced in version 0.19. """ + ... def cut_point(self, e: Edge) -> Any: r""" @brief Returns the intersection point of the lines through the two edges. @@ -16475,24 +18257,28 @@ class Edge: This method has been introduced in version 0.27.1. """ + ... def d(self) -> Vector: r""" @brief Gets the edge extension as a vector. This method is equivalent to p2 - p1. This method has been introduced in version 0.26.2. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def distance(self, p: Point) -> int: r""" @brief Gets the distance of the point from the line through the edge. @@ -16513,6 +18299,7 @@ class Edge: @return The distance """ + ... def distance_abs(self, p: Point) -> int: r""" @brief Absolute distance between the edge and a point. @@ -16523,26 +18310,32 @@ class Edge: @return The distance """ + ... def dup(self) -> Edge: r""" @brief Creates a copy of self """ + ... def dx(self) -> int: r""" @brief The horizontal extend of the edge. """ + ... def dx_abs(self) -> int: r""" @brief The absolute value of the horizontal extend of the edge. """ + ... def dy(self) -> int: r""" @brief The vertical extend of the edge. """ + ... def dy_abs(self) -> int: r""" @brief The absolute value of the vertical extend of the edge. """ + ... def enlarge(self, p: Vector) -> Edge: r""" @brief Enlarges the edge. @@ -16556,6 +18349,7 @@ class Edge: @return The enlarged edge. """ + ... def enlarged(self, p: Vector) -> Edge: r""" @brief Returns the enlarged edge (does not modify self) @@ -16568,6 +18362,7 @@ class Edge: @return The enlarged edge. """ + ... def euclidian_distance(self, p: Point) -> int: r""" @brief Gets the distance of the point from the the edge. @@ -16582,6 +18377,7 @@ class Edge: @return The distance """ + ... def extend(self, d: int) -> Edge: r""" @brief Extends the edge (modifies self) @@ -16599,6 +18395,7 @@ class Edge: @return The extended edge (self). """ + ... def extended(self, d: int) -> Edge: r""" @brief Returns the extended edge (does not modify self) @@ -16616,6 +18413,7 @@ class Edge: @return The extended edge. """ + ... def hash(self) -> int: r""" @brief Computes a hash value @@ -16623,6 +18421,7 @@ class Edge: This method has been introduced in version 0.25. """ + ... def intersect(self, e: Edge) -> bool: r""" @brief Intersection test. @@ -16635,6 +18434,7 @@ class Edge: The 'intersects' (with an 's') synonym has been introduced in version 0.28.12. """ + ... def intersection_point(self, e: Edge) -> Any: r""" @brief Returns the intersection point of two edges. @@ -16647,6 +18447,7 @@ class Edge: This method has been introduced in version 0.19. From version 0.26.2, this method will return nil in case of non-intersection. """ + ... def intersects(self, e: Edge) -> bool: r""" @brief Intersection test. @@ -16659,18 +18460,21 @@ class Edge: The 'intersects' (with an 's') synonym has been introduced in version 0.28.12. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_degenerate(self) -> bool: r""" @brief Test for degenerated edge An edge is degenerate, if both end and start point are identical. """ + ... def is_parallel(self, e: Edge) -> bool: r""" @brief Test for being parallel @@ -16679,10 +18483,12 @@ class Edge: @return True if both edges are parallel """ + ... def length(self) -> int: r""" @brief The length of the edge """ + ... @overload def move(self, dx: int, dy: int) -> Edge: r""" @@ -16698,6 +18504,7 @@ class Edge: This version has been added in version 0.23. """ + ... @overload def move(self, p: Vector) -> Edge: r""" @@ -16710,6 +18517,7 @@ class Edge: @return The moved edge. """ + ... @overload def moved(self, dx: int, dy: int) -> Edge: r""" @@ -16725,6 +18533,7 @@ class Edge: This version has been added in version 0.23. """ + ... @overload def moved(self, p: Vector) -> Edge: r""" @@ -16737,12 +18546,14 @@ class Edge: @return The moved edge. """ + ... def ortho_length(self) -> int: r""" @brief The orthogonal length of the edge ("manhattan-length") @return The orthogonal length (abs(dx)+abs(dy)) """ + ... def shift(self, d: int) -> Edge: r""" @brief Shifts the edge (modifies self) @@ -16758,6 +18569,7 @@ class Edge: @return The shifted edge (self). """ + ... def shifted(self, d: int) -> Edge: r""" @brief Returns the shifted edge (does not modify self) @@ -16773,6 +18585,7 @@ class Edge: @return The shifted edge. """ + ... def side_of(self, p: Point) -> int: r""" @brief Indicates at which side the point is located relative to the edge. @@ -16784,10 +18597,12 @@ class Edge: @return The side value """ + ... def sq_length(self) -> int: r""" @brief The square of the length of the edge """ + ... def swap_points(self) -> Edge: r""" @brief Swap the points of the edge @@ -16796,6 +18611,7 @@ class Edge: This method has been introduced in version 0.23. """ + ... def swapped_points(self) -> Edge: r""" @brief Returns an edge in which both points are swapped @@ -16804,6 +18620,7 @@ class Edge: This method has been introduced in version 0.23. """ + ... def to_dtype(self, dbu: Optional[float] = ...) -> DEdge: r""" @brief Converts the edge to a floating-point coordinate edge @@ -16812,6 +18629,7 @@ class Edge: This method has been introduced in version 0.25. """ + ... def to_s(self, dbu: Optional[float] = ...) -> str: r""" @brief Returns a string representing the edge @@ -16819,6 +18637,7 @@ class Edge: The DBU argument has been added in version 0.27.6. """ + ... @overload def transformed(self, t: CplxTrans) -> DEdge: r""" @@ -16831,6 +18650,7 @@ class Edge: @return The transformed edge. """ + ... @overload def transformed(self, t: ICplxTrans) -> Edge: r""" @@ -16845,6 +18665,7 @@ class Edge: This method has been introduced in version 0.18. """ + ... @overload def transformed(self, t: Trans) -> Edge: r""" @@ -16857,6 +18678,7 @@ class Edge: @return The transformed edge. """ + ... def transformed_cplx(self, t: CplxTrans) -> DEdge: r""" @brief Transform the edge. @@ -16868,6 +18690,8 @@ class Edge: @return The transformed edge. """ + ... + ... class EdgeFilter: r""" @@ -16941,33 +18765,39 @@ class EdgeFilter: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -16975,6 +18805,7 @@ class EdgeFilter: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -16982,29 +18813,34 @@ class EdgeFilter: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_isotropic(self) -> None: r""" @brief Indicates that the filter has isotropic properties @@ -17012,6 +18848,7 @@ class EdgeFilter: Examples for isotropic (polygon) filters are area or perimeter filters. The area or perimeter of a polygon depends on the scale, but not on the orientation of the polygon. """ + ... def is_isotropic_and_scale_invariant(self) -> None: r""" @brief Indicates that the filter is isotropic and scale invariant @@ -17019,6 +18856,7 @@ class EdgeFilter: An example for such a (polygon) filter is the square selector. Whether a polygon is a square or not does not depend on the polygon's orientation nor scale. """ + ... def is_scale_invariant(self) -> None: r""" @brief Indicates that the filter is scale invariant @@ -17026,6 +18864,8 @@ class EdgeFilter: An example for a scale invariant (polygon) filter is the bounding box aspect ratio (height/width) filter. The definition of heigh and width depends on the orientation, but the ratio is independent on scale. """ + ... + ... class EdgeMode: r""" @@ -17083,99 +18923,119 @@ class EdgeMode: r""" @brief Creates an enum from an integer value """ + ... @overload @classmethod def new(cls, s: str) -> EdgeMode: r""" @brief Creates an enum from a string value """ + ... def __copy__(self) -> EdgeMode: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> EdgeMode: r""" @brief Creates a copy of self """ + ... + @overload + def __eq__(self, other: int) -> bool: + r""" + @brief Compares an enum with an integer value + """ + ... @overload def __eq__(self, other: object) -> bool: r""" @brief Compares two enums """ - @overload - def __eq__(self, other: object) -> bool: - r""" - @brief Compares an enum with an integer value - """ + ... def __hash__(self) -> int: r""" @brief Gets the hash value from the enum """ + ... @overload def __init__(self, i: int) -> None: r""" @brief Creates an enum from an integer value """ + ... @overload def __init__(self, s: str) -> None: r""" @brief Creates an enum from a string value """ + ... def __int__(self) -> int: r""" @brief Gets the integer value from the enum """ + ... @overload def __lt__(self, other: EdgeMode) -> bool: r""" @brief Returns true if the first enum is less (in the enum symbol order) than the second """ + ... @overload def __lt__(self, other: int) -> bool: r""" @brief Returns true if the enum is less (in the enum symbol order) than the integer value """ + ... @overload - def __ne__(self, other: object) -> bool: + def __ne__(self, other: int) -> bool: r""" @brief Compares an enum with an integer for inequality """ + ... @overload def __ne__(self, other: object) -> bool: r""" @brief Compares two enums for inequality """ + ... def __repr__(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def __str__(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -17183,6 +19043,7 @@ class EdgeMode: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -17190,53 +19051,65 @@ class EdgeMode: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: EdgeMode) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> EdgeMode: r""" @brief Creates a copy of self """ + ... def hash(self) -> int: r""" @brief Gets the hash value from the enum """ + ... def inspect(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def to_i(self) -> int: r""" @brief Gets the integer value from the enum """ + ... def to_s(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... + ... class EdgeOperator: r""" @@ -17337,33 +19210,39 @@ class EdgeOperator: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -17371,6 +19250,7 @@ class EdgeOperator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -17378,29 +19258,34 @@ class EdgeOperator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_isotropic(self) -> None: r""" @brief Indicates that the filter has isotropic properties @@ -17408,6 +19293,7 @@ class EdgeOperator: Examples for isotropic (polygon) processors are size or shrink operators. Size or shrink is not dependent on orientation unless size or shrink needs to be different in x and y direction. """ + ... def is_isotropic_and_scale_invariant(self) -> None: r""" @brief Indicates that the filter is isotropic and scale invariant @@ -17415,6 +19301,7 @@ class EdgeOperator: An example for such a (polygon) processor is the convex decomposition operator. The decomposition of a polygon into convex parts is an operation that is not depending on scale nor orientation. """ + ... def is_scale_invariant(self) -> None: r""" @brief Indicates that the filter is scale invariant @@ -17422,6 +19309,8 @@ class EdgeOperator: An example for a scale invariant (polygon) processor is the rotation operator. Rotation is not depending on scale, but on the original orientation as mirrored versions need to be rotated differently. """ + ... + ... class EdgePair: r""" @@ -17470,6 +19359,7 @@ class EdgePair: This method has been added in version 0.23. """ + ... @overload @classmethod def new(cls) -> EdgePair: @@ -17478,6 +19368,7 @@ class EdgePair: This constructor creates an default edge pair. """ + ... @overload @classmethod def new(cls, dedge_pair: DEdgePair) -> EdgePair: @@ -17486,6 +19377,7 @@ class EdgePair: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_dedge_pair'. """ + ... @overload @classmethod def new(cls, first: Edge, second: Edge, symmetric: Optional[bool] = ...) -> EdgePair: @@ -17495,14 +19387,17 @@ class EdgePair: This constructor creates an edge pair from the two edges given. See \symmetric? for a description of this attribute. """ + ... def __copy__(self) -> EdgePair: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> EdgePair: r""" @brief Creates a copy of self """ + ... def __eq__(self, box: object) -> bool: r""" @brief Equality @@ -17510,6 +19405,7 @@ class EdgePair: This method has been introduced in version 0.25. """ + ... def __hash__(self) -> int: r""" @brief Computes a hash value @@ -17517,6 +19413,7 @@ class EdgePair: This method has been introduced in version 0.25. """ + ... @overload def __init__(self) -> None: r""" @@ -17524,6 +19421,7 @@ class EdgePair: This constructor creates an default edge pair. """ + ... @overload def __init__(self, dedge_pair: DEdgePair) -> None: r""" @@ -17531,6 +19429,7 @@ class EdgePair: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_dedge_pair'. """ + ... @overload def __init__(self, first: Edge, second: Edge, symmetric: Optional[bool] = ...) -> None: r""" @@ -17539,6 +19438,7 @@ class EdgePair: This constructor creates an edge pair from the two edges given. See \symmetric? for a description of this attribute. """ + ... def __lt__(self, box: EdgePair) -> bool: r""" @brief Less operator @@ -17546,6 +19446,7 @@ class EdgePair: This method has been introduced in version 0.25. """ + ... def __ne__(self, box: object) -> bool: r""" @brief Inequality @@ -17553,13 +19454,7 @@ class EdgePair: This method has been introduced in version 0.25. """ - def __repr__(self, dbu: Optional[float] = ...) -> str: - r""" - @brief Returns a string representing the edge pair - If a DBU is given, the output units will be micrometers. - - The DBU argument has been added in version 0.27.6. - """ + ... def __str__(self, dbu: Optional[float] = ...) -> str: r""" @brief Returns a string representing the edge pair @@ -17567,29 +19462,34 @@ class EdgePair: The DBU argument has been added in version 0.27.6. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -17597,6 +19497,7 @@ class EdgePair: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -17604,37 +19505,44 @@ class EdgePair: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def area(self) -> int: r""" @brief Gets the area between the edges of the edge pair This attribute has been introduced in version 0.28. """ + ... def assign(self, other: EdgePair) -> None: r""" @brief Assigns another object to self """ + ... def bbox(self) -> Box: r""" @brief Gets the bounding box of the edge pair """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def distance(self) -> int: r""" @brief Gets the distance of the edges in the edge pair @@ -17643,10 +19551,12 @@ class EdgePair: This attribute has been introduced in version 0.28.14. """ + ... def dup(self) -> EdgePair: r""" @brief Creates a copy of self """ + ... def greater(self) -> Edge: r""" @brief Gets the 'greater' edge for symmetric edge pairs @@ -17654,6 +19564,7 @@ class EdgePair: This read-only attribute has been introduced in version 0.27. """ + ... def hash(self) -> int: r""" @brief Computes a hash value @@ -17661,12 +19572,14 @@ class EdgePair: This method has been introduced in version 0.25. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def lesser(self) -> Edge: r""" @brief Gets the 'lesser' edge for symmetric edge pairs @@ -17674,12 +19587,14 @@ class EdgePair: This read-only attribute has been introduced in version 0.27. """ + ... def normalized(self) -> EdgePair: r""" @brief Normalizes the edge pair This method normalized the edge pair such that when connecting the edges at their start and end points a closed loop is formed which is oriented clockwise. To achieve this, the points of the first and/or first and second edge are swapped. Normalization is a first step recommended before converting an edge pair to a polygon, because that way the polygons won't be self-overlapping and the enlargement parameter is applied properly. """ + ... def perimeter(self) -> int: r""" @brief Gets the perimeter of the edge pair @@ -17688,6 +19603,7 @@ class EdgePair: This attribute has been introduced in version 0.28. """ + ... def polygon(self, e: int) -> Polygon: r""" @brief Convert an edge pair to a polygon @@ -17698,6 +19614,7 @@ class EdgePair: Another version for converting edge pairs to simple polygons is \simple_polygon which renders a \SimplePolygon object. @param e The enlargement (set to zero for exact representation) """ + ... def simple_polygon(self, e: int) -> SimplePolygon: r""" @brief Convert an edge pair to a simple polygon @@ -17708,6 +19625,7 @@ class EdgePair: Another version for converting edge pairs to polygons is \polygon which renders a \Polygon object. @param e The enlargement (set to zero for exact representation) """ + ... def to_dtype(self, dbu: Optional[float] = ...) -> DEdgePair: r""" @brief Converts the edge pair to a floating-point coordinate edge pair @@ -17716,6 +19634,7 @@ class EdgePair: This method has been introduced in version 0.25. """ + ... def to_s(self, dbu: Optional[float] = ...) -> str: r""" @brief Returns a string representing the edge pair @@ -17723,6 +19642,7 @@ class EdgePair: The DBU argument has been added in version 0.27.6. """ + ... @overload def transformed(self, t: CplxTrans) -> DEdgePair: r""" @@ -17735,6 +19655,7 @@ class EdgePair: @return The transformed edge pair """ + ... @overload def transformed(self, t: ICplxTrans) -> EdgePair: r""" @@ -17747,6 +19668,7 @@ class EdgePair: @return The transformed edge pair (in this case an integer coordinate edge pair). """ + ... @overload def transformed(self, t: Trans) -> EdgePair: r""" @@ -17759,6 +19681,8 @@ class EdgePair: @return The transformed edge pair """ + ... + ... class EdgePairFilter: r""" @@ -17816,33 +19740,39 @@ class EdgePairFilter: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -17850,6 +19780,7 @@ class EdgePairFilter: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -17857,29 +19788,34 @@ class EdgePairFilter: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_isotropic(self) -> None: r""" @brief Indicates that the filter has isotropic properties @@ -17887,6 +19823,7 @@ class EdgePairFilter: Examples for isotropic (polygon) filters are area or perimeter filters. The area or perimeter of a polygon depends on the scale, but not on the orientation of the polygon. """ + ... def is_isotropic_and_scale_invariant(self) -> None: r""" @brief Indicates that the filter is isotropic and scale invariant @@ -17894,6 +19831,7 @@ class EdgePairFilter: An example for such a (polygon) filter is the square selector. Whether a polygon is a square or not does not depend on the polygon's orientation nor scale. """ + ... def is_scale_invariant(self) -> None: r""" @brief Indicates that the filter is scale invariant @@ -17901,6 +19839,8 @@ class EdgePairFilter: An example for a scale invariant (polygon) filter is the bounding box aspect ratio (height/width) filter. The definition of heigh and width depends on the orientation, but the ratio is independent on scale. """ + ... + ... class EdgePairOperator: r""" @@ -17959,33 +19899,39 @@ class EdgePairOperator: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -17993,6 +19939,7 @@ class EdgePairOperator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -18000,29 +19947,34 @@ class EdgePairOperator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_isotropic(self) -> None: r""" @brief Indicates that the filter has isotropic properties @@ -18030,6 +19982,7 @@ class EdgePairOperator: Examples for isotropic (polygon) processors are size or shrink operators. Size or shrink is not dependent on orientation unless size or shrink needs to be different in x and y direction. """ + ... def is_isotropic_and_scale_invariant(self) -> None: r""" @brief Indicates that the filter is isotropic and scale invariant @@ -18037,6 +19990,7 @@ class EdgePairOperator: An example for such a (polygon) processor is the convex decomposition operator. The decomposition of a polygon into convex parts is an operation that is not depending on scale nor orientation. """ + ... def is_scale_invariant(self) -> None: r""" @brief Indicates that the filter is scale invariant @@ -18044,6 +19998,8 @@ class EdgePairOperator: An example for a scale invariant (polygon) processor is the rotation operator. Rotation is not depending on scale, but on the original orientation as mirrored versions need to be rotated differently. """ + ... + ... class EdgePairToEdgeOperator: r""" @@ -18084,33 +20040,39 @@ class EdgePairToEdgeOperator: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -18118,6 +20080,7 @@ class EdgePairToEdgeOperator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -18125,29 +20088,34 @@ class EdgePairToEdgeOperator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_isotropic(self) -> None: r""" @brief Indicates that the filter has isotropic properties @@ -18155,6 +20123,7 @@ class EdgePairToEdgeOperator: Examples for isotropic (polygon) processors are size or shrink operators. Size or shrink is not dependent on orientation unless size or shrink needs to be different in x and y direction. """ + ... def is_isotropic_and_scale_invariant(self) -> None: r""" @brief Indicates that the filter is isotropic and scale invariant @@ -18162,6 +20131,7 @@ class EdgePairToEdgeOperator: An example for such a (polygon) processor is the convex decomposition operator. The decomposition of a polygon into convex parts is an operation that is not depending on scale nor orientation. """ + ... def is_scale_invariant(self) -> None: r""" @brief Indicates that the filter is scale invariant @@ -18169,6 +20139,8 @@ class EdgePairToEdgeOperator: An example for a scale invariant (polygon) processor is the rotation operator. Rotation is not depending on scale, but on the original orientation as mirrored versions need to be rotated differently. """ + ... + ... class EdgePairToPolygonOperator: r""" @@ -18209,33 +20181,39 @@ class EdgePairToPolygonOperator: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -18243,6 +20221,7 @@ class EdgePairToPolygonOperator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -18250,29 +20229,34 @@ class EdgePairToPolygonOperator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_isotropic(self) -> None: r""" @brief Indicates that the filter has isotropic properties @@ -18280,6 +20264,7 @@ class EdgePairToPolygonOperator: Examples for isotropic (polygon) processors are size or shrink operators. Size or shrink is not dependent on orientation unless size or shrink needs to be different in x and y direction. """ + ... def is_isotropic_and_scale_invariant(self) -> None: r""" @brief Indicates that the filter is isotropic and scale invariant @@ -18287,6 +20272,7 @@ class EdgePairToPolygonOperator: An example for such a (polygon) processor is the convex decomposition operator. The decomposition of a polygon into convex parts is an operation that is not depending on scale nor orientation. """ + ... def is_scale_invariant(self) -> None: r""" @brief Indicates that the filter is scale invariant @@ -18294,6 +20280,8 @@ class EdgePairToPolygonOperator: An example for a scale invariant (polygon) processor is the rotation operator. Rotation is not depending on scale, but on the original orientation as mirrored versions need to be rotated differently. """ + ... + ... class EdgePairs(ShapeCollection): r""" @@ -18311,6 +20299,7 @@ class EdgePairs(ShapeCollection): This constructor creates an empty edge pair collection. """ + ... @overload @classmethod def new(cls, array: Sequence[EdgePair]) -> EdgePairs: @@ -18321,6 +20310,7 @@ class EdgePairs(ShapeCollection): This constructor has been introduced in version 0.26. """ + ... @overload @classmethod def new(cls, edge_pair: EdgePair) -> EdgePairs: @@ -18331,6 +20321,7 @@ class EdgePairs(ShapeCollection): This constructor has been introduced in version 0.26. """ + ... @overload @classmethod def new(cls, shape_iterator: RecursiveShapeIterator) -> EdgePairs: @@ -18351,6 +20342,7 @@ class EdgePairs(ShapeCollection): This constructor has been introduced in version 0.26. """ + ... @overload @classmethod def new(cls, shape_iterator: RecursiveShapeIterator, dss: DeepShapeStore) -> EdgePairs: @@ -18371,6 +20363,7 @@ class EdgePairs(ShapeCollection): This constructor has been introduced in version 0.26. """ + ... @overload @classmethod def new(cls, shape_iterator: RecursiveShapeIterator, dss: DeepShapeStore, trans: ICplxTrans) -> EdgePairs: @@ -18393,6 +20386,7 @@ class EdgePairs(ShapeCollection): This constructor has been introduced in version 0.26. """ + ... @overload @classmethod def new(cls, shape_iterator: RecursiveShapeIterator, trans: ICplxTrans) -> EdgePairs: @@ -18416,6 +20410,7 @@ class EdgePairs(ShapeCollection): This constructor has been introduced in version 0.26. """ + ... @overload @classmethod def new(cls, shapes: Shapes) -> EdgePairs: @@ -18426,6 +20421,7 @@ class EdgePairs(ShapeCollection): This constructor has been introduced in version 0.26. """ + ... def __add__(self, other: EdgePairs) -> EdgePairs: r""" @brief Returns the combined edge pair collection of self and the other one @@ -18437,14 +20433,17 @@ class EdgePairs(ShapeCollection): This method has been introduced in version 0.24. The 'join' alias has been introduced in version 0.28.12. """ + ... def __copy__(self) -> EdgePairs: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> EdgePairs: r""" @brief Creates a copy of self """ + ... def __getitem__(self, n: int) -> EdgePair: r""" @brief Returns the nth edge pair @@ -18453,6 +20452,7 @@ class EdgePairs(ShapeCollection): The \each iterator is the more general approach to access the edge pairs. """ + ... def __iadd__(self, other: EdgePairs) -> EdgePairs: r""" @brief Adds the edge pairs of the other edge pair collection to self @@ -18467,6 +20467,7 @@ class EdgePairs(ShapeCollection): The 'join_with' alias has been introduced in version 0.28.12. """ + ... @overload def __init__(self) -> None: r""" @@ -18474,6 +20475,7 @@ class EdgePairs(ShapeCollection): This constructor creates an empty edge pair collection. """ + ... @overload def __init__(self, array: Sequence[EdgePair]) -> None: r""" @@ -18483,6 +20485,7 @@ class EdgePairs(ShapeCollection): This constructor has been introduced in version 0.26. """ + ... @overload def __init__(self, edge_pair: EdgePair) -> None: r""" @@ -18492,6 +20495,7 @@ class EdgePairs(ShapeCollection): This constructor has been introduced in version 0.26. """ + ... @overload def __init__(self, shape_iterator: RecursiveShapeIterator) -> None: r""" @@ -18511,6 +20515,7 @@ class EdgePairs(ShapeCollection): This constructor has been introduced in version 0.26. """ + ... @overload def __init__(self, shape_iterator: RecursiveShapeIterator, dss: DeepShapeStore) -> None: r""" @@ -18530,6 +20535,7 @@ class EdgePairs(ShapeCollection): This constructor has been introduced in version 0.26. """ + ... @overload def __init__(self, shape_iterator: RecursiveShapeIterator, dss: DeepShapeStore, trans: ICplxTrans) -> None: r""" @@ -18551,6 +20557,7 @@ class EdgePairs(ShapeCollection): This constructor has been introduced in version 0.26. """ + ... @overload def __init__(self, shape_iterator: RecursiveShapeIterator, trans: ICplxTrans) -> None: r""" @@ -18573,6 +20580,7 @@ class EdgePairs(ShapeCollection): This constructor has been introduced in version 0.26. """ + ... @overload def __init__(self, shapes: Shapes) -> None: r""" @@ -18582,10 +20590,12 @@ class EdgePairs(ShapeCollection): This constructor has been introduced in version 0.26. """ + ... def __iter__(self) -> Iterator[EdgePair]: r""" @brief Returns each edge pair of the edge pair collection """ + ... def __len__(self) -> int: r""" @brief Returns the (flat) number of edge pairs in the edge pair collection @@ -18594,39 +20604,40 @@ class EdgePairs(ShapeCollection): Starting with version 0.27, the method is called 'count' for consistency with \Region. 'size' is still provided as an alias. """ - def __repr__(self) -> str: - r""" - @brief Converts the edge pair collection to a string - The length of the output is limited to 20 edge pairs to avoid giant strings on large regions. For full output use "to_s" with a maximum count parameter. - """ + ... def __str__(self) -> str: r""" @brief Converts the edge pair collection to a string The length of the output is limited to 20 edge pairs to avoid giant strings on large regions. For full output use "to_s" with a maximum count parameter. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -18634,6 +20645,7 @@ class EdgePairs(ShapeCollection): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -18641,19 +20653,23 @@ class EdgePairs(ShapeCollection): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: ShapeCollection) -> None: r""" @brief Assigns another object to self """ + ... def bbox(self) -> Box: r""" @brief Return the bounding box of the edge pair collection The bounding box is the box enclosing all points of all edge pairs. """ + ... def clear(self) -> None: r""" @brief Clears the edge pair collection """ + ... def count(self) -> int: r""" @brief Returns the (flat) number of edge pairs in the edge pair collection @@ -18662,47 +20678,56 @@ class EdgePairs(ShapeCollection): Starting with version 0.27, the method is called 'count' for consistency with \Region. 'size' is still provided as an alias. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def data_id(self) -> int: r""" @brief Returns the data ID (a unique identifier for the underlying data storage) This method has been added in version 0.26. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def disable_progress(self) -> None: r""" @brief Disable progress reporting Calling this method will disable progress reporting. See \enable_progress. """ + ... def dup(self) -> EdgePairs: r""" @brief Creates a copy of self """ + ... def each(self) -> Iterator[EdgePair]: r""" @brief Returns each edge pair of the edge pair collection """ + ... def edges(self) -> Edges: r""" @brief Decomposes the edge pairs into single edges @return An edge collection containing the individual edges """ + ... def enable_progress(self, label: str) -> None: r""" @brief Enable progress reporting @@ -18710,6 +20735,7 @@ class EdgePairs(ShapeCollection): The label is a text which is put in front of the progress bar. Using a progress bar will imply a performance penalty of a few percent typically. """ + ... def enable_properties(self) -> None: r""" @brief Enables properties for the given container. @@ -18717,6 +20743,7 @@ class EdgePairs(ShapeCollection): This method has been introduced in version 0.28.4. """ + ... @overload def extents(self) -> Region: r""" @@ -18724,6 +20751,7 @@ class EdgePairs(ShapeCollection): This method will return a region consisting of the bounding boxes of the edge pairs. The boxes will not be merged, so it is possible to determine overlaps of these boxes for example. """ + ... @overload def extents(self, d: int) -> Region: r""" @@ -18732,6 +20760,7 @@ class EdgePairs(ShapeCollection): The enlargement is specified per edge, i.e the width and height will be increased by 2*d. The boxes will not be merged, so it is possible to determine overlaps of these boxes for example. """ + ... @overload def extents(self, dx: int, dy: int) -> Region: r""" @@ -18740,6 +20769,7 @@ class EdgePairs(ShapeCollection): The enlargement is specified per edge, i.e the width will be increased by 2*dx. The boxes will not be merged, so it is possible to determine overlaps of these boxes for example. """ + ... def filter(self, filter: EdgePairFilter) -> None: r""" @brief Applies a generic filter in place (replacing the edge pairs from the EdgePair collection) @@ -18747,6 +20777,7 @@ class EdgePairs(ShapeCollection): This method has been introduced in version 0.29. """ + ... def filter_properties(self, keys: Sequence[Any]) -> None: r""" @brief Filters properties by certain keys. @@ -18755,6 +20786,7 @@ class EdgePairs(ShapeCollection): This method has been introduced in version 0.28.4. """ + ... def filtered(self, filtered: EdgePairFilter) -> EdgePairs: r""" @brief Applies a generic filter and returns a filtered copy @@ -18762,11 +20794,13 @@ class EdgePairs(ShapeCollection): This method has been introduced in version 0.29. """ + ... def first_edges(self) -> Edges: r""" @brief Returns the first one of all edges @return An edge collection containing the first edges """ + ... def flatten(self) -> None: r""" @brief Explicitly flattens an edge pair collection @@ -18775,12 +20809,14 @@ class EdgePairs(ShapeCollection): This method has been introduced in version 0.26. """ + ... def has_valid_edge_pairs(self) -> bool: r""" @brief Returns true if the edge pair collection is flat and individual edge pairs can be accessed randomly This method has been introduced in version 0.26. """ + ... def hier_count(self) -> int: r""" @brief Returns the (hierarchical) number of edge pairs in the edge pair collection @@ -18789,22 +20825,26 @@ class EdgePairs(ShapeCollection): This method has been introduced in version 0.27. """ + ... @overload def insert(self, edge_pair: EdgePair) -> None: r""" @brief Inserts an edge pair into the collection """ + ... @overload def insert(self, edge_pairs: EdgePairs) -> None: r""" @brief Inserts all edge pairs from the other edge pair collection into this edge pair collection This method has been introduced in version 0.25. """ + ... @overload def insert(self, first: Edge, second: Edge) -> None: r""" @brief Inserts an edge pair into the collection """ + ... def insert_into(self, layout: Layout, cell_index: int, layer: int) -> None: r""" @brief Inserts this edge pairs into the given layout, below the given cell and into the given layer. @@ -18812,6 +20852,7 @@ class EdgePairs(ShapeCollection): This method has been introduced in version 0.26. """ + ... def insert_into_as_polygons(self, layout: Layout, cell_index: int, layer: int, e: int) -> None: r""" @brief Inserts this edge pairs into the given layout, below the given cell and into the given layer. @@ -18821,22 +20862,26 @@ class EdgePairs(ShapeCollection): This method has been introduced in version 0.26. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_deep(self) -> bool: r""" @brief Returns true if the edge pair collection is a deep (hierarchical) one This method has been added in version 0.26. """ + ... def is_empty(self) -> bool: r""" @brief Returns true if the collection is empty """ + ... def join(self, other: EdgePairs) -> EdgePairs: r""" @brief Returns the combined edge pair collection of self and the other one @@ -18848,6 +20893,7 @@ class EdgePairs(ShapeCollection): This method has been introduced in version 0.24. The 'join' alias has been introduced in version 0.28.12. """ + ... def join_with(self, other: EdgePairs) -> EdgePairs: r""" @brief Adds the edge pairs of the other edge pair collection to self @@ -18862,6 +20908,7 @@ class EdgePairs(ShapeCollection): The 'join_with' alias has been introduced in version 0.28.12. """ + ... def map_properties(self, key_map: Dict[Any, Any]) -> None: r""" @brief Maps properties by name key. @@ -18870,6 +20917,7 @@ class EdgePairs(ShapeCollection): This method has been introduced in version 0.28.4. """ + ... @overload def move(self, p: Vector) -> EdgePairs: r""" @@ -18884,6 +20932,7 @@ class EdgePairs(ShapeCollection): Starting with version 0.25 the displacement is of vector type. """ + ... @overload def move(self, x: int, y: int) -> EdgePairs: r""" @@ -18897,6 +20946,7 @@ class EdgePairs(ShapeCollection): @return The moved edge pairs (self). """ + ... @overload def moved(self, p: Vector) -> EdgePairs: r""" @@ -18911,6 +20961,7 @@ class EdgePairs(ShapeCollection): Starting with version 0.25 the displacement is of vector type. """ + ... @overload def moved(self, x: int, y: int) -> EdgePairs: r""" @@ -18924,18 +20975,21 @@ class EdgePairs(ShapeCollection): @return The moved edge pairs. """ + ... @overload def polygons(self) -> Region: r""" @brief Converts the edge pairs to polygons This method creates polygons from the edge pairs. Each polygon will be a triangle or quadrangle which connects the start and end points of the edges forming the edge pair. """ + ... @overload def polygons(self, e: int) -> Region: r""" @brief Converts the edge pairs to polygons This method creates polygons from the edge pairs. Each polygon will be a triangle or quadrangle which connects the start and end points of the edges forming the edge pair. This version allows one to specify an enlargement which is applied to the edges. The length of the edges is modified by applying the enlargement and the edges are shifted by the enlargement. By specifying an enlargement it is possible to give edge pairs an area which otherwise would not have one (coincident edges, two point-like edges). """ + ... def process(self, process: EdgePairOperator) -> None: r""" @brief Applies a generic edge pair processor in place (replacing the edge pairs from the EdgePairs collection) @@ -18943,6 +20997,7 @@ class EdgePairs(ShapeCollection): This method has been introduced in version 0.29. """ + ... @overload def processed(self, processed: EdgePairOperator) -> EdgePairs: r""" @@ -18951,6 +21006,7 @@ class EdgePairs(ShapeCollection): This method has been introduced in version 0.29. """ + ... @overload def processed(self, processed: EdgePairToEdgeOperator) -> Edges: r""" @@ -18959,6 +21015,7 @@ class EdgePairs(ShapeCollection): This method has been introduced in version 0.29. """ + ... @overload def processed(self, processed: EdgePairToPolygonOperator) -> Region: r""" @@ -18967,6 +21024,7 @@ class EdgePairs(ShapeCollection): This method has been introduced in version 0.29. """ + ... def remove_properties(self) -> None: r""" @brief Removes properties for the given container. @@ -18974,11 +21032,13 @@ class EdgePairs(ShapeCollection): This method has been introduced in version 0.28.4. """ + ... def second_edges(self) -> Edges: r""" @brief Returns the second one of all edges @return An edge collection containing the second edges """ + ... def size(self) -> int: r""" @brief Returns the (flat) number of edge pairs in the edge pair collection @@ -18987,23 +21047,27 @@ class EdgePairs(ShapeCollection): Starting with version 0.27, the method is called 'count' for consistency with \Region. 'size' is still provided as an alias. """ + ... def swap(self, other: EdgePairs) -> None: r""" @brief Swap the contents of this collection with the contents of another collection This method is useful to avoid excessive memory allocation in some cases. For managed memory languages such as Ruby, those cases will be rare. """ + ... @overload def to_s(self) -> str: r""" @brief Converts the edge pair collection to a string The length of the output is limited to 20 edge pairs to avoid giant strings on large regions. For full output use "to_s" with a maximum count parameter. """ + ... @overload def to_s(self, max_count: int) -> str: r""" @brief Converts the edge pair collection to a string This version allows specification of the maximum number of edge pairs contained in the string. """ + ... @overload def transform(self, t: ICplxTrans) -> EdgePairs: r""" @@ -19016,6 +21080,7 @@ class EdgePairs(ShapeCollection): @return The transformed edge pair collection. """ + ... @overload def transform(self, t: IMatrix2d) -> EdgePairs: r""" @@ -19030,6 +21095,7 @@ class EdgePairs(ShapeCollection): This variant has been introduced in version 0.27. """ + ... @overload def transform(self, t: IMatrix3d) -> EdgePairs: r""" @@ -19044,6 +21110,7 @@ class EdgePairs(ShapeCollection): This variant has been introduced in version 0.27. """ + ... @overload def transform(self, t: Trans) -> EdgePairs: r""" @@ -19056,6 +21123,7 @@ class EdgePairs(ShapeCollection): @return The transformed edge pair collection. """ + ... def transform_icplx(self, t: ICplxTrans) -> EdgePairs: r""" @brief Transform the edge pair collection with a complex transformation (modifies self) @@ -19067,6 +21135,7 @@ class EdgePairs(ShapeCollection): @return The transformed edge pair collection. """ + ... @overload def transformed(self, t: ICplxTrans) -> EdgePairs: r""" @@ -19079,6 +21148,7 @@ class EdgePairs(ShapeCollection): @return The transformed edge pairs. """ + ... @overload def transformed(self, t: IMatrix2d) -> EdgePairs: r""" @@ -19093,6 +21163,7 @@ class EdgePairs(ShapeCollection): This variant has been introduced in version 0.27. """ + ... @overload def transformed(self, t: IMatrix3d) -> EdgePairs: r""" @@ -19107,6 +21178,7 @@ class EdgePairs(ShapeCollection): This variant has been introduced in version 0.27. """ + ... @overload def transformed(self, t: Trans) -> EdgePairs: r""" @@ -19119,6 +21191,7 @@ class EdgePairs(ShapeCollection): @return The transformed edge pairs. """ + ... def transformed_icplx(self, t: ICplxTrans) -> EdgePairs: r""" @brief Transform the edge pair collection with a complex transformation @@ -19130,6 +21203,7 @@ class EdgePairs(ShapeCollection): @return The transformed edge pairs. """ + ... @overload def with_abs_angle(self, angle: float, inverse: bool) -> EdgePairs: r""" @@ -19139,6 +21213,7 @@ class EdgePairs(ShapeCollection): This method has been added in version 0.29.1. """ + ... @overload def with_abs_angle(self, min_angle: float, max_angle: float, inverse: bool, include_min_angle: Optional[bool] = ..., include_max_angle: Optional[bool] = ...) -> EdgePairs: r""" @@ -19148,6 +21223,7 @@ class EdgePairs(ShapeCollection): This method has been added in version 0.29.1. """ + ... @overload def with_abs_angle_both(self, angle: float, inverse: bool) -> EdgePairs: r""" @@ -19157,6 +21233,7 @@ class EdgePairs(ShapeCollection): This method has been added in version 0.29.1. """ + ... @overload def with_abs_angle_both(self, min_angle: float, max_angle: float, inverse: bool, include_min_angle: Optional[bool] = ..., include_max_angle: Optional[bool] = ...) -> EdgePairs: r""" @@ -19165,6 +21242,7 @@ class EdgePairs(ShapeCollection): This method has been added in version 0.29.1. """ + ... @overload def with_angle(self, angle: float, inverse: bool) -> EdgePairs: r""" @@ -19187,6 +21265,7 @@ class EdgePairs(ShapeCollection): This method has been added in version 0.27.1. """ + ... @overload def with_angle(self, min_angle: float, max_angle: float, inverse: bool, include_min_angle: Optional[bool] = ..., include_max_angle: Optional[bool] = ...) -> EdgePairs: r""" @@ -19205,6 +21284,7 @@ class EdgePairs(ShapeCollection): This method has been added in version 0.27.1. """ + ... @overload def with_angle(self, type: Edges.EdgeType, inverse: bool) -> EdgePairs: r""" @@ -19223,6 +21303,7 @@ class EdgePairs(ShapeCollection): This method has been added in version 0.28. """ + ... @overload def with_angle_both(self, angle: float, inverse: bool) -> EdgePairs: r""" @@ -19245,6 +21326,7 @@ class EdgePairs(ShapeCollection): This method has been added in version 0.27.1. """ + ... @overload def with_angle_both(self, min_angle: float, max_angle: float, inverse: bool, include_min_angle: Optional[bool] = ..., include_max_angle: Optional[bool] = ...) -> EdgePairs: r""" @@ -19263,6 +21345,7 @@ class EdgePairs(ShapeCollection): This method has been added in version 0.27.1. """ + ... @overload def with_angle_both(self, type: Edges.EdgeType, inverse: bool) -> EdgePairs: r""" @@ -19281,6 +21364,7 @@ class EdgePairs(ShapeCollection): This method has been added in version 0.28. """ + ... @overload def with_area(self, area: int, inverse: bool) -> EdgePairs: r""" @@ -19289,6 +21373,7 @@ class EdgePairs(ShapeCollection): This method has been added in version 0.27.2. """ + ... @overload def with_area(self, min_area: int, max_area: int, inverse: bool) -> EdgePairs: r""" @@ -19297,6 +21382,7 @@ class EdgePairs(ShapeCollection): This method has been added in version 0.27.2. """ + ... @overload def with_distance(self, distance: int, inverse: bool) -> EdgePairs: r""" @@ -19307,6 +21393,7 @@ class EdgePairs(ShapeCollection): This method has been added in version 0.27.1. """ + ... @overload def with_distance(self, min_distance: Any, max_distance: Any, inverse: bool) -> EdgePairs: r""" @@ -19317,6 +21404,7 @@ class EdgePairs(ShapeCollection): This method has been added in version 0.27.1. """ + ... @overload def with_internal_angle(self, angle: float, inverse: bool) -> EdgePairs: r""" @@ -19327,6 +21415,7 @@ class EdgePairs(ShapeCollection): This method has been added in version 0.27.2. """ + ... @overload def with_internal_angle(self, min_angle: float, max_angle: float, inverse: bool, include_min_angle: Optional[bool] = ..., include_max_angle: Optional[bool] = ...) -> EdgePairs: r""" @@ -19339,6 +21428,7 @@ class EdgePairs(ShapeCollection): This method has been added in version 0.27.2. """ + ... @overload def with_length(self, length: int, inverse: bool) -> EdgePairs: r""" @@ -19347,6 +21437,7 @@ class EdgePairs(ShapeCollection): This method has been added in version 0.27.1. """ + ... @overload def with_length(self, min_length: Any, max_length: Any, inverse: bool) -> EdgePairs: r""" @@ -19357,6 +21448,7 @@ class EdgePairs(ShapeCollection): This method has been added in version 0.27.1. """ + ... @overload def with_length_both(self, length: int, inverse: bool) -> EdgePairs: r""" @@ -19365,6 +21457,7 @@ class EdgePairs(ShapeCollection): This method has been added in version 0.27.1. """ + ... @overload def with_length_both(self, min_length: Any, max_length: Any, inverse: bool) -> EdgePairs: r""" @@ -19375,6 +21468,7 @@ class EdgePairs(ShapeCollection): This method has been added in version 0.27.1. """ + ... def write(self, filename: str) -> None: r""" @brief Writes the region to a file @@ -19382,6 +21476,8 @@ class EdgePairs(ShapeCollection): This method has been introduced in version 0.29. """ + ... + ... class EdgeProcessor: r""" @@ -19427,66 +21523,79 @@ class EdgeProcessor: r""" @brief boolean method's mode value for AND operation """ + ... @classmethod def mode_anotb(cls) -> int: r""" @brief boolean method's mode value for A NOT B operation """ + ... @classmethod def mode_bnota(cls) -> int: r""" @brief boolean method's mode value for B NOT A operation """ + ... @classmethod def mode_or(cls) -> int: r""" @brief boolean method's mode value for OR operation """ + ... @classmethod def mode_xor(cls) -> int: r""" @brief boolean method's mode value for XOR operation """ + ... @classmethod def new(cls) -> EdgeProcessor: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> EdgeProcessor: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> EdgeProcessor: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -19494,6 +21603,7 @@ class EdgeProcessor: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -19501,10 +21611,12 @@ class EdgeProcessor: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: EdgeProcessor) -> None: r""" @brief Assigns another object to self """ + ... @overload def boolean(self, a: Sequence[Edge], b: Sequence[Edge], mode: int) -> List[Edge]: r""" @@ -19524,6 +21636,7 @@ class EdgeProcessor: @param mode The boolean mode (one of the Mode.. values) @return The output edges """ + ... @overload def boolean(self, a: Sequence[Polygon], b: Sequence[Polygon], mode: int) -> List[Edge]: r""" @@ -19543,6 +21656,7 @@ class EdgeProcessor: @param mode The boolean mode @return The output edges """ + ... def boolean_e2e(self, a: Sequence[Edge], b: Sequence[Edge], mode: int) -> List[Edge]: r""" @brief Boolean operation for a set of given edges, creating edges @@ -19561,6 +21675,7 @@ class EdgeProcessor: @param mode The boolean mode (one of the Mode.. values) @return The output edges """ + ... def boolean_e2p(self, a: Sequence[Edge], b: Sequence[Edge], mode: int, resolve_holes: bool, min_coherence: bool) -> List[Polygon]: r""" @brief Boolean operation for a set of given edges, creating polygons @@ -19580,6 +21695,7 @@ class EdgeProcessor: @param min_coherence true, if touching corners should be resolved into less connected contours @return The output polygons """ + ... def boolean_p2e(self, a: Sequence[Polygon], b: Sequence[Polygon], mode: int) -> List[Edge]: r""" @brief Boolean operation for a set of given polygons, creating edges @@ -19598,6 +21714,7 @@ class EdgeProcessor: @param mode The boolean mode @return The output edges """ + ... def boolean_p2p(self, a: Sequence[Polygon], b: Sequence[Polygon], mode: int, resolve_holes: bool, min_coherence: bool) -> List[Polygon]: r""" @brief Boolean operation for a set of given polygons, creating polygons @@ -19617,6 +21734,7 @@ class EdgeProcessor: @param min_coherence true, if touching corners should be resolved into less connected contours @return The output polygons """ + ... @overload def boolean_to_polygon(self, a: Sequence[Edge], b: Sequence[Edge], mode: int, resolve_holes: bool, min_coherence: bool) -> List[Polygon]: r""" @@ -19637,6 +21755,7 @@ class EdgeProcessor: @param min_coherence true, if touching corners should be resolved into less connected contours @return The output polygons """ + ... @overload def boolean_to_polygon(self, a: Sequence[Polygon], b: Sequence[Polygon], mode: int, resolve_holes: bool, min_coherence: bool) -> List[Polygon]: r""" @@ -19657,23 +21776,27 @@ class EdgeProcessor: @param min_coherence true, if touching corners should be resolved into less connected contours @return The output polygons """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def disable_progress(self) -> None: r""" @brief Disable progress reporting @@ -19681,10 +21804,12 @@ class EdgeProcessor: This method has been introduced in version 0.23. """ + ... def dup(self) -> EdgeProcessor: r""" @brief Creates a copy of self """ + ... def enable_progress(self, label: str) -> None: r""" @brief Enable progress reporting @@ -19694,12 +21819,14 @@ class EdgeProcessor: This method has been introduced in version 0.23. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def merge(self, in_: Sequence[Polygon], min_wc: int) -> List[Edge]: r""" @brief Merge the given polygons @@ -19719,6 +21846,7 @@ class EdgeProcessor: @param min_wc The minimum wrap count for output (0: all polygons, 1: at least two overlapping) @return The output edges """ + ... def merge_p2e(self, in_: Sequence[Polygon], min_wc: int) -> List[Edge]: r""" @brief Merge the given polygons @@ -19738,6 +21866,7 @@ class EdgeProcessor: @param min_wc The minimum wrap count for output (0: all polygons, 1: at least two overlapping) @return The output edges """ + ... def merge_p2p(self, in_: Sequence[Polygon], min_wc: int, resolve_holes: bool, min_coherence: bool) -> List[Polygon]: r""" @brief Merge the given polygons @@ -19758,6 +21887,7 @@ class EdgeProcessor: @param min_coherence true, if touching corners should be resolved into less connected contours @return The output polygons """ + ... def merge_to_polygon(self, in_: Sequence[Polygon], min_wc: int, resolve_holes: bool, min_coherence: bool) -> List[Polygon]: r""" @brief Merge the given polygons @@ -19778,6 +21908,7 @@ class EdgeProcessor: @param min_coherence true, if touching corners should be resolved into less connected contours @return The output polygons """ + ... @overload def simple_merge(self, in_: Sequence[Edge]) -> List[Edge]: r""" @@ -19797,6 +21928,7 @@ class EdgeProcessor: @param in The input edges @return The output edges """ + ... @overload def simple_merge(self, in_: Sequence[Edge], mode: int) -> List[Edge]: r""" @@ -19819,6 +21951,7 @@ class EdgeProcessor: @param in The input edges @return The output edges """ + ... @overload def simple_merge(self, in_: Sequence[Polygon]) -> List[Edge]: r""" @@ -19840,6 +21973,7 @@ class EdgeProcessor: @param in The input polygons @return The output edges """ + ... @overload def simple_merge(self, in_: Sequence[Polygon], mode: int) -> List[Edge]: r""" @@ -19864,6 +21998,7 @@ class EdgeProcessor: @param in The input polygons @return The output edges """ + ... @overload def simple_merge_e2e(self, in_: Sequence[Edge]) -> List[Edge]: r""" @@ -19883,6 +22018,7 @@ class EdgeProcessor: @param in The input edges @return The output edges """ + ... @overload def simple_merge_e2e(self, in_: Sequence[Edge], mode: int) -> List[Edge]: r""" @@ -19905,6 +22041,7 @@ class EdgeProcessor: @param in The input edges @return The output edges """ + ... @overload def simple_merge_e2p(self, in_: Sequence[Edge], resolve_holes: bool, min_coherence: bool) -> List[Polygon]: r""" @@ -19925,6 +22062,7 @@ class EdgeProcessor: @param min_coherence true, if touching corners should be resolved into less connected contours @return The output polygons """ + ... @overload def simple_merge_e2p(self, in_: Sequence[Edge], resolve_holes: bool, min_coherence: bool, mode: int) -> List[Polygon]: r""" @@ -19948,6 +22086,7 @@ class EdgeProcessor: @param min_coherence true, if touching corners should be resolved into less connected contours @return The output polygons """ + ... @overload def simple_merge_p2e(self, in_: Sequence[Polygon]) -> List[Edge]: r""" @@ -19969,6 +22108,7 @@ class EdgeProcessor: @param in The input polygons @return The output edges """ + ... @overload def simple_merge_p2e(self, in_: Sequence[Polygon], mode: int) -> List[Edge]: r""" @@ -19993,6 +22133,7 @@ class EdgeProcessor: @param in The input polygons @return The output edges """ + ... @overload def simple_merge_p2p(self, in_: Sequence[Polygon], resolve_holes: bool, min_coherence: bool) -> List[Polygon]: r""" @@ -20015,6 +22156,7 @@ class EdgeProcessor: @param min_coherence true, if touching corners should be resolved into less connected contours @return The output polygons """ + ... @overload def simple_merge_p2p(self, in_: Sequence[Polygon], resolve_holes: bool, min_coherence: bool, mode: int) -> List[Polygon]: r""" @@ -20040,6 +22182,7 @@ class EdgeProcessor: @param min_coherence true, if touching corners should be resolved into less connected contours @return The output polygons """ + ... @overload def simple_merge_to_polygon(self, in_: Sequence[Edge], resolve_holes: bool, min_coherence: bool) -> List[Polygon]: r""" @@ -20060,6 +22203,7 @@ class EdgeProcessor: @param min_coherence true, if touching corners should be resolved into less connected contours @return The output polygons """ + ... @overload def simple_merge_to_polygon(self, in_: Sequence[Edge], resolve_holes: bool, min_coherence: bool, mode: int) -> List[Polygon]: r""" @@ -20083,6 +22227,7 @@ class EdgeProcessor: @param min_coherence true, if touching corners should be resolved into less connected contours @return The output polygons """ + ... @overload def simple_merge_to_polygon(self, in_: Sequence[Polygon], resolve_holes: bool, min_coherence: bool) -> List[Polygon]: r""" @@ -20105,6 +22250,7 @@ class EdgeProcessor: @param min_coherence true, if touching corners should be resolved into less connected contours @return The output polygons """ + ... @overload def simple_merge_to_polygon(self, in_: Sequence[Polygon], resolve_holes: bool, min_coherence: bool, mode: int) -> List[Polygon]: r""" @@ -20130,6 +22276,7 @@ class EdgeProcessor: @param min_coherence true, if touching corners should be resolved into less connected contours @return The output polygons """ + ... @overload def size(self, in_: Sequence[Polygon], d: int, mode: int) -> List[Edge]: r""" @@ -20144,6 +22291,7 @@ class EdgeProcessor: @param mode The sizing mode @return The output edges """ + ... @overload def size(self, in_: Sequence[Polygon], dx: int, dy: int, mode: int) -> List[Edge]: r""" @@ -20168,6 +22316,7 @@ class EdgeProcessor: @param mode The sizing mode (standard is 2) @return The output edges """ + ... @overload def size_p2e(self, in_: Sequence[Polygon], d: int, mode: int) -> List[Edge]: r""" @@ -20182,6 +22331,7 @@ class EdgeProcessor: @param mode The sizing mode @return The output edges """ + ... @overload def size_p2e(self, in_: Sequence[Polygon], dx: int, dy: int, mode: int) -> List[Edge]: r""" @@ -20206,6 +22356,7 @@ class EdgeProcessor: @param mode The sizing mode (standard is 2) @return The output edges """ + ... @overload def size_p2p(self, in_: Sequence[Polygon], d: int, mode: int, resolve_holes: bool, min_coherence: bool) -> List[Polygon]: r""" @@ -20222,6 +22373,7 @@ class EdgeProcessor: @param min_coherence true, if touching corners should be resolved into less connected contours @return The output polygons """ + ... @overload def size_p2p(self, in_: Sequence[Polygon], dx: int, dy: int, mode: int, resolve_holes: bool, min_coherence: bool) -> List[Polygon]: r""" @@ -20248,6 +22400,7 @@ class EdgeProcessor: @param min_coherence true, if touching corners should be resolved into less connected contours @return The output polygons """ + ... @overload def size_to_polygon(self, in_: Sequence[Polygon], d: int, mode: int, resolve_holes: bool, min_coherence: bool) -> List[Polygon]: r""" @@ -20264,6 +22417,7 @@ class EdgeProcessor: @param min_coherence true, if touching corners should be resolved into less connected contours @return The output polygons """ + ... @overload def size_to_polygon(self, in_: Sequence[Polygon], dx: int, dy: int, mode: int, resolve_holes: bool, min_coherence: bool) -> List[Polygon]: r""" @@ -20290,6 +22444,8 @@ class EdgeProcessor: @param min_coherence true, if touching corners should be resolved into less connected contours @return The output polygons """ + ... + ... class EdgeToEdgePairOperator: r""" @@ -20370,33 +22526,39 @@ class EdgeToEdgePairOperator: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -20404,6 +22566,7 @@ class EdgeToEdgePairOperator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -20411,29 +22574,34 @@ class EdgeToEdgePairOperator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_isotropic(self) -> None: r""" @brief Indicates that the filter has isotropic properties @@ -20441,6 +22609,7 @@ class EdgeToEdgePairOperator: Examples for isotropic (polygon) processors are size or shrink operators. Size or shrink is not dependent on orientation unless size or shrink needs to be different in x and y direction. """ + ... def is_isotropic_and_scale_invariant(self) -> None: r""" @brief Indicates that the filter is isotropic and scale invariant @@ -20448,6 +22617,7 @@ class EdgeToEdgePairOperator: An example for such a (polygon) processor is the convex decomposition operator. The decomposition of a polygon into convex parts is an operation that is not depending on scale nor orientation. """ + ... def is_scale_invariant(self) -> None: r""" @brief Indicates that the filter is scale invariant @@ -20455,6 +22625,8 @@ class EdgeToEdgePairOperator: An example for a scale invariant (polygon) processor is the rotation operator. Rotation is not depending on scale, but on the original orientation as mirrored versions need to be rotated differently. """ + ... + ... class EdgeToPolygonOperator: r""" @@ -20535,33 +22707,39 @@ class EdgeToPolygonOperator: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -20569,6 +22747,7 @@ class EdgeToPolygonOperator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -20576,29 +22755,34 @@ class EdgeToPolygonOperator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_isotropic(self) -> None: r""" @brief Indicates that the filter has isotropic properties @@ -20606,6 +22790,7 @@ class EdgeToPolygonOperator: Examples for isotropic (polygon) processors are size or shrink operators. Size or shrink is not dependent on orientation unless size or shrink needs to be different in x and y direction. """ + ... def is_isotropic_and_scale_invariant(self) -> None: r""" @brief Indicates that the filter is isotropic and scale invariant @@ -20613,6 +22798,7 @@ class EdgeToPolygonOperator: An example for such a (polygon) processor is the convex decomposition operator. The decomposition of a polygon into convex parts is an operation that is not depending on scale nor orientation. """ + ... def is_scale_invariant(self) -> None: r""" @brief Indicates that the filter is scale invariant @@ -20620,6 +22806,8 @@ class EdgeToPolygonOperator: An example for a scale invariant (polygon) processor is the rotation operator. Rotation is not depending on scale, but on the original orientation as mirrored versions need to be rotated differently. """ + ... + ... class Edges(ShapeCollection): r""" @@ -20664,84 +22852,103 @@ class Edges(ShapeCollection): r""" @brief Creates an enum from an integer value """ + ... @overload @classmethod def new(cls, s: str) -> Edges.EdgeType: r""" @brief Creates an enum from a string value """ + ... + @overload + def __eq__(self, other: int) -> bool: + r""" + @brief Compares an enum with an integer value + """ + ... @overload def __eq__(self, other: object) -> bool: r""" @brief Compares two enums """ - @overload - def __eq__(self, other: object) -> bool: - r""" - @brief Compares an enum with an integer value - """ + ... def __hash__(self) -> int: r""" @brief Gets the hash value from the enum """ + ... @overload def __init__(self, i: int) -> None: r""" @brief Creates an enum from an integer value """ + ... @overload def __init__(self, s: str) -> None: r""" @brief Creates an enum from a string value """ + ... def __int__(self) -> int: r""" @brief Gets the integer value from the enum """ + ... @overload def __lt__(self, other: Edges.EdgeType) -> bool: r""" @brief Returns true if the first enum is less (in the enum symbol order) than the second """ + ... @overload def __lt__(self, other: int) -> bool: r""" @brief Returns true if the enum is less (in the enum symbol order) than the integer value """ + ... + @overload + def __ne__(self, other: int) -> bool: + r""" + @brief Compares an enum with an integer for inequality + """ + ... @overload def __ne__(self, other: object) -> bool: r""" @brief Compares two enums for inequality """ - @overload - def __ne__(self, other: object) -> bool: - r""" - @brief Compares an enum with an integer for inequality - """ + ... def __repr__(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def __str__(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... def hash(self) -> int: r""" @brief Gets the hash value from the enum """ + ... def inspect(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def to_i(self) -> int: r""" @brief Gets the integer value from the enum """ + ... def to_s(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... + ... AlwaysIncludeZeroDistance: ClassVar[ZeroDistanceMode] r""" @hide @@ -20856,6 +23063,7 @@ class Edges(ShapeCollection): This constructor creates an empty edge collection. """ + ... @overload @classmethod def new(cls, array: Sequence[Edge]) -> Edges: @@ -20864,6 +23072,7 @@ class Edges(ShapeCollection): This constructor creates an edge collection from an array of edges. """ + ... @overload @classmethod def new(cls, array: Sequence[Polygon]) -> Edges: @@ -20873,6 +23082,7 @@ class Edges(ShapeCollection): This constructor creates an edge collection from an array of polygons. The edges form the contours of the polygons. """ + ... @overload @classmethod def new(cls, box: Box) -> Edges: @@ -20882,6 +23092,7 @@ class Edges(ShapeCollection): This constructor creates an edge collection from a box. The edges form the contour of the box. """ + ... @overload @classmethod def new(cls, edge: Edge) -> Edges: @@ -20890,6 +23101,7 @@ class Edges(ShapeCollection): This constructor creates an edge collection with a single edge. """ + ... @overload @classmethod def new(cls, path: Path) -> Edges: @@ -20899,6 +23111,7 @@ class Edges(ShapeCollection): This constructor creates an edge collection from a path. The edges form the contour of the path. """ + ... @overload @classmethod def new(cls, polygon: Polygon) -> Edges: @@ -20908,6 +23121,7 @@ class Edges(ShapeCollection): This constructor creates an edge collection from a polygon. The edges form the contour of the polygon. """ + ... @overload @classmethod def new(cls, polygon: SimplePolygon) -> Edges: @@ -20917,6 +23131,7 @@ class Edges(ShapeCollection): This constructor creates an edge collection from a simple polygon. The edges form the contour of the polygon. """ + ... @overload @classmethod def new(cls, shape_iterator: RecursiveShapeIterator, as_edges: Optional[bool] = ...) -> Edges: @@ -20936,6 +23151,7 @@ class Edges(ShapeCollection): r = RBA::Edges::new(layout.begin_shapes(cell, layer), false) @/code """ + ... @overload @classmethod def new(cls, shape_iterator: RecursiveShapeIterator, dss: DeepShapeStore, as_edges: Optional[bool] = ...) -> Edges: @@ -20957,6 +23173,7 @@ class Edges(ShapeCollection): r = RBA::Edges::new(layout.begin_shapes(cell, layer), dss, false) @/code """ + ... @overload @classmethod def new(cls, shape_iterator: RecursiveShapeIterator, dss: DeepShapeStore, expr: str, as_pattern: Optional[bool] = ...) -> Edges: @@ -20979,6 +23196,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.26. """ + ... @overload @classmethod def new(cls, shape_iterator: RecursiveShapeIterator, dss: DeepShapeStore, trans: ICplxTrans, as_edges: Optional[bool] = ...) -> Edges: @@ -21002,6 +23220,7 @@ class Edges(ShapeCollection): r = RBA::Edges::new(layout.begin_shapes(cell, layer), dss, RBA::ICplxTrans::new(layout.dbu / dbu), false) @/code """ + ... @overload @classmethod def new(cls, shape_iterator: RecursiveShapeIterator, expr: str, as_pattern: Optional[bool] = ...) -> Edges: @@ -21023,6 +23242,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.26. """ + ... @overload @classmethod def new(cls, shape_iterator: RecursiveShapeIterator, trans: ICplxTrans, as_edges: Optional[bool] = ...) -> Edges: @@ -21044,6 +23264,7 @@ class Edges(ShapeCollection): r = RBA::Edges::new(layout.begin_shapes(cell, layer), RBA::ICplxTrans::new(layout.dbu / dbu)) @/code """ + ... @overload @classmethod def new(cls, shapes: Shapes, as_edges: Optional[bool] = ...) -> Edges: @@ -21054,6 +23275,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.26. """ + ... def __add__(self, other: Edges) -> Edges: r""" @brief Returns the combined edge set of self and the other one @@ -21064,6 +23286,7 @@ class Edges(ShapeCollection): The 'join' alias has been introduced in version 0.28.12. """ + ... @overload def __and__(self, other: Edges) -> Edges: r""" @@ -21075,6 +23298,7 @@ class Edges(ShapeCollection): The 'and' alias has been introduced in version 0.28.12. """ + ... @overload def __and__(self, other: Region) -> Edges: r""" @@ -21089,14 +23313,17 @@ class Edges(ShapeCollection): This method has been introduced in version 0.24.The 'and' alias has been introduced in version 0.28.12. """ + ... def __copy__(self) -> Edges: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> Edges: r""" @brief Creates a copy of self """ + ... def __getitem__(self, n: int) -> Edge: r""" @brief Returns the nth edge of the collection @@ -21106,6 +23333,7 @@ class Edges(ShapeCollection): The \each iterator is the more general approach to access the edges. """ + ... def __iadd__(self, other: Edges) -> Edges: r""" @brief Adds the edges of the other edge collection to self @@ -21118,6 +23346,7 @@ class Edges(ShapeCollection): The 'join_with' alias has been introduced in version 0.28.12. """ + ... @overload def __iand__(self, other: Edges) -> Edges: r""" @@ -21131,6 +23360,7 @@ class Edges(ShapeCollection): The 'and_with' alias has been introduced in version 0.28.12. """ + ... @overload def __iand__(self, other: Region) -> Edges: r""" @@ -21148,6 +23378,7 @@ class Edges(ShapeCollection): The 'and_with' alias has been introduced in version 0.28.12. """ + ... @overload def __init__(self) -> None: r""" @@ -21155,6 +23386,7 @@ class Edges(ShapeCollection): This constructor creates an empty edge collection. """ + ... @overload def __init__(self, array: Sequence[Edge]) -> None: r""" @@ -21162,6 +23394,7 @@ class Edges(ShapeCollection): This constructor creates an edge collection from an array of edges. """ + ... @overload def __init__(self, array: Sequence[Polygon]) -> None: r""" @@ -21170,6 +23403,7 @@ class Edges(ShapeCollection): This constructor creates an edge collection from an array of polygons. The edges form the contours of the polygons. """ + ... @overload def __init__(self, box: Box) -> None: r""" @@ -21178,6 +23412,7 @@ class Edges(ShapeCollection): This constructor creates an edge collection from a box. The edges form the contour of the box. """ + ... @overload def __init__(self, edge: Edge) -> None: r""" @@ -21185,6 +23420,7 @@ class Edges(ShapeCollection): This constructor creates an edge collection with a single edge. """ + ... @overload def __init__(self, path: Path) -> None: r""" @@ -21193,6 +23429,7 @@ class Edges(ShapeCollection): This constructor creates an edge collection from a path. The edges form the contour of the path. """ + ... @overload def __init__(self, polygon: Polygon) -> None: r""" @@ -21201,6 +23438,7 @@ class Edges(ShapeCollection): This constructor creates an edge collection from a polygon. The edges form the contour of the polygon. """ + ... @overload def __init__(self, polygon: SimplePolygon) -> None: r""" @@ -21209,6 +23447,7 @@ class Edges(ShapeCollection): This constructor creates an edge collection from a simple polygon. The edges form the contour of the polygon. """ + ... @overload def __init__(self, shape_iterator: RecursiveShapeIterator, as_edges: Optional[bool] = ...) -> None: r""" @@ -21227,6 +23466,7 @@ class Edges(ShapeCollection): r = RBA::Edges::new(layout.begin_shapes(cell, layer), false) @/code """ + ... @overload def __init__(self, shape_iterator: RecursiveShapeIterator, dss: DeepShapeStore, as_edges: Optional[bool] = ...) -> None: r""" @@ -21247,6 +23487,7 @@ class Edges(ShapeCollection): r = RBA::Edges::new(layout.begin_shapes(cell, layer), dss, false) @/code """ + ... @overload def __init__(self, shape_iterator: RecursiveShapeIterator, dss: DeepShapeStore, expr: str, as_pattern: Optional[bool] = ...) -> None: r""" @@ -21268,6 +23509,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.26. """ + ... @overload def __init__(self, shape_iterator: RecursiveShapeIterator, dss: DeepShapeStore, trans: ICplxTrans, as_edges: Optional[bool] = ...) -> None: r""" @@ -21290,6 +23532,7 @@ class Edges(ShapeCollection): r = RBA::Edges::new(layout.begin_shapes(cell, layer), dss, RBA::ICplxTrans::new(layout.dbu / dbu), false) @/code """ + ... @overload def __init__(self, shape_iterator: RecursiveShapeIterator, expr: str, as_pattern: Optional[bool] = ...) -> None: r""" @@ -21310,6 +23553,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.26. """ + ... @overload def __init__(self, shape_iterator: RecursiveShapeIterator, trans: ICplxTrans, as_edges: Optional[bool] = ...) -> None: r""" @@ -21330,6 +23574,7 @@ class Edges(ShapeCollection): r = RBA::Edges::new(layout.begin_shapes(cell, layer), RBA::ICplxTrans::new(layout.dbu / dbu)) @/code """ + ... @overload def __init__(self, shapes: Shapes, as_edges: Optional[bool] = ...) -> None: r""" @@ -21339,6 +23584,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.26. """ + ... def __ior__(self, other: Edges) -> Edges: r""" @brief Performs the boolean OR between self and the other edge set in-place (modifying self) @@ -21350,6 +23596,7 @@ class Edges(ShapeCollection): The 'or_with' alias has been introduced in version 0.28.12. """ + ... @overload def __isub__(self, other: Edges) -> Edges: r""" @@ -21363,6 +23610,7 @@ class Edges(ShapeCollection): The 'not_with' alias has been introduced in version 0.28.12. """ + ... @overload def __isub__(self, other: Region) -> Edges: r""" @@ -21379,10 +23627,12 @@ class Edges(ShapeCollection): This method has been introduced in version 0.24.The 'not_with' alias has been introduced in version 0.28.12. """ + ... def __iter__(self) -> Iterator[Edge]: r""" @brief Returns each edge of the region """ + ... def __ixor__(self, other: Edges) -> Edges: r""" @brief Performs the boolean XOR between self and the other edge collection in-place (modifying self) @@ -21396,6 +23646,7 @@ class Edges(ShapeCollection): The 'xor_with' alias has been introduced in version 0.28.12. """ + ... def __len__(self) -> int: r""" @brief Returns the (flat) number of edges in the edge collection @@ -21405,6 +23656,7 @@ class Edges(ShapeCollection): Starting with version 0.27, the method is called 'count' for consistency with \Region. 'size' is still provided as an alias. """ + ... def __or__(self, other: Edges) -> Edges: r""" @brief Returns the boolean OR between self and the other edge set @@ -21414,16 +23666,13 @@ class Edges(ShapeCollection): The boolean OR is implemented by merging the edges of both edge sets. To simply join the edge collections without merging, the + operator is more efficient. The 'or' alias has been introduced in version 0.28.12. """ - def __repr__(self) -> str: - r""" - @brief Converts the edge collection to a string - The length of the output is limited to 20 edges to avoid giant strings on large regions. For full output use "to_s" with a maximum count parameter. - """ + ... def __str__(self) -> str: r""" @brief Converts the edge collection to a string The length of the output is limited to 20 edges to avoid giant strings on large regions. For full output use "to_s" with a maximum count parameter. """ + ... @overload def __sub__(self, other: Edges) -> Edges: r""" @@ -21435,6 +23684,7 @@ class Edges(ShapeCollection): The 'not' alias has been introduced in version 0.28.12. """ + ... @overload def __sub__(self, other: Region) -> Edges: r""" @@ -21449,6 +23699,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.24.The 'not' alias has been introduced in version 0.28.12. """ + ... def __xor__(self, other: Edges) -> Edges: r""" @brief Returns the boolean XOR between self and the other edge collection @@ -21460,29 +23711,34 @@ class Edges(ShapeCollection): The 'xor' alias has been introduced in version 0.28.12. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -21490,6 +23746,7 @@ class Edges(ShapeCollection): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -21497,6 +23754,7 @@ class Edges(ShapeCollection): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... @overload def and_(self, other: Edges) -> Edges: r""" @@ -21508,6 +23766,7 @@ class Edges(ShapeCollection): The 'and' alias has been introduced in version 0.28.12. """ + ... @overload def and_(self, other: Region) -> Edges: r""" @@ -21522,6 +23781,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.24.The 'and' alias has been introduced in version 0.28.12. """ + ... @overload def and_with(self, other: Edges) -> Edges: r""" @@ -21535,6 +23795,7 @@ class Edges(ShapeCollection): The 'and_with' alias has been introduced in version 0.28.12. """ + ... @overload def and_with(self, other: Region) -> Edges: r""" @@ -21552,6 +23813,7 @@ class Edges(ShapeCollection): The 'and_with' alias has been introduced in version 0.28.12. """ + ... @overload def andnot(self, other: Edges) -> List[Edges]: r""" @@ -21563,6 +23825,7 @@ class Edges(ShapeCollection): This method has been added in version 0.28. """ + ... @overload def andnot(self, other: Region) -> List[Edges]: r""" @@ -21574,15 +23837,18 @@ class Edges(ShapeCollection): This method has been added in version 0.28. """ + ... def assign(self, other: ShapeCollection) -> None: r""" @brief Assigns another object to self """ + ... def bbox(self) -> Box: r""" @brief Returns the bounding box of the edge collection The bounding box is the box enclosing all points of all edges. """ + ... def centers(self, length: int, fraction: float) -> Edges: r""" @brief Returns edges representing the center part of the edges @@ -21599,10 +23865,12 @@ class Edges(ShapeCollection): It is possible to specify 0 for both values. In this case, degenerated edges (points) are delivered which specify the centers of the edges but can't participate in some functions. """ + ... def clear(self) -> None: r""" @brief Clears the edge collection """ + ... def count(self) -> int: r""" @brief Returns the (flat) number of edges in the edge collection @@ -21612,42 +23880,50 @@ class Edges(ShapeCollection): Starting with version 0.27, the method is called 'count' for consistency with \Region. 'size' is still provided as an alias. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def data_id(self) -> int: r""" @brief Returns the data ID (a unique identifier for the underlying data storage) This method has been added in version 0.26. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def disable_progress(self) -> None: r""" @brief Disable progress reporting Calling this method will disable progress reporting. See \enable_progress. """ + ... def dup(self) -> Edges: r""" @brief Creates a copy of self """ + ... def each(self) -> Iterator[Edge]: r""" @brief Returns each edge of the region """ + ... def each_merged(self) -> Iterator[Edge]: r""" @brief Returns each edge of the region @@ -21656,6 +23932,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.25. """ + ... def enable_progress(self, label: str) -> None: r""" @brief Enable progress reporting @@ -21663,6 +23940,7 @@ class Edges(ShapeCollection): The label is a text which is put in front of the progress bar. Using a progress bar will imply a performance penalty of a few percent typically. """ + ... def enable_properties(self) -> None: r""" @brief Enables properties for the given container. @@ -21670,6 +23948,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.28.4. """ + ... def enclosed_check(self, other: Edges, d: int, whole_edges: Optional[bool] = ..., metrics: Optional[Metrics] = ..., ignore_angle: Optional[Any] = ..., min_projection: Optional[Any] = ..., max_projection: Optional[Any] = ..., zero_distance_mode: Optional[ZeroDistanceMode] = ...) -> EdgePairs: r""" @brief Performs an inside check with options @@ -21695,6 +23974,7 @@ class Edges(ShapeCollection): The 'enclosed_check' alias was introduced in version 0.27.5. 'zero_distance_mode' has been added in version 0.29. """ + ... def enclosing_check(self, other: Edges, d: int, whole_edges: Optional[bool] = ..., metrics: Optional[Metrics] = ..., ignore_angle: Optional[Any] = ..., min_projection: Optional[Any] = ..., max_projection: Optional[Any] = ..., zero_distance_mode: Optional[ZeroDistanceMode] = ...) -> EdgePairs: r""" @brief Performs an enclosing check with options @@ -21719,6 +23999,7 @@ class Edges(ShapeCollection): 'zero_distance_mode' has been added in version 0.29. """ + ... def end_segments(self, length: int, fraction: float) -> Edges: r""" @brief Returns edges representing a part of the edge before the end point @@ -21735,6 +24016,7 @@ class Edges(ShapeCollection): It is possible to specify 0 for both values. In this case, degenerated edges (points) are delivered which specify the end positions of the edges but can't participate in some functions. """ + ... def extended(self, b: int, e: int, o: int, i: int, join: bool) -> Region: r""" @brief Returns a region with shapes representing the edges with the specified extensions @@ -21750,6 +24032,7 @@ class Edges(ShapeCollection): If join is true and edges form a closed loop, the b and e parameters are ignored and a rim polygon is created that forms the loop with the outside and inside extension given by o and i. """ + ... def extended_in(self, e: int) -> Region: r""" @brief Returns a region with shapes representing the edges with the given width @@ -21759,6 +24042,7 @@ class Edges(ShapeCollection): Other versions of this feature are \extended_out and \extended. """ + ... def extended_out(self, e: int) -> Region: r""" @brief Returns a region with shapes representing the edges with the given width @@ -21768,6 +24052,7 @@ class Edges(ShapeCollection): Other versions of this feature are \extended_in and \extended. """ + ... @overload def extents(self) -> Region: r""" @@ -21775,6 +24060,7 @@ class Edges(ShapeCollection): This method will return a region consisting of the bounding boxes of the edges. The boxes will not be merged, so it is possible to determine overlaps of these boxes for example. """ + ... @overload def extents(self, d: int) -> Region: r""" @@ -21783,6 +24069,7 @@ class Edges(ShapeCollection): The enlargement is specified per edge, i.e the width and height will be increased by 2*d. The boxes will not be merged, so it is possible to determine overlaps of these boxes for example. """ + ... @overload def extents(self, dx: int, dy: int) -> Region: r""" @@ -21791,6 +24078,7 @@ class Edges(ShapeCollection): The enlargement is specified per edge, i.e the width will be increased by 2*dx. The boxes will not be merged, so it is possible to determine overlaps of these boxes for example. """ + ... def filter(self, filter: EdgeFilter) -> None: r""" @brief Applies a generic filter in place (replacing the edges from the Edges collection) @@ -21798,6 +24086,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.29. """ + ... def filter_properties(self, keys: Sequence[Any]) -> None: r""" @brief Filters properties by certain keys. @@ -21806,6 +24095,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.28.4. """ + ... def filtered(self, filtered: EdgeFilter) -> Edges: r""" @brief Applies a generic filter and returns a filtered copy @@ -21813,6 +24103,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.29. """ + ... def flatten(self) -> None: r""" @brief Explicitly flattens an edge collection @@ -21821,12 +24112,14 @@ class Edges(ShapeCollection): This method has been introduced in version 0.26. """ + ... def has_valid_edges(self) -> bool: r""" @brief Returns true if the edge collection is flat and individual edges can be accessed randomly This method has been introduced in version 0.26. """ + ... def hier_count(self) -> int: r""" @brief Returns the (hierarchical) number of edges in the edge collection @@ -21836,11 +24129,13 @@ class Edges(ShapeCollection): This method has been introduced in version 0.27. """ + ... def in_(self, other: Edges) -> Edges: r""" @brief Returns all edges which are members of the other edge collection This method returns all edges in self which can be found in the other edge collection as well with exactly the same geometry. """ + ... def in_and_out(self, other: Edges) -> List[Edges]: r""" @brief Returns all polygons which are members and not members of the other region @@ -21848,6 +24143,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.28. """ + ... @overload def insert(self, box: Box) -> None: r""" @@ -21855,6 +24151,7 @@ class Edges(ShapeCollection): Inserts the edges that form the contour of the box into the edge collection. """ + ... @overload def insert(self, edge: Edge) -> None: r""" @@ -21862,17 +24159,20 @@ class Edges(ShapeCollection): Inserts the edge into the edge collection. """ + ... @overload def insert(self, edges: Edges) -> None: r""" @brief Inserts all edges from the other edge collection into this one This method has been introduced in version 0.25. """ + ... @overload def insert(self, edges: Sequence[Edge]) -> None: r""" @brief Inserts all edges from the array into this edge collection """ + ... @overload def insert(self, path: Path) -> None: r""" @@ -21880,6 +24180,7 @@ class Edges(ShapeCollection): Inserts the edges that form the contour of the path into the edge collection. """ + ... @overload def insert(self, polygon: Polygon) -> None: r""" @@ -21887,6 +24188,7 @@ class Edges(ShapeCollection): Inserts the edges that form the contour of the polygon into the edge collection. """ + ... @overload def insert(self, polygon: SimplePolygon) -> None: r""" @@ -21894,11 +24196,13 @@ class Edges(ShapeCollection): Inserts the edges that form the contour of the simple polygon into the edge collection. """ + ... @overload def insert(self, polygons: Sequence[Polygon]) -> None: r""" @brief Inserts all polygons from the array into this edge collection """ + ... @overload def insert(self, region: Region) -> None: r""" @@ -21907,6 +24211,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.25. """ + ... @overload def insert(self, shape_iterator: RecursiveShapeIterator) -> None: r""" @@ -21916,6 +24221,7 @@ class Edges(ShapeCollection): Edge shapes are inserted as such. Text objects are not inserted, because they cannot be converted to polygons. """ + ... @overload def insert(self, shape_iterator: RecursiveShapeIterator, trans: ICplxTrans) -> None: r""" @@ -21926,6 +24232,7 @@ class Edges(ShapeCollection): Text objects are not inserted, because they cannot be converted to polygons. This variant will apply the given transformation to the shapes. This is useful to scale the shapes to a specific database unit for example. """ + ... @overload def insert(self, shapes: Shapes) -> None: r""" @@ -21935,6 +24242,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.25. """ + ... @overload def insert(self, shapes: Shapes, trans: ICplxTrans) -> None: r""" @@ -21943,6 +24251,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.25. """ + ... @overload def insert(self, shapes: Shapes, trans: Trans) -> None: r""" @@ -21951,6 +24260,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.25. """ + ... def insert_into(self, layout: Layout, cell_index: int, layer: int) -> None: r""" @brief Inserts this edge collection into the given layout, below the given cell and into the given layer. @@ -21958,6 +24268,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.26. """ + ... @overload def inside(self, other: Edges) -> Edges: r""" @@ -21967,6 +24278,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.28. """ + ... @overload def inside(self, other: Region) -> Edges: r""" @@ -21976,6 +24288,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.28. """ + ... def inside_check(self, other: Edges, d: int, whole_edges: Optional[bool] = ..., metrics: Optional[Metrics] = ..., ignore_angle: Optional[Any] = ..., min_projection: Optional[Any] = ..., max_projection: Optional[Any] = ..., zero_distance_mode: Optional[ZeroDistanceMode] = ...) -> EdgePairs: r""" @brief Performs an inside check with options @@ -22001,6 +24314,7 @@ class Edges(ShapeCollection): The 'enclosed_check' alias was introduced in version 0.27.5. 'zero_distance_mode' has been added in version 0.29. """ + ... def inside_outside_part(self, other: Region) -> List[Edges]: r""" @brief Returns the partial edges inside and outside the given region @@ -22011,6 +24325,7 @@ class Edges(ShapeCollection): This method has been added in version 0.28. """ + ... def inside_part(self, other: Region) -> Edges: r""" @brief Returns the parts of the edges of this edge collection which are inside the polygons of the region @@ -22024,6 +24339,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.24. """ + ... @overload def interacting(self, other: Edges, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> Edges: r""" @@ -22035,6 +24351,7 @@ class Edges(ShapeCollection): 'min_count' and 'max_count' have been introduced in version 0.29. """ + ... @overload def interacting(self, other: Region, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> Edges: r""" @@ -22046,6 +24363,7 @@ class Edges(ShapeCollection): 'min_count' and 'max_count' have been introduced in version 0.29. """ + ... def intersections(self, other: Edges) -> Edges: r""" @brief Computes the intersections between this edges and other edges @@ -22053,27 +24371,32 @@ class Edges(ShapeCollection): This method has been introduced in version 0.26.2 """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_deep(self) -> bool: r""" @brief Returns true if the edge collection is a deep (hierarchical) one This method has been added in version 0.26. """ + ... def is_empty(self) -> bool: r""" @brief Returns true if the edge collection is empty """ + ... def is_merged(self) -> bool: r""" @brief Returns true if the edge collection is merged If the region is merged, coincident edges have been merged into single edges. You can ensure merged state by calling \merge. """ + ... def join(self, other: Edges) -> Edges: r""" @brief Returns the combined edge set of self and the other one @@ -22084,6 +24407,7 @@ class Edges(ShapeCollection): The 'join' alias has been introduced in version 0.28.12. """ + ... def join_with(self, other: Edges) -> Edges: r""" @brief Adds the edges of the other edge collection to self @@ -22096,6 +24420,7 @@ class Edges(ShapeCollection): The 'join_with' alias has been introduced in version 0.28.12. """ + ... @overload def length(self) -> int: r""" @@ -22103,6 +24428,7 @@ class Edges(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= of merged semantics) """ + ... @overload def length(self, rect: Box) -> int: r""" @@ -22112,6 +24438,7 @@ class Edges(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= of merged semantics) """ + ... def map_properties(self, key_map: Dict[Any, Any]) -> None: r""" @brief Maps properties by name key. @@ -22120,11 +24447,13 @@ class Edges(ShapeCollection): This method has been introduced in version 0.28.4. """ + ... def members_of(self, other: Edges) -> Edges: r""" @brief Returns all edges which are members of the other edge collection This method returns all edges in self which can be found in the other edge collection as well with exactly the same geometry. """ + ... def merge(self) -> Edges: r""" @brief Merge the edges @@ -22135,6 +24464,7 @@ class Edges(ShapeCollection): Crossing edges are not merged. If the edge collection is already merged, this method does nothing """ + ... def merged(self) -> Edges: r""" @brief Returns the merged edge collection @@ -22145,6 +24475,7 @@ class Edges(ShapeCollection): Crossing edges are not merged. In contrast to \merge, this method does not modify the edge collection but returns a merged copy. """ + ... @overload def move(self, v: Vector) -> Edges: r""" @@ -22159,6 +24490,7 @@ class Edges(ShapeCollection): Starting with version 0.25 the displacement type is a vector. """ + ... @overload def move(self, x: int, y: int) -> Edges: r""" @@ -22172,6 +24504,7 @@ class Edges(ShapeCollection): @return The moved edge collection (self). """ + ... @overload def moved(self, v: Vector) -> Edges: r""" @@ -22186,6 +24519,7 @@ class Edges(ShapeCollection): Starting with version 0.25 the displacement type is a vector. """ + ... @overload def moved(self, x: int, v: int) -> Edges: r""" @@ -22199,6 +24533,7 @@ class Edges(ShapeCollection): @return The moved edge collection. """ + ... @overload def not_(self, other: Edges) -> Edges: r""" @@ -22210,6 +24545,7 @@ class Edges(ShapeCollection): The 'not' alias has been introduced in version 0.28.12. """ + ... @overload def not_(self, other: Region) -> Edges: r""" @@ -22224,11 +24560,13 @@ class Edges(ShapeCollection): This method has been introduced in version 0.24.The 'not' alias has been introduced in version 0.28.12. """ + ... def not_in(self, other: Edges) -> Edges: r""" @brief Returns all edges which are not members of the other edge collection This method returns all edges in self which can not be found in the other edge collection with exactly the same geometry. """ + ... @overload def not_inside(self, other: Edges) -> Edges: r""" @@ -22238,6 +24576,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.28. """ + ... @overload def not_inside(self, other: Region) -> Edges: r""" @@ -22247,6 +24586,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.28. """ + ... @overload def not_interacting(self, other: Edges, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> Edges: r""" @@ -22258,6 +24598,7 @@ class Edges(ShapeCollection): 'min_count' and 'max_count' have been introduced in version 0.29. """ + ... @overload def not_interacting(self, other: Region, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> Edges: r""" @@ -22269,11 +24610,13 @@ class Edges(ShapeCollection): 'min_count' and 'max_count' have been introduced in version 0.29. """ + ... def not_members_of(self, other: Edges) -> Edges: r""" @brief Returns all edges which are not members of the other edge collection This method returns all edges in self which can not be found in the other edge collection with exactly the same geometry. """ + ... @overload def not_outside(self, other: Edges) -> Edges: r""" @@ -22283,6 +24626,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.28. """ + ... @overload def not_outside(self, other: Region) -> Edges: r""" @@ -22292,6 +24636,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.28. """ + ... @overload def not_with(self, other: Edges) -> Edges: r""" @@ -22305,6 +24650,7 @@ class Edges(ShapeCollection): The 'not_with' alias has been introduced in version 0.28.12. """ + ... @overload def not_with(self, other: Region) -> Edges: r""" @@ -22321,6 +24667,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.24.The 'not_with' alias has been introduced in version 0.28.12. """ + ... def or_(self, other: Edges) -> Edges: r""" @brief Returns the boolean OR between self and the other edge set @@ -22330,6 +24677,7 @@ class Edges(ShapeCollection): The boolean OR is implemented by merging the edges of both edge sets. To simply join the edge collections without merging, the + operator is more efficient. The 'or' alias has been introduced in version 0.28.12. """ + ... def or_with(self, other: Edges) -> Edges: r""" @brief Performs the boolean OR between self and the other edge set in-place (modifying self) @@ -22341,6 +24689,7 @@ class Edges(ShapeCollection): The 'or_with' alias has been introduced in version 0.28.12. """ + ... @overload def outside(self, other: Edges) -> Edges: r""" @@ -22350,6 +24699,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.28. """ + ... @overload def outside(self, other: Region) -> Edges: r""" @@ -22359,6 +24709,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.28. """ + ... def outside_part(self, other: Region) -> Edges: r""" @brief Returns the parts of the edges of this edge collection which are outside the polygons of the region @@ -22372,6 +24723,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.24. """ + ... def overlap_check(self, other: Edges, d: int, whole_edges: Optional[bool] = ..., metrics: Optional[Metrics] = ..., ignore_angle: Optional[Any] = ..., min_projection: Optional[Any] = ..., max_projection: Optional[Any] = ..., zero_distance_mode: Optional[ZeroDistanceMode] = ...) -> EdgePairs: r""" @brief Performs an overlap check with options @@ -22396,6 +24748,7 @@ class Edges(ShapeCollection): 'zero_distance_mode' has been added in version 0.29. """ + ... def process(self, process: EdgeOperator) -> None: r""" @brief Applies a generic edge processor in place (replacing the edges from the Edges collection) @@ -22403,6 +24756,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.29. """ + ... @overload def processed(self, processed: EdgeOperator) -> Edges: r""" @@ -22411,6 +24765,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.29. """ + ... @overload def processed(self, processed: EdgeToEdgePairOperator) -> EdgePairs: r""" @@ -22419,6 +24774,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.29. """ + ... @overload def processed(self, processed: EdgeToPolygonOperator) -> Region: r""" @@ -22427,6 +24783,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.29. """ + ... @overload def pull_interacting(self, other: Edges) -> Edges: r""" @@ -22439,6 +24796,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.26.1 """ + ... @overload def pull_interacting(self, other: Region) -> Region: r""" @@ -22451,6 +24809,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.26.1 """ + ... def remove_properties(self) -> None: r""" @brief Removes properties for the given container. @@ -22458,6 +24817,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.28.4. """ + ... @overload def select_inside(self, other: Edges) -> Edges: r""" @@ -22467,6 +24827,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.28. """ + ... @overload def select_inside(self, other: Region) -> Edges: r""" @@ -22476,6 +24837,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.28. """ + ... def select_inside_part(self, other: Region) -> Edges: r""" @brief Selects the parts of the edges from this edge collection which are inside the polygons of the given region @@ -22489,6 +24851,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.24. """ + ... @overload def select_interacting(self, other: Edges, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> Edges: r""" @@ -22500,6 +24863,7 @@ class Edges(ShapeCollection): 'min_count' and 'max_count' have been introduced in version 0.29. """ + ... @overload def select_interacting(self, other: Region, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> Edges: r""" @@ -22511,6 +24875,7 @@ class Edges(ShapeCollection): 'min_count' and 'max_count' have been introduced in version 0.29. """ + ... @overload def select_not_inside(self, other: Edges) -> Edges: r""" @@ -22520,6 +24885,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.28. """ + ... @overload def select_not_inside(self, other: Region) -> Edges: r""" @@ -22529,6 +24895,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.28. """ + ... @overload def select_not_interacting(self, other: Edges, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> Edges: r""" @@ -22540,6 +24907,7 @@ class Edges(ShapeCollection): 'min_count' and 'max_count' have been introduced in version 0.29. """ + ... @overload def select_not_interacting(self, other: Region, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> Edges: r""" @@ -22551,6 +24919,7 @@ class Edges(ShapeCollection): 'min_count' and 'max_count' have been introduced in version 0.29. """ + ... @overload def select_not_outside(self, other: Edges) -> Edges: r""" @@ -22560,6 +24929,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.28. """ + ... @overload def select_not_outside(self, other: Region) -> Edges: r""" @@ -22569,6 +24939,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.28. """ + ... @overload def select_outside(self, other: Edges) -> Edges: r""" @@ -22578,6 +24949,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.28. """ + ... @overload def select_outside(self, other: Region) -> Edges: r""" @@ -22587,6 +24959,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.28. """ + ... def select_outside_part(self, other: Region) -> Edges: r""" @brief Selects the parts of the edges from this edge collection which are outside the polygons of the given region @@ -22600,6 +24973,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.24. """ + ... def separation_check(self, other: Edges, d: int, whole_edges: Optional[bool] = ..., metrics: Optional[Metrics] = ..., ignore_angle: Optional[Any] = ..., min_projection: Optional[Any] = ..., max_projection: Optional[Any] = ..., zero_distance_mode: Optional[ZeroDistanceMode] = ...) -> EdgePairs: r""" @brief Performs an overlap check with options @@ -22624,6 +24998,7 @@ class Edges(ShapeCollection): 'zero_distance_mode' has been added in version 0.29. """ + ... def size(self) -> int: r""" @brief Returns the (flat) number of edges in the edge collection @@ -22633,6 +25008,7 @@ class Edges(ShapeCollection): Starting with version 0.27, the method is called 'count' for consistency with \Region. 'size' is still provided as an alias. """ + ... def space_check(self, d: int, whole_edges: Optional[bool] = ..., metrics: Optional[Metrics] = ..., ignore_angle: Optional[Any] = ..., min_projection: Optional[Any] = ..., max_projection: Optional[Any] = ..., zero_distance_mode: Optional[ZeroDistanceMode] = ...) -> EdgePairs: r""" @brief Performs a space check with options @@ -22656,6 +25032,7 @@ class Edges(ShapeCollection): 'zero_distance_mode' has been added in version 0.29. """ + ... @overload def split_inside(self, other: Edges) -> List[Edges]: r""" @@ -22665,6 +25042,7 @@ class Edges(ShapeCollection): This method provides a faster way to compute both inside and non-inside edges compared to using separate methods. It has been introduced in version 0.28. """ + ... @overload def split_inside(self, other: Region) -> List[Edges]: r""" @@ -22674,6 +25052,7 @@ class Edges(ShapeCollection): This method provides a faster way to compute both inside and non-inside edges compared to using separate methods. It has been introduced in version 0.28. """ + ... @overload def split_interacting(self, other: Edges, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> List[Edges]: r""" @@ -22684,6 +25063,7 @@ class Edges(ShapeCollection): This method provides a faster way to compute both interacting and non-interacting edges compared to using separate methods. It has been introduced in version 0.28. 'min_count' and 'max_count' have been introduced in version 0.29. """ + ... @overload def split_interacting(self, other: Region, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> List[Edges]: r""" @@ -22694,6 +25074,7 @@ class Edges(ShapeCollection): This method provides a faster way to compute both interacting and non-interacting edges compared to using separate methods. It has been introduced in version 0.28. 'min_count' and 'max_count' have been introduced in version 0.29. """ + ... @overload def split_outside(self, other: Edges) -> List[Edges]: r""" @@ -22703,6 +25084,7 @@ class Edges(ShapeCollection): This method provides a faster way to compute both outside and non-outside edges compared to using separate methods. It has been introduced in version 0.28. """ + ... @overload def split_outside(self, other: Region) -> List[Edges]: r""" @@ -22712,6 +25094,7 @@ class Edges(ShapeCollection): This method provides a faster way to compute both outside and non-outside edges compared to using separate methods. It has been introduced in version 0.28. """ + ... def start_segments(self, length: int, fraction: float) -> Edges: r""" @brief Returns edges representing a part of the edge after the start point @@ -22728,23 +25111,27 @@ class Edges(ShapeCollection): It is possible to specify 0 for both values. In this case, degenerated edges (points) are delivered which specify the start positions of the edges but can't participate in some functions. """ + ... def swap(self, other: Edges) -> None: r""" @brief Swap the contents of this edge collection with the contents of another one This method is useful to avoid excessive memory allocation in some cases. For managed memory languages such as Ruby, those cases will be rare. """ + ... @overload def to_s(self) -> str: r""" @brief Converts the edge collection to a string The length of the output is limited to 20 edges to avoid giant strings on large regions. For full output use "to_s" with a maximum count parameter. """ + ... @overload def to_s(self, max_count: int) -> str: r""" @brief Converts the edge collection to a string This version allows specification of the maximum number of edges contained in the string. """ + ... @overload def transform(self, t: ICplxTrans) -> Edges: r""" @@ -22757,6 +25144,7 @@ class Edges(ShapeCollection): @return The transformed edge collection. """ + ... @overload def transform(self, t: IMatrix2d) -> Edges: r""" @@ -22771,6 +25159,7 @@ class Edges(ShapeCollection): This variant has been introduced in version 0.27. """ + ... @overload def transform(self, t: IMatrix3d) -> Edges: r""" @@ -22785,6 +25174,7 @@ class Edges(ShapeCollection): This variant has been introduced in version 0.27. """ + ... @overload def transform(self, t: Trans) -> Edges: r""" @@ -22797,6 +25187,7 @@ class Edges(ShapeCollection): @return The transformed edge collection. """ + ... def transform_icplx(self, t: ICplxTrans) -> Edges: r""" @brief Transform the edge collection with a complex transformation (modifies self) @@ -22808,6 +25199,7 @@ class Edges(ShapeCollection): @return The transformed edge collection. """ + ... @overload def transformed(self, t: ICplxTrans) -> Edges: r""" @@ -22820,6 +25212,7 @@ class Edges(ShapeCollection): @return The transformed edge collection. """ + ... @overload def transformed(self, t: IMatrix2d) -> Edges: r""" @@ -22834,6 +25227,7 @@ class Edges(ShapeCollection): This variant has been introduced in version 0.27. """ + ... @overload def transformed(self, t: IMatrix3d) -> Edges: r""" @@ -22848,6 +25242,7 @@ class Edges(ShapeCollection): This variant has been introduced in version 0.27. """ + ... @overload def transformed(self, t: Trans) -> Edges: r""" @@ -22860,6 +25255,7 @@ class Edges(ShapeCollection): @return The transformed edge collection. """ + ... def transformed_icplx(self, t: ICplxTrans) -> Edges: r""" @brief Transform the edge collection with a complex transformation @@ -22871,6 +25267,7 @@ class Edges(ShapeCollection): @return The transformed edge collection. """ + ... def width_check(self, d: int, whole_edges: Optional[bool] = ..., metrics: Optional[Metrics] = ..., ignore_angle: Optional[Any] = ..., min_projection: Optional[Any] = ..., max_projection: Optional[Any] = ..., zero_distance_mode: Optional[ZeroDistanceMode] = ...) -> EdgePairs: r""" @brief Performs a width check with options @@ -22894,6 +25291,7 @@ class Edges(ShapeCollection): 'zero_distance_mode' has been added in version 0.29. """ + ... @overload def with_abs_angle(self, angle: float, inverse: bool) -> Edges: r""" @@ -22903,6 +25301,7 @@ class Edges(ShapeCollection): This method has been added in version 0.29.1. """ + ... @overload def with_abs_angle(self, min_angle: float, max_angle: float, inverse: bool, include_min_angle: Optional[bool] = ..., include_max_angle: Optional[bool] = ...) -> Edges: r""" @@ -22912,6 +25311,7 @@ class Edges(ShapeCollection): This method has been added in version 0.29.1. """ + ... @overload def with_angle(self, angle: float, inverse: bool) -> Edges: r""" @@ -22924,6 +25324,7 @@ class Edges(ShapeCollection): horizontal = edges.with_angle(0, false) @/code """ + ... @overload def with_angle(self, min_angle: float, max_angle: float, inverse: bool, include_min_angle: Optional[bool] = ..., include_max_angle: Optional[bool] = ...) -> Edges: r""" @@ -22934,6 +25335,7 @@ class Edges(ShapeCollection): The two "include.." arguments have been added in version 0.27. """ + ... @overload def with_angle(self, type: Edges.EdgeType, inverse: bool) -> Edges: r""" @@ -22944,12 +25346,14 @@ class Edges(ShapeCollection): This method has been added in version 0.28. """ + ... @overload def with_length(self, length: int, inverse: bool) -> Edges: r""" @brief Filters the edges by length Filters the edges in the edge collection by length. If "inverse" is false, only edges which have the given length are returned. If "inverse" is true, edges not having the given length are returned. """ + ... @overload def with_length(self, min_length: Any, max_length: Any, inverse: bool) -> Edges: r""" @@ -22958,6 +25362,7 @@ class Edges(ShapeCollection): If you don't want to specify a lower or upper limit, pass nil to that parameter. """ + ... def write(self, filename: str) -> None: r""" @brief Writes the region to a file @@ -22965,6 +25370,7 @@ class Edges(ShapeCollection): This method has been introduced in version 0.29. """ + ... def xor(self, other: Edges) -> Edges: r""" @brief Returns the boolean XOR between self and the other edge collection @@ -22976,6 +25382,7 @@ class Edges(ShapeCollection): The 'xor' alias has been introduced in version 0.28.12. """ + ... def xor_with(self, other: Edges) -> Edges: r""" @brief Performs the boolean XOR between self and the other edge collection in-place (modifying self) @@ -22989,6 +25396,8 @@ class Edges(ShapeCollection): The 'xor_with' alias has been introduced in version 0.28.12. """ + ... + ... class EqualDeviceParameters: r""" @@ -23017,6 +25426,7 @@ class EqualDeviceParameters: This constructor has been introduced in version 0.27.4. """ + ... @classmethod def new(cls, param_id: int, absolute: Optional[float] = ..., relative: Optional[float] = ...) -> EqualDeviceParameters: r""" @@ -23027,24 +25437,29 @@ class EqualDeviceParameters: If 'absolute' and 'relative' are both given, their deviations will add to the allowed difference between two parameter values. The relative deviation will be applied to the mean value of both parameter values. For example, when comparing parameter values of 40 and 60, a relative deviation of 0.35 means an absolute deviation of 17.5 (= 0.35 * average of 40 and 60) which does not make both values match. """ + ... def __add__(self, other: EqualDeviceParameters) -> EqualDeviceParameters: r""" @brief Combines two parameters for comparison. The '+' operator will join the parameter comparers and produce one that checks the combined parameters. """ + ... def __copy__(self) -> EqualDeviceParameters: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> EqualDeviceParameters: r""" @brief Creates a copy of self """ + ... def __iadd__(self, other: EqualDeviceParameters) -> EqualDeviceParameters: r""" @brief Combines two parameters for comparison (in-place). The '+=' operator will join the parameter comparers and produce one that checks the combined parameters. """ + ... def __init__(self, param_id: int, absolute: Optional[float] = ..., relative: Optional[float] = ...) -> None: r""" @brief Creates a device parameter comparer for a single parameter. @@ -23054,29 +25469,34 @@ class EqualDeviceParameters: If 'absolute' and 'relative' are both given, their deviations will add to the allowed difference between two parameter values. The relative deviation will be applied to the mean value of both parameter values. For example, when comparing parameter values of 40 and 60, a relative deviation of 0.35 means an absolute deviation of 17.5 (= 0.35 * average of 40 and 60) which does not make both values match. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -23084,6 +25504,7 @@ class EqualDeviceParameters: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -23091,41 +25512,50 @@ class EqualDeviceParameters: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: EqualDeviceParameters) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> EqualDeviceParameters: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def to_string(self) -> str: r""" @hide """ + ... + ... class GenericDeviceCombiner: r""" @@ -23142,41 +25572,49 @@ class GenericDeviceCombiner: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> GenericDeviceCombiner: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> GenericDeviceCombiner: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -23184,6 +25622,7 @@ class GenericDeviceCombiner: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -23191,37 +25630,45 @@ class GenericDeviceCombiner: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: GenericDeviceCombiner) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> GenericDeviceCombiner: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... + ... class GenericDeviceExtractor(DeviceExtractorBase): r""" @@ -23254,24 +25701,28 @@ class GenericDeviceExtractor(DeviceExtractorBase): @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -23279,6 +25730,7 @@ class GenericDeviceExtractor(DeviceExtractorBase): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -23286,16 +25738,19 @@ class GenericDeviceExtractor(DeviceExtractorBase): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create_device(self) -> Device: r""" @brief Creates a device. The device object returned can be configured by the caller, e.g. set parameters. It will be owned by the netlist and must not be deleted by the caller. """ + ... def dbu(self) -> float: r""" @brief Gets the database unit """ + ... def define_layer(self, name: str, description: str) -> NetlistDeviceExtractorLayerDefinition: r""" @brief Defines a layer. @@ -23305,12 +25760,14 @@ class GenericDeviceExtractor(DeviceExtractorBase): the device layers. The actual geometries are later available to \extract_devices in the order the layers are defined. """ + ... def define_opt_layer(self, name: str, fallback: int, description: str) -> NetlistDeviceExtractorLayerDefinition: r""" @brief Defines a layer with a fallback layer. @return The layer descriptor object created for this layer (use 'index' to get the layer's index) As \define_layer, this method allows specification of device extraction layer. In addition to \define_layout, it features a fallback layer. If in the device extraction statement, the primary layer is not given, the fallback layer will be used. Hence, this layer is optional. The fallback layer is given by its index and must be defined before the layer using the fallback layer is defined. For the index, 0 is the first layer defined, 1 the second and so forth. """ + ... @overload def define_terminal(self, device: Device, terminal_id: int, layer_index: int, point: Point) -> None: r""" @@ -23322,6 +25779,7 @@ class GenericDeviceExtractor(DeviceExtractorBase): This version produces a point-like terminal. Note that the point is specified in database units. """ + ... @overload def define_terminal(self, device: Device, terminal_id: int, layer_index: int, shape: Box) -> None: r""" @@ -23333,6 +25791,7 @@ class GenericDeviceExtractor(DeviceExtractorBase): This version produces a terminal with a shape given by the box. Note that the box is specified in database units. """ + ... @overload def define_terminal(self, device: Device, terminal_id: int, layer_index: int, shape: Polygon) -> None: r""" @@ -23344,6 +25803,7 @@ class GenericDeviceExtractor(DeviceExtractorBase): This version produces a terminal with a shape given by the polygon. Note that the polygon is specified in database units. """ + ... @overload def define_terminal(self, device: Device, terminal_name: str, layer_name: str, point: Point) -> None: r""" @@ -23352,6 +25812,7 @@ class GenericDeviceExtractor(DeviceExtractorBase): This convenience version of the ID-based \define_terminal methods allows using names for terminal and layer. It has been introduced in version 0.28. """ + ... @overload def define_terminal(self, device: Device, terminal_name: str, layer_name: str, shape: Box) -> None: r""" @@ -23360,6 +25821,7 @@ class GenericDeviceExtractor(DeviceExtractorBase): This convenience version of the ID-based \define_terminal methods allows using names for terminal and layer. It has been introduced in version 0.28. """ + ... @overload def define_terminal(self, device: Device, terminal_name: str, layer_name: str, shape: Polygon) -> None: r""" @@ -23368,36 +25830,43 @@ class GenericDeviceExtractor(DeviceExtractorBase): This convenience version of the ID-based \define_terminal methods allows using names for terminal and layer. It has been introduced in version 0.28. """ + ... @overload def error(self, category_name: str, category_description: str, message: str) -> None: r""" @brief Issues an error with the given category name and description, message """ + ... @overload def error(self, category_name: str, category_description: str, message: str, geometry: DPolygon) -> None: r""" @brief Issues an error with the given category name and description, message and micrometer-units polygon geometry """ + ... @overload def error(self, category_name: str, category_description: str, message: str, geometry: Polygon) -> None: r""" @brief Issues an error with the given category name and description, message and database-unit polygon geometry """ + ... @overload def error(self, message: str) -> None: r""" @brief Issues an error with the given message """ + ... @overload def error(self, message: str, geometry: DPolygon) -> None: r""" @brief Issues an error with the given message and micrometer-units polygon geometry """ + ... @overload def error(self, message: str, geometry: Polygon) -> None: r""" @brief Issues an error with the given message and database-unit polygon geometry """ + ... def register_device_class(self, device_class: DeviceClass) -> None: r""" @brief Registers a device class. @@ -23407,48 +25876,57 @@ class GenericDeviceExtractor(DeviceExtractorBase): This method shall be used inside the implementation of \setup to register the device classes. """ + ... def sdbu(self) -> float: r""" @brief Gets the scaled database unit Use this unit to compute device properties. It is the database unit multiplied with the device scaling factor. """ + ... @overload def warn(self, category_name: str, category_description: str, message: str) -> None: r""" @brief Issues a warning with the given category name and description, message Warnings have been introduced in version 0.28.13. """ + ... @overload def warn(self, category_name: str, category_description: str, message: str, geometry: DPolygon) -> None: r""" @brief Issues a warning with the given category name and description, message and micrometer-units polygon geometry Warnings have been introduced in version 0.28.13. """ + ... @overload def warn(self, category_name: str, category_description: str, message: str, geometry: Polygon) -> None: r""" @brief Issues a warning with the given category name and description, message and database-unit polygon geometry Warnings have been introduced in version 0.28.13. """ + ... @overload def warn(self, message: str) -> None: r""" @brief Issues a warning with the given message Warnings have been introduced in version 0.28.13. """ + ... @overload def warn(self, message: str, geometry: DPolygon) -> None: r""" @brief Issues a warning with the given message and micrometer-units polygon geometry Warnings have been introduced in version 0.28.13. """ + ... @overload def warn(self, message: str, geometry: Polygon) -> None: r""" @brief Issues a warning with the given message and database-unit polygon geometry Warnings have been introduced in version 0.28.13. """ + ... + ... class GenericDeviceParameterCompare(EqualDeviceParameters): r""" @@ -23464,33 +25942,39 @@ class GenericDeviceParameterCompare(EqualDeviceParameters): r""" @brief Assigns another object to self """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _dup(self) -> GenericDeviceParameterCompare: r""" @brief Creates a copy of self """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -23498,6 +25982,7 @@ class GenericDeviceParameterCompare(EqualDeviceParameters): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -23505,6 +25990,8 @@ class GenericDeviceParameterCompare(EqualDeviceParameters): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... + ... class GenericNetlistCompareLogger(NetlistCompareLogger): r""" @@ -23533,24 +26020,28 @@ class GenericNetlistCompareLogger(NetlistCompareLogger): @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -23558,6 +26049,7 @@ class GenericNetlistCompareLogger(NetlistCompareLogger): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -23565,6 +26057,8 @@ class GenericNetlistCompareLogger(NetlistCompareLogger): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... + ... class HAlign: r""" @@ -23593,99 +26087,119 @@ class HAlign: r""" @brief Creates an enum from an integer value """ + ... @overload @classmethod def new(cls, s: str) -> HAlign: r""" @brief Creates an enum from a string value """ + ... def __copy__(self) -> HAlign: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> HAlign: r""" @brief Creates a copy of self """ + ... + @overload + def __eq__(self, other: int) -> bool: + r""" + @brief Compares an enum with an integer value + """ + ... @overload def __eq__(self, other: object) -> bool: r""" @brief Compares two enums """ - @overload - def __eq__(self, other: object) -> bool: - r""" - @brief Compares an enum with an integer value - """ + ... def __hash__(self) -> int: r""" @brief Gets the hash value from the enum """ + ... @overload def __init__(self, i: int) -> None: r""" @brief Creates an enum from an integer value """ + ... @overload def __init__(self, s: str) -> None: r""" @brief Creates an enum from a string value """ + ... def __int__(self) -> int: r""" @brief Gets the integer value from the enum """ + ... @overload def __lt__(self, other: HAlign) -> bool: r""" @brief Returns true if the first enum is less (in the enum symbol order) than the second """ + ... @overload def __lt__(self, other: int) -> bool: r""" @brief Returns true if the enum is less (in the enum symbol order) than the integer value """ + ... + @overload + def __ne__(self, other: int) -> bool: + r""" + @brief Compares an enum with an integer for inequality + """ + ... @overload def __ne__(self, other: object) -> bool: r""" @brief Compares two enums for inequality """ - @overload - def __ne__(self, other: object) -> bool: - r""" - @brief Compares an enum with an integer for inequality - """ + ... def __repr__(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def __str__(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -23693,6 +26207,7 @@ class HAlign: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -23700,53 +26215,65 @@ class HAlign: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: HAlign) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> HAlign: r""" @brief Creates a copy of self """ + ... def hash(self) -> int: r""" @brief Gets the hash value from the enum """ + ... def inspect(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def to_i(self) -> int: r""" @brief Gets the integer value from the enum """ + ... def to_s(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... + ... class ICplxTrans: r""" @@ -23868,6 +26395,7 @@ class ICplxTrans: This constructor has been introduced in version 0.25. The 'dbu' argument has been added in version 0.29. """ + ... @classmethod def from_s(cls, s: str) -> ICplxTrans: r""" @@ -23876,6 +26404,7 @@ class ICplxTrans: This method has been added in version 0.23. """ + ... @classmethod def from_trans(cls, trans: CplxTrans, dbu: Optional[float] = ...) -> ICplxTrans: r""" @@ -23885,12 +26414,14 @@ class ICplxTrans: This constructor has been introduced in version 0.25. The 'dbu' argument has been added in version 0.29. """ + ... @overload @classmethod def new(cls) -> ICplxTrans: r""" @brief Creates a unit transformation """ + ... @overload @classmethod def new(cls, c: ICplxTrans, mag: Optional[float] = ..., u: Optional[Vector] = ...) -> ICplxTrans: @@ -23904,6 +26435,7 @@ class ICplxTrans: @param c The original transformation @param u The Additional displacement """ + ... @overload @classmethod def new(cls, c: ICplxTrans, mag: Optional[float] = ..., x: Optional[int] = ..., y: Optional[int] = ...) -> ICplxTrans: @@ -23918,6 +26450,7 @@ class ICplxTrans: @param x The Additional displacement (x) @param y The Additional displacement (y) """ + ... @overload @classmethod def new(cls, mag: Optional[float] = ..., rot: Optional[float] = ..., mirrx: Optional[bool] = ..., u: Optional[Vector] = ...) -> ICplxTrans: @@ -23932,6 +26465,7 @@ class ICplxTrans: @param mirrx True, if mirrored at x axis @param u The displacement """ + ... @overload @classmethod def new(cls, mag: Optional[float] = ..., rot: Optional[float] = ..., mirrx: Optional[bool] = ..., x: Optional[int] = ..., y: Optional[int] = ...) -> ICplxTrans: @@ -23947,6 +26481,7 @@ class ICplxTrans: @param x The x displacement @param y The y displacement """ + ... @overload @classmethod def new(cls, t: Trans, mag: Optional[float] = ...) -> ICplxTrans: @@ -23955,6 +26490,7 @@ class ICplxTrans: Creates a magnifying transformation from a simple transformation and a magnification. """ + ... @overload @classmethod def new(cls, trans: CplxTrans, dbu: Optional[float] = ...) -> ICplxTrans: @@ -23965,6 +26501,7 @@ class ICplxTrans: This constructor has been introduced in version 0.25. The 'dbu' argument has been added in version 0.29. """ + ... @overload @classmethod def new(cls, trans: DCplxTrans, dbu: Optional[float] = ...) -> ICplxTrans: @@ -23975,6 +26512,7 @@ class ICplxTrans: This constructor has been introduced in version 0.25. The 'dbu' argument has been added in version 0.29. """ + ... @overload @classmethod def new(cls, trans: VCplxTrans, dbu: Optional[float] = ...) -> ICplxTrans: @@ -23985,6 +26523,7 @@ class ICplxTrans: This constructor has been introduced in version 0.25. The 'dbu' argument has been added in version 0.29. """ + ... @overload @classmethod def new(cls, u: Vector) -> ICplxTrans: @@ -23995,6 +26534,7 @@ class ICplxTrans: This method has been added in version 0.25. """ + ... @overload @classmethod def new(cls, x: int, y: int) -> ICplxTrans: @@ -24007,18 +26547,22 @@ class ICplxTrans: @param x The x displacement @param y The y displacement """ + ... def __copy__(self) -> ICplxTrans: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> ICplxTrans: r""" @brief Creates a copy of self """ + ... def __eq__(self, other: object) -> bool: r""" @brief Tests for equality """ + ... def __hash__(self) -> int: r""" @brief Computes a hash value @@ -24026,11 +26570,13 @@ class ICplxTrans: This method has been introduced in version 0.25. """ + ... @overload def __init__(self) -> None: r""" @brief Creates a unit transformation """ + ... @overload def __init__(self, c: ICplxTrans, mag: Optional[float] = ..., u: Optional[Vector] = ...) -> None: r""" @@ -24043,6 +26589,7 @@ class ICplxTrans: @param c The original transformation @param u The Additional displacement """ + ... @overload def __init__(self, c: ICplxTrans, mag: Optional[float] = ..., x: Optional[int] = ..., y: Optional[int] = ...) -> None: r""" @@ -24056,6 +26603,7 @@ class ICplxTrans: @param x The Additional displacement (x) @param y The Additional displacement (y) """ + ... @overload def __init__(self, mag: Optional[float] = ..., rot: Optional[float] = ..., mirrx: Optional[bool] = ..., u: Optional[Vector] = ...) -> None: r""" @@ -24069,6 +26617,7 @@ class ICplxTrans: @param mirrx True, if mirrored at x axis @param u The displacement """ + ... @overload def __init__(self, mag: Optional[float] = ..., rot: Optional[float] = ..., mirrx: Optional[bool] = ..., x: Optional[int] = ..., y: Optional[int] = ...) -> None: r""" @@ -24083,6 +26632,7 @@ class ICplxTrans: @param x The x displacement @param y The y displacement """ + ... @overload def __init__(self, t: Trans, mag: Optional[float] = ...) -> None: r""" @@ -24090,6 +26640,7 @@ class ICplxTrans: Creates a magnifying transformation from a simple transformation and a magnification. """ + ... @overload def __init__(self, trans: CplxTrans, dbu: Optional[float] = ...) -> None: r""" @@ -24099,6 +26650,7 @@ class ICplxTrans: This constructor has been introduced in version 0.25. The 'dbu' argument has been added in version 0.29. """ + ... @overload def __init__(self, trans: DCplxTrans, dbu: Optional[float] = ...) -> None: r""" @@ -24108,6 +26660,7 @@ class ICplxTrans: This constructor has been introduced in version 0.25. The 'dbu' argument has been added in version 0.29. """ + ... @overload def __init__(self, trans: VCplxTrans, dbu: Optional[float] = ...) -> None: r""" @@ -24117,6 +26670,7 @@ class ICplxTrans: This constructor has been introduced in version 0.25. The 'dbu' argument has been added in version 0.29. """ + ... @overload def __init__(self, u: Vector) -> None: r""" @@ -24126,6 +26680,7 @@ class ICplxTrans: This method has been added in version 0.25. """ + ... @overload def __init__(self, x: int, y: int) -> None: r""" @@ -24137,11 +26692,13 @@ class ICplxTrans: @param x The x displacement @param y The y displacement """ + ... def __lt__(self, other: ICplxTrans) -> bool: r""" @brief Provides a 'less' criterion for sorting This method is provided to implement a sorting order. The definition of 'less' is opaque and might change in future versions. """ + ... @overload def __mul__(self, box: Box) -> Box: r""" @@ -24154,21 +26711,22 @@ class ICplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __mul__(self, d: int) -> int: r""" - @brief Transforms a distance + @brief Transforms a single distance The "ctrans" method transforms the given distance. - e = t(d). For the simple transformations, there - is no magnification and no modification of the distance - therefore. + This is equivalent to multiplying with the magnification. For the simple transformations, there + is no magnification and no modification of the distance. @param d The distance to transform @return The transformed distance - The product '*' has been added as a synonym in version 0.28. + The product '*' has been added as a synonym in version 0.28. The distance can be signed since version 0.29.3. """ + ... @overload def __mul__(self, edge: Edge) -> Edge: r""" @@ -24181,6 +26739,7 @@ class ICplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __mul__(self, p: Point) -> Point: r""" @@ -24194,6 +26753,7 @@ class ICplxTrans: @param p The point to transform @return The transformed point """ + ... @overload def __mul__(self, p: Vector) -> Vector: r""" @@ -24207,6 +26767,7 @@ class ICplxTrans: @param v The vector to transform @return The transformed vector """ + ... @overload def __mul__(self, path: Path) -> Path: r""" @@ -24219,6 +26780,7 @@ class ICplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __mul__(self, polygon: Polygon) -> Polygon: r""" @@ -24231,6 +26793,7 @@ class ICplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __mul__(self, t: ICplxTrans) -> ICplxTrans: r""" @@ -24241,6 +26804,7 @@ class ICplxTrans: @param t The transformation to apply before @return The modified transformation """ + ... @overload def __mul__(self, t: VCplxTrans) -> VCplxTrans: r""" @@ -24251,6 +26815,7 @@ class ICplxTrans: @param t The transformation to apply before @return The modified transformation """ + ... @overload def __mul__(self, text: Text) -> Text: r""" @@ -24263,18 +26828,12 @@ class ICplxTrans: This convenience method has been introduced in version 0.25. """ + ... def __ne__(self, other: object) -> bool: r""" @brief Tests for inequality """ - def __repr__(self, lazy: Optional[bool] = ..., dbu: Optional[float] = ...) -> str: - r""" - @brief String conversion - If 'lazy' is true, some parts are omitted when not required. - If a DBU is given, the output units will be micrometers. - - The lazy and DBU arguments have been added in version 0.27.6. - """ + ... @overload def __rmul__(self, box: Box) -> Box: r""" @@ -24287,21 +26846,22 @@ class ICplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __rmul__(self, d: int) -> int: r""" - @brief Transforms a distance + @brief Transforms a single distance The "ctrans" method transforms the given distance. - e = t(d). For the simple transformations, there - is no magnification and no modification of the distance - therefore. + This is equivalent to multiplying with the magnification. For the simple transformations, there + is no magnification and no modification of the distance. @param d The distance to transform @return The transformed distance - The product '*' has been added as a synonym in version 0.28. + The product '*' has been added as a synonym in version 0.28. The distance can be signed since version 0.29.3. """ + ... @overload def __rmul__(self, edge: Edge) -> Edge: r""" @@ -24314,6 +26874,7 @@ class ICplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __rmul__(self, p: Point) -> Point: r""" @@ -24327,6 +26888,7 @@ class ICplxTrans: @param p The point to transform @return The transformed point """ + ... @overload def __rmul__(self, p: Vector) -> Vector: r""" @@ -24340,6 +26902,7 @@ class ICplxTrans: @param v The vector to transform @return The transformed vector """ + ... @overload def __rmul__(self, path: Path) -> Path: r""" @@ -24352,6 +26915,7 @@ class ICplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __rmul__(self, polygon: Polygon) -> Polygon: r""" @@ -24364,6 +26928,7 @@ class ICplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __rmul__(self, text: Text) -> Text: r""" @@ -24376,6 +26941,7 @@ class ICplxTrans: This convenience method has been introduced in version 0.25. """ + ... def __str__(self, lazy: Optional[bool] = ..., dbu: Optional[float] = ...) -> str: r""" @brief String conversion @@ -24384,29 +26950,34 @@ class ICplxTrans: The lazy and DBU arguments have been added in version 0.27.6. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -24414,6 +26985,7 @@ class ICplxTrans: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -24421,45 +26993,51 @@ class ICplxTrans: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: ICplxTrans) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def ctrans(self, d: int) -> int: r""" - @brief Transforms a distance + @brief Transforms a single distance The "ctrans" method transforms the given distance. - e = t(d). For the simple transformations, there - is no magnification and no modification of the distance - therefore. + This is equivalent to multiplying with the magnification. For the simple transformations, there + is no magnification and no modification of the distance. @param d The distance to transform @return The transformed distance - The product '*' has been added as a synonym in version 0.28. + The product '*' has been added as a synonym in version 0.28. The distance can be signed since version 0.29.3. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> ICplxTrans: r""" @brief Creates a copy of self """ + ... def hash(self) -> int: r""" @brief Computes a hash value @@ -24467,6 +27045,7 @@ class ICplxTrans: This method has been introduced in version 0.25. """ + ... def invert(self) -> ICplxTrans: r""" @brief Inverts the transformation (in place) @@ -24476,6 +27055,7 @@ class ICplxTrans: @return The inverted transformation """ + ... def inverted(self) -> ICplxTrans: r""" @brief Returns the inverted transformation @@ -24484,6 +27064,7 @@ class ICplxTrans: @return The inverted transformation """ + ... def is_complex(self) -> bool: r""" @brief Returns true if the transformation is a complex one @@ -24494,12 +27075,14 @@ class ICplxTrans: This method has been introduced in version 0.27.5. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_mag(self) -> bool: r""" @brief Tests, if the transformation is a magnifying one @@ -24507,22 +27090,26 @@ class ICplxTrans: This is the recommended test for checking if the transformation represents a magnification. """ + ... def is_mirror(self) -> bool: r""" @brief Gets the mirror flag If this property is true, the transformation is composed of a mirroring at the x-axis followed by a rotation by the angle given by the \angle property. """ + ... def is_ortho(self) -> bool: r""" @brief Tests, if the transformation is an orthogonal transformation If the rotation is by a multiple of 90 degree, this method will return true. """ + ... def is_unity(self) -> bool: r""" @brief Tests, whether this is a unit transformation """ + ... def rot(self) -> int: r""" @brief Returns the respective simple transformation equivalent rotation code if possible @@ -24532,6 +27119,7 @@ class ICplxTrans: magnification and displacement. If the transformation is not orthogonal, the result reflects the quadrant the rotation goes into. """ + ... def s_trans(self) -> Trans: r""" @brief Extracts the simple transformation part @@ -24539,6 +27127,7 @@ class ICplxTrans: The simple transformation part does not reflect magnification or arbitrary angles. Rotation angles are rounded down to multiples of 90 degree. Magnification is fixed to 1.0. """ + ... def to_itrans(self, dbu: Optional[float] = ...) -> DCplxTrans: r""" @brief Converts the transformation to another transformation with floating-point input and output coordinates @@ -24553,6 +27142,7 @@ class ICplxTrans: This method has been introduced in version 0.25 and was deprecated in version 0.29. """ + ... def to_s(self, lazy: Optional[bool] = ..., dbu: Optional[float] = ...) -> str: r""" @brief String conversion @@ -24561,6 +27151,7 @@ class ICplxTrans: The lazy and DBU arguments have been added in version 0.27.6. """ + ... def to_trans(self, dbu: Optional[float] = ...) -> VCplxTrans: r""" @brief Converts the transformation to another transformation with floating-point input coordinates @@ -24573,6 +27164,7 @@ class ICplxTrans: This method has been introduced in version 0.25 and was deprecated in version 0.29. """ + ... def to_vtrans(self, dbu: Optional[float] = ...) -> CplxTrans: r""" @brief Converts the transformation to another transformation with floating-point output coordinates @@ -24587,6 +27179,7 @@ class ICplxTrans: This method has been introduced in version 0.25 and was deprecated in version 0.29. """ + ... @overload def trans(self, box: Box) -> Box: r""" @@ -24599,6 +27192,7 @@ class ICplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def trans(self, edge: Edge) -> Edge: r""" @@ -24611,6 +27205,7 @@ class ICplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def trans(self, p: Point) -> Point: r""" @@ -24624,6 +27219,7 @@ class ICplxTrans: @param p The point to transform @return The transformed point """ + ... @overload def trans(self, p: Vector) -> Vector: r""" @@ -24637,6 +27233,7 @@ class ICplxTrans: @param v The vector to transform @return The transformed vector """ + ... @overload def trans(self, path: Path) -> Path: r""" @@ -24649,6 +27246,7 @@ class ICplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def trans(self, polygon: Polygon) -> Polygon: r""" @@ -24661,6 +27259,7 @@ class ICplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def trans(self, text: Text) -> Text: r""" @@ -24673,6 +27272,8 @@ class ICplxTrans: This convenience method has been introduced in version 0.25. """ + ... + ... class IMatrix2d: r""" @@ -24688,12 +27289,14 @@ class IMatrix2d: r""" @brief Create a new Matrix2d representing a unit transformation """ + ... @overload @classmethod def new(cls, m11: float, m12: float, m21: float, m22: float) -> IMatrix2d: r""" @brief Create a new Matrix2d from the four coefficients """ + ... @overload @classmethod def new(cls, m: float) -> IMatrix2d: @@ -24701,6 +27304,7 @@ class IMatrix2d: @brief Create a new Matrix2d representing an isotropic magnification @param m The magnification """ + ... @overload @classmethod def new(cls, mx: float, my: float) -> IMatrix2d: @@ -24709,12 +27313,14 @@ class IMatrix2d: @param mx The magnification in x direction @param my The magnification in y direction """ + ... @overload @classmethod def new(cls, t: DCplxTrans) -> IMatrix2d: r""" @brief Create a new Matrix2d from the given complex transformation@param t The transformation from which to create the matrix (not taking into account the displacement) """ + ... @overload @classmethod def newc(cls, mag: float, rotation: float, mirror: bool) -> IMatrix2d: @@ -24728,6 +27334,7 @@ class IMatrix2d: This constructor is called 'newc' to distinguish it from the constructors taking matrix coefficients ('c' is for composite). The order of execution of the operations is mirror, magnification, rotation (as for complex transformations). """ + ... @overload @classmethod def newc(cls, shear: float, mx: float, my: float, rotation: float, mirror: bool) -> IMatrix2d: @@ -24742,36 +27349,43 @@ class IMatrix2d: The order of execution of the operations is mirror, magnification, shear and rotation. This constructor is called 'newc' to distinguish it from the constructor taking the four matrix coefficients ('c' is for composite). """ + ... def __add__(self, m: IMatrix2d) -> IMatrix2d: r""" @brief Sum of two matrices. @param m The other matrix. @return The (element-wise) sum of self+m """ + ... def __copy__(self) -> IMatrix2d: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> IMatrix2d: r""" @brief Creates a copy of self """ + ... @overload def __init__(self) -> None: r""" @brief Create a new Matrix2d representing a unit transformation """ + ... @overload def __init__(self, m11: float, m12: float, m21: float, m22: float) -> None: r""" @brief Create a new Matrix2d from the four coefficients """ + ... @overload def __init__(self, m: float) -> None: r""" @brief Create a new Matrix2d representing an isotropic magnification @param m The magnification """ + ... @overload def __init__(self, mx: float, my: float) -> None: r""" @@ -24779,11 +27393,13 @@ class IMatrix2d: @param mx The magnification in x direction @param my The magnification in y direction """ + ... @overload def __init__(self, t: DCplxTrans) -> None: r""" @brief Create a new Matrix2d from the given complex transformation@param t The transformation from which to create the matrix (not taking into account the displacement) """ + ... @overload def __mul__(self, box: Box) -> Box: r""" @@ -24793,6 +27409,7 @@ class IMatrix2d: Please note that the box remains a box, even though the matrix supports shear and rotation. The returned box will be the bounding box of the sheared and rotated rectangle. """ + ... @overload def __mul__(self, e: Edge) -> Edge: r""" @@ -24800,6 +27417,7 @@ class IMatrix2d: @param e The edge to transform. @return The transformed edge """ + ... @overload def __mul__(self, m: IMatrix2d) -> IMatrix2d: r""" @@ -24807,6 +27425,7 @@ class IMatrix2d: @param m The other matrix. @return The matrix product self*m """ + ... @overload def __mul__(self, p: Point) -> Point: r""" @@ -24814,6 +27433,7 @@ class IMatrix2d: @param p The point to transform. @return The transformed point """ + ... @overload def __mul__(self, p: Polygon) -> Polygon: r""" @@ -24821,6 +27441,7 @@ class IMatrix2d: @param p The polygon to transform. @return The transformed polygon """ + ... @overload def __mul__(self, p: SimplePolygon) -> SimplePolygon: r""" @@ -24828,6 +27449,7 @@ class IMatrix2d: @param p The simple polygon to transform. @return The transformed simple polygon """ + ... @overload def __mul__(self, v: Vector) -> Vector: r""" @@ -24835,11 +27457,7 @@ class IMatrix2d: @param v The vector to transform. @return The transformed vector """ - def __repr__(self) -> str: - r""" - @brief Convert the matrix to a string. - @return The string representing this matrix - """ + ... @overload def __rmul__(self, box: Box) -> Box: r""" @@ -24849,6 +27467,7 @@ class IMatrix2d: Please note that the box remains a box, even though the matrix supports shear and rotation. The returned box will be the bounding box of the sheared and rotated rectangle. """ + ... @overload def __rmul__(self, e: Edge) -> Edge: r""" @@ -24856,6 +27475,7 @@ class IMatrix2d: @param e The edge to transform. @return The transformed edge """ + ... @overload def __rmul__(self, m: IMatrix2d) -> IMatrix2d: r""" @@ -24863,6 +27483,7 @@ class IMatrix2d: @param m The other matrix. @return The matrix product self*m """ + ... @overload def __rmul__(self, p: Point) -> Point: r""" @@ -24870,6 +27491,7 @@ class IMatrix2d: @param p The point to transform. @return The transformed point """ + ... @overload def __rmul__(self, p: Polygon) -> Polygon: r""" @@ -24877,6 +27499,7 @@ class IMatrix2d: @param p The polygon to transform. @return The transformed polygon """ + ... @overload def __rmul__(self, p: SimplePolygon) -> SimplePolygon: r""" @@ -24884,6 +27507,7 @@ class IMatrix2d: @param p The simple polygon to transform. @return The transformed simple polygon """ + ... @overload def __rmul__(self, v: Vector) -> Vector: r""" @@ -24891,34 +27515,40 @@ class IMatrix2d: @param v The vector to transform. @return The transformed vector """ + ... def __str__(self) -> str: r""" @brief Convert the matrix to a string. @return The string representing this matrix """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -24926,6 +27556,7 @@ class IMatrix2d: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -24933,97 +27564,115 @@ class IMatrix2d: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def angle(self) -> float: r""" @brief Returns the rotation angle of the rotation component of this matrix. @return The angle in degree. The matrix is decomposed into basic transformations assuming an execution order of mirroring at the x axis, rotation, magnification and shear. """ + ... def assign(self, other: IMatrix2d) -> None: r""" @brief Assigns another object to self """ + ... def cplx_trans(self) -> ICplxTrans: r""" @brief Converts this matrix to a complex transformation (if possible). @return The complex transformation. This method is successful only if the matrix does not contain shear components and the magnification must be isotropic. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> IMatrix2d: r""" @brief Creates a copy of self """ + ... def inverted(self) -> IMatrix2d: r""" @brief The inverse of this matrix. @return The inverse of this matrix """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_mirror(self) -> bool: r""" @brief Returns the mirror flag of this matrix. @return True if this matrix has a mirror component. The matrix is decomposed into basic transformations assuming an execution order of mirroring at the x axis, rotation, magnification and shear. """ + ... def m(self, i: int, j: int) -> float: r""" @brief Gets the m coefficient with the given index. @return The coefficient [i,j] """ + ... def m11(self) -> float: r""" @brief Gets the m11 coefficient. @return The value of the m11 coefficient """ + ... def m12(self) -> float: r""" @brief Gets the m12 coefficient. @return The value of the m12 coefficient """ + ... def m21(self) -> float: r""" @brief Gets the m21 coefficient. @return The value of the m21 coefficient """ + ... def m22(self) -> float: r""" @brief Gets the m22 coefficient. @return The value of the m22 coefficient """ + ... def mag_x(self) -> float: r""" @brief Returns the x magnification of the magnification component of this matrix. @return The magnification factor. The matrix is decomposed into basic transformations assuming an execution order of mirroring at the x axis, magnification, shear and rotation. """ + ... def mag_y(self) -> float: r""" @brief Returns the y magnification of the magnification component of this matrix. @return The magnification factor. The matrix is decomposed into basic transformations assuming an execution order of mirroring at the x axis, magnification, shear and rotation. """ + ... def shear_angle(self) -> float: r""" @brief Returns the magnitude of the shear component of this matrix. @@ -25031,17 +27680,21 @@ class IMatrix2d: The matrix is decomposed into basic transformations assuming an execution order of mirroring at the x axis, rotation, magnification and shear. The shear basic transformation will tilt the x axis towards the y axis and vice versa. The shear angle gives the tilt angle of the axes towards the other one. The possible range for this angle is -45 to 45 degree. """ + ... def to_s(self) -> str: r""" @brief Convert the matrix to a string. @return The string representing this matrix """ + ... def trans(self, p: Point) -> Point: r""" @brief Transforms a point with this matrix. @param p The point to transform. @return The transformed point """ + ... + ... class IMatrix3d: r""" @@ -25057,24 +27710,28 @@ class IMatrix3d: r""" @brief Create a new Matrix3d representing a unit transformation """ + ... @overload @classmethod def new(cls, m11: float, m12: float, m13: float, m21: float, m22: float, m23: float, m31: float, m32: float, m33: float) -> IMatrix3d: r""" @brief Create a new Matrix3d from the nine matrix coefficients """ + ... @overload @classmethod def new(cls, m11: float, m12: float, m21: float, m22: float) -> IMatrix3d: r""" @brief Create a new Matrix3d from the four coefficients of a Matrix2d """ + ... @overload @classmethod def new(cls, m11: float, m12: float, m21: float, m22: float, dx: float, dy: float) -> IMatrix3d: r""" @brief Create a new Matrix3d from the four coefficients of a Matrix2d plus a displacement """ + ... @overload @classmethod def new(cls, m: float) -> IMatrix3d: @@ -25082,12 +27739,14 @@ class IMatrix3d: @brief Create a new Matrix3d representing a magnification @param m The magnification """ + ... @overload @classmethod def new(cls, t: ICplxTrans) -> IMatrix3d: r""" @brief Create a new Matrix3d from the given complex transformation@param t The transformation from which to create the matrix """ + ... @overload @classmethod def newc(cls, mag: float, rotation: float, mirrx: bool) -> IMatrix3d: @@ -25100,6 +27759,7 @@ class IMatrix3d: The order of execution of the operations is mirror, magnification and rotation. This constructor is called 'newc' to distinguish it from the constructors taking coefficients ('c' is for composite). """ + ... @overload @classmethod def newc(cls, shear: float, mx: float, my: float, rotation: float, mirrx: bool) -> IMatrix3d: @@ -25114,6 +27774,7 @@ class IMatrix3d: The order of execution of the operations is mirror, magnification, rotation and shear. This constructor is called 'newc' to distinguish it from the constructor taking the four matrix coefficients ('c' is for composite). """ + ... @overload @classmethod def newc(cls, tx: float, ty: float, z: float, u: Vector, shear: float, mx: float, my: float, rotation: float, mirrx: bool) -> IMatrix3d: @@ -25136,6 +27797,7 @@ class IMatrix3d: Starting with version 0.25 the displacement is of vector type. """ + ... @overload @classmethod def newc(cls, u: Vector, shear: float, mx: float, my: float, rotation: float, mirrx: bool) -> IMatrix3d: @@ -25153,51 +27815,61 @@ class IMatrix3d: Starting with version 0.25 the displacement is of vector type. """ + ... def __add__(self, m: IMatrix3d) -> IMatrix3d: r""" @brief Sum of two matrices. @param m The other matrix. @return The (element-wise) sum of self+m """ + ... def __copy__(self) -> IMatrix3d: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> IMatrix3d: r""" @brief Creates a copy of self """ + ... @overload def __init__(self) -> None: r""" @brief Create a new Matrix3d representing a unit transformation """ + ... @overload def __init__(self, m11: float, m12: float, m13: float, m21: float, m22: float, m23: float, m31: float, m32: float, m33: float) -> None: r""" @brief Create a new Matrix3d from the nine matrix coefficients """ + ... @overload def __init__(self, m11: float, m12: float, m21: float, m22: float) -> None: r""" @brief Create a new Matrix3d from the four coefficients of a Matrix2d """ + ... @overload def __init__(self, m11: float, m12: float, m21: float, m22: float, dx: float, dy: float) -> None: r""" @brief Create a new Matrix3d from the four coefficients of a Matrix2d plus a displacement """ + ... @overload def __init__(self, m: float) -> None: r""" @brief Create a new Matrix3d representing a magnification @param m The magnification """ + ... @overload def __init__(self, t: ICplxTrans) -> None: r""" @brief Create a new Matrix3d from the given complex transformation@param t The transformation from which to create the matrix """ + ... @overload def __mul__(self, box: Box) -> Box: r""" @@ -25207,6 +27879,7 @@ class IMatrix3d: Please note that the box remains a box, even though the matrix supports shear and rotation. The returned box will be the bounding box of the sheared and rotated rectangle. """ + ... @overload def __mul__(self, e: Edge) -> Edge: r""" @@ -25214,6 +27887,7 @@ class IMatrix3d: @param e The edge to transform. @return The transformed edge """ + ... @overload def __mul__(self, m: IMatrix3d) -> IMatrix3d: r""" @@ -25221,6 +27895,7 @@ class IMatrix3d: @param m The other matrix. @return The matrix product self*m """ + ... @overload def __mul__(self, p: Point) -> Point: r""" @@ -25228,6 +27903,7 @@ class IMatrix3d: @param p The point to transform. @return The transformed point """ + ... @overload def __mul__(self, p: Polygon) -> Polygon: r""" @@ -25235,6 +27911,7 @@ class IMatrix3d: @param p The polygon to transform. @return The transformed polygon """ + ... @overload def __mul__(self, p: SimplePolygon) -> SimplePolygon: r""" @@ -25242,6 +27919,7 @@ class IMatrix3d: @param p The simple polygon to transform. @return The transformed simple polygon """ + ... @overload def __mul__(self, v: Vector) -> Vector: r""" @@ -25249,11 +27927,7 @@ class IMatrix3d: @param v The vector to transform. @return The transformed vector """ - def __repr__(self) -> str: - r""" - @brief Convert the matrix to a string. - @return The string representing this matrix - """ + ... @overload def __rmul__(self, box: Box) -> Box: r""" @@ -25263,6 +27937,7 @@ class IMatrix3d: Please note that the box remains a box, even though the matrix supports shear and rotation. The returned box will be the bounding box of the sheared and rotated rectangle. """ + ... @overload def __rmul__(self, e: Edge) -> Edge: r""" @@ -25270,6 +27945,7 @@ class IMatrix3d: @param e The edge to transform. @return The transformed edge """ + ... @overload def __rmul__(self, m: IMatrix3d) -> IMatrix3d: r""" @@ -25277,6 +27953,7 @@ class IMatrix3d: @param m The other matrix. @return The matrix product self*m """ + ... @overload def __rmul__(self, p: Point) -> Point: r""" @@ -25284,6 +27961,7 @@ class IMatrix3d: @param p The point to transform. @return The transformed point """ + ... @overload def __rmul__(self, p: Polygon) -> Polygon: r""" @@ -25291,6 +27969,7 @@ class IMatrix3d: @param p The polygon to transform. @return The transformed polygon """ + ... @overload def __rmul__(self, p: SimplePolygon) -> SimplePolygon: r""" @@ -25298,6 +27977,7 @@ class IMatrix3d: @param p The simple polygon to transform. @return The transformed simple polygon """ + ... @overload def __rmul__(self, v: Vector) -> Vector: r""" @@ -25305,34 +27985,40 @@ class IMatrix3d: @param v The vector to transform. @return The transformed vector """ + ... def __str__(self) -> str: r""" @brief Convert the matrix to a string. @return The string representing this matrix """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -25340,6 +28026,7 @@ class IMatrix3d: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -25347,39 +28034,46 @@ class IMatrix3d: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def angle(self) -> float: r""" @brief Returns the rotation angle of the rotation component of this matrix. @return The angle in degree. See the description of this class for details about the basic transformations. """ + ... def assign(self, other: IMatrix3d) -> None: r""" @brief Assigns another object to self """ + ... def cplx_trans(self) -> DCplxTrans: r""" @brief Converts this matrix to a complex transformation (if possible). @return The complex transformation. This method is successful only if the matrix does not contain shear or perspective distortion components and the magnification must be isotropic. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def disp(self) -> Vector: r""" @brief Returns the displacement vector of this transformation. @@ -25387,59 +28081,70 @@ class IMatrix3d: Starting with version 0.25 this method returns a vector type instead of a point. @return The displacement vector. """ + ... def dup(self) -> IMatrix3d: r""" @brief Creates a copy of self """ + ... def inverted(self) -> IMatrix3d: r""" @brief The inverse of this matrix. @return The inverse of this matrix """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_mirror(self) -> bool: r""" @brief Returns the mirror flag of this matrix. @return True if this matrix has a mirror component. See the description of this class for details about the basic transformations. """ + ... def m(self, i: int, j: int) -> float: r""" @brief Gets the m coefficient with the given index. @return The coefficient [i,j] """ + ... def mag_x(self) -> float: r""" @brief Returns the x magnification of the magnification component of this matrix. @return The magnification factor. """ + ... def mag_y(self) -> float: r""" @brief Returns the y magnification of the magnification component of this matrix. @return The magnification factor. """ + ... def shear_angle(self) -> float: r""" @brief Returns the magnitude of the shear component of this matrix. @return The shear angle in degree. The shear basic transformation will tilt the x axis towards the y axis and vice versa. The shear angle gives the tilt angle of the axes towards the other one. The possible range for this angle is -45 to 45 degree.See the description of this class for details about the basic transformations. """ + ... def to_s(self) -> str: r""" @brief Convert the matrix to a string. @return The string representing this matrix """ + ... def trans(self, p: Point) -> Point: r""" @brief Transforms a point with this matrix. @param p The point to transform. @return The transformed point """ + ... def tx(self, z: float) -> float: r""" @brief Returns the perspective tilt angle tx. @@ -25447,6 +28152,7 @@ class IMatrix3d: @return The tilt angle tx. The tx and ty parameters represent the perspective distortion. They denote a tilt of the xy plane around the y axis (tx) or the x axis (ty) in degree. The same effect is achieved for different tilt angles at different observer distances. Hence, the observer distance must be specified at which the tilt angle is computed. If the magnitude of the tilt angle is not important, z can be set to 1. """ + ... def ty(self, z: float) -> float: r""" @brief Returns the perspective tilt angle ty. @@ -25454,6 +28160,8 @@ class IMatrix3d: @return The tilt angle ty. The tx and ty parameters represent the perspective distortion. They denote a tilt of the xy plane around the y axis (tx) or the x axis (ty) in degree. The same effect is achieved for different tilt angles at different observer distances. Hence, the observer distance must be specified at which the tilt angle is computed. If the magnitude of the tilt angle is not important, z can be set to 1. """ + ... + ... class InstElement: r""" @@ -25467,6 +28175,7 @@ class InstElement: r""" @brief Default constructor """ + ... @overload @classmethod def new(cls, inst: Instance) -> InstElement: @@ -25474,6 +28183,7 @@ class InstElement: @brief Create an instance element from a single instance alone Starting with version 0.15, this method takes an \Instance object (an instance reference) as the argument. """ + ... @overload @classmethod def new(cls, inst: Instance, a_index: int, b_index: int) -> InstElement: @@ -25481,81 +28191,96 @@ class InstElement: @brief Create an instance element from an array instance pointing into a certain array member Starting with version 0.15, this method takes an \Instance object (an instance reference) as the first argument. """ + ... @classmethod def new_i(cls, inst: Instance) -> InstElement: r""" @brief Create an instance element from a single instance alone Starting with version 0.15, this method takes an \Instance object (an instance reference) as the argument. """ + ... @classmethod def new_iab(cls, inst: Instance, a_index: int, b_index: int) -> InstElement: r""" @brief Create an instance element from an array instance pointing into a certain array member Starting with version 0.15, this method takes an \Instance object (an instance reference) as the first argument. """ + ... def __copy__(self) -> InstElement: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> InstElement: r""" @brief Creates a copy of self """ + ... def __eq__(self, b: object) -> bool: r""" @brief Equality of two InstElement objects Note: this operator returns true if both instance elements refer to the same instance, not just identical ones. """ + ... @overload def __init__(self) -> None: r""" @brief Default constructor """ + ... @overload def __init__(self, inst: Instance) -> None: r""" @brief Create an instance element from a single instance alone Starting with version 0.15, this method takes an \Instance object (an instance reference) as the argument. """ + ... @overload def __init__(self, inst: Instance, a_index: int, b_index: int) -> None: r""" @brief Create an instance element from an array instance pointing into a certain array member Starting with version 0.15, this method takes an \Instance object (an instance reference) as the first argument. """ + ... def __lt__(self, b: InstElement) -> bool: r""" @brief Provides an order criterion for two InstElement objects Note: this operator is just provided to establish any order, not a particular one. """ + ... def __ne__(self, b: object) -> bool: r""" @brief Inequality of two InstElement objects See the comments on the == operator. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -25563,6 +28288,7 @@ class InstElement: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -25570,6 +28296,7 @@ class InstElement: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def array_member_trans(self) -> Trans: r""" @brief Returns the transformation for this array member @@ -25577,37 +28304,44 @@ class InstElement: The array member transformation is the one applicable in addition to the global transformation for the member selected from an array. If this instance is not an array instance, the specific transformation is a unit transformation without displacement. """ + ... def assign(self, other: InstElement) -> None: r""" @brief Assigns another object to self """ + ... def cell_inst(self) -> CellInstArray: r""" @brief Accessor to the cell instance (array). This method is equivalent to "self.inst.cell_inst" and provided for convenience. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> InstElement: r""" @brief Creates a copy of self """ + ... def ia(self) -> int: r""" @brief Returns the 'a' axis index for array instances @@ -25616,6 +28350,7 @@ class InstElement: This method has been introduced in version 0.25. """ + ... def ib(self) -> int: r""" @brief Returns the 'b' axis index for array instances @@ -25624,24 +28359,28 @@ class InstElement: This method has been introduced in version 0.25. """ + ... def inst(self) -> Instance: r""" @brief Gets the \Instance object held in this instance path element. This method has been added in version 0.24. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def prop_id(self) -> int: r""" @brief Accessor to the property attached to this instance. This method is equivalent to "self.inst.prop_id" and provided for convenience. """ + ... def specific_cplx_trans(self) -> ICplxTrans: r""" @brief Returns the specific complex transformation for this instance @@ -25649,6 +28388,7 @@ class InstElement: The specific transformation is the one applicable for the member selected from an array. This is the effective transformation applied for this array member. \array_member_trans gives the transformation applied additionally to the instances' global transformation (in other words, specific_cplx_trans = array_member_trans * cell_inst.cplx_trans). """ + ... def specific_trans(self) -> Trans: r""" @brief Returns the specific transformation for this instance @@ -25657,6 +28397,8 @@ class InstElement: This is the effective transformation applied for this array member. \array_member_trans gives the transformation applied additionally to the instances' global transformation (in other words, specific_trans = array_member_trans * cell_inst.trans). This method delivers a simple transformation that does not include magnification components. To get these as well, use \specific_cplx_trans. """ + ... + ... class Instance: r""" @@ -25678,11 +28420,11 @@ class Instance: Starting with version 0.25 the displacement is of vector type. Setter: - @brief Sets the displacement vector for the 'a' axis + @brief Sets the displacement vector for the 'a' axis in micrometer units - If the instance was not an array instance before it is made one. + Like \a= with an integer displacement, this method will set the displacement vector but it accepts a vector in micrometer units that is of \DVector type. The vector will be translated to database units internally. - This method has been introduced in version 0.23. Starting with version 0.25 the displacement is of vector type. + This method has been introduced in version 0.25. """ b: Vector r""" @@ -25691,11 +28433,11 @@ class Instance: Starting with version 0.25 the displacement is of vector type. Setter: - @brief Sets the displacement vector for the 'b' axis + @brief Sets the displacement vector for the 'b' axis in micrometer units - If the instance was not an array instance before it is made one. + Like \b= with an integer displacement, this method will set the displacement vector but it accepts a vector in micrometer units that is of \DVector type. The vector will be translated to database units internally. - This method has been introduced in version 0.23. Starting with version 0.25 the displacement is of vector type. + This method has been introduced in version 0.25. """ cell: Cell r""" @@ -25727,10 +28469,10 @@ class Instance: Getter: @brief Gets the basic \CellInstArray object associated with this instance reference. Setter: - @brief Changes the \CellInstArray object to the given one. - This method replaces the instance by the given CellInstArray object. + @brief Returns the basic cell instance array object by giving a micrometer unit object. + This method replaces the instance by the given CellInstArray object and it internally transformed into database units. - This method has been introduced in version 0.22 + This method has been introduced in version 0.25 """ cplx_trans: ICplxTrans r""" @@ -25879,85 +28621,94 @@ class Instance: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> Instance: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> Instance: r""" @brief Creates a copy of self """ + ... def __eq__(self, b: object) -> bool: r""" @brief Tests for equality of two Instance objects See the hint on the < operator. """ + ... def __getitem__(self, key: Any) -> Any: r""" @brief Gets the user property with the given key or, if available, the PCell parameter with the name given by the key Getting the PCell parameter has priority over the user property. This method has been introduced in version 0.25. """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def __len__(self) -> int: r""" @brief Gets the number of single instances in the instance array If the instance represents a single instance, the count is 1. Otherwise it is na*nb. """ + ... def __lt__(self, b: Instance) -> bool: r""" @brief Provides an order criterion for two Instance objects Warning: this operator is just provided to establish any order, not a particular one. """ + ... def __ne__(self, b: object) -> bool: r""" @brief Tests for inequality of two Instance objects Warning: this operator returns true if both objects refer to the same instance, not just identical ones. """ - def __repr__(self) -> str: - r""" - @brief Creates a string showing the contents of the reference - - This method has been introduced with version 0.16. - """ + ... def __setitem__(self, key: Any, value: Any) -> None: r""" @brief Sets the user property with the given key or, if available, the PCell parameter with the name given by the key Setting the PCell parameter has priority over the user property. This method has been introduced in version 0.25. """ + ... def __str__(self) -> str: r""" @brief Creates a string showing the contents of the reference This method has been introduced with version 0.16. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -25965,6 +28716,7 @@ class Instance: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -25972,10 +28724,12 @@ class Instance: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: Instance) -> None: r""" @brief Assigns another object to self """ + ... @overload def bbox(self) -> Box: r""" @@ -25983,6 +28737,7 @@ class Instance: The bounding box incorporates all instances that the array represents. It gives the overall extension of the child cell as seen in the calling cell (or all array members if the instance forms an array). This method has been introduced in version 0.23. """ + ... @overload def bbox(self, layer_index: int) -> Box: r""" @@ -25991,6 +28746,7 @@ class Instance: The bounding box incorporates all instances that the array represents. It gives the overall extension of the child cell as seen in the calling cell (or all array members if the instance forms an array) for the given layer. If the layer is empty in this cell and all its children', an empty bounding box will be returned. This method has been introduced in version 0.25. 'bbox' is the preferred synonym for it since version 0.28. """ + ... def bbox_per_layer(self, layer_index: int) -> Box: r""" @brief Gets the bounding box of the instance for a given layer @@ -25998,6 +28754,7 @@ class Instance: The bounding box incorporates all instances that the array represents. It gives the overall extension of the child cell as seen in the calling cell (or all array members if the instance forms an array) for the given layer. If the layer is empty in this cell and all its children', an empty bounding box will be returned. This method has been introduced in version 0.25. 'bbox' is the preferred synonym for it since version 0.28. """ + ... def change_pcell_parameter(self, name: str, value: Any) -> None: r""" @brief Changes a single parameter of a PCell instance to the given value @@ -26006,6 +28763,7 @@ class Instance: This method has been introduced in version 0.24. """ + ... @overload def change_pcell_parameters(self, dict: Dict[str, Any]) -> None: r""" @@ -26016,6 +28774,7 @@ class Instance: This method has been introduced in version 0.24. """ + ... @overload def change_pcell_parameters(self, params: Sequence[Any]) -> None: r""" @@ -26026,6 +28785,7 @@ class Instance: . This method has been introduced in version 0.24. """ + ... def convert_to_static(self) -> None: r""" @brief Converts a PCell instance to a static cell @@ -26034,11 +28794,13 @@ class Instance: This method has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... @overload def dbbox(self) -> DBox: r""" @@ -26047,6 +28809,7 @@ class Instance: This method has been introduced in version 0.25. """ + ... @overload def dbbox(self, layer_index: int) -> DBox: r""" @@ -26056,6 +28819,7 @@ class Instance: This method has been introduced in version 0.25. 'dbbox' is the preferred synonym for it since version 0.28. """ + ... def dbbox_per_layer(self, layer_index: int) -> DBox: r""" @brief Gets the bounding box of the instance in micron units @@ -26064,6 +28828,7 @@ class Instance: This method has been introduced in version 0.25. 'dbbox' is the preferred synonym for it since version 0.28. """ + ... def delete(self) -> None: r""" @brief Deletes this instance @@ -26072,6 +28837,7 @@ class Instance: This method has been introduced in version 0.23. """ + ... def delete_property(self, key: Any) -> None: r""" @brief Deletes the user property with the given key @@ -26080,22 +28846,26 @@ class Instance: This method has been introduced in version 0.22. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> Instance: r""" @brief Creates a copy of self """ + ... def explode(self) -> None: r""" @brief Explodes the instance array @@ -26105,6 +28875,7 @@ class Instance: This method has been introduced in version 0.23. """ + ... @overload def flatten(self) -> None: r""" @@ -26115,6 +28886,7 @@ class Instance: This method has been introduced in version 0.24. """ + ... @overload def flatten(self, levels: int) -> None: r""" @@ -26125,10 +28897,12 @@ class Instance: This method has been introduced in version 0.24. """ + ... def has_prop_id(self) -> bool: r""" @brief Returns true, if the instance has properties """ + ... def is_complex(self) -> bool: r""" @brief Tests, if the array is a complex array @@ -26136,26 +28910,31 @@ class Instance: Returns true if the array represents complex instances (that is, with magnification and arbitrary rotation angles). """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_null(self) -> bool: r""" @brief Checks, if the instance is a valid one """ + ... def is_pcell(self) -> bool: r""" @brief Returns a value indicating whether the instance is a PCell instance This method has been introduced in version 0.24. """ + ... def is_regular_array(self) -> bool: r""" @brief Tests, if this instance is a regular array """ + ... def is_valid(self) -> bool: r""" @brief Tests if the \Instance object is still pointing to a valid instance @@ -26163,13 +28942,7 @@ class Instance: This method has been introduced in version 0.23 and is a shortcut for "inst.cell.is_valid?(inst)". """ - @overload - def layout(self) -> Layout: - r""" - @brief Gets the layout this instance is contained in - - This method has been introduced in version 0.22. - """ + ... @overload def layout(self) -> Layout: r""" @@ -26177,6 +28950,15 @@ class Instance: This const version of the method has been introduced in version 0.25. """ + ... + @overload + def layout(self) -> Layout: + r""" + @brief Gets the layout this instance is contained in + + This method has been introduced in version 0.22. + """ + ... def pcell_declaration(self) -> PCellDeclaration_Native: r""" @brief Returns the PCell declaration object @@ -26184,6 +28966,7 @@ class Instance: If the instance is a PCell instance, this method returns the PCell declaration object for that PCell. If not, this method will return nil. This method has been introduced in version 0.24. """ + ... def pcell_parameter(self, name: str) -> Any: r""" @brief Gets a PCell parameter by the name of the parameter @@ -26191,6 +28974,7 @@ class Instance: This method has been introduced in version 0.25. """ + ... def pcell_parameters(self) -> List[Any]: r""" @brief Gets the parameters of a PCell instance as a list of values @@ -26201,6 +28985,7 @@ class Instance: This method has been introduced in version 0.24. """ + ... def pcell_parameters_by_name(self) -> Dict[str, Any]: r""" @brief Gets the parameters of a PCell instance as a dictionary of values vs. names @@ -26210,12 +28995,14 @@ class Instance: This method has been introduced in version 0.24. """ + ... def property(self, key: Any) -> Any: r""" @brief Gets the user property with the given key This method is a convenience method that gets the property with the given key. If no property with that key exists, it will return nil. Using that method is more convenient than using the layout object and the properties ID to retrieve the property value. This method has been introduced in version 0.22. """ + ... def set_property(self, key: Any, value: Any) -> None: r""" @brief Sets the user property with the given key to the given value @@ -26224,11 +29011,13 @@ class Instance: This method has been introduced in version 0.22. """ + ... def size(self) -> int: r""" @brief Gets the number of single instances in the instance array If the instance represents a single instance, the count is 1. Otherwise it is na*nb. """ + ... @overload def to_s(self) -> str: r""" @@ -26236,6 +29025,7 @@ class Instance: This method has been introduced with version 0.16. """ + ... @overload def to_s(self, with_cellname: bool) -> str: r""" @@ -26245,6 +29035,7 @@ class Instance: This method has been introduced with version 0.23. """ + ... @overload def transform(self, t: DCplxTrans) -> None: r""" @@ -26253,6 +29044,7 @@ class Instance: This method has been introduced in version 0.25. """ + ... @overload def transform(self, t: DTrans) -> None: r""" @@ -26261,6 +29053,7 @@ class Instance: This method has been introduced in version 0.25. """ + ... @overload def transform(self, t: ICplxTrans) -> None: r""" @@ -26269,6 +29062,7 @@ class Instance: This method has been introduced in version 0.23. """ + ... @overload def transform(self, t: Trans) -> None: r""" @@ -26277,6 +29071,7 @@ class Instance: This method has been introduced in version 0.23. """ + ... @overload def transform_into(self, t: DCplxTrans) -> None: r""" @@ -26285,6 +29080,7 @@ class Instance: This method has been introduced in version 0.25. """ + ... @overload def transform_into(self, t: DTrans) -> None: r""" @@ -26293,6 +29089,7 @@ class Instance: This method has been introduced in version 0.25. """ + ... @overload def transform_into(self, t: ICplxTrans) -> None: r""" @@ -26301,6 +29098,7 @@ class Instance: This method has been introduced in version 0.23. """ + ... @overload def transform_into(self, t: Trans) -> None: r""" @@ -26309,6 +29107,8 @@ class Instance: This method has been introduced in version 0.23. """ + ... + ... class LEFDEFReaderConfiguration: r""" @@ -26377,6 +29177,7 @@ class LEFDEFReaderConfiguration: @brief Sets a value indicating whether to use paths relative to cwd (true) or DEF file (false) for map or LEF files This write-only attribute has been introduced in version 0.27.9. """ + ... fills_datatype: int r""" Getter: @@ -27017,41 +29818,49 @@ class LEFDEFReaderConfiguration: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> LEFDEFReaderConfiguration: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> LEFDEFReaderConfiguration: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -27059,6 +29868,7 @@ class LEFDEFReaderConfiguration: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -27066,10 +29876,12 @@ class LEFDEFReaderConfiguration: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: LEFDEFReaderConfiguration) -> None: r""" @brief Assigns another object to self """ + ... def clear_fill_datatypes_per_mask(self) -> None: r""" @brief Clears the fill layer datatypes per mask. @@ -27078,6 +29890,7 @@ class LEFDEFReaderConfiguration: Mask specific rules have been introduced in version 0.27. """ + ... def clear_fills_suffixes_per_mask(self) -> None: r""" @brief Clears the fill layer name suffix per mask. @@ -27086,6 +29899,7 @@ class LEFDEFReaderConfiguration: Mask specific rules have been introduced in version 0.27. """ + ... def clear_lef_pins_datatypes_per_mask(self) -> None: r""" @brief Clears the LEF pin layer datatypes per mask. @@ -27094,6 +29908,7 @@ class LEFDEFReaderConfiguration: Mask specific rules have been introduced in version 0.27. """ + ... def clear_lef_pins_suffixes_per_mask(self) -> None: r""" @brief Clears the LEF pin layer name suffix per mask. @@ -27102,6 +29917,7 @@ class LEFDEFReaderConfiguration: Mask specific rules have been introduced in version 0.27. """ + ... def clear_pin_datatypes_per_mask(self) -> None: r""" @brief Clears the pin layer datatypes per mask. @@ -27110,6 +29926,7 @@ class LEFDEFReaderConfiguration: Mask specific rules have been introduced in version 0.27. """ + ... def clear_pins_suffixes_per_mask(self) -> None: r""" @brief Clears the pin layer name suffix per mask. @@ -27118,6 +29935,7 @@ class LEFDEFReaderConfiguration: Mask specific rules have been introduced in version 0.27. """ + ... def clear_routing_datatypes_per_mask(self) -> None: r""" @brief Clears the routing layer datatypes per mask. @@ -27126,6 +29944,7 @@ class LEFDEFReaderConfiguration: Mask specific rules have been introduced in version 0.27. """ + ... def clear_routing_suffixes_per_mask(self) -> None: r""" @brief Clears the routing layer name suffix per mask. @@ -27134,6 +29953,7 @@ class LEFDEFReaderConfiguration: Mask specific rules have been introduced in version 0.27. """ + ... def clear_special_routing_datatypes_per_mask(self) -> None: r""" @brief Clears the special routing layer datatypes per mask. @@ -27142,6 +29962,7 @@ class LEFDEFReaderConfiguration: Mask specific rules have been introduced in version 0.27. """ + ... def clear_special_routing_suffixes_per_mask(self) -> None: r""" @brief Clears the special routing layer name suffix per mask. @@ -27150,6 +29971,7 @@ class LEFDEFReaderConfiguration: Mask specific rules have been introduced in version 0.27. """ + ... def clear_via_geometry_datatypes_per_mask(self) -> None: r""" @brief Clears the via geometry layer datatypes per mask. @@ -27158,6 +29980,7 @@ class LEFDEFReaderConfiguration: Mask specific rules have been introduced in version 0.27. """ + ... def clear_via_geometry_suffixes_per_mask(self) -> None: r""" @brief Clears the via geometry layer name suffix per mask. @@ -27166,27 +29989,32 @@ class LEFDEFReaderConfiguration: Mask specific rules have been introduced in version 0.27. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> LEFDEFReaderConfiguration: r""" @brief Creates a copy of self """ + ... def fills_suffix_per_mask(self, mask: int) -> str: r""" @brief Gets the fill geometry layer name suffix per mask. @@ -27194,12 +30022,14 @@ class LEFDEFReaderConfiguration: Mask specific rules have been introduced in version 0.27. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def lef_pins_suffix_per_mask(self, mask: int) -> str: r""" @brief Gets the LEF pin geometry layer name suffix per mask. @@ -27207,6 +30037,7 @@ class LEFDEFReaderConfiguration: Mask specific rules have been introduced in version 0.27. """ + ... def pins_suffix_per_mask(self, mask: int) -> str: r""" @brief Gets the pin geometry layer name suffix per mask. @@ -27214,6 +30045,7 @@ class LEFDEFReaderConfiguration: Mask specific rules have been introduced in version 0.27. """ + ... def routing_suffix_per_mask(self, mask: int) -> str: r""" @brief Gets the routing geometry layer name suffix per mask. @@ -27221,6 +30053,7 @@ class LEFDEFReaderConfiguration: Mask specific rules have been introduced in version 0.27. """ + ... def set_fills_datatype_per_mask(self, mask: int, datatype: int) -> None: r""" @brief Sets the fill geometry layer datatype value. @@ -27228,6 +30061,7 @@ class LEFDEFReaderConfiguration: Mask specific rules have been introduced in version 0.27. """ + ... def set_fills_suffix_per_mask(self, mask: int, suffix: str) -> None: r""" @brief Sets the fill geometry layer name suffix per mask. @@ -27235,6 +30069,7 @@ class LEFDEFReaderConfiguration: Mask specific rules have been introduced in version 0.27. """ + ... def set_lef_pins_datatype_per_mask(self, mask: int, datatype: int) -> None: r""" @brief Sets the LEF pin geometry layer datatype value. @@ -27242,6 +30077,7 @@ class LEFDEFReaderConfiguration: Mask specific rules have been introduced in version 0.27. """ + ... def set_lef_pins_suffix_per_mask(self, mask: int, suffix: str) -> None: r""" @brief Sets the LEF pin geometry layer name suffix per mask. @@ -27249,6 +30085,7 @@ class LEFDEFReaderConfiguration: Mask specific rules have been introduced in version 0.27. """ + ... def set_pins_datatype_per_mask(self, mask: int, datatype: int) -> None: r""" @brief Sets the pin geometry layer datatype value. @@ -27256,6 +30093,7 @@ class LEFDEFReaderConfiguration: Mask specific rules have been introduced in version 0.27. """ + ... def set_pins_suffix_per_mask(self, mask: int, suffix: str) -> None: r""" @brief Sets the pin geometry layer name suffix per mask. @@ -27263,6 +30101,7 @@ class LEFDEFReaderConfiguration: Mask specific rules have been introduced in version 0.27. """ + ... def set_routing_datatype_per_mask(self, mask: int, datatype: int) -> None: r""" @brief Sets the routing geometry layer datatype value. @@ -27270,6 +30109,7 @@ class LEFDEFReaderConfiguration: Mask specific rules have been introduced in version 0.27. """ + ... def set_routing_suffix_per_mask(self, mask: int, suffix: str) -> None: r""" @brief Sets the routing geometry layer name suffix per mask. @@ -27277,6 +30117,7 @@ class LEFDEFReaderConfiguration: Mask specific rules have been introduced in version 0.27. """ + ... def set_special_routing_datatype_per_mask(self, mask: int, datatype: int) -> None: r""" @brief Sets the special routing geometry layer datatype value. @@ -27284,6 +30125,7 @@ class LEFDEFReaderConfiguration: Mask specific rules have been introduced in version 0.27. """ + ... def set_special_routing_suffix_per_mask(self, mask: int, suffix: str) -> None: r""" @brief Sets the special routing geometry layer name suffix per mask. @@ -27291,6 +30133,7 @@ class LEFDEFReaderConfiguration: Mask specific rules have been introduced in version 0.27. """ + ... def set_via_geometry_datatype_per_mask(self, mask: int, datatype: int) -> None: r""" @brief Sets the via geometry layer datatype value. @@ -27299,6 +30142,7 @@ class LEFDEFReaderConfiguration: Mask specific rules have been introduced in version 0.27. """ + ... def set_via_geometry_suffix_per_mask(self, mask: int, suffix: str) -> None: r""" @brief Sets the via geometry layer name suffix per mask. @@ -27307,6 +30151,7 @@ class LEFDEFReaderConfiguration: Mask specific rules have been introduced in version 0.27. """ + ... def special_routing_suffix_per_mask(self, mask: int) -> str: r""" @brief Gets the special routing geometry layer name suffix per mask. @@ -27314,6 +30159,7 @@ class LEFDEFReaderConfiguration: Mask specific rules have been introduced in version 0.27. """ + ... def via_geometry_suffix_per_mask(self, mask: int) -> str: r""" @brief Gets the via geometry layer name suffix per mask. @@ -27322,6 +30168,8 @@ class LEFDEFReaderConfiguration: Mask specific rules have been introduced in version 0.27. """ + ... + ... class LayerInfo: r""" @@ -27373,6 +30221,7 @@ class LayerInfo: This method was added in version 0.23. The 'as_target' argument has been added in version 0.26.5. """ + ... @overload @classmethod def new(cls) -> LayerInfo: @@ -27382,6 +30231,7 @@ class LayerInfo: This method was added in version 0.18. """ + ... @overload @classmethod def new(cls, layer: int, datatype: int) -> LayerInfo: @@ -27393,6 +30243,7 @@ class LayerInfo: This method was added in version 0.18. """ + ... @overload @classmethod def new(cls, layer: int, datatype: int, name: str) -> LayerInfo: @@ -27405,6 +30256,7 @@ class LayerInfo: This method was added in version 0.18. """ + ... @overload @classmethod def new(cls, name: str) -> LayerInfo: @@ -27415,14 +30267,17 @@ class LayerInfo: This method was added in version 0.18. """ + ... def __copy__(self) -> LayerInfo: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> LayerInfo: r""" @brief Creates a copy of self """ + ... def __eq__(self, b: object) -> bool: r""" @brief Compares two layer info objects @@ -27430,6 +30285,7 @@ class LayerInfo: This method was added in version 0.18. """ + ... def __hash__(self) -> int: r""" @brief Computes a hash value @@ -27437,6 +30293,7 @@ class LayerInfo: This method has been introduced in version 0.25. """ + ... @overload def __init__(self) -> None: r""" @@ -27445,6 +30302,7 @@ class LayerInfo: This method was added in version 0.18. """ + ... @overload def __init__(self, layer: int, datatype: int) -> None: r""" @@ -27455,6 +30313,7 @@ class LayerInfo: This method was added in version 0.18. """ + ... @overload def __init__(self, layer: int, datatype: int, name: str) -> None: r""" @@ -27466,6 +30325,7 @@ class LayerInfo: This method was added in version 0.18. """ + ... @overload def __init__(self, name: str) -> None: r""" @@ -27475,6 +30335,7 @@ class LayerInfo: This method was added in version 0.18. """ + ... def __ne__(self, b: object) -> bool: r""" @brief Compares two layer info objects @@ -27482,16 +30343,7 @@ class LayerInfo: This method was added in version 0.18. """ - def __repr__(self, as_target: Optional[bool] = ...) -> str: - r""" - @brief Convert the layer info object to a string - @return The string - - If 'as_target' is true, wildcard and relative specifications are formatted such such. - - This method was added in version 0.18. - The 'as_target' argument has been added in version 0.26.5. - """ + ... def __str__(self, as_target: Optional[bool] = ...) -> str: r""" @brief Convert the layer info object to a string @@ -27502,29 +30354,34 @@ class LayerInfo: This method was added in version 0.18. The 'as_target' argument has been added in version 0.26.5. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -27532,6 +30389,7 @@ class LayerInfo: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -27539,6 +30397,7 @@ class LayerInfo: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def anonymous(self) -> bool: r""" @brief Returns true, if the layer has no specification (i.e. is created by the default constructor). @@ -27546,31 +30405,37 @@ class LayerInfo: This method was added in version 0.23. """ + ... def assign(self, other: LayerInfo) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> LayerInfo: r""" @brief Creates a copy of self """ + ... def hash(self) -> int: r""" @brief Computes a hash value @@ -27578,12 +30443,14 @@ class LayerInfo: This method has been introduced in version 0.25. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_equivalent(self, b: LayerInfo) -> bool: r""" @brief Equivalence of two layer info objects @@ -27610,6 +30477,7 @@ class LayerInfo: This method was added in version 0.18 and modified to compare non-named vs. named layers in version 0.28.11. """ + ... def is_named(self) -> bool: r""" @brief Returns true, if the layer is purely specified by name. @@ -27617,6 +30485,7 @@ class LayerInfo: This method was added in version 0.18. """ + ... def to_s(self, as_target: Optional[bool] = ...) -> str: r""" @brief Convert the layer info object to a string @@ -27627,6 +30496,8 @@ class LayerInfo: This method was added in version 0.18. The 'as_target' argument has been added in version 0.26.5. """ + ... + ... class LayerMap: r""" @@ -27686,46 +30557,55 @@ class LayerMap: This method has been introduced in version 0.23. """ + ... @classmethod def new(cls) -> LayerMap: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> LayerMap: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> LayerMap: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -27733,6 +30613,7 @@ class LayerMap: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -27740,59 +30621,70 @@ class LayerMap: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: LayerMap) -> None: r""" @brief Assigns another object to self """ + ... def clear(self) -> None: r""" @brief Clears the map """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> LayerMap: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_mapped(self, layer: LayerInfo) -> bool: r""" @brief Check, if a given physical layer is mapped @param layer The physical layer specified with an \LayerInfo object. @return True, if the layer is mapped. """ + ... def logical(self, layer: LayerInfo) -> int: r""" @brief Returns the logical layer (the layer index in the layout object) for a given physical layer.n@param layer The physical layer specified with an \LayerInfo object. @return The logical layer index or -1 if the layer is not mapped. This method is deprecated with version 0.27 as in this version, layers can be mapped to multiple targets which this method can't capture. Use \logicals instead. """ + ... def logicals(self, layer: LayerInfo) -> List[int]: r""" @brief Returns the logical layers for a given physical layer.n@param layer The physical layer specified with an \LayerInfo object. @return This list of logical layers this physical layer as mapped to or empty if there is no mapping. This method has been introduced in version 0.27. """ + ... @overload def map(self, map_expr: str, log_layer: Optional[int] = ...) -> None: r""" @@ -27826,6 +30718,7 @@ class LayerMap: Target mapping has been added in version 0.20. The logical layer is optional since version 0.28. """ + ... @overload def map(self, phys_layer: LayerInfo, log_layer: int) -> None: r""" @@ -27836,6 +30729,7 @@ class LayerMap: In general, there may be more than one physical layer mapped to one logical layer. This method will add the given physical layer to the mapping for the logical layer. """ + ... @overload def map(self, phys_layer: LayerInfo, log_layer: int, target_layer: LayerInfo) -> None: r""" @@ -27849,6 +30743,7 @@ class LayerMap: This method has been added in version 0.20. """ + ... @overload def map(self, pl_start: LayerInfo, pl_stop: LayerInfo, log_layer: int) -> None: r""" @@ -27859,6 +30754,7 @@ class LayerMap: This method maps an interval of layers l1..l2 and datatypes d1..d2 to the mapping for the given logical layer. l1 and d1 are given by the pl_start argument, while l2 and d2 are given by the pl_stop argument. """ + ... @overload def map(self, pl_start: LayerInfo, pl_stop: LayerInfo, log_layer: int, layer_properties: LayerInfo) -> None: r""" @@ -27871,6 +30767,7 @@ class LayerMap: This method maps an interval of layers l1..l2 and datatypes d1..d2 to the mapping for the given logical layer. l1 and d1 are given by the pl_start argument, while l2 and d2 are given by the pl_stop argument. This method has been added in version 0.20. """ + ... def mapping(self, log_layer: int) -> LayerInfo: r""" @brief Returns the mapped physical (or target if one is specified) layer for a given logical layer @@ -27880,6 +30777,7 @@ class LayerMap: to one logical layer. This method will return a single one of them. It will return the one with the lowest layer and datatype. """ + ... def mapping_str(self, log_layer: int) -> str: r""" @brief Returns the mapping string for a given logical layer @@ -27887,6 +30785,7 @@ class LayerMap: @return A string describing the mapping. The mapping string is compatible with the string that the "map" method accepts. """ + ... @overload def mmap(self, map_expr: str, log_layer: Optional[int] = ...) -> None: r""" @@ -27899,6 +30798,7 @@ class LayerMap: Multi-mapping has been added in version 0.27. The logical layer is optional since version 0.28. """ + ... @overload def mmap(self, phys_layer: LayerInfo, log_layer: int) -> None: r""" @@ -27909,6 +30809,7 @@ class LayerMap: Multi-mapping has been added in version 0.27. """ + ... @overload def mmap(self, phys_layer: LayerInfo, log_layer: int, target_layer: LayerInfo) -> None: r""" @@ -27919,6 +30820,7 @@ class LayerMap: Multi-mapping has been added in version 0.27. """ + ... @overload def mmap(self, pl_start: LayerInfo, pl_stop: LayerInfo, log_layer: int) -> None: r""" @@ -27929,6 +30831,7 @@ class LayerMap: Multi-mapping has been added in version 0.27. """ + ... @overload def mmap(self, pl_start: LayerInfo, pl_stop: LayerInfo, log_layer: int, layer_properties: LayerInfo) -> None: r""" @@ -27939,6 +30842,7 @@ class LayerMap: Multi-mapping has been added in version 0.27. """ + ... def to_string(self) -> str: r""" @brief Converts a layer mapping object to a string @@ -27946,12 +30850,14 @@ class LayerMap: This method has been introduced in version 0.23. """ + ... @overload def unmap(self, expr: str) -> None: r""" @brief Unmaps the layers from the given expression This method has been introduced in version 0.27. """ + ... @overload def unmap(self, phys_layer: LayerInfo) -> None: r""" @@ -27960,12 +30866,15 @@ class LayerMap: This method has been introduced in version 0.27. """ + ... @overload def unmap(self, pl_start: LayerInfo, pl_stop: LayerInfo) -> None: r""" @brief Unmaps the layers from the given interval This method has been introduced in version 0.27. """ + ... + ... class LayerMapping: r""" @@ -28000,41 +30909,49 @@ class LayerMapping: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> LayerMapping: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> LayerMapping: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -28042,6 +30959,7 @@ class LayerMapping: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -28049,14 +30967,17 @@ class LayerMapping: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: LayerMapping) -> None: r""" @brief Assigns another object to self """ + ... def clear(self) -> None: r""" @brief Clears the mapping. """ + ... def create(self, layout_a: Layout, layout_b: Layout) -> None: r""" @brief Initialize the layer mapping from two layouts @@ -28067,6 +30988,7 @@ class LayerMapping: The layer mapping is created by looking up each layer of layout_b in layout_a. All layers with matching specifications (\LayerInfo) are mapped. Layouts without a layer/datatype/name specification will not be mapped. \create_full is a version of this method which creates new layers in layout_a if no corresponding layer is found. """ + ... def create_full(self, layout_a: Layout, layout_b: Layout) -> List[int]: r""" @brief Initialize the layer mapping from two layouts @@ -28078,22 +31000,26 @@ class LayerMapping: The layer mapping is created by looking up each layer of layout_b in layout_a. All layers with matching specifications (\LayerInfo) are mapped. Layouts without a layer/datatype/name specification will not be mapped. Layers with a valid specification which are not found in layout_a are created there. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> LayerMapping: r""" @brief Creates a copy of self """ + ... def has_mapping(self, layer_index_b: int) -> bool: r""" @brief Determine if a layer in layout_b has a mapping to a layout_a layer. @@ -28102,12 +31028,14 @@ class LayerMapping: @param layer_index_b The index of the layer in layout_b whose mapping is requested. @return true, if the layer has a mapping """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def layer_mapping(self, layer_index_b: int) -> int: r""" @brief Determine layer mapping of a layout_b layer to the corresponding layout_a layer. @@ -28116,6 +31044,7 @@ class LayerMapping: @param layer_index_b The index of the layer in layout_b whose mapping is requested. @return The corresponding layer in layout_a. """ + ... def map(self, layer_index_b: int, layer_index_a: int) -> None: r""" @brief Explicitly specify a mapping. @@ -28126,6 +31055,7 @@ class LayerMapping: Beside using the mapping generator algorithms provided through \create and \create_full, it is possible to explicitly specify layer mappings using this method. """ + ... def table(self) -> Dict[int, int]: r""" @brief Returns the mapping table. @@ -28134,6 +31064,8 @@ class LayerMapping: This method has been introduced in version 0.25. """ + ... + ... class Layout: r""" @@ -28210,6 +31142,7 @@ class Layout: Starting with version 0.25, layouts created with the default constructor are always editable. Before that version, they inherited the editable flag from the application. """ + ... @overload @classmethod def new(cls, editable: bool) -> Layout: @@ -28220,6 +31153,7 @@ class Layout: This method was introduced in version 0.22. """ + ... @overload @classmethod def new(cls, editable: bool, manager: Manager) -> Layout: @@ -28230,6 +31164,7 @@ class Layout: This method was introduced in version 0.22. """ + ... @overload @classmethod def new(cls, manager: Manager) -> Layout: @@ -28240,14 +31175,17 @@ class Layout: Starting with version 0.25, layouts created with the default constructor are always editable. Before that version, they inherited the editable flag from the application. """ + ... def __copy__(self) -> Layout: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> Layout: r""" @brief Creates a copy of self """ + ... @overload def __init__(self) -> None: r""" @@ -28255,6 +31193,7 @@ class Layout: Starting with version 0.25, layouts created with the default constructor are always editable. Before that version, they inherited the editable flag from the application. """ + ... @overload def __init__(self, editable: bool) -> None: r""" @@ -28264,6 +31203,7 @@ class Layout: This method was introduced in version 0.22. """ + ... @overload def __init__(self, editable: bool, manager: Manager) -> None: r""" @@ -28273,6 +31213,7 @@ class Layout: This method was introduced in version 0.22. """ + ... @overload def __init__(self, manager: Manager) -> None: r""" @@ -28282,29 +31223,34 @@ class Layout: Starting with version 0.25, layouts created with the default constructor are always editable. Before that version, they inherited the editable flag from the application. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -28312,6 +31258,7 @@ class Layout: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -28319,6 +31266,7 @@ class Layout: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def add_cell(self, name: str) -> int: r""" @brief Adds a cell with the given name @@ -28326,6 +31274,7 @@ class Layout: From version 0.23 on this method is deprecated because another method exists which is more convenient because is returns a \Cell object (\create_cell). """ + ... def add_lib_cell(self, library: Library, lib_cell_index: int) -> int: r""" @brief Imports a cell from the library @@ -28339,12 +31288,14 @@ class Layout: This method has been introduced in version 0.22. """ + ... def add_meta_info(self, info: LayoutMetaInfo) -> None: r""" @brief Adds meta information to the layout See \LayoutMetaInfo for details about layouts and meta information. This method has been introduced in version 0.25. """ + ... @overload def add_pcell_variant(self, library: Library, pcell_id: int, parameters: Dict[str, Any]) -> int: r""" @@ -28365,6 +31316,7 @@ class Layout: This method has been introduced in version 0.22. """ + ... @overload def add_pcell_variant(self, library: Library, pcell_id: int, parameters: Sequence[Any]) -> int: r""" @@ -28382,6 +31334,7 @@ class Layout: This method has been introduced in version 0.22. """ + ... @overload def add_pcell_variant(self, pcell_id: int, parameters: Dict[str, Any]) -> int: r""" @@ -28402,6 +31355,7 @@ class Layout: This method has been introduced in version 0.22. """ + ... @overload def add_pcell_variant(self, pcell_id: int, parameters: Sequence[Any]) -> int: r""" @@ -28419,10 +31373,12 @@ class Layout: This method has been introduced in version 0.22. """ + ... def assign(self, other: Layout) -> None: r""" @brief Assigns another object to self """ + ... @overload def begin_shapes(self, cell: Cell, layer: int) -> RecursiveShapeIterator: r""" @@ -28438,6 +31394,7 @@ class Layout: This method has been added in version 0.24. """ + ... @overload def begin_shapes(self, cell_index: int, layer: int) -> RecursiveShapeIterator: r""" @@ -28452,6 +31409,7 @@ class Layout: This method has been added in version 0.18. """ + ... @overload def begin_shapes_overlapping(self, cell: Cell, layer: int, region: DBox) -> RecursiveShapeIterator: r""" @@ -28469,6 +31427,7 @@ class Layout: This variant has been added in version 0.25. """ + ... @overload def begin_shapes_overlapping(self, cell_index: Cell, layer: int, region: Box) -> RecursiveShapeIterator: r""" @@ -28486,6 +31445,7 @@ class Layout: This method has been added in version 0.24. """ + ... @overload def begin_shapes_overlapping(self, cell_index: int, layer: int, region: Box) -> RecursiveShapeIterator: r""" @@ -28502,6 +31462,7 @@ class Layout: This method has been added in version 0.18. """ + ... @overload def begin_shapes_overlapping(self, cell_index: int, layer: int, region: DBox) -> RecursiveShapeIterator: r""" @@ -28518,6 +31479,7 @@ class Layout: This variant has been added in version 0.25. """ + ... @overload def begin_shapes_touching(self, cell: Cell, layer: int, region: Box) -> RecursiveShapeIterator: r""" @@ -28535,6 +31497,7 @@ class Layout: This method has been added in version 0.24. """ + ... @overload def begin_shapes_touching(self, cell: Cell, layer: int, region: DBox) -> RecursiveShapeIterator: r""" @@ -28552,6 +31515,7 @@ class Layout: This variant has been added in version 0.25. """ + ... @overload def begin_shapes_touching(self, cell_index: int, layer: int, region: Box) -> RecursiveShapeIterator: r""" @@ -28568,6 +31532,7 @@ class Layout: This method has been added in version 0.18. """ + ... @overload def begin_shapes_touching(self, cell_index: int, layer: int, region: DBox) -> RecursiveShapeIterator: r""" @@ -28584,6 +31549,7 @@ class Layout: This variant has been added in version 0.25. """ + ... @overload def cell(self, i: int) -> Cell: r""" @@ -28594,6 +31560,7 @@ class Layout: If the cell index is not a valid cell index, this method will raise an error. Use \is_valid_cell_index? to test whether a given cell index is valid. """ + ... @overload def cell(self, name: str) -> Cell: r""" @@ -28605,16 +31572,19 @@ class Layout: If name is not a valid cell name, this method will return "nil". This method has been introduced in version 0.23 and replaces \cell_by_name. """ + ... def cell_by_name(self, name: str) -> int: r""" @brief Gets the cell index for a given name Returns the cell index for the cell with the given name. If no cell with this name exists, an exception is thrown. From version 0.23 on, a version of the \cell method is provided which returns a \Cell object for the cell with the given name or "nil" if the name is not valid. This method replaces \cell_by_name and \has_cell? """ + ... def cell_name(self, index: int) -> str: r""" @brief Gets the name for a cell with the given index """ + ... @overload def cells(self) -> int: r""" @@ -28622,6 +31592,7 @@ class Layout: @return The number of cells (the maximum cell index) """ + ... @overload def cells(self, name_filter: str) -> List[Cell]: r""" @@ -28632,6 +31603,7 @@ class Layout: This method has been introduced in version 0.27.3. """ + ... def cleanup(self, cell_indexes_to_keep: Optional[Sequence[int]] = ...) -> None: r""" @brief Cleans up the layout @@ -28641,18 +31613,21 @@ class Layout: This method has been introduced in version 0.25. """ + ... def clear(self) -> None: r""" @brief Clears the layout Clears the layout completely. """ + ... def clear_all_meta_info(self) -> None: r""" @brief Clears all meta information of the layout (cell specific and global) See \LayoutMetaInfo for details about layouts and meta information. This method has been introduced in version 0.28.16. """ + ... @overload def clear_layer(self, layer_index: int) -> None: r""" @@ -28664,6 +31639,7 @@ class Layout: @param layer_index The index of the layer to delete. """ + ... @overload def clear_layer(self, layer_index: int, flags: int) -> None: r""" @@ -28676,12 +31652,14 @@ class Layout: @param layer_index The index of the layer to delete. @param flags The type selector for the shapes to delete (see \Shapes class, S... constants). """ + ... def clear_meta_info(self) -> None: r""" @brief Clears the meta information of the layout See \LayoutMetaInfo for details about layouts and meta information. This method has been introduced in version 0.28.8. """ + ... @overload def clip(self, cell: Cell, box: Box) -> Cell: r""" @@ -28692,6 +31670,7 @@ class Layout: This variant which takes cell references instead of cell indexes has been added in version 0.28. """ + ... @overload def clip(self, cell: Cell, box: DBox) -> Cell: r""" @@ -28702,6 +31681,7 @@ class Layout: This variant which takes a micrometer-unit box and cell references has been added in version 0.28. """ + ... @overload def clip(self, cell: int, box: Box) -> int: r""" @@ -28713,6 +31693,7 @@ class Layout: This method will cut a rectangular region given by the box from the given cell. The clip will be stored in a new cell whose index is returned. The clip will be performed hierarchically. The resulting cell will hold a hierarchy of child cells, which are potentially clipped versions of child cells of the original cell. This method has been added in version 0.21. """ + ... @overload def clip(self, cell: int, box: DBox) -> int: r""" @@ -28723,6 +31704,7 @@ class Layout: This variant which takes a micrometer-unit box has been added in version 0.28. """ + ... @overload def clip_into(self, cell: Cell, target: Layout, box: Box) -> Cell: r""" @@ -28734,6 +31716,7 @@ class Layout: This variant which takes cell references instead of cell indexes has been added in version 0.28. """ + ... @overload def clip_into(self, cell: Cell, target: Layout, box: DBox) -> Cell: r""" @@ -28745,6 +31728,7 @@ class Layout: This variant which takes a micrometer-unit box and cell references has been added in version 0.28. """ + ... @overload def clip_into(self, cell: int, target: Layout, box: Box) -> int: r""" @@ -28759,6 +31743,7 @@ class Layout: Please note that it is important that the database unit of the target layout is identical to the database unit of the source layout to achieve the desired results.This method also assumes that the target layout holds the same layers than the source layout. It will copy shapes to the same layers than they have been on the original layout. This method has been added in version 0.21. """ + ... @overload def clip_into(self, cell: int, target: Layout, box: DBox) -> int: r""" @@ -28770,6 +31755,7 @@ class Layout: This variant which takes a micrometer-unit box has been added in version 0.28. """ + ... def convert_cell_to_static(self, cell_index: int) -> int: r""" @brief Converts a PCell or library cell to a usual (static) cell @@ -28778,6 +31764,7 @@ class Layout: This method has been added in version 0.23. """ + ... @overload def copy_layer(self, src: int, dest: int) -> None: r""" @@ -28791,6 +31778,7 @@ class Layout: This method was introduced in version 0.19. """ + ... @overload def copy_layer(self, src: int, dest: int, flags: int) -> None: r""" @@ -28805,6 +31793,7 @@ class Layout: This method variant has been introduced in version 0.28.9. """ + ... @overload def copy_meta_info(self, other: Layout) -> None: r""" @@ -28814,6 +31803,7 @@ class Layout: This method has been introduced in version 0.28.16. """ + ... @overload def copy_meta_info(self, other: Layout, cm: CellMapping) -> None: r""" @@ -28825,6 +31815,7 @@ class Layout: This method has been introduced in version 0.28.16. """ + ... @overload def copy_tree_shapes(self, source_layout: Layout, cell_mapping: CellMapping) -> None: r""" @@ -28836,6 +31827,7 @@ class Layout: This method has been added in version 0.26.8. """ + ... @overload def copy_tree_shapes(self, source_layout: Layout, cell_mapping: CellMapping, layer_mapping: LayerMapping) -> None: r""" @@ -28848,11 +31840,13 @@ class Layout: This method has been added in version 0.26.8. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... @overload def create_cell(self, name: str) -> Cell: r""" @@ -28864,6 +31858,7 @@ class Layout: This method has been introduce in version 0.23 and replaces \add_cell. """ + ... @overload def create_cell(self, name: str, lib_name: str) -> Cell: r""" @@ -28881,6 +31876,7 @@ class Layout: This method has been introduce in version 0.24. """ + ... @overload def create_cell(self, pcell_name: str, lib_name: str, params: Dict[str, Any]) -> Cell: r""" @@ -28896,6 +31892,7 @@ class Layout: This method has been introduce in version 0.24. """ + ... @overload def create_cell(self, pcell_name: str, params: Dict[str, Any]) -> Cell: r""" @@ -28914,6 +31911,7 @@ class Layout: This method has been introduce in version 0.24. """ + ... def delete_cell(self, cell_index: int) -> None: r""" @brief Deletes a cell @@ -28929,6 +31927,7 @@ class Layout: This method has been introduced in version 0.20. """ + ... def delete_cell_rec(self, cell_index: int) -> None: r""" @brief Deletes a cell plus all subcells @@ -28940,6 +31939,7 @@ class Layout: This method has been introduced in version 0.20. """ + ... def delete_cells(self, cell_index_list: Sequence[int]) -> None: r""" @brief Deletes multiple cells @@ -28953,6 +31953,7 @@ class Layout: This method has been introduced in version 0.20. """ + ... def delete_layer(self, layer_index: int) -> None: r""" @brief Deletes a layer @@ -28962,6 +31963,7 @@ class Layout: @param layer_index The index of the layer to delete. """ + ... def delete_property(self, key: Any) -> None: r""" @brief Deletes the user property with the given key @@ -28970,30 +31972,36 @@ class Layout: This method has been introduced in version 0.24. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dump_mem_statistics(self, detailed: Optional[bool] = ...) -> None: r""" @hide """ + ... def dup(self) -> Layout: r""" @brief Creates a copy of self """ + ... def each_cell(self) -> Iterator[Cell]: r""" @brief Iterates the unsorted cell list """ + ... def each_cell_bottom_up(self) -> Iterator[int]: r""" @brief Iterates the bottom-up sorted cell list @@ -29003,6 +32011,7 @@ class Layout: The bottom-up iterator does not deliver cells but cell indices actually. """ + ... def each_cell_top_down(self) -> Iterator[int]: r""" @brief Iterates the top-down sorted cell list @@ -29014,6 +32023,7 @@ class Layout: indices actually. @brief begin iterator of the top-down sorted cell list """ + ... def each_meta_info(self) -> Iterator[LayoutMetaInfo]: r""" @brief Iterates over the meta information of the layout @@ -29021,15 +32031,18 @@ class Layout: This method has been introduced in version 0.25. """ + ... def each_top_cell(self) -> Iterator[int]: r""" @brief Iterates the top cells A layout may have an arbitrary number of top cells. The usual case however is that there is one top cell. """ + ... def end_changes(self) -> None: r""" @brief Cancels the "in changes" state (see "start_changes") """ + ... def error_layer(self) -> int: r""" @brief Returns the index of the error layer @@ -29037,6 +32050,7 @@ class Layout: This method has been added in version 0.23.13. """ + ... @overload def find_layer(self, info: LayerInfo) -> Any: r""" @@ -29057,6 +32071,7 @@ class Layout: This method has been introduced in version 0.23 and has been extended to name queries in version 0.28.11. """ + ... @overload def find_layer(self, layer: int, datatype: int) -> Any: r""" @@ -29066,6 +32081,7 @@ class Layout: This method has been introduced in version 0.23. """ + ... @overload def find_layer(self, layer: int, datatype: int, name: str) -> Any: r""" @@ -29075,6 +32091,7 @@ class Layout: This method has been introduced in version 0.23. """ + ... @overload def find_layer(self, name: str) -> Any: r""" @@ -29093,6 +32110,7 @@ class Layout: This method has been introduced in version 0.23 and has been extended to name queries in version 0.28.11. """ + ... def flatten(self, cell_index: int, levels: int, prune: bool) -> None: r""" @brief Flattens the given cell @@ -29107,6 +32125,7 @@ class Layout: This method has been introduced in version 0.20. """ + ... def flatten_into(self, source_cell_index: int, target_cell_index: int, trans: ICplxTrans, levels: int) -> None: r""" @brief Flattens the given cell into another cell @@ -29122,11 +32141,13 @@ class Layout: This method has been introduced in version 0.24. """ + ... def get_info(self, index: int) -> LayerInfo: r""" @brief Gets the info structure for a specified layer If the layer index is not a valid layer index, an empty LayerProperties object will be returned. """ + ... def guiding_shape_layer(self) -> int: r""" @brief Returns the index of the guiding shape layer @@ -29134,17 +32155,20 @@ class Layout: This method has been added in version 0.22. """ + ... def has_cell(self, name: str) -> bool: r""" @brief Returns true if a cell with a given name exists Returns true, if the layout has a cell with the given name """ + ... def has_prop_id(self) -> bool: r""" @brief Returns true, if the layout has user properties This method has been introduced in version 0.24. """ + ... @overload def insert(self, cell_index: int, layer: int, edge_pairs: EdgePairs) -> None: r""" @@ -29154,6 +32178,7 @@ class Layout: This method has been introduced in version 0.27. """ + ... @overload def insert(self, cell_index: int, layer: int, edges: Edges) -> None: r""" @@ -29163,6 +32188,7 @@ class Layout: This method has been introduced in version 0.26. """ + ... @overload def insert(self, cell_index: int, layer: int, region: Region) -> None: r""" @@ -29172,6 +32198,7 @@ class Layout: This method has been introduced in version 0.26. """ + ... @overload def insert(self, cell_index: int, layer: int, texts: Texts) -> None: r""" @@ -29181,16 +32208,19 @@ class Layout: This method has been introduced in version 0.27. """ + ... def insert_layer(self, props: LayerInfo) -> int: r""" @brief Inserts a new layer with the given properties @return The index of the newly created layer """ + ... def insert_layer_at(self, index: int, props: LayerInfo) -> None: r""" @brief Inserts a new layer with the given properties at the given index This method will associate the given layer info with the given layer index. If a layer with that index already exists, this method will change the properties of the layer with that index. Otherwise a new layer is created. """ + ... def insert_special_layer(self, props: LayerInfo) -> int: r""" @brief Inserts a new special layer with the given properties @@ -29199,18 +32229,21 @@ class Layout: @return The index of the newly created layer """ + ... def insert_special_layer_at(self, index: int, props: LayerInfo) -> None: r""" @brief Inserts a new special layer with the given properties at the given index See \insert_special_layer for a description of special layers. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_editable(self) -> bool: r""" @brief Returns a value indicating whether the layout is editable. @@ -29219,6 +32252,7 @@ class Layout: This method has been introduced in version 0.22. """ + ... def is_free_layer(self, layer_index: int) -> bool: r""" @brief Returns true, if a layer index is a free (unused) layer index @@ -29227,12 +32261,14 @@ class Layout: This method has been introduced in version 0.26. """ + ... def is_special_layer(self, layer_index: int) -> bool: r""" @brief Returns true, if a layer index is a special layer index @return true, if this is the case """ + ... def is_valid_cell_index(self, cell_index: int) -> bool: r""" @brief Returns true, if a cell index is a valid index @@ -29240,12 +32276,14 @@ class Layout: @return true, if this is the case This method has been added in version 0.20. """ + ... def is_valid_layer(self, layer_index: int) -> bool: r""" @brief Returns true, if a layer index is a valid normal layout layer index @return true, if this is the case """ + ... @overload def layer(self) -> int: r""" @@ -29258,6 +32296,7 @@ class Layout: This method has been introduced in version 0.25. """ + ... @overload def layer(self, info: LayerInfo) -> int: r""" @@ -29267,6 +32306,7 @@ class Layout: This method has been introduced in version 0.23. """ + ... @overload def layer(self, layer: int, datatype: int) -> int: r""" @@ -29276,6 +32316,7 @@ class Layout: This method has been introduced in version 0.23. """ + ... @overload def layer(self, layer: int, datatype: int, name: str) -> int: r""" @@ -29285,6 +32326,7 @@ class Layout: This method has been introduced in version 0.23. """ + ... @overload def layer(self, name: str) -> int: r""" @@ -29294,6 +32336,7 @@ class Layout: This method has been introduced in version 0.23. """ + ... def layer_indexes(self) -> List[int]: r""" @brief Gets a list of valid layer's indices @@ -29301,6 +32344,7 @@ class Layout: This method has been introduced in version 0.19. """ + ... def layer_indices(self) -> List[int]: r""" @brief Gets a list of valid layer's indices @@ -29308,6 +32352,7 @@ class Layout: This method has been introduced in version 0.19. """ + ... def layer_infos(self) -> List[LayerInfo]: r""" @brief Gets a list of valid layer's properties @@ -29316,16 +32361,19 @@ class Layout: This method has been introduced in version 0.25. """ + ... def layers(self) -> int: r""" @brief Returns the number of layers The number of layers reports the maximum (plus 1) layer index used so far. Not all of the layers with an index in the range of 0 to layers-1 needs to be a valid layer. These layers can be either valid, special or unused. Use \is_valid_layer? and \is_special_layer? to test for the first two states. """ + ... def library(self) -> Library: r""" @brief Gets the library this layout lives in or nil if the layout is not part of a library This attribute has been introduced in version 0.27.5. """ + ... @overload def merge_meta_info(self, other: Layout) -> None: r""" @@ -29336,6 +32384,7 @@ class Layout: This method has been introduced in version 0.28.16. """ + ... @overload def merge_meta_info(self, other: Layout, cm: CellMapping) -> None: r""" @@ -29348,6 +32397,7 @@ class Layout: This method has been introduced in version 0.28.16. """ + ... def meta_info(self, name: str) -> LayoutMetaInfo: r""" @brief Gets the meta information for a given name @@ -29357,6 +32407,7 @@ class Layout: This method has been introduced in version 0.28.8. """ + ... def meta_info_value(self, name: str) -> Any: r""" @brief Gets the meta information value for a given name @@ -29367,6 +32418,7 @@ class Layout: This method has been introduced in version 0.25. Starting with version 0.28.8, the value is of variant type instead of string only. """ + ... @overload def move_layer(self, src: int, dest: int) -> None: r""" @@ -29380,6 +32432,7 @@ class Layout: This method was introduced in version 0.19. """ + ... @overload def move_layer(self, src: int, dest: int, flags: int) -> None: r""" @@ -29394,6 +32447,7 @@ class Layout: This method variant has been introduced in version 0.28.9. """ + ... @overload def move_tree_shapes(self, source_layout: Layout, cell_mapping: CellMapping) -> None: r""" @@ -29403,6 +32457,7 @@ class Layout: This method has been added in version 0.26.8. """ + ... @overload def move_tree_shapes(self, source_layout: Layout, cell_mapping: CellMapping, layer_mapping: LayerMapping) -> None: r""" @@ -29412,6 +32467,7 @@ class Layout: This method has been added in version 0.26.8. """ + ... @overload def multi_clip(self, cell: Cell, boxes: Sequence[Box]) -> List[Cell]: r""" @@ -29422,6 +32478,7 @@ class Layout: This variant which takes cell references has been added in version 0.28. """ + ... @overload def multi_clip(self, cell: Cell, boxes: Sequence[DBox]) -> List[Cell]: r""" @@ -29432,6 +32489,7 @@ class Layout: This variant which takes cell references and micrometer-unit boxes has been added in version 0.28. """ + ... @overload def multi_clip(self, cell: int, boxes: Sequence[Box]) -> List[int]: r""" @@ -29444,6 +32502,7 @@ class Layout: This method has been added in version 0.21. """ + ... @overload def multi_clip(self, cell: int, boxes: Sequence[DBox]) -> List[int]: r""" @@ -29454,6 +32513,7 @@ class Layout: This variant which takes micrometer-unit boxes has been added in version 0.28. """ + ... @overload def multi_clip_into(self, cell: Cell, target: Layout, boxes: Sequence[Box]) -> List[Cell]: r""" @@ -29465,6 +32525,7 @@ class Layout: This variant which takes cell references boxes has been added in version 0.28. """ + ... @overload def multi_clip_into(self, cell: Cell, target: Layout, boxes: Sequence[DBox]) -> List[Cell]: r""" @@ -29476,6 +32537,7 @@ class Layout: This variant which takes cell references and micrometer-unit boxes has been added in version 0.28. """ + ... @overload def multi_clip_into(self, cell: int, target: Layout, boxes: Sequence[Box]) -> List[int]: r""" @@ -29491,6 +32553,7 @@ class Layout: This method has been added in version 0.21. """ + ... @overload def multi_clip_into(self, cell: int, target: Layout, boxes: Sequence[DBox]) -> List[int]: r""" @@ -29502,6 +32565,7 @@ class Layout: This variant which takes micrometer-unit boxes has been added in version 0.28. """ + ... @overload def pcell_declaration(self, name: str) -> PCellDeclaration_Native: r""" @@ -29515,6 +32579,7 @@ class Layout: This method has been introduced in version 0.22. """ + ... @overload def pcell_declaration(self, pcell_id: int) -> PCellDeclaration_Native: r""" @@ -29529,6 +32594,7 @@ class Layout: This method has been introduced in version 0.22. """ + ... def pcell_id(self, name: str) -> int: r""" @brief Gets the ID of the PCell with the given name @@ -29536,6 +32602,7 @@ class Layout: This method has been introduced in version 0.22. """ + ... def pcell_ids(self) -> List[int]: r""" @brief Gets the IDs of the PCells registered in the layout @@ -29543,6 +32610,7 @@ class Layout: This method has been introduced in version 0.24. """ + ... def pcell_names(self) -> List[str]: r""" @brief Gets the names of the PCells registered in the layout @@ -29550,6 +32618,7 @@ class Layout: This method has been introduced in version 0.24. """ + ... def properties(self, properties_id: int) -> List[Any]: r""" @brief Gets the properties set for a given properties ID @@ -29560,6 +32629,7 @@ class Layout: @param properties_id The properties ID to get the properties for @return The array of variants (see \properties_id) """ + ... def properties_id(self, properties: Sequence[Any]) -> int: r""" @brief Gets the properties ID for a given properties set @@ -29570,12 +32640,14 @@ class Layout: @param properties The array of pairs of variants (both elements can be integer, double or string) @return The unique properties ID for that set """ + ... def property(self, key: Any) -> Any: r""" @brief Gets the user property with the given key This method is a convenience method that gets the property with the given key. If no property with that key exists, it will return nil. Using that method is more convenient than using the properties ID to retrieve the property value. This method has been introduced in version 0.24. """ + ... def prune_cell(self, cell_index: int, levels: int) -> None: r""" @brief Deletes a cell plus subcells not used otherwise @@ -29589,6 +32661,7 @@ class Layout: This method has been introduced in version 0.20. """ + ... def prune_subcells(self, cell_index: int, levels: int) -> None: r""" @brief Deletes all sub cells of the cell which are not used otherwise down to the specified level of hierarchy @@ -29602,6 +32675,7 @@ class Layout: This method has been introduced in version 0.20. """ + ... @overload def read(self, filename: str) -> LayerMap: r""" @@ -29611,6 +32685,7 @@ class Layout: @return A layer map that contains the mapping used by the reader including the layers that have been created. This method has been added in version 0.18. """ + ... @overload def read(self, filename: str, options: LoadLayoutOptions) -> LayerMap: r""" @@ -29620,6 +32695,7 @@ class Layout: @return A layer map that contains the mapping used by the reader including the layers that have been created. This method has been added in version 0.18. """ + ... def refresh(self) -> None: r""" @brief Calls \Cell#refresh on all cells inside this layout @@ -29627,6 +32703,7 @@ class Layout: This method has been introduced in version 0.27.9. """ + ... def register_pcell(self, name: str, declaration: PCellDeclaration_Native) -> int: r""" @brief Registers a PCell declaration under the given name @@ -29635,18 +32712,21 @@ class Layout: This method has been introduced in version 0.22. """ + ... def remove_meta_info(self, name: str) -> None: r""" @brief Removes meta information from the layout See \LayoutMetaInfo for details about layouts and meta information. This method has been introduced in version 0.25. """ + ... def rename_cell(self, index: int, name: str) -> None: r""" @brief Renames the cell with given index The cell with the given index is renamed to the given name. NOTE: it is not ensured that the name is unique. This method allows assigning identical names to different cells which usually breaks things. Consider using \unique_cell_name to generate truely unique names. """ + ... @overload def scale_and_snap(self, cell: Cell, grid: int, mult: int, div: int) -> None: r""" @@ -29658,6 +32738,7 @@ class Layout: This method has been introduced in version 0.26.1. """ + ... @overload def scale_and_snap(self, cell_index: int, grid: int, mult: int, div: int) -> None: r""" @@ -29667,10 +32748,12 @@ class Layout: This method has been introduced in version 0.26.1. """ + ... def set_info(self, index: int, props: LayerInfo) -> None: r""" @brief Sets the info structure for a specified layer """ + ... def set_property(self, key: Any, value: Any) -> None: r""" @brief Sets the user property with the given key to the given value @@ -29678,6 +32761,7 @@ class Layout: This method may change the properties ID. Note: GDS only supports integer keys. OASIS supports numeric and string keys. This method has been introduced in version 0.24. """ + ... def start_changes(self) -> None: r""" @brief Signals the start of an operation bringing the layout into invalid state @@ -29700,6 +32784,7 @@ class Layout: While the layout is under construction \update can be called to update the internal state explicitly if required. This for example might be necessary to update the cell bounding boxes or to redo the sorting for region queries. """ + ... def swap_layers(self, a: int, b: int) -> None: r""" @brief Swap two layers @@ -29711,11 +32796,13 @@ class Layout: @param a The first of the layers to swap. @param b The second of the layers to swap. """ + ... def technology(self) -> Technology: r""" @brief Gets the \Technology object of the technology this layout is associated with or nil if the layout is not associated with a technology This method has been introduced in version 0.27. Before that, the technology has been kept in the 'technology' meta data element. """ + ... def top_cell(self) -> Cell: r""" @brief Returns the top cell object @@ -29726,6 +32813,7 @@ class Layout: This method has been introduced in version 0.23. """ + ... def top_cells(self) -> List[Cell]: r""" @brief Returns the top cell objects @@ -29735,6 +32823,7 @@ class Layout: This method has been introduced in version 0.23. """ + ... @overload def transform(self, trans: DCplxTrans) -> None: r""" @@ -29743,6 +32832,7 @@ class Layout: This method has been introduced in version 0.23. """ + ... @overload def transform(self, trans: DTrans) -> None: r""" @@ -29751,6 +32841,7 @@ class Layout: This variant has been introduced in version 0.25. """ + ... @overload def transform(self, trans: ICplxTrans) -> None: r""" @@ -29758,6 +32849,7 @@ class Layout: This method has been introduced in version 0.23. """ + ... @overload def transform(self, trans: Trans) -> None: r""" @@ -29765,6 +32857,7 @@ class Layout: This method has been introduced in version 0.23. """ + ... def under_construction(self) -> bool: r""" @brief Returns true if the layout object is under construction @@ -29773,6 +32866,7 @@ class Layout: is ongoing or the layout is brought into invalid state by "start_changes". """ + ... def unique_cell_name(self, name: str) -> str: r""" @brief Creates a new unique cell name from the given name @@ -29784,18 +32878,21 @@ class Layout: This method has been introduced in version 0.28. """ + ... def update(self) -> None: r""" @brief Updates the internals of the layout This method updates the internal state of the layout. Usually this is done automatically This method is provided to ensure this explicitly. This can be useful while using \start_changes and \end_changes to wrap a performance-critical operation. See \start_changes for more details. """ + ... @overload def write(self, filename: str) -> None: r""" @brief Writes the layout to a stream file @param filename The file to which to write the layout """ + ... @overload def write(self, filename: str, gzip: bool, options: SaveLayoutOptions) -> None: r""" @@ -29806,6 +32903,7 @@ class Layout: Starting with version 0.23, this variant is deprecated since the more convenient variant with two parameters automatically determines the compression mode from the file name. The gzip parameter is ignored staring with version 0.23. """ + ... @overload def write(self, filename: str, options: SaveLayoutOptions) -> None: r""" @@ -29817,6 +32915,8 @@ class Layout: This variant has been introduced in version 0.23. """ + ... + ... class LayoutDiff: r""" @@ -30311,41 +33411,49 @@ class LayoutDiff: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> LayoutDiff: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> LayoutDiff: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -30353,6 +33461,7 @@ class LayoutDiff: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -30360,20 +33469,24 @@ class LayoutDiff: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: LayoutDiff) -> None: r""" @brief Assigns another object to self """ + ... def cell_a(self) -> Cell: r""" @brief Gets the current cell for the first layout This attribute is the current cell and is set after \on_begin_cell and reset after \on_end_cell. """ + ... def cell_b(self) -> Cell: r""" @brief Gets the current cell for the second layout This attribute is the current cell and is set after \on_begin_cell and reset after \on_end_cell. """ + ... @overload def compare(self, a: Cell, b: Cell, flags: Optional[int] = ..., tolerance: Optional[int] = ...) -> bool: r""" @@ -30390,6 +33503,7 @@ class LayoutDiff: @return True, if the cells are identical """ + ... @overload def compare(self, a: Layout, b: Layout, flags: Optional[int] = ..., tolerance: Optional[int] = ...) -> bool: r""" @@ -30406,61 +33520,74 @@ class LayoutDiff: @return True, if the layouts are identical """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> LayoutDiff: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def layer_index_a(self) -> int: r""" @brief Gets the current layer for the first layout This attribute is the current cell and is set after \on_begin_layer and reset after \on_end_layer. """ + ... def layer_index_b(self) -> int: r""" @brief Gets the current layer for the second layout This attribute is the current cell and is set after \on_begin_layer and reset after \on_end_layer. """ + ... def layer_info_a(self) -> LayerInfo: r""" @brief Gets the current layer properties for the first layout This attribute is the current cell and is set after \on_begin_layer and reset after \on_end_layer. """ + ... def layer_info_b(self) -> LayerInfo: r""" @brief Gets the current layer properties for the second layout This attribute is the current cell and is set after \on_begin_layer and reset after \on_end_layer. """ + ... def layout_a(self) -> Layout: r""" @brief Gets the first layout the difference detector runs on """ + ... def layout_b(self) -> Layout: r""" @brief Gets the second layout the difference detector runs on """ + ... + ... class LayoutMetaInfo: r""" @@ -30546,14 +33673,17 @@ class LayoutMetaInfo: The 'persisted' attribute has been introduced in version 0.28.8. """ + ... def __copy__(self) -> LayoutMetaInfo: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> LayoutMetaInfo: r""" @brief Creates a copy of self """ + ... def __init__(self, name: str, value: Any, description: Optional[str] = ..., persisted: Optional[bool] = ...) -> None: r""" @brief Creates a layout meta info object @@ -30564,29 +33694,34 @@ class LayoutMetaInfo: The 'persisted' attribute has been introduced in version 0.28.8. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -30594,6 +33729,7 @@ class LayoutMetaInfo: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -30601,42 +33737,51 @@ class LayoutMetaInfo: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: LayoutMetaInfo) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> LayoutMetaInfo: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_persisted(self) -> bool: r""" @brief Gets a value indicating whether the meta information will be persisted This predicate was introduced in version 0.28.8. """ + ... + ... class LayoutQuery: r""" @@ -30663,33 +33808,39 @@ class LayoutQuery: r""" @brief Creates a new query object from the given query string """ + ... def __init__(self, query: str) -> None: r""" @brief Creates a new query object from the given query string """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -30697,6 +33848,7 @@ class LayoutQuery: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -30704,23 +33856,27 @@ class LayoutQuery: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def each(self, layout: Layout, context: Optional[tl.ExpressionContext] = ...) -> Iterator[LayoutQueryIterator]: r""" @brief Executes the query and delivered the results iteratively. @@ -30728,6 +33884,7 @@ class LayoutQuery: The context argument allows supplying an expression execution context. This context can be used for example to supply variables for the execution. It has been added in version 0.26. """ + ... def execute(self, layout: Layout, context: Optional[tl.ExpressionContext] = ...) -> None: r""" @brief Executes the query @@ -30739,17 +33896,21 @@ class LayoutQuery: The context argument allows supplying an expression execution context. This context can be used for example to supply variables for the execution. It has been added in version 0.26. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def property_names(self) -> List[str]: r""" @brief Gets a list of property names available. The list of properties available from the query depends on the nature of the query. This method allows detection of the properties available. Within the query, all of these properties can be obtained from the query iterator using \LayoutQueryIterator#get. """ + ... + ... class LayoutQueryIterator: r""" @@ -30764,33 +33925,39 @@ class LayoutQueryIterator: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -30798,6 +33965,7 @@ class LayoutQueryIterator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -30805,39 +33973,47 @@ class LayoutQueryIterator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def cell(self) -> Any: r""" @brief A shortcut for 'get("cell")' """ + ... def cell_index(self) -> Any: r""" @brief A shortcut for 'get("cell_index")' """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def data(self) -> Any: r""" @brief A shortcut for 'get("data")' """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dtrans(self) -> Any: r""" @brief A shortcut for 'get("dtrans")' """ + ... def get(self, name: str) -> Any: r""" @brief Gets the query property with the given name @@ -30846,60 +34022,75 @@ class LayoutQueryIterator: If a property with the given name is not available, nil will be returned. """ + ... def initial_cell(self) -> Any: r""" @brief A shortcut for 'get("initial_cell")' """ + ... def initial_cell_index(self) -> Any: r""" @brief A shortcut for 'get("initial_cell_index")' """ + ... def inst(self) -> Any: r""" @brief A shortcut for 'get("inst")' """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def layer_index(self) -> Any: r""" @brief A shortcut for 'get("layer_index")' """ + ... def layout(self) -> Layout: r""" @brief Gets the layout the query acts on """ + ... def parent_cell(self) -> Any: r""" @brief A shortcut for 'get("parent_cell")' """ + ... def parent_cell_index(self) -> Any: r""" @brief A shortcut for 'get("parent_cell_index")' """ + ... def path_dtrans(self) -> Any: r""" @brief A shortcut for 'get("path_dtrans")' """ + ... def path_trans(self) -> Any: r""" @brief A shortcut for 'get("path_trans")' """ + ... def query(self) -> LayoutQuery: r""" @brief Gets the query the iterator follows on """ + ... def shape(self) -> Any: r""" @brief A shortcut for 'get("shape")' """ + ... def trans(self) -> Any: r""" @brief A shortcut for 'get("trans")' """ + ... + ... class LayoutToNetlist: r""" @@ -30985,84 +34176,103 @@ class LayoutToNetlist: r""" @brief Creates an enum from an integer value """ + ... @overload @classmethod def new(cls, s: str) -> LayoutToNetlist.BuildNetHierarchyMode: r""" @brief Creates an enum from a string value """ + ... @overload - def __eq__(self, other: object) -> bool: + def __eq__(self, other: int) -> bool: r""" @brief Compares an enum with an integer value """ + ... @overload def __eq__(self, other: object) -> bool: r""" @brief Compares two enums """ + ... def __hash__(self) -> int: r""" @brief Gets the hash value from the enum """ + ... @overload def __init__(self, i: int) -> None: r""" @brief Creates an enum from an integer value """ + ... @overload def __init__(self, s: str) -> None: r""" @brief Creates an enum from a string value """ + ... def __int__(self) -> int: r""" @brief Gets the integer value from the enum """ + ... @overload def __lt__(self, other: LayoutToNetlist.BuildNetHierarchyMode) -> bool: r""" @brief Returns true if the first enum is less (in the enum symbol order) than the second """ + ... @overload def __lt__(self, other: int) -> bool: r""" @brief Returns true if the enum is less (in the enum symbol order) than the integer value """ + ... + @overload + def __ne__(self, other: int) -> bool: + r""" + @brief Compares an enum with an integer for inequality + """ + ... @overload def __ne__(self, other: object) -> bool: r""" @brief Compares two enums for inequality """ - @overload - def __ne__(self, other: object) -> bool: - r""" - @brief Compares an enum with an integer for inequality - """ + ... def __repr__(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def __str__(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... def hash(self) -> int: r""" @brief Gets the hash value from the enum """ + ... def inspect(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def to_i(self) -> int: r""" @brief Gets the integer value from the enum """ + ... def to_s(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... + ... BNH_Disconnected: ClassVar[LayoutToNetlist.BuildNetHierarchyMode] r""" @brief This constant tells \build_net and \build_all_nets to produce local nets without connections to subcircuits (used for the "hier_mode" parameter). @@ -31190,6 +34400,7 @@ class LayoutToNetlist: @brief Creates a new and empty extractor object The main objective for this constructor is to create an object suitable for reading an annotated netlist. """ + ... @overload @classmethod def new(cls, dss: DeepShapeStore) -> LayoutToNetlist: @@ -31201,6 +34412,7 @@ class LayoutToNetlist: The extractor will not take ownership of the dss object unless you call \keep_dss. """ + ... @overload @classmethod def new(cls, dss: DeepShapeStore, layout_index: int) -> LayoutToNetlist: @@ -31208,6 +34420,7 @@ class LayoutToNetlist: @brief Creates a new extractor object reusing an existing \DeepShapeStore object This constructor can be used if there is a DSS object already from which the shapes can be taken. NOTE: in this case, the make_... functions will create new layers inside this DSS. To register existing layers (regions) use \register. """ + ... @overload @classmethod def new(cls, iter: RecursiveShapeIterator) -> LayoutToNetlist: @@ -31215,6 +34428,7 @@ class LayoutToNetlist: @brief Creates a new extractor connected to an original layout This constructor will attach the extractor to an original layout through the shape iterator. """ + ... @overload @classmethod def new(cls, topcell_name: str, dbu: float) -> LayoutToNetlist: @@ -31227,12 +34441,14 @@ class LayoutToNetlist: The database unit is mandatory because the physical parameter extraction for devices requires this unit for translation of layout to physical dimensions. """ + ... @overload def __init__(self) -> None: r""" @brief Creates a new and empty extractor object The main objective for this constructor is to create an object suitable for reading an annotated netlist. """ + ... @overload def __init__(self, dss: DeepShapeStore) -> None: r""" @@ -31243,18 +34459,21 @@ class LayoutToNetlist: The extractor will not take ownership of the dss object unless you call \keep_dss. """ + ... @overload def __init__(self, dss: DeepShapeStore, layout_index: int) -> None: r""" @brief Creates a new extractor object reusing an existing \DeepShapeStore object This constructor can be used if there is a DSS object already from which the shapes can be taken. NOTE: in this case, the make_... functions will create new layers inside this DSS. To register existing layers (regions) use \register. """ + ... @overload def __init__(self, iter: RecursiveShapeIterator) -> None: r""" @brief Creates a new extractor connected to an original layout This constructor will attach the extractor to an original layout through the shape iterator. """ + ... @overload def __init__(self, topcell_name: str, dbu: float) -> None: r""" @@ -31266,29 +34485,34 @@ class LayoutToNetlist: The database unit is mandatory because the physical parameter extraction for devices requires this unit for translation of layout to physical dimensions. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -31296,6 +34520,7 @@ class LayoutToNetlist: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -31303,6 +34528,7 @@ class LayoutToNetlist: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... @overload def antenna_check(self, gate: Region, gate_area_factor: float, gate_perimeter_factor: float, metal: Region, metal_area_factor: float, metal_perimeter_factor: float, ratio: float, diodes: Optional[Sequence[Any]] = ..., texts: Optional[Texts] = ...) -> Region: r""" @@ -31319,6 +34545,7 @@ class LayoutToNetlist: This variant has been introduced in version 0.26.6. """ + ... @overload def antenna_check(self, gate: Region, gate_perimeter_factor: float, metal: Region, metal_perimeter_factor: float, ratio: float, diodes: Optional[Sequence[Any]] = ..., texts: Optional[Texts] = ...) -> Region: r""" @@ -31334,6 +34561,7 @@ class LayoutToNetlist: This variant has been introduced in version 0.26.6. """ + ... @overload def antenna_check(self, gate: Region, metal: Region, ratio: float, diodes: Optional[Sequence[Any]] = ..., texts: Optional[Texts] = ...) -> Region: r""" @@ -31376,6 +34604,7 @@ class LayoutToNetlist: The 'texts' parameter has been added in version 0.27.11. """ + ... def build_all_nets(self, cmap: CellMapping, target: Layout, lmap: Dict[int, Region], net_cell_name_prefix: Optional[Any] = ..., netname_prop: Optional[Any] = ..., hier_mode: Optional[LayoutToNetlist.BuildNetHierarchyMode] = ..., circuit_cell_name_prefix: Optional[Any] = ..., device_cell_name_prefix: Optional[Any] = ...) -> None: r""" @brief Builds a full hierarchical representation of the nets @@ -31422,6 +34651,7 @@ class LayoutToNetlist: @param net_cell_name_prefix See method description @param device_cell_name_prefix See above """ + ... def build_net(self, net: Net, target: Layout, target_cell: Cell, lmap: Dict[int, Region], netname_prop: Optional[Any] = ..., hier_mode: Optional[LayoutToNetlist.BuildNetHierarchyMode] = ..., circuit_cell_name_prefix: Optional[Any] = ..., device_cell_name_prefix: Optional[Any] = ...) -> None: r""" @brief Builds a net representation in the given layout and cell @@ -31454,10 +34684,12 @@ class LayoutToNetlist: @param cell_name_prefix Chooses recursive mode if non-null @param device_cell_name_prefix See above """ + ... def build_nets(self, nets: Sequence[Net], cmap: CellMapping, target: Layout, lmap: Dict[int, Region], net_cell_name_prefix: Optional[Any] = ..., netname_prop: Optional[Any] = ..., hier_mode: Optional[LayoutToNetlist.BuildNetHierarchyMode] = ..., circuit_cell_name_prefix: Optional[Any] = ..., device_cell_name_prefix: Optional[Any] = ...) -> None: r""" @brief Like \build_all_nets, but with the ability to select some nets. """ + ... @overload def cell_mapping_into(self, layout: Layout, cell: Cell, nets: Sequence[Net], with_device_cells: Optional[bool] = ...) -> CellMapping: r""" @@ -31469,6 +34701,7 @@ class LayoutToNetlist: CAUTION: this function may create new cells in 'layout'. Use \const_cell_mapping_into if you want to use the target layout's hierarchy and not modify it. """ + ... @overload def cell_mapping_into(self, layout: Layout, cell: Cell, with_device_cells: Optional[bool] = ...) -> CellMapping: r""" @@ -31478,12 +34711,14 @@ class LayoutToNetlist: CAUTION: this function may create new cells in 'layout'. Use \const_cell_mapping_into if you want to use the target layout's hierarchy and not modify it. """ + ... def check_extraction_errors(self) -> None: r""" @brief Raises an exception if extraction errors are present This method has been introduced in version 0.28.13. """ + ... def clear_join_net_names(self) -> None: r""" @brief Clears all implicit net joining expressions. @@ -31491,6 +34726,7 @@ class LayoutToNetlist: This method has been introduced in version 0.27 and replaces the arguments of \extract_netlist. """ + ... def clear_join_nets(self) -> None: r""" @brief Clears all explicit net joining expressions. @@ -31498,12 +34734,14 @@ class LayoutToNetlist: Explicit net joining has been introduced in version 0.27. """ + ... @overload def connect(self, a: Region, b: Region) -> None: r""" @brief Defines an inter-layer connection for the given layers. The conditions mentioned with intra-layer \connect apply for this method too. """ + ... @overload def connect(self, a: Region, b: Texts) -> None: r""" @@ -31513,6 +34751,7 @@ class LayoutToNetlist: This variant has been introduced in version 0.27. """ + ... @overload def connect(self, a: Texts, b: Region) -> None: r""" @@ -31522,6 +34761,7 @@ class LayoutToNetlist: This variant has been introduced in version 0.27. """ + ... @overload def connect(self, l: Region) -> None: r""" @@ -31531,12 +34771,14 @@ class LayoutToNetlist: boolean operations for deriving layers. Other operations are applicable as long as they are capable of delivering hierarchical layers. """ + ... @overload def connect_global(self, l: Region, global_net_name: str) -> int: r""" @brief Defines a connection of the given layer with a global net. This method returns the ID of the global net. Use \global_net_name to get the name back from the ID. """ + ... @overload def connect_global(self, l: Texts, global_net_name: str) -> int: r""" @@ -31545,59 +34787,71 @@ class LayoutToNetlist: This variant has been introduced in version 0.27. """ + ... def const_cell_mapping_into(self, layout: Layout, cell: Cell) -> CellMapping: r""" @brief Creates a cell mapping for copying shapes from the internal layout to the given target layout. This version will not create new cells in the target layout. If the required cells do not exist there yet, flatting will happen. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dss(self) -> DeepShapeStore: r""" @brief Gets a reference to the internal DSS object. """ + ... def dump_joined_net_names(self) -> str: r""" @hide """ + ... def dump_joined_net_names_per_cell(self) -> str: r""" @hide """ + ... def dump_joined_nets(self) -> str: r""" @hide """ + ... def dump_joined_nets_per_cell(self) -> str: r""" @hide """ + ... def each_error(self) -> Iterator[LogEntryData]: r""" @brief Iterates over all log entries collected during device and netlist extraction. This method has been introduced in version 0.28.13. """ + ... def each_log_entry(self) -> Iterator[LogEntryData]: r""" @brief Iterates over all log entries collected during device and netlist extraction. This method has been introduced in version 0.28.13. """ + ... def extract_devices(self, extractor: DeviceExtractorBase, layers: Dict[str, ShapeCollection]) -> None: r""" @brief Extracts devices @@ -31611,6 +34865,7 @@ class LayoutToNetlist: If errors occur, the device extractor will contain theses errors. """ + ... def extract_netlist(self) -> None: r""" @brief Runs the netlist extraction @@ -31619,44 +34874,52 @@ class LayoutToNetlist: This method has been made parameter-less in version 0.27. Use \include_floating_subcircuits= and \join_net_names as substitutes for the arguments of previous versions. """ + ... def filename(self) -> str: r""" @brief Gets the file name of the database The filename is the name under which the database is stored or empty if it is not associated with a file. """ + ... def global_net_name(self, global_net_id: int) -> str: r""" @brief Gets the global net name for the given global net ID. """ + ... def internal_layout(self) -> Layout: r""" @brief Gets the internal layout The internal layout is where the LayoutToNetlist database stores the shapes for the nets. Usually you do not need to access this object - you must use \build_net or \shapes_of_net to retrieve the per-net shape information. If you access the internal layout, make sure you do not modify it. """ + ... def internal_top_cell(self) -> Cell: r""" @brief Gets the internal top cell Usually it should not be required to obtain the internal cell. If you need to do so, make sure not to modify the cell as the functionality of the netlist extractor depends on it. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_extracted(self) -> bool: r""" @brief Gets a value indicating whether the netlist has been extracted This method has been introduced in version 0.27.1. """ + ... @overload def is_persisted(self, layer: Region) -> bool: r""" @brief Returns true, if the given layer is a persisted region. Persisted layers are kept inside the LayoutToNetlist object and are not released if their object is destroyed. Named layers are persisted, unnamed layers are not. Only persisted, named layers can be put into \connect. """ + ... @overload def is_persisted(self, layer: Texts) -> bool: r""" @@ -31665,6 +34928,7 @@ class LayoutToNetlist: The variant for Texts collections has been added in version 0.27. """ + ... @overload def join_net_names(self, cell_pattern: str, pattern: str) -> None: r""" @@ -31675,6 +34939,7 @@ class LayoutToNetlist: This method has been introduced in version 0.27 and replaces the arguments of \extract_netlist. """ + ... @overload def join_net_names(self, pattern: str) -> None: r""" @@ -31696,6 +34961,7 @@ class LayoutToNetlist: This method has been introduced in version 0.27 and replaces the arguments of \extract_netlist. """ + ... @overload def join_nets(self, cell_pattern: str, net_names: Sequence[str]) -> None: r""" @@ -31706,6 +34972,7 @@ class LayoutToNetlist: Explicit net joining has been introduced in version 0.27. """ + ... @overload def join_nets(self, net_names: Sequence[str]) -> None: r""" @@ -31717,20 +34984,30 @@ class LayoutToNetlist: Explicit net joining has been introduced in version 0.27. """ + ... def keep_dss(self) -> None: r""" @brief Resumes ownership over the DSS object if created with an external one. """ + ... def layer_by_index(self, index: int) -> Region: r""" @brief Gets a layer object for the given index. Only named layers can be retrieved with this method. The returned object is a copy which represents the named layer. """ + ... def layer_by_name(self, name: str) -> Region: r""" @brief Gets a layer object for the given name. The returned object is a copy which represents the named layer. """ + ... + def layer_index(self, l: ShapeCollection) -> int: + r""" + @brief Gets the layer index for the given data object + This method has been introduced in version 0.29.3. + """ + ... def layer_indexes(self) -> List[int]: r""" @brief Returns a list of indexes of the layers kept inside the LayoutToNetlist object. @@ -31738,6 +35015,7 @@ class LayoutToNetlist: This method has been introduced in version 0.29.2. """ + ... def layer_info(self, index: int) -> LayerInfo: r""" @brief Returns the LayerInfo object attached to a layer (by index). @@ -31745,20 +35023,24 @@ class LayoutToNetlist: This method has been introduced in version 0.29.2. """ + ... @overload def layer_name(self, l: ShapeCollection) -> str: r""" @brief Gets the name of the given layer """ + ... @overload def layer_name(self, l: int) -> str: r""" @brief Gets the name of the given layer (by index) """ + ... def layer_names(self) -> List[str]: r""" @brief Returns a list of names of the layers kept inside the LayoutToNetlist object. """ + ... @overload def layer_of(self, l: Region) -> int: r""" @@ -31766,6 +35048,7 @@ class LayoutToNetlist: This method is required to derive the internal layer index - for example for investigating the cluster tree. """ + ... @overload def layer_of(self, l: Texts) -> int: r""" @@ -31775,6 +35058,7 @@ class LayoutToNetlist: The variant for Texts collections has been added in version 0.27. """ + ... @overload def make_layer(self, layer_index: int, name: Optional[str] = ...) -> Region: r""" @@ -31786,6 +35070,7 @@ class LayoutToNetlist: The name is optional. If given, the layer will already be named accordingly (see \register). """ + ... @overload def make_layer(self, name: Optional[str] = ...) -> Region: r""" @@ -31793,6 +35078,7 @@ class LayoutToNetlist: The name is optional. If given, the layer will already be named accordingly (see \register). """ + ... def make_polygon_layer(self, layer_index: int, name: Optional[str] = ...) -> Region: r""" @brief Creates a new region representing an original layer taking polygons and texts @@ -31800,6 +35086,7 @@ class LayoutToNetlist: The name is optional. If given, the layer will already be named accordingly (see \register). """ + ... def make_text_layer(self, layer_index: int, name: Optional[str] = ...) -> Texts: r""" @brief Creates a new region representing an original layer taking texts only @@ -31809,10 +35096,12 @@ class LayoutToNetlist: Starting with version 0.27, this method returns a \Texts object. """ + ... def netlist(self) -> Netlist: r""" @brief gets the netlist extracted (0 if no extraction happened yet) """ + ... @overload def probe_net(self, of_layer: Region, point: DPoint, sc_path_out: Optional[Sequence[SubCircuit]] = ..., initial_circuit: Optional[Circuit] = ...) -> Net: r""" @@ -31838,6 +35127,7 @@ class LayoutToNetlist: The \sc_path_out and \initial_circuit parameters have been added in version 0.27. """ + ... @overload def probe_net(self, of_layer: Region, point: Point, sc_path_out: Optional[Sequence[SubCircuit]] = ..., initial_circuit: Optional[Circuit] = ...) -> Net: r""" @@ -31848,27 +35138,32 @@ class LayoutToNetlist: The \sc_path_out and \initial_circuit parameters have been added in version 0.27. """ + ... def read(self, path: str) -> None: r""" @brief Reads the extracted netlist from the file. This method employs the native format of KLayout. """ + ... def read_l2n(self, path: str) -> None: r""" @brief Reads the extracted netlist from the file. This method employs the native format of KLayout. """ - def register(self, l: ShapeCollection, n: Optional[str] = ...) -> None: + ... + def register(self, l: ShapeCollection, n: Optional[str] = ...) -> int: r""" @brief Names the given layer + @return The index of the layer registered 'l' must be a \Region or \Texts object. Flat regions or text collections must be registered with this function, before they can be used in \connect. Registering will copy the shapes into the LayoutToNetlist object in this step to enable netlist extraction. Naming a layer allows the system to indicate the layer in various contexts, i.e. when writing the data to a file. Named layers are also persisted inside the LayoutToNetlist object. They are not discarded when the Region object is destroyed. If required, the system will assign a name automatically. - This method has been generalized in version 0.27. + This method has been generalized in version 0.27. Starting with version 0.29.3, the index of the layer is returned. """ + ... def reset_extracted(self) -> None: r""" @brief Resets the extracted netlist and enables re-extraction @@ -31877,6 +35172,7 @@ class LayoutToNetlist: This method has been introduced in version 0.27.1. """ + ... @overload def shapes_of_net(self, net: Net, of_layer: Region, recursive: Optional[bool] = ..., trans: Optional[ICplxTrans] = ...) -> Region: r""" @@ -31886,6 +35182,7 @@ class LayoutToNetlist: The optional 'trans' parameter allows applying a transformation to all shapes. It has been introduced in version 0.28.4. """ + ... @overload def shapes_of_net(self, net: Net, of_layer: Region, recursive: bool, to: Shapes, propid: Optional[int] = ..., trans: Optional[ICplxTrans] = ...) -> None: r""" @@ -31895,6 +35192,7 @@ class LayoutToNetlist: "prop_id" is an optional properties ID. If given, this property set will be attached to the shapes. The optional 'trans' parameter allows applying a transformation to all shapes. It has been introduced in version 0.28.4. """ + ... def shapes_of_pin(self, pin: NetSubcircuitPinRef, trans: Optional[ICplxTrans] = ...) -> Dict[int, Region]: r""" @brief Returns all shapes of the given subcircuit pin that make a connection to the net the pin lives in. @@ -31914,6 +35212,7 @@ class LayoutToNetlist: This method has been introduced in version 0.29.2. """ + ... def shapes_of_terminal(self, terminal: NetTerminalRef, trans: Optional[ICplxTrans] = ...) -> Dict[int, Region]: r""" @brief Returns all shapes of the given device terminal that make a connection to the net the terminal lives in. @@ -31933,6 +35232,7 @@ class LayoutToNetlist: This method has been introduced in version 0.29.2. """ + ... @overload def soft_connect(self, a: Region, b: Region) -> None: r""" @@ -31943,6 +35243,7 @@ class LayoutToNetlist: Soft connections have been introduced in version 0.29. """ + ... @overload def soft_connect(self, a: Region, b: Texts) -> None: r""" @@ -31954,6 +35255,7 @@ class LayoutToNetlist: Soft connections have been introduced in version 0.29. """ + ... @overload def soft_connect(self, a: Texts, b: Region) -> None: r""" @@ -31965,6 +35267,7 @@ class LayoutToNetlist: Soft connections have been introduced in version 0.29. """ + ... @overload def soft_connect_global(self, l: Region, global_net_name: str) -> int: r""" @@ -31974,6 +35277,7 @@ class LayoutToNetlist: Soft connections have been introduced in version 0.29. """ + ... @overload def soft_connect_global(self, l: Texts, global_net_name: str) -> int: r""" @@ -31983,16 +35287,20 @@ class LayoutToNetlist: Soft connections have been introduced in version 0.29. """ + ... def write(self, path: str, short_format: Optional[bool] = ...) -> None: r""" @brief Writes the extracted netlist to a file. This method employs the native format of KLayout. """ + ... def write_l2n(self, path: str, short_format: Optional[bool] = ...) -> None: r""" @brief Writes the extracted netlist to a file. This method employs the native format of KLayout. """ + ... + ... class LayoutVsSchematic(LayoutToNetlist): r""" @@ -32032,6 +35340,7 @@ class LayoutVsSchematic(LayoutToNetlist): @brief Creates a new LVS object The main objective for this constructor is to create an object suitable for reading and writing LVS database files. """ + ... @overload @classmethod def new(cls, dss: DeepShapeStore) -> LayoutVsSchematic: @@ -32039,6 +35348,7 @@ class LayoutVsSchematic(LayoutToNetlist): @brief Creates a new LVS object with the extractor object reusing an existing \DeepShapeStore object See the corresponding constructor of the \LayoutToNetlist object for more details. """ + ... @overload @classmethod def new(cls, dss: DeepShapeStore, layout_index: int) -> LayoutVsSchematic: @@ -32046,6 +35356,7 @@ class LayoutVsSchematic(LayoutToNetlist): @brief Creates a new LVS object with the extractor object reusing an existing \DeepShapeStore object See the corresponding constructor of the \LayoutToNetlist object for more details. """ + ... @overload @classmethod def new(cls, iter: RecursiveShapeIterator) -> LayoutVsSchematic: @@ -32053,6 +35364,7 @@ class LayoutVsSchematic(LayoutToNetlist): @brief Creates a new LVS object with the extractor connected to an original layout This constructor will attach the extractor of the LVS object to an original layout through the shape iterator. """ + ... @overload @classmethod def new(cls, topcell_name: str, dbu: float) -> LayoutVsSchematic: @@ -32060,59 +35372,69 @@ class LayoutVsSchematic(LayoutToNetlist): @brief Creates a new LVS object with the extractor object taking a flat DSS See the corresponding constructor of the \LayoutToNetlist object for more details. """ + ... @overload def __init__(self) -> None: r""" @brief Creates a new LVS object The main objective for this constructor is to create an object suitable for reading and writing LVS database files. """ + ... @overload def __init__(self, dss: DeepShapeStore) -> None: r""" @brief Creates a new LVS object with the extractor object reusing an existing \DeepShapeStore object See the corresponding constructor of the \LayoutToNetlist object for more details. """ + ... @overload def __init__(self, dss: DeepShapeStore, layout_index: int) -> None: r""" @brief Creates a new LVS object with the extractor object reusing an existing \DeepShapeStore object See the corresponding constructor of the \LayoutToNetlist object for more details. """ + ... @overload def __init__(self, iter: RecursiveShapeIterator) -> None: r""" @brief Creates a new LVS object with the extractor connected to an original layout This constructor will attach the extractor of the LVS object to an original layout through the shape iterator. """ + ... @overload def __init__(self, topcell_name: str, dbu: float) -> None: r""" @brief Creates a new LVS object with the extractor object taking a flat DSS See the corresponding constructor of the \LayoutToNetlist object for more details. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -32120,6 +35442,7 @@ class LayoutVsSchematic(LayoutToNetlist): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -32127,30 +35450,36 @@ class LayoutVsSchematic(LayoutToNetlist): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def compare(self, comparer: NetlistComparer) -> bool: r""" @brief Compare the layout-extracted netlist against the reference netlist using the given netlist comparer. """ + ... def read(self, path: str) -> None: r""" @brief Reads the LVS object from the file. This method employs the native format of KLayout. """ + ... def read_l2n(self, path: str) -> None: r""" @brief Reads the \LayoutToNetlist part of the object from a file. This method employs the native format of KLayout. """ + ... def write(self, path: str, short_format: Optional[bool] = ...) -> None: r""" @brief Writes the LVS object to a file. This method employs the native format of KLayout. """ + ... def write_l2n(self, path: str, short_format: Optional[bool] = ...) -> None: r""" @brief Writes the \LayoutToNetlist part of the object to a file. This method employs the native format of KLayout. """ + ... def xref(self) -> NetlistCrossReference: r""" @brief Gets the cross-reference object @@ -32158,6 +35487,8 @@ class LayoutVsSchematic(LayoutToNetlist): It holds the results of the comparison - a cross-reference between the nets and other objects in the match case and a listing of non-matching nets and other objects for the non-matching cases. See \NetlistCrossReference for more details. """ + ... + ... class Library: r""" @@ -32201,6 +35532,7 @@ class Library: This method has been introduced in version 0.27. """ + ... @classmethod def library_by_name(cls, name: str, for_technology: Optional[str] = ...) -> Library: r""" @@ -32212,6 +35544,7 @@ class Library: The technology selector has been introduced in version 0.27. """ + ... @classmethod def library_ids(cls) -> List[int]: r""" @@ -32219,6 +35552,7 @@ class Library: See \library_names for the reasoning behind this method. This method has been introduced in version 0.27. """ + ... @classmethod def library_names(cls) -> List[str]: r""" @@ -32226,46 +35560,55 @@ class Library: NOTE: starting with version 0.27, the name of a library does not need to be unique if libraries are associated with specific technologies. This method will only return the names and it's not possible not unambiguously derive the library object. It is recommended to use \library_ids and \library_by_id to obtain the library unambiguously. """ + ... @classmethod def new(cls) -> Library: r""" @brief Creates a new, empty library """ + ... def __copy__(self) -> Library: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> Library: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new, empty library """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -32273,6 +35616,7 @@ class Library: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -32280,6 +35624,7 @@ class Library: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def add_technology(self, tech: str) -> None: r""" @brief Additionally associates the library with the given technology. @@ -32287,10 +35632,12 @@ class Library: This method has been introduced in version 0.27 """ + ... def assign(self, other: Library) -> None: r""" @brief Assigns another object to self """ + ... def clear_technologies(self) -> None: r""" @brief Clears the list of technologies the library is associated with. @@ -32298,11 +35645,13 @@ class Library: This method has been introduced in version 0.27 """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def delete(self) -> None: r""" @brief Deletes the library @@ -32311,38 +35660,45 @@ class Library: This method has been introduced in version 0.25. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> Library: r""" @brief Creates a copy of self """ + ... def for_technologies(self) -> bool: r""" @brief Returns a value indicating whether the library is associated with any technology. This method has been introduced in version 0.27 """ + ... def id(self) -> int: r""" @brief Returns the library's ID The ID is set when the library is registered and cannot be changed """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_for_technology(self, tech: str) -> bool: r""" @brief Returns a value indicating whether the library is associated with the given technology. @@ -32350,19 +35706,23 @@ class Library: This method has been introduced in version 0.27 """ + ... def layout(self) -> Layout: r""" @brief The layout object where the cells reside that this library defines """ + ... def layout_const(self) -> Layout: r""" @brief The layout object where the cells reside that this library defines (const version) """ + ... def name(self) -> str: r""" @brief Returns the libraries' name The name is set when the library is registered and cannot be changed """ + ... def refresh(self) -> None: r""" @brief Updates all layouts using this library. @@ -32370,6 +35730,7 @@ class Library: It will also recompute the PCells inside the library. This method has been introduced in version 0.27.8. """ + ... def register(self, name: str) -> None: r""" @brief Registers the library with the given name @@ -32382,11 +35743,14 @@ class Library: The technology specific behaviour has been introduced in version 0.27. """ + ... def technologies(self) -> List[str]: r""" @brief Gets the list of technologies this library is associated with. This method has been introduced in version 0.27 """ + ... + ... class LoadLayoutOptions: r""" @@ -32436,84 +35800,103 @@ class LoadLayoutOptions: r""" @brief Creates an enum from an integer value """ + ... @overload @classmethod def new(cls, s: str) -> LoadLayoutOptions.CellConflictResolution: r""" @brief Creates an enum from a string value """ + ... @overload - def __eq__(self, other: object) -> bool: + def __eq__(self, other: int) -> bool: r""" @brief Compares an enum with an integer value """ + ... @overload def __eq__(self, other: object) -> bool: r""" @brief Compares two enums """ + ... def __hash__(self) -> int: r""" @brief Gets the hash value from the enum """ + ... @overload def __init__(self, i: int) -> None: r""" @brief Creates an enum from an integer value """ + ... @overload def __init__(self, s: str) -> None: r""" @brief Creates an enum from a string value """ + ... def __int__(self) -> int: r""" @brief Gets the integer value from the enum """ + ... @overload def __lt__(self, other: LoadLayoutOptions.CellConflictResolution) -> bool: r""" @brief Returns true if the first enum is less (in the enum symbol order) than the second """ + ... @overload def __lt__(self, other: int) -> bool: r""" @brief Returns true if the enum is less (in the enum symbol order) than the integer value """ + ... @overload - def __ne__(self, other: object) -> bool: + def __ne__(self, other: int) -> bool: r""" @brief Compares an enum with an integer for inequality """ + ... @overload def __ne__(self, other: object) -> bool: r""" @brief Compares two enums for inequality """ + ... def __repr__(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def __str__(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... def hash(self) -> int: r""" @brief Gets the hash value from the enum """ + ... def inspect(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def to_i(self) -> int: r""" @brief Gets the integer value from the enum """ + ... def to_s(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... + ... AddToCell: ClassVar[LoadLayoutOptions.CellConflictResolution] r""" @brief Add content to existing cell @@ -33256,45 +36639,63 @@ class LoadLayoutOptions: This attribute has been added in version 0.28. """ @classmethod + def from_technology(cls, technology: str) -> LoadLayoutOptions: + r""" + @brief Gets the reader options of a given technology + @param technology The name of the technology to apply + Returns the reader options of a specific technology. If the technology name is not valid or an empty string, the reader options of the default technology are returned. + + This method has been introduced in version 0.25 + """ + ... + @classmethod def new(cls) -> LoadLayoutOptions: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> LoadLayoutOptions: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> LoadLayoutOptions: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -33302,6 +36703,7 @@ class LoadLayoutOptions: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -33309,10 +36711,12 @@ class LoadLayoutOptions: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: LoadLayoutOptions) -> None: r""" @brief Assigns another object to self """ + ... def cif_select_all_layers(self) -> None: r""" @brief Selects all layers and disables the layer map @@ -33322,6 +36726,7 @@ class LoadLayoutOptions: This method has been added in version 0.25 and replaces the respective global option in \LoadLayoutOptions in a format-specific fashion. """ + ... def cif_set_layer_map(self, map: LayerMap, create_other_layers: bool) -> None: r""" @brief Sets the layer map @@ -33331,27 +36736,32 @@ class LoadLayoutOptions: This method has been added in version 0.25 and replaces the respective global option in \LoadLayoutOptions in a format-specific fashion. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> LoadLayoutOptions: r""" @brief Creates a copy of self """ + ... def dxf_select_all_layers(self) -> None: r""" @brief Selects all layers and disables the layer map @@ -33361,6 +36771,7 @@ class LoadLayoutOptions: This method has been added in version 0.25 and replaces the respective global option in \LoadLayoutOptions in a format-specific fashion. """ + ... def dxf_set_layer_map(self, map: LayerMap, create_other_layers: bool) -> None: r""" @brief Sets the layer map @@ -33370,24 +36781,28 @@ class LoadLayoutOptions: This method has been added in version 0.25 and replaces the respective global option in \LoadLayoutOptions in a format-specific fashion. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_properties_enabled(self) -> bool: r""" @brief Gets a value indicating whether properties shall be read @return True, if properties should be read. Starting with version 0.25 this option only applies to GDS2 and OASIS format. Other formats provide their own configuration. """ + ... def is_text_enabled(self) -> bool: r""" @brief Gets a value indicating whether text objects shall be read @return True, if text objects should be read. Starting with version 0.25 this option only applies to GDS2 and OASIS format. Other formats provide their own configuration. """ + ... def mag_select_all_layers(self) -> None: r""" @brief Selects all layers and disables the layer map @@ -33397,6 +36812,7 @@ class LoadLayoutOptions: This method has been added in version 0.26.2. """ + ... def mag_set_layer_map(self, map: LayerMap, create_other_layers: bool) -> None: r""" @brief Sets the layer map @@ -33406,6 +36822,7 @@ class LoadLayoutOptions: This method has been added in version 0.26.2. """ + ... def mebes_select_all_layers(self) -> None: r""" @brief Selects all layers and disables the layer map @@ -33415,6 +36832,7 @@ class LoadLayoutOptions: This method has been added in version 0.25 and replaces the respective global option in \LoadLayoutOptions in a format-specific fashion. """ + ... def mebes_set_layer_map(self, map: LayerMap, create_other_layers: bool) -> None: r""" @brief Sets the layer map @@ -33424,6 +36842,7 @@ class LoadLayoutOptions: This method has been added in version 0.25 and replaces the respective global option in \LoadLayoutOptions in a format-specific fashion. """ + ... def select_all_layers(self) -> None: r""" @brief Selects all layers and disables the layer map @@ -33433,6 +36852,7 @@ class LoadLayoutOptions: Starting with version 0.25 this method only applies to GDS2 and OASIS format. Other formats provide their own configuration. """ + ... def set_layer_map(self, map: LayerMap, create_other_layers: bool) -> None: r""" @brief Sets the layer map @@ -33441,6 +36861,8 @@ class LoadLayoutOptions: Starting with version 0.25 this option only applies to GDS2 and OASIS format. Other formats provide their own configuration. """ + ... + ... class LogEntryData: r""" @@ -33523,51 +36945,55 @@ class LogEntryData: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> LogEntryData: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> LogEntryData: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ - def __repr__(self, with_geometry: Optional[bool] = ...) -> str: - r""" - @brief Gets the string representation of this error or warning. - This method has been introduced in version 0.28.13. - """ + ... def __str__(self, with_geometry: Optional[bool] = ...) -> str: r""" @brief Gets the string representation of this error or warning. This method has been introduced in version 0.28.13. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -33575,6 +37001,7 @@ class LogEntryData: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -33582,42 +37009,51 @@ class LogEntryData: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: LogEntryData) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> LogEntryData: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def to_s(self, with_geometry: Optional[bool] = ...) -> str: r""" @brief Gets the string representation of this error or warning. This method has been introduced in version 0.28.13. """ + ... + ... class Manager: r""" @@ -33636,41 +37072,49 @@ class Manager: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> Manager: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> Manager: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -33678,6 +37122,7 @@ class Manager: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -33685,53 +37130,63 @@ class Manager: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: Manager) -> None: r""" @brief Assigns another object to self """ + ... def commit(self) -> None: r""" @brief Close a transaction. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> Manager: r""" @brief Creates a copy of self """ + ... def has_redo(self) -> bool: r""" @brief Determine if a transaction is available for 'redo' @return True, if a transaction is available. """ + ... def has_undo(self) -> bool: r""" @brief Determine if a transaction is available for 'undo' @return True, if a transaction is available. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def redo(self) -> None: r""" @brief Redo the next available transaction @@ -33740,6 +37195,7 @@ class Manager: The 'has_redo' method can be used to determine whether there are transactions to undo. """ + ... @overload def transaction(self, description: str) -> int: r""" @@ -33754,6 +37210,7 @@ class Manager: @return The ID of the transaction (can be used to join other transactions with this one) """ + ... @overload def transaction(self, description: str, join_with: int) -> int: r""" @@ -33770,14 +37227,17 @@ class Manager: @return The ID of the new transaction (can be used to join more) """ + ... def transaction_for_redo(self) -> str: r""" @brief Return the description of the next transaction for 'redo' """ + ... def transaction_for_undo(self) -> str: r""" @brief Return the description of the next transaction for 'undo' """ + ... def undo(self) -> None: r""" @brief Undo the current transaction @@ -33786,6 +37246,8 @@ class Manager: The 'has_undo' method can be used to determine whether there are transactions to undo. """ + ... + ... class Matrix2d: r""" @@ -33803,12 +37265,14 @@ class Matrix2d: r""" @brief Create a new Matrix2d representing a unit transformation """ + ... @overload @classmethod def new(cls, m11: float, m12: float, m21: float, m22: float) -> Matrix2d: r""" @brief Create a new Matrix2d from the four coefficients """ + ... @overload @classmethod def new(cls, m: float) -> Matrix2d: @@ -33816,6 +37280,7 @@ class Matrix2d: @brief Create a new Matrix2d representing an isotropic magnification @param m The magnification """ + ... @overload @classmethod def new(cls, mx: float, my: float) -> Matrix2d: @@ -33824,12 +37289,14 @@ class Matrix2d: @param mx The magnification in x direction @param my The magnification in y direction """ + ... @overload @classmethod def new(cls, t: DCplxTrans) -> Matrix2d: r""" @brief Create a new Matrix2d from the given complex transformation@param t The transformation from which to create the matrix (not taking into account the displacement) """ + ... @overload @classmethod def newc(cls, mag: float, rotation: float, mirror: bool) -> Matrix2d: @@ -33843,6 +37310,7 @@ class Matrix2d: This constructor is called 'newc' to distinguish it from the constructors taking matrix coefficients ('c' is for composite). The order of execution of the operations is mirror, magnification, rotation (as for complex transformations). """ + ... @overload @classmethod def newc(cls, shear: float, mx: float, my: float, rotation: float, mirror: bool) -> Matrix2d: @@ -33857,36 +37325,43 @@ class Matrix2d: The order of execution of the operations is mirror, magnification, shear and rotation. This constructor is called 'newc' to distinguish it from the constructor taking the four matrix coefficients ('c' is for composite). """ + ... def __add__(self, m: Matrix2d) -> Matrix2d: r""" @brief Sum of two matrices. @param m The other matrix. @return The (element-wise) sum of self+m """ + ... def __copy__(self) -> Matrix2d: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> Matrix2d: r""" @brief Creates a copy of self """ + ... @overload def __init__(self) -> None: r""" @brief Create a new Matrix2d representing a unit transformation """ + ... @overload def __init__(self, m11: float, m12: float, m21: float, m22: float) -> None: r""" @brief Create a new Matrix2d from the four coefficients """ + ... @overload def __init__(self, m: float) -> None: r""" @brief Create a new Matrix2d representing an isotropic magnification @param m The magnification """ + ... @overload def __init__(self, mx: float, my: float) -> None: r""" @@ -33894,11 +37369,13 @@ class Matrix2d: @param mx The magnification in x direction @param my The magnification in y direction """ + ... @overload def __init__(self, t: DCplxTrans) -> None: r""" @brief Create a new Matrix2d from the given complex transformation@param t The transformation from which to create the matrix (not taking into account the displacement) """ + ... @overload def __mul__(self, box: DBox) -> DBox: r""" @@ -33908,6 +37385,7 @@ class Matrix2d: Please note that the box remains a box, even though the matrix supports shear and rotation. The returned box will be the bounding box of the sheared and rotated rectangle. """ + ... @overload def __mul__(self, e: DEdge) -> DEdge: r""" @@ -33915,6 +37393,7 @@ class Matrix2d: @param e The edge to transform. @return The transformed edge """ + ... @overload def __mul__(self, m: Matrix2d) -> Matrix2d: r""" @@ -33922,6 +37401,7 @@ class Matrix2d: @param m The other matrix. @return The matrix product self*m """ + ... @overload def __mul__(self, p: DPoint) -> DPoint: r""" @@ -33929,6 +37409,7 @@ class Matrix2d: @param p The point to transform. @return The transformed point """ + ... @overload def __mul__(self, p: DPolygon) -> DPolygon: r""" @@ -33936,6 +37417,7 @@ class Matrix2d: @param p The polygon to transform. @return The transformed polygon """ + ... @overload def __mul__(self, p: DSimplePolygon) -> DSimplePolygon: r""" @@ -33943,6 +37425,7 @@ class Matrix2d: @param p The simple polygon to transform. @return The transformed simple polygon """ + ... @overload def __mul__(self, v: DVector) -> DVector: r""" @@ -33950,11 +37433,7 @@ class Matrix2d: @param v The vector to transform. @return The transformed vector """ - def __repr__(self) -> str: - r""" - @brief Convert the matrix to a string. - @return The string representing this matrix - """ + ... @overload def __rmul__(self, box: DBox) -> DBox: r""" @@ -33964,6 +37443,7 @@ class Matrix2d: Please note that the box remains a box, even though the matrix supports shear and rotation. The returned box will be the bounding box of the sheared and rotated rectangle. """ + ... @overload def __rmul__(self, e: DEdge) -> DEdge: r""" @@ -33971,6 +37451,7 @@ class Matrix2d: @param e The edge to transform. @return The transformed edge """ + ... @overload def __rmul__(self, m: Matrix2d) -> Matrix2d: r""" @@ -33978,6 +37459,7 @@ class Matrix2d: @param m The other matrix. @return The matrix product self*m """ + ... @overload def __rmul__(self, p: DPoint) -> DPoint: r""" @@ -33985,6 +37467,7 @@ class Matrix2d: @param p The point to transform. @return The transformed point """ + ... @overload def __rmul__(self, p: DPolygon) -> DPolygon: r""" @@ -33992,6 +37475,7 @@ class Matrix2d: @param p The polygon to transform. @return The transformed polygon """ + ... @overload def __rmul__(self, p: DSimplePolygon) -> DSimplePolygon: r""" @@ -33999,6 +37483,7 @@ class Matrix2d: @param p The simple polygon to transform. @return The transformed simple polygon """ + ... @overload def __rmul__(self, v: DVector) -> DVector: r""" @@ -34006,34 +37491,40 @@ class Matrix2d: @param v The vector to transform. @return The transformed vector """ + ... def __str__(self) -> str: r""" @brief Convert the matrix to a string. @return The string representing this matrix """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -34041,6 +37532,7 @@ class Matrix2d: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -34048,97 +37540,115 @@ class Matrix2d: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def angle(self) -> float: r""" @brief Returns the rotation angle of the rotation component of this matrix. @return The angle in degree. The matrix is decomposed into basic transformations assuming an execution order of mirroring at the x axis, rotation, magnification and shear. """ + ... def assign(self, other: Matrix2d) -> None: r""" @brief Assigns another object to self """ + ... def cplx_trans(self) -> DCplxTrans: r""" @brief Converts this matrix to a complex transformation (if possible). @return The complex transformation. This method is successful only if the matrix does not contain shear components and the magnification must be isotropic. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> Matrix2d: r""" @brief Creates a copy of self """ + ... def inverted(self) -> Matrix2d: r""" @brief The inverse of this matrix. @return The inverse of this matrix """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_mirror(self) -> bool: r""" @brief Returns the mirror flag of this matrix. @return True if this matrix has a mirror component. The matrix is decomposed into basic transformations assuming an execution order of mirroring at the x axis, rotation, magnification and shear. """ + ... def m(self, i: int, j: int) -> float: r""" @brief Gets the m coefficient with the given index. @return The coefficient [i,j] """ + ... def m11(self) -> float: r""" @brief Gets the m11 coefficient. @return The value of the m11 coefficient """ + ... def m12(self) -> float: r""" @brief Gets the m12 coefficient. @return The value of the m12 coefficient """ + ... def m21(self) -> float: r""" @brief Gets the m21 coefficient. @return The value of the m21 coefficient """ + ... def m22(self) -> float: r""" @brief Gets the m22 coefficient. @return The value of the m22 coefficient """ + ... def mag_x(self) -> float: r""" @brief Returns the x magnification of the magnification component of this matrix. @return The magnification factor. The matrix is decomposed into basic transformations assuming an execution order of mirroring at the x axis, magnification, shear and rotation. """ + ... def mag_y(self) -> float: r""" @brief Returns the y magnification of the magnification component of this matrix. @return The magnification factor. The matrix is decomposed into basic transformations assuming an execution order of mirroring at the x axis, magnification, shear and rotation. """ + ... def shear_angle(self) -> float: r""" @brief Returns the magnitude of the shear component of this matrix. @@ -34146,17 +37656,21 @@ class Matrix2d: The matrix is decomposed into basic transformations assuming an execution order of mirroring at the x axis, rotation, magnification and shear. The shear basic transformation will tilt the x axis towards the y axis and vice versa. The shear angle gives the tilt angle of the axes towards the other one. The possible range for this angle is -45 to 45 degree. """ + ... def to_s(self) -> str: r""" @brief Convert the matrix to a string. @return The string representing this matrix """ + ... def trans(self, p: DPoint) -> DPoint: r""" @brief Transforms a point with this matrix. @param p The point to transform. @return The transformed point """ + ... + ... class Matrix3d: r""" @@ -34204,24 +37718,28 @@ class Matrix3d: r""" @brief Create a new Matrix3d representing a unit transformation """ + ... @overload @classmethod def new(cls, m11: float, m12: float, m13: float, m21: float, m22: float, m23: float, m31: float, m32: float, m33: float) -> Matrix3d: r""" @brief Create a new Matrix3d from the nine matrix coefficients """ + ... @overload @classmethod def new(cls, m11: float, m12: float, m21: float, m22: float) -> Matrix3d: r""" @brief Create a new Matrix3d from the four coefficients of a Matrix2d """ + ... @overload @classmethod def new(cls, m11: float, m12: float, m21: float, m22: float, dx: float, dy: float) -> Matrix3d: r""" @brief Create a new Matrix3d from the four coefficients of a Matrix2d plus a displacement """ + ... @overload @classmethod def new(cls, m: float) -> Matrix3d: @@ -34229,12 +37747,14 @@ class Matrix3d: @brief Create a new Matrix3d representing a magnification @param m The magnification """ + ... @overload @classmethod def new(cls, t: DCplxTrans) -> Matrix3d: r""" @brief Create a new Matrix3d from the given complex transformation@param t The transformation from which to create the matrix """ + ... @overload @classmethod def newc(cls, mag: float, rotation: float, mirrx: bool) -> Matrix3d: @@ -34247,6 +37767,7 @@ class Matrix3d: The order of execution of the operations is mirror, magnification and rotation. This constructor is called 'newc' to distinguish it from the constructors taking coefficients ('c' is for composite). """ + ... @overload @classmethod def newc(cls, shear: float, mx: float, my: float, rotation: float, mirrx: bool) -> Matrix3d: @@ -34261,6 +37782,7 @@ class Matrix3d: The order of execution of the operations is mirror, magnification, rotation and shear. This constructor is called 'newc' to distinguish it from the constructor taking the four matrix coefficients ('c' is for composite). """ + ... @overload @classmethod def newc(cls, tx: float, ty: float, z: float, u: DVector, shear: float, mx: float, my: float, rotation: float, mirrx: bool) -> Matrix3d: @@ -34283,6 +37805,7 @@ class Matrix3d: Starting with version 0.25 the displacement is of vector type. """ + ... @overload @classmethod def newc(cls, u: DVector, shear: float, mx: float, my: float, rotation: float, mirrx: bool) -> Matrix3d: @@ -34300,51 +37823,61 @@ class Matrix3d: Starting with version 0.25 the displacement is of vector type. """ + ... def __add__(self, m: Matrix3d) -> Matrix3d: r""" @brief Sum of two matrices. @param m The other matrix. @return The (element-wise) sum of self+m """ + ... def __copy__(self) -> Matrix3d: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> Matrix3d: r""" @brief Creates a copy of self """ + ... @overload def __init__(self) -> None: r""" @brief Create a new Matrix3d representing a unit transformation """ + ... @overload def __init__(self, m11: float, m12: float, m13: float, m21: float, m22: float, m23: float, m31: float, m32: float, m33: float) -> None: r""" @brief Create a new Matrix3d from the nine matrix coefficients """ + ... @overload def __init__(self, m11: float, m12: float, m21: float, m22: float) -> None: r""" @brief Create a new Matrix3d from the four coefficients of a Matrix2d """ + ... @overload def __init__(self, m11: float, m12: float, m21: float, m22: float, dx: float, dy: float) -> None: r""" @brief Create a new Matrix3d from the four coefficients of a Matrix2d plus a displacement """ + ... @overload def __init__(self, m: float) -> None: r""" @brief Create a new Matrix3d representing a magnification @param m The magnification """ + ... @overload def __init__(self, t: DCplxTrans) -> None: r""" @brief Create a new Matrix3d from the given complex transformation@param t The transformation from which to create the matrix """ + ... @overload def __mul__(self, box: DBox) -> DBox: r""" @@ -34354,6 +37887,7 @@ class Matrix3d: Please note that the box remains a box, even though the matrix supports shear and rotation. The returned box will be the bounding box of the sheared and rotated rectangle. """ + ... @overload def __mul__(self, e: DEdge) -> DEdge: r""" @@ -34361,6 +37895,7 @@ class Matrix3d: @param e The edge to transform. @return The transformed edge """ + ... @overload def __mul__(self, m: Matrix3d) -> Matrix3d: r""" @@ -34368,6 +37903,7 @@ class Matrix3d: @param m The other matrix. @return The matrix product self*m """ + ... @overload def __mul__(self, p: DPoint) -> DPoint: r""" @@ -34375,6 +37911,7 @@ class Matrix3d: @param p The point to transform. @return The transformed point """ + ... @overload def __mul__(self, p: DPolygon) -> DPolygon: r""" @@ -34382,6 +37919,7 @@ class Matrix3d: @param p The polygon to transform. @return The transformed polygon """ + ... @overload def __mul__(self, p: DSimplePolygon) -> DSimplePolygon: r""" @@ -34389,6 +37927,7 @@ class Matrix3d: @param p The simple polygon to transform. @return The transformed simple polygon """ + ... @overload def __mul__(self, v: DVector) -> DVector: r""" @@ -34396,11 +37935,7 @@ class Matrix3d: @param v The vector to transform. @return The transformed vector """ - def __repr__(self) -> str: - r""" - @brief Convert the matrix to a string. - @return The string representing this matrix - """ + ... @overload def __rmul__(self, box: DBox) -> DBox: r""" @@ -34410,6 +37945,7 @@ class Matrix3d: Please note that the box remains a box, even though the matrix supports shear and rotation. The returned box will be the bounding box of the sheared and rotated rectangle. """ + ... @overload def __rmul__(self, e: DEdge) -> DEdge: r""" @@ -34417,6 +37953,7 @@ class Matrix3d: @param e The edge to transform. @return The transformed edge """ + ... @overload def __rmul__(self, m: Matrix3d) -> Matrix3d: r""" @@ -34424,6 +37961,7 @@ class Matrix3d: @param m The other matrix. @return The matrix product self*m """ + ... @overload def __rmul__(self, p: DPoint) -> DPoint: r""" @@ -34431,6 +37969,7 @@ class Matrix3d: @param p The point to transform. @return The transformed point """ + ... @overload def __rmul__(self, p: DPolygon) -> DPolygon: r""" @@ -34438,6 +37977,7 @@ class Matrix3d: @param p The polygon to transform. @return The transformed polygon """ + ... @overload def __rmul__(self, p: DSimplePolygon) -> DSimplePolygon: r""" @@ -34445,6 +37985,7 @@ class Matrix3d: @param p The simple polygon to transform. @return The transformed simple polygon """ + ... @overload def __rmul__(self, v: DVector) -> DVector: r""" @@ -34452,34 +37993,40 @@ class Matrix3d: @param v The vector to transform. @return The transformed vector """ + ... def __str__(self) -> str: r""" @brief Convert the matrix to a string. @return The string representing this matrix """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -34487,6 +38034,7 @@ class Matrix3d: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -34494,6 +38042,7 @@ class Matrix3d: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def adjust(self, landmarks_before: Sequence[DPoint], landmarks_after: Sequence[DPoint], flags: int, fixed_point: int) -> None: r""" @brief Adjust a 3d matrix to match the given set of landmarks @@ -34508,39 +38057,46 @@ class Matrix3d: @param mode Selects the adjustment mode. Must be one of the Adjust... constants. @param fixed_point The index of the fixed point (one that is definitely mapped to the target) or -1 if there is none """ + ... def angle(self) -> float: r""" @brief Returns the rotation angle of the rotation component of this matrix. @return The angle in degree. See the description of this class for details about the basic transformations. """ + ... def assign(self, other: Matrix3d) -> None: r""" @brief Assigns another object to self """ + ... def cplx_trans(self) -> DCplxTrans: r""" @brief Converts this matrix to a complex transformation (if possible). @return The complex transformation. This method is successful only if the matrix does not contain shear or perspective distortion components and the magnification must be isotropic. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def disp(self) -> DVector: r""" @brief Returns the displacement vector of this transformation. @@ -34548,59 +38104,70 @@ class Matrix3d: Starting with version 0.25 this method returns a vector type instead of a point. @return The displacement vector. """ + ... def dup(self) -> Matrix3d: r""" @brief Creates a copy of self """ + ... def inverted(self) -> Matrix3d: r""" @brief The inverse of this matrix. @return The inverse of this matrix """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_mirror(self) -> bool: r""" @brief Returns the mirror flag of this matrix. @return True if this matrix has a mirror component. See the description of this class for details about the basic transformations. """ + ... def m(self, i: int, j: int) -> float: r""" @brief Gets the m coefficient with the given index. @return The coefficient [i,j] """ + ... def mag_x(self) -> float: r""" @brief Returns the x magnification of the magnification component of this matrix. @return The magnification factor. """ + ... def mag_y(self) -> float: r""" @brief Returns the y magnification of the magnification component of this matrix. @return The magnification factor. """ + ... def shear_angle(self) -> float: r""" @brief Returns the magnitude of the shear component of this matrix. @return The shear angle in degree. The shear basic transformation will tilt the x axis towards the y axis and vice versa. The shear angle gives the tilt angle of the axes towards the other one. The possible range for this angle is -45 to 45 degree.See the description of this class for details about the basic transformations. """ + ... def to_s(self) -> str: r""" @brief Convert the matrix to a string. @return The string representing this matrix """ + ... def trans(self, p: DPoint) -> DPoint: r""" @brief Transforms a point with this matrix. @param p The point to transform. @return The transformed point """ + ... def tx(self, z: float) -> float: r""" @brief Returns the perspective tilt angle tx. @@ -34608,6 +38175,7 @@ class Matrix3d: @return The tilt angle tx. The tx and ty parameters represent the perspective distortion. They denote a tilt of the xy plane around the y axis (tx) or the x axis (ty) in degree. The same effect is achieved for different tilt angles at different observer distances. Hence, the observer distance must be specified at which the tilt angle is computed. If the magnitude of the tilt angle is not important, z can be set to 1. """ + ... def ty(self, z: float) -> float: r""" @brief Returns the perspective tilt angle ty. @@ -34615,6 +38183,8 @@ class Matrix3d: @return The tilt angle ty. The tx and ty parameters represent the perspective distortion. They denote a tilt of the xy plane around the y axis (tx) or the x axis (ty) in degree. The same effect is achieved for different tilt angles at different observer distances. Hence, the observer distance must be specified at which the tilt angle is computed. If the magnitude of the tilt angle is not important, z can be set to 1. """ + ... + ... class Metrics: r""" @@ -34655,99 +38225,119 @@ class Metrics: r""" @brief Creates an enum from an integer value """ + ... @overload @classmethod def new(cls, s: str) -> Metrics: r""" @brief Creates an enum from a string value """ + ... def __copy__(self) -> Metrics: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> Metrics: r""" @brief Creates a copy of self """ + ... @overload - def __eq__(self, other: object) -> bool: + def __eq__(self, other: int) -> bool: r""" @brief Compares an enum with an integer value """ + ... @overload def __eq__(self, other: object) -> bool: r""" @brief Compares two enums """ + ... def __hash__(self) -> int: r""" @brief Gets the hash value from the enum """ + ... @overload def __init__(self, i: int) -> None: r""" @brief Creates an enum from an integer value """ + ... @overload def __init__(self, s: str) -> None: r""" @brief Creates an enum from a string value """ + ... def __int__(self) -> int: r""" @brief Gets the integer value from the enum """ + ... @overload def __lt__(self, other: Metrics) -> bool: r""" @brief Returns true if the first enum is less (in the enum symbol order) than the second """ + ... @overload def __lt__(self, other: int) -> bool: r""" @brief Returns true if the enum is less (in the enum symbol order) than the integer value """ + ... @overload - def __ne__(self, other: object) -> bool: + def __ne__(self, other: int) -> bool: r""" @brief Compares an enum with an integer for inequality """ + ... @overload def __ne__(self, other: object) -> bool: r""" @brief Compares two enums for inequality """ + ... def __repr__(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def __str__(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -34755,6 +38345,7 @@ class Metrics: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -34762,53 +38353,65 @@ class Metrics: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: Metrics) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> Metrics: r""" @brief Creates a copy of self """ + ... def hash(self) -> int: r""" @brief Gets the hash value from the enum """ + ... def inspect(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def to_i(self) -> int: r""" @brief Gets the integer value from the enum """ + ... def to_s(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... + ... class Net(NetlistObject): r""" @@ -34839,49 +38442,50 @@ class Net(NetlistObject): @brief Sets the name of the net. The name of the net is used for naming the net in schematic files for example. The name of the net has to be unique. """ - def __repr__(self) -> str: - r""" - @brief Gets the qualified name. - The qualified name is like the expanded name, but the circuit's name is preceded - (i.e. 'CIRCUIT:NET') if available. - """ def __str__(self) -> str: r""" @brief Gets the qualified name. The qualified name is like the expanded name, but the circuit's name is preceded (i.e. 'CIRCUIT:NET') if available. """ + ... def _assign(self, other: NetlistObject) -> None: r""" @brief Assigns another object to self """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _dup(self) -> Net: r""" @brief Creates a copy of self """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -34889,6 +38493,7 @@ class Net(NetlistObject): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -34896,20 +38501,24 @@ class Net(NetlistObject): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def circuit(self) -> Circuit: r""" @brief Gets the circuit the net lives in. """ + ... def clear(self) -> None: r""" @brief Clears the net. """ + ... @overload def each_pin(self) -> Iterator[NetPinRef]: r""" @brief Iterates over all outgoing pins the net connects. Pin connections are described by \NetPinRef objects. Pin connections are connections to outgoing pins of the circuit the net lives in. """ + ... @overload def each_pin(self) -> Iterator[NetPinRef]: r""" @@ -34918,12 +38527,14 @@ class Net(NetlistObject): This constness variant has been introduced in version 0.26.8 """ + ... @overload def each_subcircuit_pin(self) -> Iterator[NetSubcircuitPinRef]: r""" @brief Iterates over all subcircuit pins the net connects. Subcircuit pin connections are described by \NetSubcircuitPinRef objects. These are connections to specific pins of subcircuits. """ + ... @overload def each_subcircuit_pin(self) -> Iterator[NetSubcircuitPinRef]: r""" @@ -34932,12 +38543,14 @@ class Net(NetlistObject): This constness variant has been introduced in version 0.26.8 """ + ... @overload def each_terminal(self) -> Iterator[NetTerminalRef]: r""" @brief Iterates over all terminals the net connects. Terminals connect devices. Terminal connections are described by \NetTerminalRef objects. """ + ... @overload def each_terminal(self) -> Iterator[NetTerminalRef]: r""" @@ -34946,21 +38559,25 @@ class Net(NetlistObject): This constness variant has been introduced in version 0.26.8 """ + ... def expanded_name(self) -> str: r""" @brief Gets the expanded name of the net. The expanded name takes the name of the net. If the name is empty, the cluster ID will be used to build a name. """ + ... def is_floating(self) -> bool: r""" @brief Returns true, if the net is floating. Floating nets are those which don't have any device or subcircuit on it and are not connected through a pin. """ + ... def is_internal(self) -> bool: r""" @brief Returns true, if the net is an internal net. Internal nets are those which connect exactly two terminals and nothing else (pin_count = 0 and terminal_count == 2). """ + ... def is_passive(self) -> bool: r""" @brief Returns true, if the net is passive. @@ -34969,30 +38586,37 @@ class Net(NetlistObject): This method has been introduced in version 0.26.1. """ + ... def pin_count(self) -> int: r""" @brief Returns the number of outgoing pins connected by this net. """ + ... def qname(self) -> str: r""" @brief Gets the qualified name. The qualified name is like the expanded name, but the circuit's name is preceded (i.e. 'CIRCUIT:NET') if available. """ + ... def subcircuit_pin_count(self) -> int: r""" @brief Returns the number of subcircuit pins connected by this net. """ + ... def terminal_count(self) -> int: r""" @brief Returns the number of terminals connected by this net. """ + ... def to_s(self) -> str: r""" @brief Gets the qualified name. The qualified name is like the expanded name, but the circuit's name is preceded (i.e. 'CIRCUIT:NET') if available. """ + ... + ... class NetElement: r""" @@ -35013,41 +38637,49 @@ class NetElement: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> NetElement: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> NetElement: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -35055,6 +38687,7 @@ class NetElement: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -35062,59 +38695,72 @@ class NetElement: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: NetElement) -> None: r""" @brief Assigns another object to self """ + ... def bbox(self) -> Box: r""" @brief Delivers the bounding box of the shape as seen from the original top cell """ + ... def cell_index(self) -> int: r""" @brief Gets the index of the cell the shape is inside """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> NetElement: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def layer(self) -> int: r""" @brief Gets the index of the layer the shape is on """ + ... def shape(self) -> Shape: r""" @brief Gets the shape that makes up this net element See the class description for more details about this attribute. """ + ... def trans(self) -> ICplxTrans: r""" @brief Gets the transformation to apply for rendering the shape in the original top cell See the class description for more details about this attribute. """ + ... + ... class NetPinRef: r""" @@ -35128,41 +38774,49 @@ class NetPinRef: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> NetPinRef: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> NetPinRef: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -35170,6 +38824,7 @@ class NetPinRef: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -35177,37 +38832,50 @@ class NetPinRef: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: NetPinRef) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> NetPinRef: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... + @overload + def net(self) -> Net: + r""" + @brief Gets the net this pin reference is attached to. + """ + ... @overload def net(self) -> Net: r""" @@ -35215,19 +38883,18 @@ class NetPinRef: This constness variant has been introduced in version 0.26.8 """ - @overload - def net(self) -> Net: - r""" - @brief Gets the net this pin reference is attached to. - """ + ... def pin(self) -> Pin: r""" @brief Gets the \Pin object of the pin the connection is made to. """ + ... def pin_id(self) -> int: r""" @brief Gets the ID of the pin the connection is made to. """ + ... + ... class NetSubcircuitPinRef: r""" @@ -35241,41 +38908,49 @@ class NetSubcircuitPinRef: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> NetSubcircuitPinRef: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> NetSubcircuitPinRef: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -35283,6 +38958,7 @@ class NetSubcircuitPinRef: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -35290,42 +38966,50 @@ class NetSubcircuitPinRef: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: NetSubcircuitPinRef) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> NetSubcircuitPinRef: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... @overload def net(self) -> Net: r""" @brief Gets the net this pin reference is attached to. """ + ... @overload def net(self) -> Net: r""" @@ -35333,20 +39017,24 @@ class NetSubcircuitPinRef: This constness variant has been introduced in version 0.26.8 """ + ... def pin(self) -> Pin: r""" @brief Gets the \Pin object of the pin the connection is made to. """ + ... def pin_id(self) -> int: r""" @brief Gets the ID of the pin the connection is made to. """ + ... @overload def subcircuit(self) -> SubCircuit: r""" @brief Gets the subcircuit reference. This attribute indicates the subcircuit the net attaches to. The subcircuit lives in the same circuit than the net. """ + ... @overload def subcircuit(self) -> SubCircuit: r""" @@ -35355,6 +39043,8 @@ class NetSubcircuitPinRef: This constness variant has been introduced in version 0.26.8 """ + ... + ... class NetTerminalRef: r""" @@ -35368,41 +39058,49 @@ class NetTerminalRef: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> NetTerminalRef: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> NetTerminalRef: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -35410,6 +39108,7 @@ class NetTerminalRef: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -35417,33 +39116,32 @@ class NetTerminalRef: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: NetTerminalRef) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ - @overload - def device(self) -> Device: - r""" - @brief Gets the device reference. - Gets the device object that this connection is made to. - """ + ... @overload def device(self) -> Device: r""" @@ -35452,20 +39150,37 @@ class NetTerminalRef: This constness variant has been introduced in version 0.26.8 """ + ... + @overload + def device(self) -> Device: + r""" + @brief Gets the device reference. + Gets the device object that this connection is made to. + """ + ... def device_class(self) -> DeviceClass: r""" @brief Gets the class of the device which is addressed. """ + ... def dup(self) -> NetTerminalRef: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... + @overload + def net(self) -> Net: + r""" + @brief Gets the net this terminal reference is attached to. + """ + ... @overload def net(self) -> Net: r""" @@ -35473,19 +39188,18 @@ class NetTerminalRef: This constness variant has been introduced in version 0.26.8 """ - @overload - def net(self) -> Net: - r""" - @brief Gets the net this terminal reference is attached to. - """ + ... def terminal_def(self) -> DeviceTerminalDefinition: r""" @brief Gets the terminal definition of the terminal that is connected """ + ... def terminal_id(self) -> int: r""" @brief Gets the ID of the terminal of the device the connection is made to. """ + ... + ... class NetTracer: r""" @@ -35535,41 +39249,49 @@ class NetTracer: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> NetTracer: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> NetTracer: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -35577,6 +39299,7 @@ class NetTracer: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -35584,61 +39307,73 @@ class NetTracer: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: NetTracer) -> None: r""" @brief Assigns another object to self """ + ... def clear(self) -> None: r""" @brief Clears the data from the last extraction """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> NetTracer: r""" @brief Creates a copy of self """ + ... def each_element(self) -> Iterator[NetElement]: r""" @brief Iterates over the elements found during extraction The elements are available only after the extraction has been performed. """ + ... def incomplete(self) -> bool: r""" @brief Returns a value indicating whether the net is incomplete A net may be incomplete if the extraction has been stopped by the user for example. This attribute is useful only after the extraction has been performed. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def name(self) -> str: r""" @brief Returns the name of the net found during extraction The net name is extracted from labels found during the extraction. This attribute is useful only after the extraction has been performed. """ + ... def num_elements(self) -> int: r""" @brief Returns the number of elements found during extraction This attribute is useful only after the extraction has been performed. """ + ... @overload def trace(self, tech: NetTracerConnectivity, layout: Layout, cell: Cell, start_point: Point, start_layer: int) -> None: r""" @@ -35655,6 +39390,7 @@ class NetTracer: @param start_point The start point from which to start extraction of the net @param start_layer The layer from which to start extraction """ + ... @overload def trace(self, tech: NetTracerConnectivity, layout: Layout, cell: Cell, start_point: Point, start_layer: int, stop_point: Point, stop_layer: int) -> None: r""" @@ -35673,6 +39409,7 @@ class NetTracer: @param stop_point The stop point at which to stop extraction of the net @param stop_layer The layer at which to stop extraction """ + ... @overload def trace(self, tech: str, connectivity_name: str, layout: Layout, cell: Cell, start_point: Point, start_layer: int) -> None: r""" @@ -35681,6 +39418,7 @@ class NetTracer: This method variant has been introduced in version 0.28. """ + ... @overload def trace(self, tech: str, connectivity_name: str, layout: Layout, cell: Cell, start_point: Point, start_layer: int, stop_point: Point, stop_layer: int) -> None: r""" @@ -35689,6 +39427,7 @@ class NetTracer: This method variant has been introduced in version 0.28. """ + ... @overload def trace(self, tech: str, layout: Layout, cell: Cell, start_point: Point, start_layer: int) -> None: r""" @@ -35696,12 +39435,15 @@ class NetTracer: This method behaves identical as the version with a technology object, except that it will look for a technology with the given name to obtain the extraction setup. The technology is looked up by technology name. A version of this method exists where it is possible to specify the name of the particular connectivity to use in case there are multiple definitions available. """ + ... @overload def trace(self, tech: str, layout: Layout, cell: Cell, start_point: Point, start_layer: int, stop_point: Point, stop_layer: int) -> None: r""" @brief Runs a path extraction taking a predefined technology This method behaves identical as the version with a technology object, except that it will look for a technology with the given name to obtain the extraction setup. """ + ... + ... class NetTracerConnectionInfo: r""" @@ -35713,41 +39455,49 @@ class NetTracerConnectionInfo: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> NetTracerConnectionInfo: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> NetTracerConnectionInfo: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -35755,6 +39505,7 @@ class NetTracerConnectionInfo: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -35762,49 +39513,60 @@ class NetTracerConnectionInfo: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: NetTracerConnectionInfo) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> NetTracerConnectionInfo: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def layer_a(self) -> str: r""" @brief Gets the expression for the A layer """ + ... def layer_b(self) -> str: r""" @brief Gets the expression for the B layer """ + ... def via_layer(self) -> str: r""" @brief Gets the expression for the Via layer """ + ... + ... class NetTracerConnectivity: r""" @@ -35844,41 +39606,49 @@ class NetTracerConnectivity: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> NetTracerConnectivity: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> NetTracerConnectivity: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -35886,6 +39656,7 @@ class NetTracerConnectivity: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -35893,64 +39664,77 @@ class NetTracerConnectivity: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: NetTracerConnectivity) -> None: r""" @brief Assigns another object to self """ + ... @overload def connection(self, a: str, b: str) -> None: r""" @brief Defines a connection between two materials See the class description for details about this method. """ + ... @overload def connection(self, a: str, via: str, b: str) -> None: r""" @brief Defines a connection between materials through a via See the class description for details about this method. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> NetTracerConnectivity: r""" @brief Creates a copy of self """ + ... def each_connection(self) -> Iterator[NetTracerConnectionInfo]: r""" @brief Gets the connection information. This iterator method has been introduced in version 0.28.3. """ + ... def each_symbol(self) -> Iterator[NetTracerSymbolInfo]: r""" @brief Gets the symbol information. This iterator method has been introduced in version 0.28.3. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def symbol(self, name: str, expr: str) -> None: r""" @brief Defines a symbol for use in the material expressions. Defines a sub-expression to be used in further symbols or material expressions. For the detailed notation of the expression see the description of the net tracer feature. """ + ... + ... class NetTracerSymbolInfo: r""" @@ -35962,41 +39746,49 @@ class NetTracerSymbolInfo: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> NetTracerSymbolInfo: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> NetTracerSymbolInfo: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -36004,6 +39796,7 @@ class NetTracerSymbolInfo: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -36011,45 +39804,55 @@ class NetTracerSymbolInfo: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: NetTracerSymbolInfo) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> NetTracerSymbolInfo: r""" @brief Creates a copy of self """ + ... def expression(self) -> str: r""" @brief Gets the expression """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def symbol(self) -> str: r""" @brief Gets the symbol """ + ... + ... class NetTracerTechnologyComponent(TechnologyComponent): r""" @@ -36060,37 +39863,44 @@ class NetTracerTechnologyComponent(TechnologyComponent): r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> NetTracerTechnologyComponent: r""" @brief Creates a copy of self """ + ... def __iter__(self) -> Iterator[NetTracerConnectivity]: r""" @brief Gets the connectivity definitions from the net tracer technology component. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -36098,6 +39908,7 @@ class NetTracerTechnologyComponent(TechnologyComponent): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -36105,28 +39916,35 @@ class NetTracerTechnologyComponent(TechnologyComponent): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def add(self, connection: NetTracerConnectivity) -> None: r""" @brief Adds a connectivity definition. This method has been introduced in version 0.28.7 """ + ... def assign(self, other: TechnologyComponent) -> None: r""" @brief Assigns another object to self """ + ... def clear(self) -> None: r""" @brief Removes all connectivity definitions. This method has been introduced in version 0.28.7 """ + ... def dup(self) -> NetTracerTechnologyComponent: r""" @brief Creates a copy of self """ + ... def each(self) -> Iterator[NetTracerConnectivity]: r""" @brief Gets the connectivity definitions from the net tracer technology component. """ + ... + ... class Netlist: r""" @@ -36153,51 +39971,55 @@ class Netlist: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> Netlist: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> Netlist: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ - def __repr__(self) -> str: - r""" - @brief Converts the netlist to a string representation. - This method is intended for test purposes mainly. - """ + ... def __str__(self) -> str: r""" @brief Converts the netlist to a string representation. This method is intended for test purposes mainly. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -36205,6 +40027,7 @@ class Netlist: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -36212,22 +40035,26 @@ class Netlist: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... @overload def add(self, circuit: Circuit) -> None: r""" @brief Adds the circuit to the netlist This method will add the given circuit object to the netlist. After the circuit has been added, it will be owned by the netlist. """ + ... @overload def add(self, device_class: DeviceClass) -> None: r""" @brief Adds the device class to the netlist This method will add the given device class object to the netlist. After the device class has been added, it will be owned by the netlist. """ + ... def assign(self, other: Netlist) -> None: r""" @brief Assigns another object to self """ + ... def blank_circuit(self, pattern: str) -> None: r""" @brief Blanks circuits matching a certain pattern @@ -36236,12 +40063,7 @@ class Netlist: For more details see \Circuit#blank which is the corresponding method on the actual object. """ - @overload - def circuit_by_cell_index(self, cell_index: int) -> Circuit: - r""" - @brief Gets the circuit object for a given cell index. - If the cell index is not valid or no circuit is registered with this index, nil is returned. - """ + ... @overload def circuit_by_cell_index(self, cell_index: int) -> Circuit: r""" @@ -36250,12 +40072,14 @@ class Netlist: This constness variant has been introduced in version 0.26.8. """ + ... @overload - def circuit_by_name(self, name: str) -> Circuit: + def circuit_by_cell_index(self, cell_index: int) -> Circuit: r""" - @brief Gets the circuit object for a given name. - If the name is not a valid circuit name, nil is returned. + @brief Gets the circuit object for a given cell index. + If the cell index is not valid or no circuit is registered with this index, nil is returned. """ + ... @overload def circuit_by_name(self, name: str) -> Circuit: r""" @@ -36264,6 +40088,14 @@ class Netlist: This constness variant has been introduced in version 0.26.8. """ + ... + @overload + def circuit_by_name(self, name: str) -> Circuit: + r""" + @brief Gets the circuit object for a given name. + If the name is not a valid circuit name, nil is returned. + """ + ... @overload def circuits_by_name(self, name_pattern: str) -> List[Circuit]: r""" @@ -36272,6 +40104,7 @@ class Netlist: This method has been introduced in version 0.26.4. """ + ... @overload def circuits_by_name(self, name_pattern: str) -> List[Circuit]: r""" @@ -36281,35 +40114,41 @@ class Netlist: This constness variant has been introduced in version 0.26.8. """ + ... def combine_devices(self) -> None: r""" @brief Combines devices where possible This method will combine devices that can be combined according to their device classes 'combine_devices' method. For example, serial or parallel resistors can be combined into a single resistor. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... @overload def device_class_by_name(self, name: str) -> DeviceClass: r""" @brief Gets the device class for a given name. If the name is not a valid device class name, nil is returned. """ + ... @overload def device_class_by_name(self, name: str) -> DeviceClass: r""" @@ -36318,15 +40157,18 @@ class Netlist: This constness variant has been introduced in version 0.26.8. """ + ... def dup(self) -> Netlist: r""" @brief Creates a copy of self """ + ... @overload def each_circuit(self) -> Iterator[Circuit]: r""" @brief Iterates over the circuits of the netlist """ + ... @overload def each_circuit(self) -> Iterator[Circuit]: r""" @@ -36334,12 +40176,14 @@ class Netlist: This constness variant has been introduced in version 0.26.8. """ + ... @overload def each_circuit_bottom_up(self) -> Iterator[Circuit]: r""" @brief Iterates over the circuits bottom-up Iterating bottom-up means the parent circuits come after the child circuits. This is the basically the reverse order as delivered by \each_circuit_top_down. """ + ... @overload def each_circuit_bottom_up(self) -> Iterator[Circuit]: r""" @@ -36348,12 +40192,14 @@ class Netlist: This constness variant has been introduced in version 0.26.8. """ + ... @overload def each_circuit_top_down(self) -> Iterator[Circuit]: r""" @brief Iterates over the circuits top-down Iterating top-down means the parent circuits come before the child circuits. The first \top_circuit_count circuits are top circuits - i.e. those which are not referenced by other circuits. """ + ... @overload def each_circuit_top_down(self) -> Iterator[Circuit]: r""" @@ -36362,6 +40208,13 @@ class Netlist: This constness variant has been introduced in version 0.26.8. """ + ... + @overload + def each_device_class(self) -> Iterator[DeviceClass]: + r""" + @brief Iterates over the device classes of the netlist + """ + ... @overload def each_device_class(self) -> Iterator[DeviceClass]: r""" @@ -36369,28 +40222,27 @@ class Netlist: This constness variant has been introduced in version 0.26.8. """ - @overload - def each_device_class(self) -> Iterator[DeviceClass]: - r""" - @brief Iterates over the device classes of the netlist - """ + ... def flatten(self) -> None: r""" @brief Flattens all circuits of the netlist After calling this method, only the top circuits will remain. """ + ... @overload def flatten_circuit(self, circuit: Circuit) -> None: r""" @brief Flattens a subcircuit This method will substitute all instances (subcircuits) of the given circuit by its contents. After this, the circuit is removed. """ + ... @overload def flatten_circuit(self, pattern: str) -> None: r""" @brief Flattens circuits matching a certain pattern This method will substitute all instances (subcircuits) of all circuits with names matching the given name pattern. The name pattern is a glob expression. For example, 'flatten_circuit("np*")' will flatten all circuits with names starting with 'np'. """ + ... def flatten_circuits(self, circuits: Sequence[Circuit]) -> None: r""" @brief Flattens all given circuits of the netlist @@ -36398,27 +40250,32 @@ class Netlist: This method has been introduced in version 0.26.1 """ + ... def from_s(self, str: str) -> None: r""" @brief Reads the netlist from a string representation. This method is intended for test purposes mainly. It turns a string returned by \to_s back into a netlist. Note that the device classes must be created before as they are not persisted inside the string. """ + ... def is_case_sensitive(self) -> bool: r""" @brief Returns a value indicating whether the netlist names are case sensitive This method has been added in version 0.27.3. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def make_top_level_pins(self) -> None: r""" @brief Creates pins for top-level circuits. This method will turn all named nets of top-level circuits (such that are not referenced by subcircuits) into pins. This method can be used before purge to avoid that purge will remove nets which are directly connecting to subcircuits. """ + ... @overload def nets_by_name(self, name_pattern: str) -> List[Net]: r""" @@ -36427,6 +40284,7 @@ class Netlist: This method has been introduced in version 0.28.4. """ + ... @overload def nets_by_name(self, name_pattern: str) -> List[Net]: r""" @@ -36436,59 +40294,71 @@ class Netlist: This constness variant has been introduced in version 0.28.4. """ + ... def purge(self) -> None: r""" @brief Purge unused nets, circuits and subcircuits. This method will purge all nets which return \floating == true. Circuits which don't have any nets (or only floating ones) and removed. Their subcircuits are disconnected. This method respects the \Circuit#dont_purge attribute and will never delete circuits with this flag set. """ + ... def purge_circuit(self, circuit: Circuit) -> None: r""" @brief Removes the given circuit object and all child circuits which are not used otherwise from the netlist After the circuit has been removed, the object becomes invalid and cannot be used further. A circuit with references (see \has_refs?) should not be removed as the subcircuits calling it would afterwards point to nothing. """ + ... def purge_nets(self) -> None: r""" @brief Purges floating nets. Floating nets can be created as effect of reconnections of devices or pins. This method will eliminate all nets that make less than two connections. """ + ... def read(self, file: str, reader: NetlistReader) -> None: r""" @brief Writes the netlist to the given file using the given reader object to parse the file See \NetlistSpiceReader for an example for a parser. """ + ... @overload def remove(self, circuit: Circuit) -> None: r""" @brief Removes the given circuit object from the netlist After the circuit has been removed, the object becomes invalid and cannot be used further. A circuit with references (see \has_refs?) should not be removed as the subcircuits calling it would afterwards point to nothing. """ + ... @overload def remove(self, device_class: DeviceClass) -> None: r""" @brief Removes the given device class object from the netlist After the object has been removed, it becomes invalid and cannot be used further. Use this method with care as it may corrupt the internal structure of the netlist. Only use this method when device refers to this device class. """ + ... def simplify(self) -> None: r""" @brief Convenience method that combines the simplification. This method is a convenience method that runs \make_top_level_pins, \purge, \combine_devices and \purge_nets. """ + ... def to_s(self) -> str: r""" @brief Converts the netlist to a string representation. This method is intended for test purposes mainly. """ + ... def top_circuit_count(self) -> int: r""" @brief Gets the number of top circuits. Top circuits are those which are not referenced by other circuits via subcircuits. A well-formed netlist has a single top circuit. """ + ... def write(self, file: str, writer: NetlistWriter, description: Optional[str] = ...) -> None: r""" @brief Writes the netlist to the given file using the given writer object to format the file See \NetlistSpiceWriter for an example for a formatter. The description is an arbitrary text which will be put into the file somewhere at the beginning. """ + ... + ... class NetlistCompareLogger: r""" @@ -36500,33 +40370,39 @@ class NetlistCompareLogger: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -36534,6 +40410,7 @@ class NetlistCompareLogger: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -36541,29 +40418,35 @@ class NetlistCompareLogger: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... + ... class NetlistComparer: r""" @@ -36583,6 +40466,7 @@ class NetlistComparer: @brief Excludes all resistor devices with a resistance values higher than the given threshold. To reset this constraint, set this attribute to zero. """ + ... @property def min_capacitance(self) -> None: r""" @@ -36590,6 +40474,7 @@ class NetlistComparer: @brief Excludes all capacitor devices with a capacitance values less than the given threshold. To reset this constraint, set this attribute to zero. """ + ... dont_consider_net_names: bool r""" Getter: @@ -36654,6 +40539,7 @@ class NetlistComparer: @brief Creates a new comparer object. See the class description for more details. """ + ... @overload @classmethod def new(cls, logger: GenericNetlistCompareLogger) -> NetlistComparer: @@ -36661,41 +40547,48 @@ class NetlistComparer: @brief Creates a new comparer object. The logger is a delegate or event receiver which the comparer will send compare events to. See the class description for more details. """ + ... @overload def __init__(self) -> None: r""" @brief Creates a new comparer object. See the class description for more details. """ + ... @overload def __init__(self, logger: GenericNetlistCompareLogger) -> None: r""" @brief Creates a new comparer object. The logger is a delegate or event receiver which the comparer will send compare events to. See the class description for more details. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -36703,6 +40596,7 @@ class NetlistComparer: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -36710,53 +40604,62 @@ class NetlistComparer: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... @overload def compare(self, netlist_a: Netlist, netlist_b: Netlist) -> bool: r""" @brief Compares two netlists. This method will perform the actual netlist compare. It will return true if both netlists are identical. If the comparer has been configured with \same_nets or similar methods, the objects given there must be located inside 'circuit_a' and 'circuit_b' respectively. """ + ... @overload def compare(self, netlist_a: Netlist, netlist_b: Netlist, logger: NetlistCompareLogger) -> bool: r""" @brief Compares two netlists. This method will perform the actual netlist compare using the given logger. It will return true if both netlists are identical. If the comparer has been configured with \same_nets or similar methods, the objects given there must be located inside 'circuit_a' and 'circuit_b' respectively. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... @overload def equivalent_pins(self, circuit_b: Circuit, pin_id1: int, pin_id2: int) -> None: r""" @brief Marks two pins of the given circuit as equivalent (i.e. they can be swapped). Only circuits from the second input can be given swappable pins. This will imply the same swappable pins on the equivalent circuit of the first input. To mark multiple pins as swappable, use the version that takes a list of pins. """ + ... @overload def equivalent_pins(self, circuit_b: Circuit, pin_ids: Sequence[int]) -> None: r""" @brief Marks several pins of the given circuit as equivalent (i.e. they can be swapped). Only circuits from the second input can be given swappable pins. This will imply the same swappable pins on the equivalent circuit of the first input. This version is a generic variant of the two-pin version of this method. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def join_symmetric_nets(self, circuit: Circuit) -> None: r""" @brief Joins symmetric nodes in the given circuit. @@ -36772,12 +40675,14 @@ class NetlistComparer: This method has been introduced in version 0.26.4. """ + ... def same_circuits(self, circuit_a: Circuit, circuit_b: Circuit) -> None: r""" @brief Marks two circuits as identical. This method makes a circuit circuit_a in netlist a identical to the corresponding circuit circuit_b in netlist b (see \compare). By default circuits with the same name are identical. """ + ... def same_device_classes(self, dev_cls_a: DeviceClass, dev_cls_b: DeviceClass) -> None: r""" @brief Marks two device classes as identical. @@ -36785,6 +40690,7 @@ class NetlistComparer: device class dev_cls_b in netlist b (see \compare). By default device classes with the same name are identical. """ + ... @overload def same_nets(self, circuit_a: Circuit, circuit_b: Circuit, net_a: Net, net_b: Net, must_match: Optional[bool] = ...) -> None: r""" @@ -36799,6 +40705,7 @@ class NetlistComparer: This variant has been added in version 0.27.3. """ + ... @overload def same_nets(self, net_a: Net, net_b: Net, must_match: Optional[bool] = ...) -> None: r""" @@ -36811,16 +40718,20 @@ class NetlistComparer: The 'must_match' optional argument has been added in version 0.27.3. """ + ... def unmatched_circuits_a(self, a: Netlist, b: Netlist) -> List[Circuit]: r""" @brief Returns a list of circuits in A for which there is not corresponding circuit in B This list can be used to flatten these circuits so they do not participate in the compare process. """ + ... def unmatched_circuits_b(self, a: Netlist, b: Netlist) -> List[Circuit]: r""" @brief Returns a list of circuits in B for which there is not corresponding circuit in A This list can be used to flatten these circuits so they do not participate in the compare process. """ + ... + ... class NetlistCrossReference(NetlistCompareLogger): r""" @@ -36848,16 +40759,20 @@ class NetlistCrossReference(NetlistCompareLogger): @brief Gets the first object of the relation pair. The first object is usually the one obtained from the layout-derived netlist. This member can be nil if the pair is describing a non-matching reference object. In this case, the \second member is the reference object for which no match was found. """ + ... def second(self) -> Circuit: r""" @brief Gets the second object of the relation pair. The first object is usually the one obtained from the reference netlist. This member can be nil if the pair is describing a non-matching layout object. In this case, the \first member is the layout-derived object for which no match was found. """ + ... def status(self) -> NetlistCrossReference.Status: r""" @brief Gets the status of the relation. This enum described the match status of the relation pair. """ + ... + ... class DevicePairData: r""" @brief A device match entry. @@ -36871,16 +40786,20 @@ class NetlistCrossReference(NetlistCompareLogger): @brief Gets the first object of the relation pair. The first object is usually the one obtained from the layout-derived netlist. This member can be nil if the pair is describing a non-matching reference object. In this case, the \second member is the reference object for which no match was found. """ + ... def second(self) -> Device: r""" @brief Gets the second object of the relation pair. The first object is usually the one obtained from the reference netlist. This member can be nil if the pair is describing a non-matching layout object. In this case, the \first member is the layout-derived object for which no match was found. """ + ... def status(self) -> NetlistCrossReference.Status: r""" @brief Gets the status of the relation. This enum described the match status of the relation pair. """ + ... + ... class NetPairData: r""" @brief A net match entry. @@ -36894,16 +40813,20 @@ class NetlistCrossReference(NetlistCompareLogger): @brief Gets the first object of the relation pair. The first object is usually the one obtained from the layout-derived netlist. This member can be nil if the pair is describing a non-matching reference object. In this case, the \second member is the reference object for which no match was found. """ + ... def second(self) -> Net: r""" @brief Gets the second object of the relation pair. The first object is usually the one obtained from the reference netlist. This member can be nil if the pair is describing a non-matching layout object. In this case, the \first member is the layout-derived object for which no match was found. """ + ... def status(self) -> NetlistCrossReference.Status: r""" @brief Gets the status of the relation. This enum described the match status of the relation pair. """ + ... + ... class NetPinRefPair: r""" @brief A match entry for a net pin pair. @@ -36916,11 +40839,14 @@ class NetlistCrossReference(NetlistCompareLogger): @brief Gets the first object of the relation pair. The first object is usually the one obtained from the layout-derived netlist. This member can be nil if the pair is describing a non-matching reference object. In this case, the \second member is the reference object for which no match was found. """ + ... def second(self) -> NetPinRef: r""" @brief Gets the second object of the relation pair. The first object is usually the one obtained from the reference netlist. This member can be nil if the pair is describing a non-matching layout object. In this case, the \first member is the layout-derived object for which no match was found. """ + ... + ... class NetSubcircuitPinRefPair: r""" @brief A match entry for a net subcircuit pin pair. @@ -36933,11 +40859,14 @@ class NetlistCrossReference(NetlistCompareLogger): @brief Gets the first object of the relation pair. The first object is usually the one obtained from the layout-derived netlist. This member can be nil if the pair is describing a non-matching reference object. In this case, the \second member is the reference object for which no match was found. """ + ... def second(self) -> NetSubcircuitPinRef: r""" @brief Gets the second object of the relation pair. The first object is usually the one obtained from the reference netlist. This member can be nil if the pair is describing a non-matching layout object. In this case, the \first member is the layout-derived object for which no match was found. """ + ... + ... class NetTerminalRefPair: r""" @brief A match entry for a net terminal pair. @@ -36950,11 +40879,14 @@ class NetlistCrossReference(NetlistCompareLogger): @brief Gets the first object of the relation pair. The first object is usually the one obtained from the layout-derived netlist. This member can be nil if the pair is describing a non-matching reference object. In this case, the \second member is the reference object for which no match was found. """ + ... def second(self) -> NetTerminalRef: r""" @brief Gets the second object of the relation pair. The first object is usually the one obtained from the reference netlist. This member can be nil if the pair is describing a non-matching layout object. In this case, the \first member is the layout-derived object for which no match was found. """ + ... + ... class PinPairData: r""" @brief A pin match entry. @@ -36968,16 +40900,20 @@ class NetlistCrossReference(NetlistCompareLogger): @brief Gets the first object of the relation pair. The first object is usually the one obtained from the layout-derived netlist. This member can be nil if the pair is describing a non-matching reference object. In this case, the \second member is the reference object for which no match was found. """ + ... def second(self) -> Pin: r""" @brief Gets the second object of the relation pair. The first object is usually the one obtained from the reference netlist. This member can be nil if the pair is describing a non-matching layout object. In this case, the \first member is the layout-derived object for which no match was found. """ + ... def status(self) -> NetlistCrossReference.Status: r""" @brief Gets the status of the relation. This enum described the match status of the relation pair. """ + ... + ... class Status: r""" @brief This class represents the NetlistCrossReference::Status enum @@ -37019,84 +40955,103 @@ class NetlistCrossReference(NetlistCompareLogger): r""" @brief Creates an enum from an integer value """ + ... @overload @classmethod def new(cls, s: str) -> NetlistCrossReference.Status: r""" @brief Creates an enum from a string value """ + ... @overload - def __eq__(self, other: object) -> bool: + def __eq__(self, other: int) -> bool: r""" @brief Compares an enum with an integer value """ + ... @overload def __eq__(self, other: object) -> bool: r""" @brief Compares two enums """ + ... def __hash__(self) -> int: r""" @brief Gets the hash value from the enum """ + ... @overload def __init__(self, i: int) -> None: r""" @brief Creates an enum from an integer value """ + ... @overload def __init__(self, s: str) -> None: r""" @brief Creates an enum from a string value """ + ... def __int__(self) -> int: r""" @brief Gets the integer value from the enum """ + ... @overload def __lt__(self, other: NetlistCrossReference.Status) -> bool: r""" @brief Returns true if the first enum is less (in the enum symbol order) than the second """ + ... @overload def __lt__(self, other: int) -> bool: r""" @brief Returns true if the enum is less (in the enum symbol order) than the integer value """ + ... @overload - def __ne__(self, other: object) -> bool: + def __ne__(self, other: int) -> bool: r""" @brief Compares an enum with an integer for inequality """ + ... @overload def __ne__(self, other: object) -> bool: r""" @brief Compares two enums for inequality """ + ... def __repr__(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def __str__(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... def hash(self) -> int: r""" @brief Gets the hash value from the enum """ + ... def inspect(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def to_i(self) -> int: r""" @brief Gets the integer value from the enum """ + ... def to_s(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... + ... class SubCircuitPairData: r""" @brief A subcircuit match entry. @@ -37110,16 +41065,20 @@ class NetlistCrossReference(NetlistCompareLogger): @brief Gets the first object of the relation pair. The first object is usually the one obtained from the layout-derived netlist. This member can be nil if the pair is describing a non-matching reference object. In this case, the \second member is the reference object for which no match was found. """ + ... def second(self) -> SubCircuit: r""" @brief Gets the second object of the relation pair. The first object is usually the one obtained from the reference netlist. This member can be nil if the pair is describing a non-matching layout object. In this case, the \first member is the layout-derived object for which no match was found. """ + ... def status(self) -> NetlistCrossReference.Status: r""" @brief Gets the status of the relation. This enum described the match status of the relation pair. """ + ... + ... Match: ClassVar[NetlistCrossReference.Status] r""" @brief Enum constant NetlistCrossReference::Match @@ -37156,24 +41115,28 @@ class NetlistCrossReference(NetlistCompareLogger): @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -37181,6 +41144,7 @@ class NetlistCrossReference(NetlistCompareLogger): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -37188,64 +41152,77 @@ class NetlistCrossReference(NetlistCompareLogger): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def circuit_count(self) -> int: r""" @brief Gets the number of circuit pairs in the cross-reference object. """ + ... def clear(self) -> None: r""" @hide """ + ... def each_circuit_pair(self) -> Iterator[NetlistCrossReference.CircuitPairData]: r""" @brief Delivers the circuit pairs and their status. See the class description for details. """ + ... def each_device_pair(self, circuit_pair: NetlistCrossReference.CircuitPairData) -> Iterator[NetlistCrossReference.DevicePairData]: r""" @brief Delivers the device pairs and their status for the given circuit pair. See the class description for details. """ + ... def each_net_pair(self, circuit_pair: NetlistCrossReference.CircuitPairData) -> Iterator[NetlistCrossReference.NetPairData]: r""" @brief Delivers the net pairs and their status for the given circuit pair. See the class description for details. """ + ... def each_net_pin_pair(self, net_pair: NetlistCrossReference.NetPairData) -> Iterator[NetlistCrossReference.NetPinRefPair]: r""" @brief Delivers the pin pairs for the given net pair. For the net pair, lists the pin pairs identified on this net. """ + ... def each_net_subcircuit_pin_pair(self, net_pair: NetlistCrossReference.NetPairData) -> Iterator[NetlistCrossReference.NetSubcircuitPinRefPair]: r""" @brief Delivers the subcircuit pin pairs for the given net pair. For the net pair, lists the subcircuit pin pairs identified on this net. """ + ... def each_net_terminal_pair(self, net_pair: NetlistCrossReference.NetPairData) -> Iterator[NetlistCrossReference.NetTerminalRefPair]: r""" @brief Delivers the device terminal pairs for the given net pair. For the net pair, lists the device terminal pairs identified on this net. """ + ... def each_pin_pair(self, circuit_pair: NetlistCrossReference.CircuitPairData) -> Iterator[NetlistCrossReference.PinPairData]: r""" @brief Delivers the pin pairs and their status for the given circuit pair. See the class description for details. """ + ... def each_subcircuit_pair(self, circuit_pair: NetlistCrossReference.CircuitPairData) -> Iterator[NetlistCrossReference.SubCircuitPairData]: r""" @brief Delivers the subcircuit pairs and their status for the given circuit pair. See the class description for details. """ + ... def netlist_a(self) -> Netlist: r""" @brief Gets the first netlist which participated in the compare. This member may be nil, if the respective netlist is no longer valid. In this case, the netlist cross-reference object cannot be used. """ + ... def netlist_b(self) -> Netlist: r""" @brief Gets the second netlist which participated in the compare. This member may be nil, if the respective netlist is no longer valid.In this case, the netlist cross-reference object cannot be used. """ + ... def other_circuit_for(self, circuit: Circuit) -> Circuit: r""" @brief Gets the matching other circuit for a given primary circuit. @@ -37253,6 +41230,7 @@ class NetlistCrossReference(NetlistCompareLogger): This method has been introduced in version 0.27. """ + ... def other_device_for(self, device: Device) -> Device: r""" @brief Gets the matching other device for a given primary device. @@ -37260,11 +41238,13 @@ class NetlistCrossReference(NetlistCompareLogger): This method has been introduced in version 0.27. """ + ... def other_net_for(self, net: Net) -> Net: r""" @brief Gets the matching other net for a given primary net. The return value will be nil if no match is found. Otherwise it is the 'b' net for nets from the 'a' netlist and vice versa. """ + ... def other_pin_for(self, pin: Pin) -> Pin: r""" @brief Gets the matching other pin for a given primary pin. @@ -37272,6 +41252,7 @@ class NetlistCrossReference(NetlistCompareLogger): This method has been introduced in version 0.27. """ + ... def other_subcircuit_for(self, subcircuit: SubCircuit) -> SubCircuit: r""" @brief Gets the matching other subcircuit for a given primary subcircuit. @@ -37279,6 +41260,8 @@ class NetlistCrossReference(NetlistCompareLogger): This method has been introduced in version 0.27. """ + ... + ... class NetlistDeviceExtractorLayerDefinition: r""" @@ -37294,41 +41277,49 @@ class NetlistDeviceExtractorLayerDefinition: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> NetlistDeviceExtractorLayerDefinition: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> NetlistDeviceExtractorLayerDefinition: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -37336,6 +41327,7 @@ class NetlistDeviceExtractorLayerDefinition: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -37343,54 +41335,66 @@ class NetlistDeviceExtractorLayerDefinition: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: NetlistDeviceExtractorLayerDefinition) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def description(self) -> str: r""" @brief Gets the description of the layer. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> NetlistDeviceExtractorLayerDefinition: r""" @brief Creates a copy of self """ + ... def fallback_index(self) -> int: r""" @brief Gets the index of the fallback layer. This is the index of the layer to be used when this layer isn't specified for input or (more important) output. """ + ... def index(self) -> int: r""" @brief Gets the index of the layer. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def name(self) -> str: r""" @brief Gets the name of the layer. """ + ... + ... class NetlistObject: r""" @@ -37404,41 +41408,49 @@ class NetlistObject: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> NetlistObject: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> NetlistObject: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -37446,6 +41458,7 @@ class NetlistObject: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -37453,50 +41466,61 @@ class NetlistObject: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: NetlistObject) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> NetlistObject: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def property(self, key: Any) -> Any: r""" @brief Gets the property value for the given key or nil if there is no value with this key. """ + ... def property_keys(self) -> List[Any]: r""" @brief Gets the keys for the properties stored in this object. """ + ... def set_property(self, key: Any, value: Any) -> None: r""" @brief Sets the property value for the given key. Use a nil value to erase the property with this key. """ + ... + ... class NetlistReader: r""" @@ -37510,33 +41534,39 @@ class NetlistReader: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -37544,6 +41574,7 @@ class NetlistReader: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -37551,29 +41582,35 @@ class NetlistReader: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... + ... class NetlistSpiceReader(NetlistReader): r""" @@ -37664,45 +41701,53 @@ class NetlistSpiceReader(NetlistReader): r""" @brief Creates a new reader. """ + ... @overload @classmethod def new(cls, delegate: NetlistSpiceReaderDelegate) -> NetlistSpiceReader: r""" @brief Creates a new reader with a delegate. """ + ... @overload def __init__(self) -> None: r""" @brief Creates a new reader. """ + ... @overload def __init__(self, delegate: NetlistSpiceReaderDelegate) -> None: r""" @brief Creates a new reader with a delegate. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -37710,6 +41755,7 @@ class NetlistSpiceReader(NetlistReader): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -37717,6 +41763,8 @@ class NetlistSpiceReader(NetlistReader): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... + ... class NetlistSpiceReaderDelegate: r""" @@ -37732,41 +41780,49 @@ class NetlistSpiceReaderDelegate: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> NetlistSpiceReaderDelegate: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> NetlistSpiceReaderDelegate: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -37774,6 +41830,7 @@ class NetlistSpiceReaderDelegate: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -37781,6 +41838,7 @@ class NetlistSpiceReaderDelegate: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def apply_parameter_scaling(self, device: Device) -> None: r""" @brief Applies parameter scaling to the given device @@ -37790,63 +41848,76 @@ class NetlistSpiceReaderDelegate: This method has been introduced in version 0.28.6. """ + ... def assign(self, other: NetlistSpiceReaderDelegate) -> None: r""" @brief Assigns another object to self """ + ... def control_statement(self, arg0: str) -> bool: r""" @hide """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> NetlistSpiceReaderDelegate: r""" @brief Creates a copy of self """ + ... def element(self, arg0: Circuit, arg1: str, arg2: str, arg3: str, arg4: float, arg5: Sequence[Net], arg6: Dict[str, Any]) -> bool: r""" @hide """ + ... def error(self, msg: str) -> None: r""" @brief Issues an error with the given message. Use this method to generate an error. """ + ... def finish(self, arg0: Netlist) -> None: r""" @hide """ + ... def get_scale(self) -> float: r""" @brief Gets the scale factor set with '.options scale=...' This method has been introduced in version 0.28.6. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def parse_element(self, arg0: str, arg1: str) -> ParseElementData: r""" @hide """ + ... def parse_element_components(self, s: str, variables: Optional[Dict[str, Any]] = ...) -> ParseElementComponentsData: r""" @brief Parses a string into string and parameter components. @@ -37857,14 +41928,17 @@ class NetlistSpiceReaderDelegate: This method has been introduced in version 0.27.1. The variables argument has been added in version 0.28.6. """ + ... def start(self, arg0: Netlist) -> None: r""" @hide """ + ... def translate_net_name(self, arg0: str) -> str: r""" @hide """ + ... def value_from_string(self, s: str, variables: Optional[Dict[str, Any]] = ...) -> Any: r""" @brief Translates a string into a value @@ -37874,6 +41948,7 @@ class NetlistSpiceReaderDelegate: This method has been introduced in version 0.27.1. The variables argument has been added in version 0.28.6. """ + ... def variables(self) -> Dict[str, Any]: r""" @brief Gets the variables defined inside the SPICE file during execution of 'parse_element' @@ -37881,10 +41956,13 @@ class NetlistSpiceReaderDelegate: This method has been introduced in version 0.28.6. """ + ... def wants_subcircuit(self, arg0: str) -> bool: r""" @hide """ + ... + ... class NetlistSpiceWriter(NetlistWriter): r""" @@ -37974,53 +42052,63 @@ class NetlistSpiceWriter(NetlistWriter): r""" @brief Creates a new writer without delegate. """ + ... @overload @classmethod def new(cls, delegate: NetlistSpiceWriterDelegate) -> NetlistSpiceWriter: r""" @brief Creates a new writer with a delegate. """ + ... def __copy__(self) -> NetlistSpiceWriter: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> NetlistSpiceWriter: r""" @brief Creates a copy of self """ + ... @overload def __init__(self) -> None: r""" @brief Creates a new writer without delegate. """ + ... @overload def __init__(self, delegate: NetlistSpiceWriterDelegate) -> None: r""" @brief Creates a new writer with a delegate. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -38028,6 +42116,7 @@ class NetlistSpiceWriter(NetlistWriter): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -38035,14 +42124,18 @@ class NetlistSpiceWriter(NetlistWriter): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: NetlistWriter) -> None: r""" @brief Assigns another object to self """ + ... def dup(self) -> NetlistSpiceWriter: r""" @brief Creates a copy of self """ + ... + ... class NetlistSpiceWriterDelegate: r""" @@ -38058,41 +42151,49 @@ class NetlistSpiceWriterDelegate: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> NetlistSpiceWriterDelegate: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> NetlistSpiceWriterDelegate: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -38100,6 +42201,7 @@ class NetlistSpiceWriterDelegate: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -38107,66 +42209,81 @@ class NetlistSpiceWriterDelegate: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: NetlistSpiceWriterDelegate) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> NetlistSpiceWriterDelegate: r""" @brief Creates a copy of self """ + ... def emit_comment(self, comment: str) -> None: r""" @brief Writes the given comment into the file """ + ... def emit_line(self, line: str) -> None: r""" @brief Writes the given line into the file """ + ... def format_name(self, name: str) -> str: r""" @brief Formats the given name in a SPICE-compatible way """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def net_to_string(self, net: Net) -> str: r""" @brief Gets the node ID for the given net The node ID is a numeric string instead of the full name of the net. Numeric IDs are used within SPICE netlist because they are usually shorter. """ + ... def write_device(self, device: Device) -> None: r""" @hide """ + ... def write_device_intro(self, arg0: DeviceClass) -> None: r""" @hide """ + ... def write_header(self) -> None: r""" @hide """ + ... + ... class NetlistWriter: r""" @@ -38180,33 +42297,39 @@ class NetlistWriter: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -38214,6 +42337,7 @@ class NetlistWriter: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -38221,29 +42345,35 @@ class NetlistWriter: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... + ... class PCellDeclaration(PCellDeclaration_Native): r""" @@ -38274,33 +42404,39 @@ class PCellDeclaration(PCellDeclaration_Native): r""" @brief Assigns another object to self """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _dup(self) -> PCellDeclaration: r""" @brief Creates a copy of self """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -38308,6 +42444,7 @@ class PCellDeclaration(PCellDeclaration_Native): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -38315,38 +42452,48 @@ class PCellDeclaration(PCellDeclaration_Native): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def callback(self, arg0: Layout, arg1: str, arg2: PCellParameterStates) -> None: r""" @hide """ + ... def can_create_from_shape(self, arg0: Layout, arg1: Shape, arg2: int) -> bool: r""" @hide """ + ... def display_text(self, arg0: Sequence[Any]) -> str: r""" @hide """ + ... def get_parameters(self) -> List[PCellParameterDeclaration]: r""" @hide """ + ... def parameters_from_shape(self, arg0: Layout, arg1: Shape, arg2: int) -> List[Any]: r""" @hide """ + ... def produce(self, arg0: Layout, arg1: Sequence[int], arg2: Sequence[Any], arg3: Cell) -> None: r""" @hide """ + ... def transformation_from_shape(self, arg0: Layout, arg1: Shape, arg2: int) -> Trans: r""" @hide """ + ... def wants_lazy_evaluation(self) -> bool: r""" @hide """ + ... + ... class PCellDeclaration_Native: r""" @@ -38358,41 +42505,49 @@ class PCellDeclaration_Native: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> PCellDeclaration_Native: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> PCellDeclaration_Native: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -38400,6 +42555,7 @@ class PCellDeclaration_Native: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -38407,81 +42563,102 @@ class PCellDeclaration_Native: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: PCellDeclaration_Native) -> None: r""" @brief Assigns another object to self """ + ... def callback(self, layout: Layout, name: str, states: PCellParameterStates) -> None: r""" """ + ... def can_create_from_shape(self, layout: Layout, shape: Shape, layer: int) -> bool: r""" """ + ... def coerce_parameters(self, layout: Layout, parameters: Sequence[Any]) -> List[Any]: r""" """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def display_text(self, parameters: Sequence[Any]) -> str: r""" """ + ... def dup(self) -> PCellDeclaration_Native: r""" @brief Creates a copy of self """ + ... def get_layers(self, parameters: Sequence[Any]) -> List[LayerInfo]: r""" """ + ... def get_parameters(self) -> List[PCellParameterDeclaration]: r""" """ + ... def id(self) -> int: r""" @brief Gets the integer ID of the PCell declaration This ID is used to identify the PCell in the context of a Layout object for example """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def layout(self) -> Layout: r""" @brief Gets the Layout object the PCell is registered in or nil if it is not registered yet. This attribute has been added in version 0.27.5. """ + ... def name(self) -> str: r""" @brief Gets the name of the PCell """ + ... def parameters_from_shape(self, layout: Layout, shape: Shape, layer: int) -> List[Any]: r""" """ + ... def produce(self, layout: Layout, layers: Sequence[int], parameters: Sequence[Any], cell: Cell) -> None: r""" """ + ... def transformation_from_shape(self, layout: Layout, shape: Shape, layer: int) -> Trans: r""" """ + ... def wants_lazy_evaluation(self) -> bool: r""" """ + ... + ... class PCellParameterDeclaration: r""" @@ -38645,14 +42822,17 @@ class PCellParameterDeclaration: @param default The default (initial) value @param unit The unit string """ + ... def __copy__(self) -> PCellParameterDeclaration: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> PCellParameterDeclaration: r""" @brief Creates a copy of self """ + ... def __init__(self, name: str, type: int, description: str, default: Optional[Any] = ..., unit: Optional[str] = ...) -> None: r""" @brief Create a new parameter declaration with the given name, type, default value and unit string @@ -38662,29 +42842,34 @@ class PCellParameterDeclaration: @param default The default (initial) value @param unit The unit string """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -38692,6 +42877,7 @@ class PCellParameterDeclaration: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -38699,6 +42885,7 @@ class PCellParameterDeclaration: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def add_choice(self, description: str, value: Any) -> None: r""" @brief Add a new value to the list of choices @@ -38706,49 +42893,60 @@ class PCellParameterDeclaration: choices. If choices are defined, KLayout will show a drop-down box instead of an entry field in the parameter user interface. """ + ... def assign(self, other: PCellParameterDeclaration) -> None: r""" @brief Assigns another object to self """ + ... def choice_descriptions(self) -> List[str]: r""" @brief Returns a list of choice descriptions """ + ... def choice_values(self) -> List[Any]: r""" @brief Returns a list of choice values """ + ... def clear_choices(self) -> None: r""" @brief Clears the list of choices """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> PCellParameterDeclaration: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... + ... class PCellParameterState: r""" @@ -38786,84 +42984,103 @@ class PCellParameterState: r""" @brief Creates an enum from an integer value """ + ... @overload @classmethod def new(cls, s: str) -> PCellParameterState.ParameterStateIcon: r""" @brief Creates an enum from a string value """ + ... @overload - def __eq__(self, other: object) -> bool: + def __eq__(self, other: int) -> bool: r""" @brief Compares an enum with an integer value """ + ... @overload def __eq__(self, other: object) -> bool: r""" @brief Compares two enums """ + ... def __hash__(self) -> int: r""" @brief Gets the hash value from the enum """ + ... @overload def __init__(self, i: int) -> None: r""" @brief Creates an enum from an integer value """ + ... @overload def __init__(self, s: str) -> None: r""" @brief Creates an enum from a string value """ + ... def __int__(self) -> int: r""" @brief Gets the integer value from the enum """ + ... @overload def __lt__(self, other: PCellParameterState.ParameterStateIcon) -> bool: r""" @brief Returns true if the first enum is less (in the enum symbol order) than the second """ + ... @overload def __lt__(self, other: int) -> bool: r""" @brief Returns true if the enum is less (in the enum symbol order) than the integer value """ + ... + @overload + def __ne__(self, other: int) -> bool: + r""" + @brief Compares an enum with an integer for inequality + """ + ... @overload def __ne__(self, other: object) -> bool: r""" @brief Compares two enums for inequality """ - @overload - def __ne__(self, other: object) -> bool: - r""" - @brief Compares an enum with an integer for inequality - """ + ... def __repr__(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def __str__(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... def hash(self) -> int: r""" @brief Gets the hash value from the enum """ + ... def inspect(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def to_i(self) -> int: r""" @brief Gets the integer value from the enum """ + ... def to_s(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... + ... ErrorIcon: ClassVar[PCellParameterState.ParameterStateIcon] r""" @brief An icon indicating an error is shown @@ -38886,6 +43103,7 @@ class PCellParameterState: WARNING: This variable can only be set, not retrieved. @brief Sets the icon for the parameter """ + ... enabled: bool r""" Getter: @@ -38933,41 +43151,49 @@ class PCellParameterState: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> PCellParameterState: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> PCellParameterState: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -38975,6 +43201,7 @@ class PCellParameterState: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -38982,49 +43209,60 @@ class PCellParameterState: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: PCellParameterState) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> PCellParameterState: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_enabled(self) -> bool: r""" @brief Gets a value indicating whether the parameter is enabled in the parameter form """ + ... def is_readonly(self) -> bool: r""" @brief Gets a value indicating whether the parameter is read-only (not editable) in the parameter form """ + ... def is_visible(self) -> bool: r""" @brief Gets a value indicating whether the parameter is visible in the parameter form """ + ... + ... class PCellParameterStates: r""" @@ -39044,41 +43282,49 @@ class PCellParameterStates: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> PCellParameterStates: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> PCellParameterStates: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -39086,6 +43332,7 @@ class PCellParameterStates: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -39093,47 +43340,57 @@ class PCellParameterStates: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: PCellParameterStates) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> PCellParameterStates: r""" @brief Creates a copy of self """ + ... def has_parameter(self, name: str) -> bool: r""" @brief Gets a value indicating whether a parameter with that name exists """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def parameter(self, name: str) -> PCellParameterState: r""" @brief Gets the parameter by name This will return a \PCellParameterState object that can be used to manipulate the parameter state. """ + ... + ... class ParentInstArray: r""" @@ -39156,41 +43413,49 @@ class ParentInstArray: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> ParentInstArray: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> ParentInstArray: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -39198,6 +43463,7 @@ class ParentInstArray: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -39205,57 +43471,69 @@ class ParentInstArray: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: ParentInstArray) -> None: r""" @brief Assigns another object to self """ + ... def child_inst(self) -> Instance: r""" @brief Retrieve the child instance associated with this parent instance Starting with version 0.15, this method returns an \Instance object rather than a \CellInstArray reference. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dinst(self) -> DCellInstArray: r""" @brief Compute the inverse instance by which the parent is seen from the child in micrometer units This convenience method has been introduced in version 0.28. """ + ... def dup(self) -> ParentInstArray: r""" @brief Creates a copy of self """ + ... def inst(self) -> CellInstArray: r""" @brief Compute the inverse instance by which the parent is seen from the child """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def parent_cell_index(self) -> int: r""" @brief Gets the index of the parent cell """ + ... + ... class ParseElementComponentsData: r""" @@ -39285,41 +43563,49 @@ class ParseElementComponentsData: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> ParseElementComponentsData: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> ParseElementComponentsData: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -39327,6 +43613,7 @@ class ParseElementComponentsData: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -39334,37 +43621,45 @@ class ParseElementComponentsData: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: ParseElementComponentsData) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> ParseElementComponentsData: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... + ... class ParseElementData: r""" @@ -39410,41 +43705,49 @@ class ParseElementData: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> ParseElementData: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> ParseElementData: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -39452,6 +43755,7 @@ class ParseElementData: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -39459,37 +43763,45 @@ class ParseElementData: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: ParseElementData) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> ParseElementData: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... + ... class Path: r""" @@ -39549,6 +43861,7 @@ class Path: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_dpath'. """ + ... @classmethod def from_s(cls, s: str) -> Path: r""" @@ -39557,12 +43870,14 @@ class Path: This method has been added in version 0.23. """ + ... @overload @classmethod def new(cls) -> Path: r""" @brief Default constructor: creates an empty (invalid) path with width 0 """ + ... @overload @classmethod def new(cls, dpath: DPath) -> Path: @@ -39571,6 +43886,7 @@ class Path: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_dpath'. """ + ... @overload @classmethod def new(cls, pts: Sequence[Point], width: int) -> Path: @@ -39581,6 +43897,7 @@ class Path: @param pts The points forming the spine of the path @param width The width of the path """ + ... @overload @classmethod def new(cls, pts: Sequence[Point], width: int, bgn_ext: int, end_ext: int) -> Path: @@ -39593,6 +43910,7 @@ class Path: @param bgn_ext The begin extension of the path @param end_ext The end extension of the path """ + ... @overload @classmethod def new(cls, pts: Sequence[Point], width: int, bgn_ext: int, end_ext: int, round: bool) -> Path: @@ -39606,6 +43924,7 @@ class Path: @param end_ext The end extension of the path @param round If this flag is true, the path will get rounded ends """ + ... @classmethod def new_pw(cls, pts: Sequence[Point], width: int) -> Path: r""" @@ -39615,6 +43934,7 @@ class Path: @param pts The points forming the spine of the path @param width The width of the path """ + ... @classmethod def new_pwx(cls, pts: Sequence[Point], width: int, bgn_ext: int, end_ext: int) -> Path: r""" @@ -39626,6 +43946,7 @@ class Path: @param bgn_ext The begin extension of the path @param end_ext The end extension of the path """ + ... @classmethod def new_pwxr(cls, pts: Sequence[Point], width: int, bgn_ext: int, end_ext: int, round: bool) -> Path: r""" @@ -39638,19 +43959,23 @@ class Path: @param end_ext The end extension of the path @param round If this flag is true, the path will get rounded ends """ + ... def __copy__(self) -> Path: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> Path: r""" @brief Creates a copy of self """ + ... def __eq__(self, p: object) -> bool: r""" @brief Equality test @param p The object to compare against """ + ... def __hash__(self) -> int: r""" @brief Computes a hash value @@ -39658,11 +43983,13 @@ class Path: This method has been introduced in version 0.25. """ + ... @overload def __init__(self) -> None: r""" @brief Default constructor: creates an empty (invalid) path with width 0 """ + ... @overload def __init__(self, dpath: DPath) -> None: r""" @@ -39670,6 +43997,7 @@ class Path: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_dpath'. """ + ... @overload def __init__(self, pts: Sequence[Point], width: int) -> None: r""" @@ -39679,6 +44007,7 @@ class Path: @param pts The points forming the spine of the path @param width The width of the path """ + ... @overload def __init__(self, pts: Sequence[Point], width: int, bgn_ext: int, end_ext: int) -> None: r""" @@ -39690,6 +44019,7 @@ class Path: @param bgn_ext The begin extension of the path @param end_ext The end extension of the path """ + ... @overload def __init__(self, pts: Sequence[Point], width: int, bgn_ext: int, end_ext: int, round: bool) -> None: r""" @@ -39702,12 +44032,14 @@ class Path: @param end_ext The end extension of the path @param round If this flag is true, the path will get rounded ends """ + ... def __lt__(self, p: Path) -> bool: r""" @brief Less operator @param p The object to compare against This operator is provided to establish some, not necessarily a certain sorting order """ + ... def __mul__(self, f: float) -> Path: r""" @brief Scaling by some factor @@ -39715,15 +44047,13 @@ class Path: Returns the scaled object. All coordinates are multiplied with the given factor and if necessary rounded. """ + ... def __ne__(self, p: object) -> bool: r""" @brief Inequality test @param p The object to compare against """ - def __repr__(self) -> str: - r""" - @brief Convert to a string - """ + ... def __rmul__(self, f: float) -> Path: r""" @brief Scaling by some factor @@ -39731,33 +44061,39 @@ class Path: Returns the scaled object. All coordinates are multiplied with the given factor and if necessary rounded. """ + ... def __str__(self) -> str: r""" @brief Convert to a string """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -39765,6 +44101,7 @@ class Path: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -39772,45 +44109,54 @@ class Path: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def area(self) -> int: r""" @brief Returns the approximate area of the path This method returns the approximate value of the area. It is computed from the length times the width. end extensions are taken into account correctly, but not effects of the corner interpolation. This method was added in version 0.22. """ + ... def assign(self, other: Path) -> None: r""" @brief Assigns another object to self """ + ... def bbox(self) -> Box: r""" @brief Returns the bounding box of the path """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> Path: r""" @brief Creates a copy of self """ + ... def each_point(self) -> Iterator[Point]: r""" @brief Get the points that make up the path's spine """ + ... def hash(self) -> int: r""" @brief Computes a hash value @@ -39818,16 +44164,19 @@ class Path: This method has been introduced in version 0.25. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_round(self) -> bool: r""" @brief Returns true, if the path has round ends """ + ... def length(self) -> int: r""" @brief Returns the length of the path @@ -39835,6 +44184,7 @@ class Path: This method was added in version 0.23. """ + ... @overload def move(self, dx: int, dy: int) -> Path: r""" @@ -39850,6 +44200,7 @@ class Path: This version has been added in version 0.23. """ + ... @overload def move(self, p: Vector) -> Path: r""" @@ -39862,6 +44213,7 @@ class Path: @return The moved path. """ + ... @overload def moved(self, dx: int, dy: int) -> Path: r""" @@ -39877,6 +44229,7 @@ class Path: This version has been added in version 0.23. """ + ... @overload def moved(self, p: Vector) -> Path: r""" @@ -39889,21 +44242,25 @@ class Path: @return The moved path. """ + ... def num_points(self) -> int: r""" @brief Get the number of points """ + ... def perimeter(self) -> int: r""" @brief Returns the approximate perimeter of the path This method returns the approximate value of the perimeter. It is computed from the length and the width. end extensions are taken into account correctly, but not effects of the corner interpolation. This method was added in version 0.24.4. """ + ... def polygon(self) -> Polygon: r""" @brief Convert the path to a polygon The returned polygon is not guaranteed to be non-self overlapping. This may happen if the path overlaps itself or contains very short segments. """ + ... def round_corners(self, radius: float, npoints: int) -> Path: r""" @brief Creates a new path whose corners are interpolated with circular bends @@ -39913,11 +44270,13 @@ class Path: This method has been introduced in version 0.25. """ + ... def simple_polygon(self) -> SimplePolygon: r""" @brief Convert the path to a simple polygon The returned polygon is not guaranteed to be non-selfoverlapping. This may happen if the path overlaps itself or contains very short segments. """ + ... def to_dtype(self, dbu: Optional[float] = ...) -> DPath: r""" @brief Converts the path to a floating-point coordinate path @@ -39926,10 +44285,12 @@ class Path: This method has been introduced in version 0.25. """ + ... def to_s(self) -> str: r""" @brief Convert to a string """ + ... @overload def transformed(self, t: CplxTrans) -> DPath: r""" @@ -39942,6 +44303,7 @@ class Path: @return The transformed path. """ + ... @overload def transformed(self, t: ICplxTrans) -> Path: r""" @@ -39956,6 +44318,7 @@ class Path: This method has been introduced in version 0.18. """ + ... @overload def transformed(self, t: Trans) -> Path: r""" @@ -39968,6 +44331,7 @@ class Path: @return The transformed path. """ + ... def transformed_cplx(self, t: CplxTrans) -> DPath: r""" @brief Transform the path. @@ -39979,6 +44343,8 @@ class Path: @return The transformed path. """ + ... + ... class Pin(NetlistObject): r""" @@ -39991,33 +44357,39 @@ class Pin(NetlistObject): r""" @brief Assigns another object to self """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _dup(self) -> Pin: r""" @brief Creates a copy of self """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -40025,6 +44397,7 @@ class Pin(NetlistObject): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -40032,19 +44405,24 @@ class Pin(NetlistObject): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def expanded_name(self) -> str: r""" @brief Gets the expanded name of the pin. The expanded name is the name or a generic identifier made from the ID if the name is empty. """ + ... def id(self) -> int: r""" @brief Gets the ID of the pin. """ + ... def name(self) -> str: r""" @brief Gets the name of the pin. """ + ... + ... class Point: r""" @@ -40076,6 +44454,7 @@ class Point: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_dpoint'. """ + ... @classmethod def from_s(cls, s: str) -> Point: r""" @@ -40084,12 +44463,14 @@ class Point: This method has been added in version 0.23. """ + ... @overload @classmethod def new(cls) -> Point: r""" @brief Default constructor: creates a point at 0,0 """ + ... @overload @classmethod def new(cls, dpoint: DPoint) -> Point: @@ -40098,6 +44479,7 @@ class Point: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_dpoint'. """ + ... @overload @classmethod def new(cls, v: Vector) -> Point: @@ -40106,6 +44488,7 @@ class Point: This constructor is equivalent to computing point(0,0)+v. This method has been introduced in version 0.25. """ + ... @overload @classmethod def new(cls, x: int, y: int) -> Point: @@ -40113,6 +44496,7 @@ class Point: @brief Constructor for a point from two coordinate values """ + ... def __add__(self, v: Vector) -> Point: r""" @brief Adds a vector to a point @@ -40122,19 +44506,23 @@ class Point: Starting with version 0.25, this method expects a vector argument. """ + ... def __copy__(self) -> Point: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> Point: r""" @brief Creates a copy of self """ + ... def __eq__(self, p: object) -> bool: r""" @brief Equality test operator """ + ... def __hash__(self) -> int: r""" @brief Computes a hash value @@ -40142,6 +44530,7 @@ class Point: This method has been introduced in version 0.25. """ + ... def __imul__(self, f: float) -> Point: r""" @brief Scaling by some factor @@ -40149,11 +44538,13 @@ class Point: Scales object in place. All coordinates are multiplied with the given factor and if necessary rounded. """ + ... @overload def __init__(self) -> None: r""" @brief Default constructor: creates a point at 0,0 """ + ... @overload def __init__(self, dpoint: DPoint) -> None: r""" @@ -40161,6 +44552,7 @@ class Point: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_dpoint'. """ + ... @overload def __init__(self, v: Vector) -> None: r""" @@ -40168,12 +44560,14 @@ class Point: This constructor is equivalent to computing point(0,0)+v. This method has been introduced in version 0.25. """ + ... @overload def __init__(self, x: int, y: int) -> None: r""" @brief Constructor for a point from two coordinate values """ + ... def __itruediv__(self, d: float) -> Point: r""" @brief Division by some divisor @@ -40181,6 +44575,7 @@ class Point: Divides the object in place. All coordinates are divided with the given divisor and if necessary rounded. """ + ... def __lt__(self, p: Point) -> bool: r""" @brief "less" comparison operator @@ -40189,6 +44584,7 @@ class Point: This operator is provided to establish a sorting order """ + ... def __mul__(self, f: float) -> Point: r""" @brief Scaling by some factor @@ -40196,11 +44592,13 @@ class Point: Returns the scaled object. All coordinates are multiplied with the given factor and if necessary rounded. """ + ... def __ne__(self, p: object) -> bool: r""" @brief Inequality test operator """ + ... def __neg__(self) -> Point: r""" @brief Compute the negative of a point @@ -40210,13 +44608,7 @@ class Point: This method has been added in version 0.23. """ - def __repr__(self, dbu: Optional[float] = ...) -> str: - r""" - @brief String conversion. - If a DBU is given, the output units will be micrometers. - - The DBU argument has been added in version 0.27.6. - """ + ... def __rmul__(self, f: float) -> Point: r""" @brief Scaling by some factor @@ -40224,6 +44616,7 @@ class Point: Returns the scaled object. All coordinates are multiplied with the given factor and if necessary rounded. """ + ... def __str__(self, dbu: Optional[float] = ...) -> str: r""" @brief String conversion. @@ -40231,6 +44624,7 @@ class Point: The DBU argument has been added in version 0.27.6. """ + ... @overload def __sub__(self, p: Point) -> Vector: r""" @@ -40241,6 +44635,7 @@ class Point: Starting with version 0.25, this method renders a vector. """ + ... @overload def __sub__(self, v: Vector) -> Point: r""" @@ -40251,6 +44646,7 @@ class Point: This method has been added in version 0.27. """ + ... def __truediv__(self, d: float) -> Point: r""" @brief Division by some divisor @@ -40258,29 +44654,34 @@ class Point: Returns the scaled object. All coordinates are divided with the given divisor and if necessary rounded. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -40288,6 +44689,7 @@ class Point: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -40295,6 +44697,7 @@ class Point: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def abs(self) -> float: r""" @brief The absolute value of the point (Euclidian distance to 0,0) @@ -40303,27 +44706,32 @@ class Point: This method has been introduced in version 0.23. """ + ... def assign(self, other: Point) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def distance(self, d: Point) -> float: r""" @brief The Euclidian distance to another point @@ -40331,10 +44739,12 @@ class Point: @param d The other point to compute the distance to. """ + ... def dup(self) -> Point: r""" @brief Creates a copy of self """ + ... def hash(self) -> int: r""" @brief Computes a hash value @@ -40342,12 +44752,14 @@ class Point: This method has been introduced in version 0.25. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def sq_abs(self) -> float: r""" @brief The square of the absolute value of the point (Euclidian distance to 0,0) @@ -40356,6 +44768,7 @@ class Point: This method has been introduced in version 0.23. """ + ... def sq_distance(self, d: Point) -> float: r""" @brief The square Euclidian distance to another point @@ -40363,6 +44776,7 @@ class Point: @param d The other point to compute the distance to. """ + ... def to_dtype(self, dbu: Optional[float] = ...) -> DPoint: r""" @brief Converts the point to a floating-point coordinate point @@ -40371,6 +44785,7 @@ class Point: This method has been introduced in version 0.25. """ + ... def to_s(self, dbu: Optional[float] = ...) -> str: r""" @brief String conversion. @@ -40378,11 +44793,14 @@ class Point: The DBU argument has been added in version 0.27.6. """ + ... def to_v(self) -> Vector: r""" @brief Turns the point into a vector This method returns a vector representing the distance from (0,0) to the point.This method has been introduced in version 0.25. """ + ... + ... class Polygon: r""" @@ -40480,6 +44898,7 @@ class Polygon: @param p An array of points to assign to the polygon's hull The 'assign_hull' variant is provided in analogy to 'assign_hole'. """ + ... @classmethod def ellipse(cls, box: Box, n: int) -> Polygon: r""" @@ -40490,6 +44909,7 @@ class Polygon: This method has been introduced in version 0.23. """ + ... @classmethod def from_dpoly(cls, dpolygon: DPolygon) -> Polygon: r""" @@ -40497,6 +44917,7 @@ class Polygon: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_dpolygon'. """ + ... @classmethod def from_s(cls, s: str) -> Polygon: r""" @@ -40505,12 +44926,14 @@ class Polygon: This method has been added in version 0.23. """ + ... @overload @classmethod def new(cls) -> Polygon: r""" @brief Creates an empty (invalid) polygon """ + ... @overload @classmethod def new(cls, box: Box) -> Polygon: @@ -40519,6 +44942,7 @@ class Polygon: @param box The box to convert to a polygon """ + ... @overload @classmethod def new(cls, dpolygon: DPolygon) -> Polygon: @@ -40527,6 +44951,7 @@ class Polygon: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_dpolygon'. """ + ... @overload @classmethod def new(cls, pts: Sequence[Point], raw: Optional[bool] = ...) -> Polygon: @@ -40538,6 +44963,7 @@ class Polygon: The 'raw' argument was added in version 0.24. """ + ... @overload @classmethod def new(cls, sp: SimplePolygon) -> Polygon: @@ -40546,19 +44972,23 @@ class Polygon: @param sp The simple polygon that is converted into the polygon This method was introduced in version 0.22. """ + ... def __copy__(self) -> Polygon: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> Polygon: r""" @brief Creates a copy of self """ + ... def __eq__(self, p: object) -> bool: r""" @brief Returns a value indicating whether the polygons are equal @param p The object to compare against """ + ... def __hash__(self) -> int: r""" @brief Computes a hash value @@ -40566,11 +44996,13 @@ class Polygon: This method has been introduced in version 0.25. """ + ... @overload def __init__(self) -> None: r""" @brief Creates an empty (invalid) polygon """ + ... @overload def __init__(self, box: Box) -> None: r""" @@ -40578,6 +45010,7 @@ class Polygon: @param box The box to convert to a polygon """ + ... @overload def __init__(self, dpolygon: DPolygon) -> None: r""" @@ -40585,6 +45018,7 @@ class Polygon: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_dpolygon'. """ + ... @overload def __init__(self, pts: Sequence[Point], raw: Optional[bool] = ...) -> None: r""" @@ -40595,6 +45029,7 @@ class Polygon: The 'raw' argument was added in version 0.24. """ + ... @overload def __init__(self, sp: SimplePolygon) -> None: r""" @@ -40602,60 +45037,66 @@ class Polygon: @param sp The simple polygon that is converted into the polygon This method was introduced in version 0.22. """ + ... def __lt__(self, p: Polygon) -> bool: r""" @brief Returns a value indicating whether self is less than p @param p The object to compare against This operator is provided to establish some, not necessarily a certain sorting order """ + ... def __mul__(self, f: float) -> Polygon: r""" @brief Scales the polygon by some factor Returns the scaled object. All coordinates are multiplied with the given factor and if necessary rounded. """ + ... def __ne__(self, p: object) -> bool: r""" @brief Returns a value indicating whether the polygons are not equal @param p The object to compare against """ - def __repr__(self) -> str: - r""" - @brief Returns a string representing the polygon - """ + ... def __rmul__(self, f: float) -> Polygon: r""" @brief Scales the polygon by some factor Returns the scaled object. All coordinates are multiplied with the given factor and if necessary rounded. """ + ... def __str__(self) -> str: r""" @brief Returns a string representing the polygon """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -40663,6 +45104,7 @@ class Polygon: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -40670,11 +45112,13 @@ class Polygon: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def area(self) -> int: r""" @brief Gets the area of the polygon The area is correct only if the polygon is not self-overlapping and the polygon is oriented clockwise.Orientation is ensured automatically in most cases. """ + ... def area2(self) -> int: r""" @brief Gets the double area of the polygon @@ -40682,10 +45126,12 @@ class Polygon: This method has been introduced in version 0.26.1 """ + ... def assign(self, other: Polygon) -> None: r""" @brief Assigns another object to self """ + ... @overload def assign_hole(self, n: int, b: Box) -> None: r""" @@ -40695,6 +45141,7 @@ class Polygon: If the hole index is not valid, this method does nothing. This method was introduced in version 0.23. """ + ... @overload def assign_hole(self, n: int, p: Sequence[Point], raw: Optional[bool] = ...) -> None: r""" @@ -40707,6 +45154,7 @@ class Polygon: This method was introduced in version 0.18. The 'raw' argument was added in version 0.24. """ + ... def assign_hull(self, p: Sequence[Point], raw: Optional[bool] = ...) -> None: r""" @brief Sets the points of the hull of polygon @@ -40721,11 +45169,13 @@ class Polygon: The 'raw' argument was added in version 0.24. """ + ... def bbox(self) -> Box: r""" @brief Returns the bounding box of the polygon The bounding box is the box enclosing all points of the polygon. """ + ... def break_(self, max_vertex_count: int, max_area_ratio: float) -> List[Polygon]: r""" @brief Splits the polygon into parts with a maximum vertex count and area ratio @@ -40737,6 +45187,7 @@ class Polygon: This method has been introduced in version 0.29. """ + ... def compress(self, remove_reflected: bool) -> None: r""" @brief Compresses the polygon. @@ -40748,11 +45199,13 @@ class Polygon: This method was introduced in version 0.18. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def decompose_convex(self, preferred_orientation: Optional[int] = ...) -> List[SimplePolygon]: r""" @brief Decomposes the polygon into convex pieces @@ -40765,6 +45218,7 @@ class Polygon: This method was introduced in version 0.25. """ + ... def decompose_trapezoids(self, mode: Optional[int] = ...) -> List[SimplePolygon]: r""" @brief Decomposes the polygon into trapezoids @@ -40776,22 +45230,26 @@ class Polygon: This method was introduced in version 0.25. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> Polygon: r""" @brief Creates a copy of self """ + ... @overload def each_edge(self) -> Iterator[Edge]: r""" @@ -40799,6 +45257,7 @@ class Polygon: This iterator will deliver all edges, including those of the holes. Hole edges are oriented counterclockwise while hull edges are oriented clockwise. """ + ... @overload def each_edge(self, contour: int) -> Iterator[Edge]: r""" @@ -40811,15 +45270,18 @@ class Polygon: This method was introduced in version 0.24. """ + ... def each_point_hole(self, n: int) -> Iterator[Point]: r""" @brief Iterates over the points that make up the nth hole The hole number must be less than the number of holes (see \holes) """ + ... def each_point_hull(self) -> Iterator[Point]: r""" @brief Iterates over the points that make up the hull """ + ... def extract_rad(self) -> List[Any]: r""" @brief Extracts the corner radii from a rounded polygon @@ -40844,6 +45306,7 @@ class Polygon: This method was introduced in version 0.25. """ + ... def hash(self) -> int: r""" @brief Computes a hash value @@ -40851,10 +45314,12 @@ class Polygon: This method has been introduced in version 0.25. """ + ... def holes(self) -> int: r""" @brief Returns the number of holes """ + ... @overload def insert_hole(self, b: Box) -> None: r""" @@ -40862,6 +45327,7 @@ class Polygon: @param b The box to insert as a new hole This method was introduced in version 0.23. """ + ... @overload def insert_hole(self, p: Sequence[Point], raw: Optional[bool] = ...) -> None: r""" @@ -40871,11 +45337,13 @@ class Polygon: The 'raw' argument was added in version 0.24. """ + ... def inside(self, p: Point) -> bool: r""" @brief Tests, if the given point is inside the polygon If the given point is inside or on the edge of the polygon, true is returned. This tests works well only if the polygon is not self-overlapping and oriented clockwise. """ + ... def is_box(self) -> bool: r""" @brief Returns true, if the polygon is a simple box. @@ -40886,12 +45354,14 @@ class Polygon: This method was introduced in version 0.23. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_convex(self) -> bool: r""" @brief Returns a value indicating whether the polygon is convex @@ -40900,10 +45370,12 @@ class Polygon: This method was introduced in version 0.25. """ + ... def is_empty(self) -> bool: r""" @brief Returns a value indicating whether the polygon is empty """ + ... def is_halfmanhattan(self) -> bool: r""" @brief Returns a value indicating whether the polygon is half-manhattan @@ -40911,10 +45383,12 @@ class Polygon: This predicate was introduced in version 0.27. """ + ... def is_rectilinear(self) -> bool: r""" @brief Returns a value indicating whether the polygon is rectilinear """ + ... @overload def minkowski_sum(self, b: Box, resolve_holes: bool) -> Polygon: r""" @@ -40927,6 +45401,7 @@ class Polygon: This method was introduced in version 0.22. """ + ... @overload def minkowski_sum(self, b: Polygon, resolve_holes: bool) -> Polygon: r""" @@ -40939,6 +45414,7 @@ class Polygon: This method was introduced in version 0.22. """ + ... @overload def minkowski_sum(self, b: Sequence[Point], resolve_holes: bool) -> Polygon: r""" @@ -40951,6 +45427,7 @@ class Polygon: This method was introduced in version 0.22. """ + ... @overload def minkowski_sum(self, e: Edge, resolve_holes: bool) -> Polygon: r""" @@ -40965,6 +45442,7 @@ class Polygon: This method was introduced in version 0.22. """ + ... @overload def minkowsky_sum(self, b: Box, resolve_holes: bool) -> Polygon: r""" @@ -40977,6 +45455,7 @@ class Polygon: This method was introduced in version 0.22. """ + ... @overload def minkowsky_sum(self, b: Polygon, resolve_holes: bool) -> Polygon: r""" @@ -40989,6 +45468,7 @@ class Polygon: This method was introduced in version 0.22. """ + ... @overload def minkowsky_sum(self, b: Sequence[Point], resolve_holes: bool) -> Polygon: r""" @@ -41001,6 +45481,7 @@ class Polygon: This method was introduced in version 0.22. """ + ... @overload def minkowsky_sum(self, e: Edge, resolve_holes: bool) -> Polygon: r""" @@ -41015,6 +45496,7 @@ class Polygon: This method was introduced in version 0.22. """ + ... @overload def move(self, p: Vector) -> Polygon: r""" @@ -41029,6 +45511,7 @@ class Polygon: This method has been introduced in version 0.23. """ + ... @overload def move(self, x: int, y: int) -> Polygon: r""" @@ -41042,6 +45525,7 @@ class Polygon: @return The moved polygon (self). """ + ... @overload def moved(self, p: Vector) -> Polygon: r""" @@ -41056,6 +45540,7 @@ class Polygon: This method has been introduced in version 0.23. """ + ... @overload def moved(self, x: int, y: int) -> Polygon: r""" @@ -41071,20 +45556,24 @@ class Polygon: This method has been introduced in version 0.23. """ + ... def num_points(self) -> int: r""" @brief Gets the total number of points (hull plus holes) This method was introduced in version 0.18. """ + ... def num_points_hole(self, n: int) -> int: r""" @brief Gets the number of points of the given hole The argument gives the index of the hole of which the number of points are requested. The index must be less than the number of holes (see \holes). """ + ... def num_points_hull(self) -> int: r""" @brief Gets the number of points of the hull """ + ... def perimeter(self) -> int: r""" @brief Gets the perimeter of the polygon @@ -41092,6 +45581,7 @@ class Polygon: This method has been introduce in version 0.23. """ + ... def point_hole(self, n: int, p: int) -> Point: r""" @brief Gets a specific point of a hole @@ -41100,6 +45590,7 @@ class Polygon: If the index of the point or of the hole is not valid, a default value is returned. This method was introduced in version 0.18. """ + ... def point_hull(self, p: int) -> Point: r""" @brief Gets a specific point of the hull @@ -41107,6 +45598,7 @@ class Polygon: If the index of the point is not a valid index, a default value is returned. This method was introduced in version 0.18. """ + ... def resolve_holes(self) -> None: r""" @brief Resolve holes by inserting cut lines and joining the holes with the hull @@ -41114,6 +45606,7 @@ class Polygon: This method modifies the polygon. The out-of-place version is \resolved_holes. This method was introduced in version 0.22. """ + ... def resolved_holes(self) -> Polygon: r""" @brief Returns a polygon without holes @@ -41123,6 +45616,7 @@ class Polygon: This method does not modify the polygon but return a new polygon. This method was introduced in version 0.22. """ + ... def round_corners(self, rinner: float, router: float, n: int) -> Polygon: r""" @brief Rounds the corners of the polygon @@ -41137,6 +45631,7 @@ class Polygon: This method was introduced in version 0.20 for integer coordinates and in 0.25 for all coordinate types. """ + ... @overload def size(self, d: int, mode: Optional[int] = ...) -> None: r""" @@ -41152,6 +45647,7 @@ class Polygon: This method has been introduced in version 0.23. """ + ... @overload def size(self, dv: Vector, mode: Optional[int] = ...) -> None: r""" @@ -41166,6 +45662,7 @@ class Polygon: This version has been introduced in version 0.28. """ + ... @overload def size(self, dx: int, dy: int, mode: int) -> None: r""" @@ -41191,6 +45688,7 @@ class Polygon: result = ep.simple_merge_p2p([ poly ], false, false, 1) @/code """ + ... @overload def sized(self, d: int, mode: Optional[int] = ...) -> Polygon: r""" @@ -41204,6 +45702,7 @@ class Polygon: See \size and \sized for a detailed description. """ + ... @overload def sized(self, dv: Vector, mode: Optional[int] = ...) -> Polygon: r""" @@ -41218,6 +45717,7 @@ class Polygon: This version has been introduced in version 0.28. """ + ... @overload def sized(self, dx: int, dy: int, mode: int) -> Polygon: r""" @@ -41228,6 +45728,7 @@ class Polygon: This method has been introduced in version 0.23. """ + ... def smooth(self, d: int, keep_hv: Optional[bool] = ...) -> Polygon: r""" @brief Smooths a polygon @@ -41242,6 +45743,7 @@ class Polygon: This method was introduced in version 0.23. The 'keep_hv' optional parameter was added in version 0.27. """ + ... def sort_holes(self) -> None: r""" @brief Brings the holes in a specific order @@ -41249,6 +45751,7 @@ class Polygon: This method has been introduced in version 0.28.8. """ + ... def split(self) -> List[Polygon]: r""" @brief Splits the polygon into two or more parts @@ -41258,6 +45761,7 @@ class Polygon: This method has been introduced in version 0.25.3. """ + ... def to_dtype(self, dbu: Optional[float] = ...) -> DPolygon: r""" @brief Converts the polygon to a floating-point coordinate polygon @@ -41266,10 +45770,12 @@ class Polygon: This method has been introduced in version 0.25. """ + ... def to_s(self) -> str: r""" @brief Returns a string representing the polygon """ + ... def to_simple_polygon(self) -> SimplePolygon: r""" @brief Converts a polygon to a simple polygon @@ -41281,6 +45787,7 @@ class Polygon: This method was introduced in version 0.22. """ + ... @overload def touches(self, box: Box) -> bool: r""" @@ -41289,6 +45796,7 @@ class Polygon: This method was introduced in version 0.25.1. """ + ... @overload def touches(self, edge: Edge) -> bool: r""" @@ -41297,6 +45805,7 @@ class Polygon: This method was introduced in version 0.25.1. """ + ... @overload def touches(self, polygon: Polygon) -> bool: r""" @@ -41305,6 +45814,7 @@ class Polygon: This method was introduced in version 0.25.1. """ + ... @overload def touches(self, simple_polygon: SimplePolygon) -> bool: r""" @@ -41313,6 +45823,7 @@ class Polygon: This method was introduced in version 0.25.1. """ + ... @overload def transform(self, t: ICplxTrans) -> Polygon: r""" @@ -41325,6 +45836,7 @@ class Polygon: This method was introduced in version 0.24. """ + ... @overload def transform(self, t: Trans) -> Polygon: r""" @@ -41337,6 +45849,7 @@ class Polygon: This method has been introduced in version 0.24. """ + ... @overload def transformed(self, t: CplxTrans) -> DPolygon: r""" @@ -41351,6 +45864,7 @@ class Polygon: With version 0.25, the original 'transformed_cplx' method is deprecated and 'transformed' takes both simple and complex transformations. """ + ... @overload def transformed(self, t: ICplxTrans) -> Polygon: r""" @@ -41365,6 +45879,7 @@ class Polygon: This method was introduced in version 0.18. """ + ... @overload def transformed(self, t: Trans) -> Polygon: r""" @@ -41377,6 +45892,7 @@ class Polygon: @return The transformed polygon. """ + ... def transformed_cplx(self, t: CplxTrans) -> DPolygon: r""" @brief Transforms the polygon with a complex transformation @@ -41390,6 +45906,8 @@ class Polygon: With version 0.25, the original 'transformed_cplx' method is deprecated and 'transformed' takes both simple and complex transformations. """ + ... + ... class PolygonFilter: r""" @@ -41461,33 +45979,39 @@ class PolygonFilter: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -41495,6 +46019,7 @@ class PolygonFilter: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -41502,29 +46027,34 @@ class PolygonFilter: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_isotropic(self) -> None: r""" @brief Indicates that the filter has isotropic properties @@ -41532,6 +46062,7 @@ class PolygonFilter: Examples for isotropic (polygon) filters are area or perimeter filters. The area or perimeter of a polygon depends on the scale, but not on the orientation of the polygon. """ + ... def is_isotropic_and_scale_invariant(self) -> None: r""" @brief Indicates that the filter is isotropic and scale invariant @@ -41539,6 +46070,7 @@ class PolygonFilter: An example for such a (polygon) filter is the square selector. Whether a polygon is a square or not does not depend on the polygon's orientation nor scale. """ + ... def is_scale_invariant(self) -> None: r""" @brief Indicates that the filter is scale invariant @@ -41546,6 +46078,8 @@ class PolygonFilter: An example for a scale invariant (polygon) filter is the bounding box aspect ratio (height/width) filter. The definition of heigh and width depends on the orientation, but the ratio is independent on scale. """ + ... + ... class PolygonOperator: r""" @@ -41646,33 +46180,39 @@ class PolygonOperator: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -41680,6 +46220,7 @@ class PolygonOperator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -41687,29 +46228,34 @@ class PolygonOperator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_isotropic(self) -> None: r""" @brief Indicates that the filter has isotropic properties @@ -41717,6 +46263,7 @@ class PolygonOperator: Examples for isotropic (polygon) processors are size or shrink operators. Size or shrink is not dependent on orientation unless size or shrink needs to be different in x and y direction. """ + ... def is_isotropic_and_scale_invariant(self) -> None: r""" @brief Indicates that the filter is isotropic and scale invariant @@ -41724,6 +46271,7 @@ class PolygonOperator: An example for such a (polygon) processor is the convex decomposition operator. The decomposition of a polygon into convex parts is an operation that is not depending on scale nor orientation. """ + ... def is_scale_invariant(self) -> None: r""" @brief Indicates that the filter is scale invariant @@ -41731,6 +46279,8 @@ class PolygonOperator: An example for a scale invariant (polygon) processor is the rotation operator. Rotation is not depending on scale, but on the original orientation as mirrored versions need to be rotated differently. """ + ... + ... class PolygonToEdgeOperator: r""" @@ -41811,33 +46361,39 @@ class PolygonToEdgeOperator: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -41845,6 +46401,7 @@ class PolygonToEdgeOperator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -41852,29 +46409,34 @@ class PolygonToEdgeOperator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_isotropic(self) -> None: r""" @brief Indicates that the filter has isotropic properties @@ -41882,6 +46444,7 @@ class PolygonToEdgeOperator: Examples for isotropic (polygon) processors are size or shrink operators. Size or shrink is not dependent on orientation unless size or shrink needs to be different in x and y direction. """ + ... def is_isotropic_and_scale_invariant(self) -> None: r""" @brief Indicates that the filter is isotropic and scale invariant @@ -41889,6 +46452,7 @@ class PolygonToEdgeOperator: An example for such a (polygon) processor is the convex decomposition operator. The decomposition of a polygon into convex parts is an operation that is not depending on scale nor orientation. """ + ... def is_scale_invariant(self) -> None: r""" @brief Indicates that the filter is scale invariant @@ -41896,6 +46460,8 @@ class PolygonToEdgeOperator: An example for a scale invariant (polygon) processor is the rotation operator. Rotation is not depending on scale, but on the original orientation as mirrored versions need to be rotated differently. """ + ... + ... class PolygonToEdgePairOperator: r""" @@ -41976,33 +46542,39 @@ class PolygonToEdgePairOperator: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -42010,6 +46582,7 @@ class PolygonToEdgePairOperator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -42017,29 +46590,34 @@ class PolygonToEdgePairOperator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_isotropic(self) -> None: r""" @brief Indicates that the filter has isotropic properties @@ -42047,6 +46625,7 @@ class PolygonToEdgePairOperator: Examples for isotropic (polygon) processors are size or shrink operators. Size or shrink is not dependent on orientation unless size or shrink needs to be different in x and y direction. """ + ... def is_isotropic_and_scale_invariant(self) -> None: r""" @brief Indicates that the filter is isotropic and scale invariant @@ -42054,6 +46633,7 @@ class PolygonToEdgePairOperator: An example for such a (polygon) processor is the convex decomposition operator. The decomposition of a polygon into convex parts is an operation that is not depending on scale nor orientation. """ + ... def is_scale_invariant(self) -> None: r""" @brief Indicates that the filter is scale invariant @@ -42061,6 +46641,8 @@ class PolygonToEdgePairOperator: An example for a scale invariant (polygon) processor is the rotation operator. Rotation is not depending on scale, but on the original orientation as mirrored versions need to be rotated differently. """ + ... + ... class PreferredOrientation: r""" @@ -42094,99 +46676,119 @@ class PreferredOrientation: r""" @brief Creates an enum from an integer value """ + ... @overload @classmethod def new(cls, s: str) -> PreferredOrientation: r""" @brief Creates an enum from a string value """ + ... def __copy__(self) -> PreferredOrientation: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> PreferredOrientation: r""" @brief Creates a copy of self """ + ... @overload - def __eq__(self, other: object) -> bool: + def __eq__(self, other: int) -> bool: r""" @brief Compares an enum with an integer value """ + ... @overload def __eq__(self, other: object) -> bool: r""" @brief Compares two enums """ + ... def __hash__(self) -> int: r""" @brief Gets the hash value from the enum """ + ... @overload def __init__(self, i: int) -> None: r""" @brief Creates an enum from an integer value """ + ... @overload def __init__(self, s: str) -> None: r""" @brief Creates an enum from a string value """ + ... def __int__(self) -> int: r""" @brief Gets the integer value from the enum """ + ... @overload def __lt__(self, other: PreferredOrientation) -> bool: r""" @brief Returns true if the first enum is less (in the enum symbol order) than the second """ + ... @overload def __lt__(self, other: int) -> bool: r""" @brief Returns true if the enum is less (in the enum symbol order) than the integer value """ + ... + @overload + def __ne__(self, other: int) -> bool: + r""" + @brief Compares an enum with an integer for inequality + """ + ... @overload def __ne__(self, other: object) -> bool: r""" @brief Compares two enums for inequality """ - @overload - def __ne__(self, other: object) -> bool: - r""" - @brief Compares an enum with an integer for inequality - """ + ... def __repr__(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def __str__(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -42194,6 +46796,7 @@ class PreferredOrientation: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -42201,53 +46804,65 @@ class PreferredOrientation: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: PreferredOrientation) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> PreferredOrientation: r""" @brief Creates a copy of self """ + ... def hash(self) -> int: r""" @brief Gets the hash value from the enum """ + ... def inspect(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def to_i(self) -> int: r""" @brief Gets the integer value from the enum """ + ... def to_s(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... + ... class PropertyConstraint: r""" @@ -42291,99 +46906,119 @@ class PropertyConstraint: r""" @brief Creates an enum from an integer value """ + ... @overload @classmethod def new(cls, s: str) -> PropertyConstraint: r""" @brief Creates an enum from a string value """ + ... def __copy__(self) -> PropertyConstraint: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> PropertyConstraint: r""" @brief Creates a copy of self """ + ... + @overload + def __eq__(self, other: int) -> bool: + r""" + @brief Compares an enum with an integer value + """ + ... @overload def __eq__(self, other: object) -> bool: r""" @brief Compares two enums """ - @overload - def __eq__(self, other: object) -> bool: - r""" - @brief Compares an enum with an integer value - """ + ... def __hash__(self) -> int: r""" @brief Gets the hash value from the enum """ + ... @overload def __init__(self, i: int) -> None: r""" @brief Creates an enum from an integer value """ + ... @overload def __init__(self, s: str) -> None: r""" @brief Creates an enum from a string value """ + ... def __int__(self) -> int: r""" @brief Gets the integer value from the enum """ + ... @overload def __lt__(self, other: PropertyConstraint) -> bool: r""" @brief Returns true if the first enum is less (in the enum symbol order) than the second """ + ... @overload def __lt__(self, other: int) -> bool: r""" @brief Returns true if the enum is less (in the enum symbol order) than the integer value """ + ... + @overload + def __ne__(self, other: int) -> bool: + r""" + @brief Compares an enum with an integer for inequality + """ + ... @overload def __ne__(self, other: object) -> bool: r""" @brief Compares two enums for inequality """ - @overload - def __ne__(self, other: object) -> bool: - r""" - @brief Compares an enum with an integer for inequality - """ + ... def __repr__(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def __str__(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -42391,6 +47026,7 @@ class PropertyConstraint: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -42398,53 +47034,65 @@ class PropertyConstraint: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: PropertyConstraint) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> PropertyConstraint: r""" @brief Creates a copy of self """ + ... def hash(self) -> int: r""" @brief Gets the hash value from the enum """ + ... def inspect(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def to_i(self) -> int: r""" @brief Gets the integer value from the enum """ + ... def to_s(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... + ... class RecursiveInstanceIterator: r""" @@ -42607,6 +47255,7 @@ class RecursiveInstanceIterator: This constructor creates a new recursive instance iterator which delivers the instances of the given cell plus its children. """ + ... @overload @classmethod def new(cls, layout: Layout, cell: Cell, box: Box, overlapping: Optional[bool] = ...) -> RecursiveInstanceIterator: @@ -42621,6 +47270,7 @@ class RecursiveInstanceIterator: The search is confined to the region given by the "box" parameter. If "overlapping" is true, instances whose bounding box is overlapping the search region are reported. If "overlapping" is false, instances whose bounding box touches the search region are reported. The bounding box of instances is measured taking all layers of the target cell into account. """ + ... @overload @classmethod def new(cls, layout: Layout, cell: Cell, region: Region, overlapping: bool) -> RecursiveInstanceIterator: @@ -42636,20 +47286,24 @@ class RecursiveInstanceIterator: The search is confined to the region given by the "region" parameter. The region needs to be a rectilinear region. If "overlapping" is true, instances whose bounding box is overlapping the search region are reported. If "overlapping" is false, instances whose bounding box touches the search region are reported. The bounding box of instances is measured taking all layers of the target cell into account. """ + ... def __copy__(self) -> RecursiveInstanceIterator: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> RecursiveInstanceIterator: r""" @brief Creates a copy of self """ + ... def __eq__(self, other: object) -> bool: r""" @brief Comparison of iterators - equality Two iterators are equal if they point to the same instance. """ + ... @overload def __init__(self, layout: Layout, cell: Cell) -> None: r""" @@ -42660,6 +47314,7 @@ class RecursiveInstanceIterator: This constructor creates a new recursive instance iterator which delivers the instances of the given cell plus its children. """ + ... @overload def __init__(self, layout: Layout, cell: Cell, box: Box, overlapping: Optional[bool] = ...) -> None: r""" @@ -42673,6 +47328,7 @@ class RecursiveInstanceIterator: The search is confined to the region given by the "box" parameter. If "overlapping" is true, instances whose bounding box is overlapping the search region are reported. If "overlapping" is false, instances whose bounding box touches the search region are reported. The bounding box of instances is measured taking all layers of the target cell into account. """ + ... @overload def __init__(self, layout: Layout, cell: Cell, region: Region, overlapping: bool) -> None: r""" @@ -42687,6 +47343,7 @@ class RecursiveInstanceIterator: The search is confined to the region given by the "region" parameter. The region needs to be a rectilinear region. If "overlapping" is true, instances whose bounding box is overlapping the search region are reported. If "overlapping" is false, instances whose bounding box touches the search region are reported. The bounding box of instances is measured taking all layers of the target cell into account. """ + ... def __iter__(self) -> Iterator[RecursiveInstanceIterator]: r""" @brief Native iteration @@ -42703,35 +47360,41 @@ class RecursiveInstanceIterator: This feature has been introduced in version 0.28. """ + ... def __ne__(self, other: object) -> bool: r""" @brief Comparison of iterators - inequality Two iterators are not equal if they do not point to the same instance. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -42739,6 +47402,7 @@ class RecursiveInstanceIterator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -42746,52 +47410,62 @@ class RecursiveInstanceIterator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def all_targets_enabled(self) -> bool: r""" @brief Gets a value indicating whether instances of all cells are reported See \targets= for a description of the target cell concept. """ + ... def assign(self, other: RecursiveInstanceIterator) -> None: r""" @brief Assigns another object to self """ + ... def at_end(self) -> bool: r""" @brief End of iterator predicate Returns true, if the iterator is at the end of the sequence """ + ... def cell(self) -> Cell: r""" @brief Gets the cell the current instance sits in """ + ... def cell_index(self) -> int: r""" @brief Gets the index of the cell the current instance sits in This is equivalent to 'cell.cell_index'. """ + ... def complex_region(self) -> Region: r""" @brief Gets the complex region that this iterator is using The complex region is the effective region (a \Region object) that the iterator is selecting from the layout. This region can be a single box or a complex region. """ + ... @overload def confine_region(self, box_region: Box) -> None: r""" @brief Confines the region that this iterator is iterating over This method is similar to setting the region (see \region=), but will confine any region (complex or simple) already set. Essentially it does a logical AND operation between the existing and given region. Hence this method can only reduce a region, not extend it. """ + ... @overload def confine_region(self, complex_region: Region) -> None: r""" @brief Confines the region that this iterator is iterating over This method is similar to setting the region (see \region=), but will confine any region (complex or simple) already set. Essentially it does a logical AND operation between the existing and given region. Hence this method can only reduce a region, not extend it. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def current_inst_element(self) -> InstElement: r""" @brief Gets the current instance @@ -42801,18 +47475,21 @@ class RecursiveInstanceIterator: See \inst_trans, \inst_dtrans and \inst_cell for convenience methods to access the details of the current element. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dtrans(self) -> DCplxTrans: r""" @brief Gets the accumulated transformation of the current instance parent cell to the top cell @@ -42820,10 +47497,12 @@ class RecursiveInstanceIterator: This transformation represents how the current instance is seen in the top cell. This version returns the micron-unit transformation. """ + ... def dup(self) -> RecursiveInstanceIterator: r""" @brief Creates a copy of self """ + ... def each(self) -> Iterator[RecursiveInstanceIterator]: r""" @brief Native iteration @@ -42840,16 +47519,19 @@ class RecursiveInstanceIterator: This feature has been introduced in version 0.28. """ + ... def enable_all_targets(self) -> None: r""" @brief Enables 'all targets' mode in which instances of all cells are reported See \targets= for a description of the target cell concept. """ + ... def inst_cell(self) -> Cell: r""" @brief Gets the target cell of the current instance This is the cell the current instance refers to. It is one of the \targets if a target list is given. """ + ... def inst_dtrans(self) -> DCplxTrans: r""" @brief Gets the micron-unit transformation of the current instance @@ -42857,6 +47539,7 @@ class RecursiveInstanceIterator: 'dtrans * inst_dtrans' gives the full micron-unit transformation how the current cell is seen in the top cell. See also \inst_trans and \inst_cell. """ + ... def inst_trans(self) -> ICplxTrans: r""" @brief Gets the integer-unit transformation of the current instance @@ -42864,31 +47547,37 @@ class RecursiveInstanceIterator: 'trans * inst_trans' gives the full transformation how the current cell is seen in the top cell. See also \inst_dtrans and \inst_cell. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def layout(self) -> Layout: r""" @brief Gets the layout this iterator is connected to """ + ... def next(self) -> None: r""" @brief Increments the iterator This moves the iterator to the next instance inside the search scope. """ + ... def path(self) -> List[InstElement]: r""" @brief Gets the instantiation path of the instance addressed currently This attribute is a sequence of \InstElement objects describing the cell instance path from the initial cell to the current instance. The path is empty if the current instance is in the top cell. """ + ... def reset(self) -> None: r""" @brief Resets the iterator to the initial state """ + ... def reset_selection(self) -> None: r""" @brief Resets the selection to the default state @@ -42897,6 +47586,7 @@ class RecursiveInstanceIterator: This method will also reset the iterator. """ + ... def select_all_cells(self) -> None: r""" @brief Selects all cells. @@ -42905,6 +47595,7 @@ class RecursiveInstanceIterator: This method will also reset the iterator. """ + ... @overload def select_cells(self, cells: Sequence[int]) -> None: r""" @@ -42916,6 +47607,7 @@ class RecursiveInstanceIterator: This method will also reset the iterator. """ + ... @overload def select_cells(self, cells: str) -> None: r""" @@ -42928,16 +47620,19 @@ class RecursiveInstanceIterator: This method will also reset the iterator. """ + ... def top_cell(self) -> Cell: r""" @brief Gets the top cell this iterator is connected to """ + ... def trans(self) -> ICplxTrans: r""" @brief Gets the accumulated transformation of the current instance parent cell to the top cell This transformation represents how the current instance is seen in the top cell. """ + ... def unselect_all_cells(self) -> None: r""" @brief Unselects all cells. @@ -42946,6 +47641,7 @@ class RecursiveInstanceIterator: This method will also reset the iterator. """ + ... @overload def unselect_cells(self, cells: Sequence[int]) -> None: r""" @@ -42957,6 +47653,7 @@ class RecursiveInstanceIterator: This method will also reset the iterator. """ + ... @overload def unselect_cells(self, cells: str) -> None: r""" @@ -42969,6 +47666,8 @@ class RecursiveInstanceIterator: This method will also reset the iterator. """ + ... + ... class RecursiveShapeIterator: r""" @@ -43179,6 +47878,7 @@ class RecursiveShapeIterator: This constructor has been introduced in version 0.23. """ + ... @overload @classmethod def new(cls, layout: Layout, cell: Cell, layer: int, box: Box, overlapping: Optional[bool] = ...) -> RecursiveShapeIterator: @@ -43196,6 +47896,7 @@ class RecursiveShapeIterator: This constructor has been introduced in version 0.23. The 'overlapping' parameter has been made optional in version 0.27. """ + ... @overload @classmethod def new(cls, layout: Layout, cell: Cell, layer: int, region: Region, overlapping: Optional[bool] = ...) -> RecursiveShapeIterator: @@ -43214,6 +47915,7 @@ class RecursiveShapeIterator: This constructor has been introduced in version 0.25. The 'overlapping' parameter has been made optional in version 0.27. """ + ... @overload @classmethod def new(cls, layout: Layout, cell: Cell, layers: Sequence[int]) -> RecursiveShapeIterator: @@ -43228,6 +47930,7 @@ class RecursiveShapeIterator: This constructor has been introduced in version 0.23. """ + ... @overload @classmethod def new(cls, layout: Layout, cell: Cell, layers: Sequence[int], box: Box, overlapping: Optional[bool] = ...) -> RecursiveShapeIterator: @@ -43246,6 +47949,7 @@ class RecursiveShapeIterator: This constructor has been introduced in version 0.23. The 'overlapping' parameter has been made optional in version 0.27. """ + ... @overload @classmethod def new(cls, layout: Layout, cell: Cell, layers: Sequence[int], region: Region, overlapping: Optional[bool] = ...) -> RecursiveShapeIterator: @@ -43265,20 +47969,24 @@ class RecursiveShapeIterator: This constructor has been introduced in version 0.23. The 'overlapping' parameter has been made optional in version 0.27. """ + ... def __copy__(self) -> RecursiveShapeIterator: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> RecursiveShapeIterator: r""" @brief Creates a copy of self """ + ... def __eq__(self, other: object) -> bool: r""" @brief Comparison of iterators - equality Two iterators are equal if they point to the same shape. """ + ... @overload def __init__(self, layout: Layout, cell: Cell, layer: int) -> None: r""" @@ -43291,6 +47999,7 @@ class RecursiveShapeIterator: This constructor has been introduced in version 0.23. """ + ... @overload def __init__(self, layout: Layout, cell: Cell, layer: int, box: Box, overlapping: Optional[bool] = ...) -> None: r""" @@ -43307,6 +48016,7 @@ class RecursiveShapeIterator: This constructor has been introduced in version 0.23. The 'overlapping' parameter has been made optional in version 0.27. """ + ... @overload def __init__(self, layout: Layout, cell: Cell, layer: int, region: Region, overlapping: Optional[bool] = ...) -> None: r""" @@ -43324,6 +48034,7 @@ class RecursiveShapeIterator: This constructor has been introduced in version 0.25. The 'overlapping' parameter has been made optional in version 0.27. """ + ... @overload def __init__(self, layout: Layout, cell: Cell, layers: Sequence[int]) -> None: r""" @@ -43337,6 +48048,7 @@ class RecursiveShapeIterator: This constructor has been introduced in version 0.23. """ + ... @overload def __init__(self, layout: Layout, cell: Cell, layers: Sequence[int], box: Box, overlapping: Optional[bool] = ...) -> None: r""" @@ -43354,6 +48066,7 @@ class RecursiveShapeIterator: This constructor has been introduced in version 0.23. The 'overlapping' parameter has been made optional in version 0.27. """ + ... @overload def __init__(self, layout: Layout, cell: Cell, layers: Sequence[int], region: Region, overlapping: Optional[bool] = ...) -> None: r""" @@ -43372,6 +48085,7 @@ class RecursiveShapeIterator: This constructor has been introduced in version 0.23. The 'overlapping' parameter has been made optional in version 0.27. """ + ... def __iter__(self) -> Iterator[RecursiveShapeIterator]: r""" @brief Native iteration @@ -43388,35 +48102,41 @@ class RecursiveShapeIterator: This feature has been introduced in version 0.28. """ + ... def __ne__(self, other: object) -> bool: r""" @brief Comparison of iterators - inequality Two iterators are not equal if they do not point to the same shape. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -43424,6 +48144,7 @@ class RecursiveShapeIterator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -43431,6 +48152,7 @@ class RecursiveShapeIterator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def always_apply_dtrans(self) -> DCplxTrans: r""" @brief Gets the global transformation if at top level, unity otherwise (micrometer-unit version) @@ -43438,6 +48160,7 @@ class RecursiveShapeIterator: This method has been introduced in version 0.27. """ + ... def always_apply_trans(self) -> ICplxTrans: r""" @brief Gets the global transformation if at top level, unity otherwise @@ -43445,26 +48168,31 @@ class RecursiveShapeIterator: This method has been introduced in version 0.27. """ + ... def assign(self, other: RecursiveShapeIterator) -> None: r""" @brief Assigns another object to self """ + ... def at_end(self) -> bool: r""" @brief End of iterator predicate Returns true, if the iterator is at the end of the sequence """ + ... def cell(self) -> Cell: r""" @brief Gets the current cell's object This method has been introduced in version 0.23. """ + ... def cell_index(self) -> int: r""" @brief Gets the current cell's index """ + ... def complex_region(self) -> Region: r""" @brief Gets the complex region that this iterator is using @@ -43472,6 +48200,7 @@ class RecursiveShapeIterator: This method has been introduced in version 0.25. """ + ... @overload def confine_region(self, box_region: Box) -> None: r""" @@ -43480,6 +48209,7 @@ class RecursiveShapeIterator: This method has been introduced in version 0.25. """ + ... @overload def confine_region(self, complex_region: Region) -> None: r""" @@ -43488,23 +48218,27 @@ class RecursiveShapeIterator: This method has been introduced in version 0.25. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dtrans(self) -> DCplxTrans: r""" @brief Gets the transformation into the initial cell applicable for floating point types @@ -43513,10 +48247,12 @@ class RecursiveShapeIterator: This method has been introduced in version 0.25.3. """ + ... def dup(self) -> RecursiveShapeIterator: r""" @brief Creates a copy of self """ + ... def each(self) -> Iterator[RecursiveShapeIterator]: r""" @brief Native iteration @@ -43533,6 +48269,7 @@ class RecursiveShapeIterator: This feature has been introduced in version 0.28. """ + ... def enable_properties(self) -> None: r""" @brief Enables properties for the given iterator. @@ -43542,6 +48279,7 @@ class RecursiveShapeIterator: This feature has been introduced in version 0.28.4. """ + ... def filter_properties(self, keys: Sequence[Any]) -> None: r""" @brief Filters properties by certain keys. @@ -43553,12 +48291,14 @@ class RecursiveShapeIterator: This feature has been introduced in version 0.28.4. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def itrans(self) -> ICplxTrans: r""" @brief Gets the current transformation by which the shapes must be transformed into the initial cell @@ -43568,18 +48308,21 @@ class RecursiveShapeIterator: Starting with version 0.25, this transformation is a int-to-int transformation the 'itrans' method which was providing this transformation before is deprecated. """ + ... def layer(self) -> int: r""" @brief Returns the layer index where the current shape is coming from. This method has been introduced in version 0.23. """ + ... def layout(self) -> Layout: r""" @brief Gets the layout this iterator is connected to This method has been introduced in version 0.23. """ + ... def map_properties(self, key_map: Dict[Any, Any]) -> None: r""" @brief Maps properties by name key. @@ -43591,11 +48334,13 @@ class RecursiveShapeIterator: This feature has been introduced in version 0.28.4. """ + ... def next(self) -> None: r""" @brief Increments the iterator This moves the iterator to the next shape inside the search scope. """ + ... def path(self) -> List[InstElement]: r""" @brief Gets the instantiation path of the shape addressed currently @@ -43604,6 +48349,7 @@ class RecursiveShapeIterator: This method has been introduced in version 0.25. """ + ... def prop_id(self) -> int: r""" @brief Gets the effective properties ID @@ -43615,6 +48361,7 @@ class RecursiveShapeIterator: This attribute has been introduced in version 0.28.4. """ + ... def remove_properties(self) -> None: r""" @brief Removes properties for the given container. @@ -43626,12 +48373,14 @@ class RecursiveShapeIterator: This feature has been introduced in version 0.28.4. """ + ... def reset(self) -> None: r""" @brief Resets the iterator to the initial state This method has been introduced in version 0.23. """ + ... def reset_selection(self) -> None: r""" @brief Resets the selection to the default state @@ -43642,6 +48391,7 @@ class RecursiveShapeIterator: This method has been introduced in version 0.23. """ + ... def select_all_cells(self) -> None: r""" @brief Selects all cells. @@ -43652,6 +48402,7 @@ class RecursiveShapeIterator: This method has been introduced in version 0.23. """ + ... @overload def select_cells(self, cells: Sequence[int]) -> None: r""" @@ -43665,6 +48416,7 @@ class RecursiveShapeIterator: This method has been introduced in version 0.23. """ + ... @overload def select_cells(self, cells: str) -> None: r""" @@ -43679,6 +48431,7 @@ class RecursiveShapeIterator: This method has been introduced in version 0.23. """ + ... def shape(self) -> Shape: r""" @brief Gets the current shape @@ -43686,12 +48439,14 @@ class RecursiveShapeIterator: Returns the shape currently referred to by the recursive iterator. This shape is not transformed yet and is located in the current cell. """ + ... def top_cell(self) -> Cell: r""" @brief Gets the top cell this iterator is connected to This method has been introduced in version 0.23. """ + ... def trans(self) -> ICplxTrans: r""" @brief Gets the current transformation by which the shapes must be transformed into the initial cell @@ -43701,6 +48456,7 @@ class RecursiveShapeIterator: Starting with version 0.25, this transformation is a int-to-int transformation the 'itrans' method which was providing this transformation before is deprecated. """ + ... def unselect_all_cells(self) -> None: r""" @brief Unselects all cells. @@ -43711,6 +48467,7 @@ class RecursiveShapeIterator: This method has been introduced in version 0.23. """ + ... @overload def unselect_cells(self, cells: Sequence[int]) -> None: r""" @@ -43724,6 +48481,7 @@ class RecursiveShapeIterator: This method has been introduced in version 0.23. """ + ... @overload def unselect_cells(self, cells: str) -> None: r""" @@ -43738,6 +48496,8 @@ class RecursiveShapeIterator: This method has been introduced in version 0.23. """ + ... + ... class Region(ShapeCollection): r""" @@ -43795,84 +48555,103 @@ class Region(ShapeCollection): r""" @brief Creates an enum from an integer value """ + ... @overload @classmethod def new(cls, s: str) -> Region.OppositeFilter: r""" @brief Creates an enum from a string value """ + ... + @overload + def __eq__(self, other: int) -> bool: + r""" + @brief Compares an enum with an integer value + """ + ... @overload def __eq__(self, other: object) -> bool: r""" @brief Compares two enums """ - @overload - def __eq__(self, other: object) -> bool: - r""" - @brief Compares an enum with an integer value - """ + ... def __hash__(self) -> int: r""" @brief Gets the hash value from the enum """ + ... @overload def __init__(self, i: int) -> None: r""" @brief Creates an enum from an integer value """ + ... @overload def __init__(self, s: str) -> None: r""" @brief Creates an enum from a string value """ + ... def __int__(self) -> int: r""" @brief Gets the integer value from the enum """ + ... @overload def __lt__(self, other: Region.OppositeFilter) -> bool: r""" @brief Returns true if the first enum is less (in the enum symbol order) than the second """ + ... @overload def __lt__(self, other: int) -> bool: r""" @brief Returns true if the enum is less (in the enum symbol order) than the integer value """ + ... @overload - def __ne__(self, other: object) -> bool: + def __ne__(self, other: int) -> bool: r""" @brief Compares an enum with an integer for inequality """ + ... @overload def __ne__(self, other: object) -> bool: r""" @brief Compares two enums for inequality """ + ... def __repr__(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def __str__(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... def hash(self) -> int: r""" @brief Gets the hash value from the enum """ + ... def inspect(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def to_i(self) -> int: r""" @brief Gets the integer value from the enum """ + ... def to_s(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... + ... class RectFilter: r""" @brief This class represents the error filter mode on rectangles for \Region#separation and related checks. @@ -43913,84 +48692,103 @@ class Region(ShapeCollection): r""" @brief Creates an enum from an integer value """ + ... @overload @classmethod def new(cls, s: str) -> Region.RectFilter: r""" @brief Creates an enum from a string value """ + ... @overload - def __eq__(self, other: object) -> bool: + def __eq__(self, other: int) -> bool: r""" @brief Compares an enum with an integer value """ + ... @overload def __eq__(self, other: object) -> bool: r""" @brief Compares two enums """ + ... def __hash__(self) -> int: r""" @brief Gets the hash value from the enum """ + ... @overload def __init__(self, i: int) -> None: r""" @brief Creates an enum from an integer value """ + ... @overload def __init__(self, s: str) -> None: r""" @brief Creates an enum from a string value """ + ... def __int__(self) -> int: r""" @brief Gets the integer value from the enum """ + ... @overload def __lt__(self, other: Region.RectFilter) -> bool: r""" @brief Returns true if the first enum is less (in the enum symbol order) than the second """ + ... @overload def __lt__(self, other: int) -> bool: r""" @brief Returns true if the enum is less (in the enum symbol order) than the integer value """ + ... + @overload + def __ne__(self, other: int) -> bool: + r""" + @brief Compares an enum with an integer for inequality + """ + ... @overload def __ne__(self, other: object) -> bool: r""" @brief Compares two enums for inequality """ - @overload - def __ne__(self, other: object) -> bool: - r""" - @brief Compares an enum with an integer for inequality - """ + ... def __repr__(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def __str__(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... def hash(self) -> int: r""" @brief Gets the hash value from the enum """ + ... def inspect(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def to_i(self) -> int: r""" @brief Gets the integer value from the enum """ + ... def to_s(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... + ... All: ClassVar[EdgeMode] r""" @brief Selects all edges @@ -44229,6 +49027,7 @@ class Region(ShapeCollection): This constructor creates an empty region. """ + ... @overload @classmethod def new(cls, array: Sequence[Polygon]) -> Region: @@ -44237,6 +49036,7 @@ class Region(ShapeCollection): This constructor creates a region from an array of polygons. """ + ... @overload @classmethod def new(cls, box: Box) -> Region: @@ -44245,6 +49045,7 @@ class Region(ShapeCollection): This constructor creates a region from a box. """ + ... @overload @classmethod def new(cls, path: Path) -> Region: @@ -44253,6 +49054,7 @@ class Region(ShapeCollection): This constructor creates a region from a path. """ + ... @overload @classmethod def new(cls, polygon: Polygon) -> Region: @@ -44261,6 +49063,7 @@ class Region(ShapeCollection): This constructor creates a region from a polygon. """ + ... @overload @classmethod def new(cls, polygon: SimplePolygon) -> Region: @@ -44269,6 +49072,7 @@ class Region(ShapeCollection): This constructor creates a region from a simple polygon. """ + ... @overload @classmethod def new(cls, shape_iterator: RecursiveShapeIterator) -> Region: @@ -44286,6 +49090,7 @@ class Region(ShapeCollection): r = RBA::Region::new(layout.begin_shapes(cell, layer)) @/code """ + ... @overload @classmethod def new(cls, shape_iterator: RecursiveShapeIterator, deep_shape_store: DeepShapeStore, area_ratio: Optional[float] = ..., max_vertex_count: Optional[int] = ...) -> Region: @@ -44302,6 +49107,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.26. """ + ... @overload @classmethod def new(cls, shape_iterator: RecursiveShapeIterator, deep_shape_store: DeepShapeStore, trans: ICplxTrans, area_ratio: Optional[float] = ..., max_vertex_count: Optional[int] = ...) -> Region: @@ -44321,6 +49127,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.26. """ + ... @overload @classmethod def new(cls, shape_iterator: RecursiveShapeIterator, dss: DeepShapeStore, expr: str, as_pattern: Optional[bool] = ..., enl: Optional[int] = ...) -> Region: @@ -44343,6 +49150,7 @@ class Region(ShapeCollection): This variant has been introduced in version 0.26. """ + ... @overload @classmethod def new(cls, shape_iterator: RecursiveShapeIterator, expr: str, as_pattern: Optional[bool] = ..., enl: Optional[int] = ...) -> Region: @@ -44364,6 +49172,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.25. The enlargement parameter has been added in version 0.26. """ + ... @overload @classmethod def new(cls, shape_iterator: RecursiveShapeIterator, trans: ICplxTrans) -> Region: @@ -44384,6 +49193,7 @@ class Region(ShapeCollection): r = RBA::Region::new(layout.begin_shapes(cell, layer), RBA::ICplxTrans::new(layout.dbu / dbu)) @/code """ + ... @overload @classmethod def new(cls, shapes: Shapes) -> Region: @@ -44396,6 +49206,7 @@ class Region(ShapeCollection): This constructor has been introduced in version 0.25 and extended in version 0.29. """ + ... @overload @classmethod def new(cls, shapes: Shapes, trans: ICplxTrans) -> Region: @@ -44408,6 +49219,7 @@ class Region(ShapeCollection): This constructor variant has been introduced in version 0.29. """ + ... def __add__(self, other: Region) -> Region: r""" @brief Returns the combined region of self and the other region @@ -44418,6 +49230,7 @@ class Region(ShapeCollection): The 'join' alias has been introduced in version 0.28.12. """ + ... def __and__(self, other: Region) -> Region: r""" @brief Returns the boolean AND between self and the other region @@ -44426,14 +49239,17 @@ class Region(ShapeCollection): This method will compute the boolean AND (intersection) between two regions. The result is often but not necessarily always merged. """ + ... def __copy__(self) -> Region: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> Region: r""" @brief Creates a copy of self """ + ... def __getitem__(self, n: int) -> Polygon: r""" @brief Returns the nth polygon of the region @@ -44443,6 +49259,7 @@ class Region(ShapeCollection): The \each iterator is the more general approach to access the polygons. """ + ... def __iadd__(self, other: Region) -> Region: r""" @brief Adds the polygons of the other region to self @@ -44455,6 +49272,7 @@ class Region(ShapeCollection): The 'join_with' alias has been introduced in version 0.28.12. """ + ... def __iand__(self, other: Region) -> Region: r""" @brief Performs the boolean AND between self and the other region in-place (modifying self) @@ -44465,6 +49283,7 @@ class Region(ShapeCollection): Note that in Ruby, the '&=' operator actually does not exist, but is emulated by '&' followed by an assignment. This is less efficient than the in-place operation, so it is recommended to use 'and_with' instead. """ + ... @overload def __init__(self) -> None: r""" @@ -44472,6 +49291,7 @@ class Region(ShapeCollection): This constructor creates an empty region. """ + ... @overload def __init__(self, array: Sequence[Polygon]) -> None: r""" @@ -44479,6 +49299,7 @@ class Region(ShapeCollection): This constructor creates a region from an array of polygons. """ + ... @overload def __init__(self, box: Box) -> None: r""" @@ -44486,6 +49307,7 @@ class Region(ShapeCollection): This constructor creates a region from a box. """ + ... @overload def __init__(self, path: Path) -> None: r""" @@ -44493,6 +49315,7 @@ class Region(ShapeCollection): This constructor creates a region from a path. """ + ... @overload def __init__(self, polygon: Polygon) -> None: r""" @@ -44500,6 +49323,7 @@ class Region(ShapeCollection): This constructor creates a region from a polygon. """ + ... @overload def __init__(self, polygon: SimplePolygon) -> None: r""" @@ -44507,6 +49331,7 @@ class Region(ShapeCollection): This constructor creates a region from a simple polygon. """ + ... @overload def __init__(self, shape_iterator: RecursiveShapeIterator) -> None: r""" @@ -44523,6 +49348,7 @@ class Region(ShapeCollection): r = RBA::Region::new(layout.begin_shapes(cell, layer)) @/code """ + ... @overload def __init__(self, shape_iterator: RecursiveShapeIterator, deep_shape_store: DeepShapeStore, area_ratio: Optional[float] = ..., max_vertex_count: Optional[int] = ...) -> None: r""" @@ -44538,6 +49364,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.26. """ + ... @overload def __init__(self, shape_iterator: RecursiveShapeIterator, deep_shape_store: DeepShapeStore, trans: ICplxTrans, area_ratio: Optional[float] = ..., max_vertex_count: Optional[int] = ...) -> None: r""" @@ -44556,6 +49383,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.26. """ + ... @overload def __init__(self, shape_iterator: RecursiveShapeIterator, dss: DeepShapeStore, expr: str, as_pattern: Optional[bool] = ..., enl: Optional[int] = ...) -> None: r""" @@ -44577,6 +49405,7 @@ class Region(ShapeCollection): This variant has been introduced in version 0.26. """ + ... @overload def __init__(self, shape_iterator: RecursiveShapeIterator, expr: str, as_pattern: Optional[bool] = ..., enl: Optional[int] = ...) -> None: r""" @@ -44597,6 +49426,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.25. The enlargement parameter has been added in version 0.26. """ + ... @overload def __init__(self, shape_iterator: RecursiveShapeIterator, trans: ICplxTrans) -> None: r""" @@ -44616,6 +49446,7 @@ class Region(ShapeCollection): r = RBA::Region::new(layout.begin_shapes(cell, layer), RBA::ICplxTrans::new(layout.dbu / dbu)) @/code """ + ... @overload def __init__(self, shapes: Shapes) -> None: r""" @@ -44627,6 +49458,7 @@ class Region(ShapeCollection): This constructor has been introduced in version 0.25 and extended in version 0.29. """ + ... @overload def __init__(self, shapes: Shapes, trans: ICplxTrans) -> None: r""" @@ -44638,6 +49470,7 @@ class Region(ShapeCollection): This constructor variant has been introduced in version 0.29. """ + ... def __ior__(self, other: Region) -> Region: r""" @brief Performs the boolean OR between self and the other region in-place (modifying self) @@ -44649,6 +49482,7 @@ class Region(ShapeCollection): The 'or_with' alias has been introduced in version 0.28.12. """ + ... def __isub__(self, other: Region) -> Region: r""" @brief Performs the boolean NOT between self and the other region in-place (modifying self) @@ -44659,12 +49493,14 @@ class Region(ShapeCollection): Note that in Ruby, the '-=' operator actually does not exist, but is emulated by '-' followed by an assignment. This is less efficient than the in-place operation, so it is recommended to use 'not_with' instead. """ + ... def __iter__(self) -> Iterator[Polygon]: r""" @brief Returns each polygon of the region This returns the raw polygons (not merged polygons if merged semantics is enabled). """ + ... def __ixor__(self, other: Region) -> Region: r""" @brief Performs the boolean XOR between self and the other region in-place (modifying self) @@ -44677,6 +49513,7 @@ class Region(ShapeCollection): The 'xor_with' alias has been introduced in version 0.28.12. """ + ... def __len__(self) -> int: r""" @brief Returns the (flat) number of polygons in the region @@ -44686,6 +49523,7 @@ class Region(ShapeCollection): The 'count' alias has been provided in version 0.26 to avoid ambiguity with the 'size' method which applies a geometrical bias. """ + ... def __or__(self, other: Region) -> Region: r""" @brief Returns the boolean OR between self and the other region @@ -44695,16 +49533,13 @@ class Region(ShapeCollection): The boolean OR is implemented by merging the polygons of both regions. To simply join the regions without merging, the + operator is more efficient. The 'or' alias has been introduced in version 0.28.12. """ - def __repr__(self) -> str: - r""" - @brief Converts the region to a string - The length of the output is limited to 20 polygons to avoid giant strings on large regions. For full output use "to_s" with a maximum count parameter. - """ + ... def __str__(self) -> str: r""" @brief Converts the region to a string The length of the output is limited to 20 polygons to avoid giant strings on large regions. For full output use "to_s" with a maximum count parameter. """ + ... def __sub__(self, other: Region) -> Region: r""" @brief Returns the boolean NOT between self and the other region @@ -44713,6 +49548,7 @@ class Region(ShapeCollection): This method will compute the boolean NOT (intersection) between two regions. The result is often but not necessarily always merged. """ + ... def __xor__(self, other: Region) -> Region: r""" @brief Returns the boolean XOR between self and the other region @@ -44723,29 +49559,34 @@ class Region(ShapeCollection): The 'xor' alias has been introduced in version 0.28.12. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -44753,6 +49594,7 @@ class Region(ShapeCollection): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -44760,6 +49602,7 @@ class Region(ShapeCollection): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def and_(self, other: Region, property_constraint: Optional[PropertyConstraint] = ...) -> Region: r""" @brief Returns the boolean AND between self and the other region @@ -44771,6 +49614,7 @@ class Region(ShapeCollection): This variant has been introduced in version 0.28.4. """ + ... def and_with(self, other: Region, property_constraint: Optional[PropertyConstraint] = ...) -> Region: r""" @brief Performs the boolean AND between self and the other region in-place (modifying self) @@ -44782,6 +49626,7 @@ class Region(ShapeCollection): This variant has been introduced in version 0.28.4. """ + ... def andnot(self, other: Region, property_constraint: Optional[PropertyConstraint] = ...) -> List[Region]: r""" @brief Returns the boolean AND and NOT between self and the other region @@ -44792,6 +49637,7 @@ class Region(ShapeCollection): This method has been added in version 0.27. """ + ... @overload def area(self) -> int: r""" @@ -44800,6 +49646,7 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) If merged semantics is not enabled, overlapping areas are counted twice. """ + ... @overload def area(self, rect: Box) -> int: r""" @@ -44809,15 +49656,18 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) If merged semantics is not enabled, overlapping areas are counted twice. """ + ... def assign(self, other: ShapeCollection) -> None: r""" @brief Assigns another object to self """ + ... def bbox(self) -> Box: r""" @brief Return the bounding box of the region The bounding box is the box enclosing all points of all polygons. """ + ... def break_(self, max_vertex_count: int, max_area_ratio: Optional[float] = ...) -> None: r""" @brief Breaks the polygons of the region into smaller ones @@ -44828,10 +49678,12 @@ class Region(ShapeCollection): This method has been introduced in version 0.26. """ + ... def clear(self) -> None: r""" @brief Clears the region """ + ... def complex_op(self, node: CompoundRegionOperationNode, property_constraint: Optional[PropertyConstraint] = ...) -> Any: r""" @brief Executes a complex operation (see \CompoundRegionOperationNode for details) @@ -44839,6 +49691,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.27. The 'property_constraint' parameter controls whether properties are considered: with 'SamePropertiesConstraint' the operation is only applied between shapes with identical properties. With 'DifferentPropertiesConstraint' only between shapes with different properties. This option has been introduced in version 0.28.4. """ + ... def corners(self, angle_min: Optional[float] = ..., angle_max: Optional[float] = ..., dim: Optional[int] = ..., include_min_angle: Optional[bool] = ..., include_max_angle: Optional[bool] = ..., inverse: Optional[bool] = ..., absolute: Optional[bool] = ...) -> Region: r""" @brief This method will select all corners whose attached edges satisfy the angle condition. @@ -44856,6 +49709,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.25. 'include_min_angle' and 'include_max_angle' have been added in version 0.27. 'inverse' and 'absolute' have been added in version 0.29.1. """ + ... def corners_dots(self, angle_start: Optional[float] = ..., angle_end: Optional[float] = ..., include_min_angle: Optional[bool] = ..., include_max_angle: Optional[bool] = ..., inverse: Optional[bool] = ..., absolute: Optional[bool] = ...) -> Edges: r""" @brief This method will select all corners whose attached edges satisfy the angle condition. @@ -44864,6 +49718,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.25. 'include_min_angle' and 'include_max_angle' have been added in version 0.27. 'inverse' and 'absolute' have been added in version 0.29.1. """ + ... def corners_edge_pairs(self, angle_start: Optional[float] = ..., angle_end: Optional[float] = ..., include_min_angle: Optional[bool] = ..., include_max_angle: Optional[bool] = ..., inverse: Optional[bool] = ..., absolute: Optional[bool] = ...) -> EdgePairs: r""" @brief This method will select all corners whose attached edges satisfy the angle condition. @@ -44873,6 +49728,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.27.1. 'inverse' and 'absolute' have been added in version 0.29.1. """ + ... def count(self) -> int: r""" @brief Returns the (flat) number of polygons in the region @@ -44882,6 +49738,7 @@ class Region(ShapeCollection): The 'count' alias has been provided in version 0.26 to avoid ambiguity with the 'size' method which applies a geometrical bias. """ + ... def covering(self, other: Region, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> Region: r""" @brief Returns the polygons of this region which are completely covering polygons from the other region @@ -44894,17 +49751,20 @@ class Region(ShapeCollection): This method has been introduced in version 0.27. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def data_id(self) -> int: r""" @brief Returns the data ID (a unique identifier for the underlying data storage) This method has been added in version 0.26. """ + ... def decompose_convex(self, preferred_orientation: Optional[int] = ...) -> Shapes: r""" @brief Decomposes the region into convex pieces. @@ -44914,6 +49774,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.25. """ + ... def decompose_convex_to_region(self, preferred_orientation: Optional[int] = ...) -> Region: r""" @brief Decomposes the region into convex pieces into a region. @@ -44922,6 +49783,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.25. """ + ... def decompose_trapezoids(self, mode: Optional[int] = ...) -> Shapes: r""" @brief Decomposes the region into trapezoids. @@ -44931,6 +49793,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.25. """ + ... def decompose_trapezoids_to_region(self, mode: Optional[int] = ...) -> Region: r""" @brief Decomposes the region into trapezoids. @@ -44939,6 +49802,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.25. """ + ... @overload def delaunay(self) -> Region: r""" @@ -44950,6 +49814,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.29. """ + ... @overload def delaunay(self, max_area: float, min_b: Optional[float] = ...) -> Region: r""" @@ -44965,23 +49830,27 @@ class Region(ShapeCollection): This method has been introduced in version 0.29. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def disable_progress(self) -> None: r""" @brief Disable progress reporting Calling this method will disable progress reporting. See \enable_progress. """ + ... def drc_hull(self, metrics: Metrics, space: int, n_circle: Optional[int] = ...) -> Region: r""" @brief Computes a visualization of the forbidden region for a DRC space check @@ -44994,22 +49863,26 @@ class Region(ShapeCollection): This method has been introduced in version 0.29.1. """ + ... def dup(self) -> Region: r""" @brief Creates a copy of self """ + ... def each(self) -> Iterator[Polygon]: r""" @brief Returns each polygon of the region This returns the raw polygons (not merged polygons if merged semantics is enabled). """ + ... def each_merged(self) -> Iterator[Polygon]: r""" @brief Returns each merged polygon of the region This returns the raw polygons if merged semantics is disabled or the merged ones if merged semantics is enabled. """ + ... def edges(self, mode: Optional[EdgeMode] = ...) -> Edges: r""" @brief Returns an edge collection representing all edges of the polygons in this region @@ -45023,6 +49896,7 @@ class Region(ShapeCollection): The mode argument has been added in version 0.29. """ + ... def enable_progress(self, label: str) -> None: r""" @brief Enable progress reporting @@ -45030,6 +49904,7 @@ class Region(ShapeCollection): The label is a text which is put in front of the progress bar. Using a progress bar will imply a performance penalty of a few percent typically. """ + ... def enable_properties(self) -> None: r""" @brief Enables properties for the given container. @@ -45037,6 +49912,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.28.4. """ + ... def enclosed_check(self, other: Region, d: int, whole_edges: Optional[bool] = ..., metrics: Optional[Metrics] = ..., ignore_angle: Optional[Any] = ..., min_projection: Optional[Any] = ..., max_projection: Optional[Any] = ..., shielded: Optional[bool] = ..., opposite_filter: Optional[Region.OppositeFilter] = ..., rect_filter: Optional[Region.RectFilter] = ..., negative: Optional[bool] = ..., property_constraint: Optional[PropertyConstraint] = ..., zero_distance_mode: Optional[ZeroDistanceMode] = ...) -> EdgePairs: r""" @brief Performs an inside check with options @@ -45076,6 +49952,7 @@ class Region(ShapeCollection): 'property_constraint' has been added in version 0.28.4. 'zero_distance_mode' has been added in version 0.29. """ + ... def enclosing_check(self, other: Region, d: int, whole_edges: Optional[bool] = ..., metrics: Optional[Metrics] = ..., ignore_angle: Optional[Any] = ..., min_projection: Optional[Any] = ..., max_projection: Optional[Any] = ..., shielded: Optional[bool] = ..., opposite_filter: Optional[Region.OppositeFilter] = ..., rect_filter: Optional[Region.RectFilter] = ..., negative: Optional[bool] = ..., property_constraint: Optional[PropertyConstraint] = ..., zero_distance_mode: Optional[ZeroDistanceMode] = ...) -> EdgePairs: r""" @brief Performs an enclosing check with options @@ -45114,16 +49991,19 @@ class Region(ShapeCollection): 'property_constraint' has been added in version 0.28.4. 'zero_distance_mode' has been added in version 0.29. """ + ... def extent_refs(self, arg0: float, arg1: float, arg2: float, arg3: float, arg4: int, arg5: int) -> Region: r""" @hide This method is provided for DRC implementation. """ + ... def extent_refs_edges(self, arg0: float, arg1: float, arg2: float, arg3: float) -> Edges: r""" @hide This method is provided for DRC implementation. """ + ... @overload def extents(self) -> Region: r""" @@ -45133,6 +50013,7 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... @overload def extents(self, d: int) -> Region: r""" @@ -45143,6 +50024,7 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... @overload def extents(self, dx: int, dy: int) -> Region: r""" @@ -45153,6 +50035,7 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... @overload def fill(self, in_cell: Cell, fill_cell_index: int, fc_box: Box, origin: Optional[Point] = ..., remaining_parts: Optional[Region] = ..., fill_margin: Optional[Vector] = ..., remaining_polygons: Optional[Region] = ..., glue_box: Optional[Box] = ...) -> None: r""" @@ -45162,6 +50045,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.27. """ + ... @overload def fill(self, in_cell: Cell, fill_cell_index: int, fc_origin: Box, row_step: Vector, column_step: Vector, origin: Optional[Point] = ..., remaining_parts: Optional[Region] = ..., fill_margin: Optional[Vector] = ..., remaining_polygons: Optional[Region] = ..., glue_box: Optional[Box] = ...) -> None: r""" @@ -45171,6 +50055,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.27. """ + ... def fill_multi(self, in_cell: Cell, fill_cell_index: int, fc_origin: Box, row_step: Vector, column_step: Vector, fill_margin: Optional[Vector] = ..., remaining_polygons: Optional[Region] = ..., glue_box: Optional[Box] = ...) -> None: r""" @brief A mapping of \Cell#fill_region to the Region class @@ -45179,6 +50064,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.27. """ + ... def filter(self, filter: PolygonFilter) -> None: r""" @brief Applies a generic filter in place (replacing the polygons from the Region) @@ -45186,6 +50072,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.29. """ + ... def filter_properties(self, keys: Sequence[Any]) -> None: r""" @brief Filters properties by certain keys. @@ -45194,6 +50081,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.28.4. """ + ... def filtered(self, filtered: PolygonFilter) -> Region: r""" @brief Applies a generic filter and returns a filtered copy @@ -45201,6 +50089,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.29. """ + ... def flatten(self) -> Region: r""" @brief Explicitly flattens a region @@ -45211,6 +50100,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.26. """ + ... def grid_check(self, gx: int, gy: int) -> EdgePairs: r""" @brief Returns a marker for all vertices not being on the given grid @@ -45220,12 +50110,14 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... def has_valid_polygons(self) -> bool: r""" @brief Returns true if the region is flat and individual polygons can be accessed randomly This method has been introduced in version 0.26. """ + ... def hier_count(self) -> int: r""" @brief Returns the (hierarchical) number of polygons in the region @@ -45235,6 +50127,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.27. """ + ... def holes(self) -> Region: r""" @brief Returns the holes of the region @@ -45243,6 +50136,7 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) If merge semantics is not enabled, the holes may not be detected if the polygons are taken from a hole-less representation (i.e. GDS2 file). Use explicit merge (\merge method) in order to merge the polygons and detect holes. """ + ... def hulls(self) -> Region: r""" @brief Returns the hulls of the region @@ -45250,11 +50144,13 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) If merge semantics is not enabled, the hull may also enclose holes if the polygons are taken from a hole-less representation (i.e. GDS2 file). Use explicit merge (\merge method) in order to merge the polygons and detect holes. """ + ... def in_(self, other: Region) -> Region: r""" @brief Returns all polygons which are members of the other region This method returns all polygons in self which can be found in the other region as well with exactly the same geometry. """ + ... def in_and_out(self, other: Region) -> List[Region]: r""" @brief Returns all polygons which are members and not members of the other region @@ -45262,11 +50158,13 @@ class Region(ShapeCollection): This method has been introduced in version 0.28. """ + ... @overload def insert(self, array: Sequence[Polygon]) -> None: r""" @brief Inserts all polygons from the array into this region """ + ... @overload def insert(self, box: Box) -> None: r""" @@ -45274,6 +50172,7 @@ class Region(ShapeCollection): Inserts a box into the region. """ + ... @overload def insert(self, path: Path) -> None: r""" @@ -45281,6 +50180,7 @@ class Region(ShapeCollection): Inserts a path into the region. """ + ... @overload def insert(self, polygon: Polygon) -> None: r""" @@ -45288,6 +50188,7 @@ class Region(ShapeCollection): Inserts a polygon into the region. """ + ... @overload def insert(self, polygon: SimplePolygon) -> None: r""" @@ -45295,12 +50196,14 @@ class Region(ShapeCollection): Inserts a simple polygon into the region. """ + ... @overload def insert(self, region: Region) -> None: r""" @brief Inserts all polygons from the other region into this region This method has been introduced in version 0.25. """ + ... @overload def insert(self, shape_iterator: RecursiveShapeIterator) -> None: r""" @@ -45309,6 +50212,7 @@ class Region(ShapeCollection): This method will insert all shapes delivered by the shape iterator and insert them into the region. Text objects and edges are not inserted, because they cannot be converted to polygons. """ + ... @overload def insert(self, shape_iterator: RecursiveShapeIterator, trans: ICplxTrans) -> None: r""" @@ -45318,6 +50222,7 @@ class Region(ShapeCollection): Text objects and edges are not inserted, because they cannot be converted to polygons. This variant will apply the given transformation to the shapes. This is useful to scale the shapes to a specific database unit for example. """ + ... @overload def insert(self, shapes: Shapes) -> None: r""" @@ -45326,6 +50231,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.25. """ + ... @overload def insert(self, shapes: Shapes, trans: ICplxTrans) -> None: r""" @@ -45334,6 +50240,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.25. """ + ... @overload def insert(self, shapes: Shapes, trans: Trans) -> None: r""" @@ -45342,6 +50249,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.25. """ + ... def insert_into(self, layout: Layout, cell_index: int, layer: int) -> None: r""" @brief Inserts this region into the given layout, below the given cell and into the given layer. @@ -45349,6 +50257,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.26. """ + ... def inside(self, other: Region) -> Region: r""" @brief Returns the polygons of this region which are completely inside polygons from the other region @@ -45357,6 +50266,7 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... def inside_check(self, other: Region, d: int, whole_edges: Optional[bool] = ..., metrics: Optional[Metrics] = ..., ignore_angle: Optional[Any] = ..., min_projection: Optional[Any] = ..., max_projection: Optional[Any] = ..., shielded: Optional[bool] = ..., opposite_filter: Optional[Region.OppositeFilter] = ..., rect_filter: Optional[Region.RectFilter] = ..., negative: Optional[bool] = ..., property_constraint: Optional[PropertyConstraint] = ..., zero_distance_mode: Optional[ZeroDistanceMode] = ...) -> EdgePairs: r""" @brief Performs an inside check with options @@ -45396,6 +50306,7 @@ class Region(ShapeCollection): 'property_constraint' has been added in version 0.28.4. 'zero_distance_mode' has been added in version 0.29. """ + ... @overload def interacting(self, other: Edges, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> Region: r""" @@ -45410,6 +50321,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.25. The min_count and max_count arguments have been added in version 0.27. """ + ... @overload def interacting(self, other: Region, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> Region: r""" @@ -45423,6 +50335,7 @@ class Region(ShapeCollection): The min_count and max_count arguments have been added in version 0.27. """ + ... @overload def interacting(self, other: Texts, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> Region: r""" @@ -45436,6 +50349,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.27 """ + ... def is_box(self) -> bool: r""" @brief Returns true, if the region is a simple box @@ -45446,27 +50360,32 @@ class Region(ShapeCollection): If the region is not merged, this method may return false even if the merged region would be a box. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_deep(self) -> bool: r""" @brief Returns true if the region is a deep (hierarchical) one This method has been added in version 0.26. """ + ... def is_empty(self) -> bool: r""" @brief Returns true if the region is empty """ + ... def is_merged(self) -> bool: r""" @brief Returns true if the region is merged If the region is merged, polygons will not touch or overlap. You can ensure merged state by calling \merge. """ + ... def isolated_check(self, d: int, whole_edges: Optional[bool] = ..., metrics: Optional[Metrics] = ..., ignore_angle: Optional[Any] = ..., min_projection: Optional[Any] = ..., max_projection: Optional[Any] = ..., shielded: Optional[bool] = ..., opposite_filter: Optional[Region.OppositeFilter] = ..., rect_filter: Optional[Region.RectFilter] = ..., negative: Optional[bool] = ..., property_constraint: Optional[PropertyConstraint] = ..., zero_distance_mode: Optional[ZeroDistanceMode] = ...) -> EdgePairs: r""" @brief Performs a space check between edges of different polygons with options @@ -45502,6 +50421,7 @@ class Region(ShapeCollection): 'property_constraint' has been added in version 0.28.4. 'zero_distance_mode' has been added in version 0.29. """ + ... def join(self, other: Region) -> Region: r""" @brief Returns the combined region of self and the other region @@ -45512,6 +50432,7 @@ class Region(ShapeCollection): The 'join' alias has been introduced in version 0.28.12. """ + ... def join_with(self, other: Region) -> Region: r""" @brief Adds the polygons of the other region to self @@ -45524,6 +50445,7 @@ class Region(ShapeCollection): The 'join_with' alias has been introduced in version 0.28.12. """ + ... def map_properties(self, key_map: Dict[Any, Any]) -> None: r""" @brief Maps properties by name key. @@ -45532,11 +50454,13 @@ class Region(ShapeCollection): This method has been introduced in version 0.28.4. """ + ... def members_of(self, other: Region) -> Region: r""" @brief Returns all polygons which are members of the other region This method returns all polygons in self which can be found in the other region as well with exactly the same geometry. """ + ... @overload def merge(self) -> Region: r""" @@ -45547,6 +50471,7 @@ class Region(ShapeCollection): Merging removes overlaps and joins touching polygons. If the region is already merged, this method does nothing """ + ... @overload def merge(self, min_coherence: bool, min_wc: int) -> Region: r""" @@ -45559,6 +50484,7 @@ class Region(ShapeCollection): Merging removes overlaps and joins touching polygons. This version provides two additional options: if "min_coherence" is set to true, "kissing corners" are resolved by producing separate polygons. "min_wc" controls whether output is only produced if multiple polygons overlap. The value specifies the number of polygons that need to overlap. A value of 2 means that output is only produced if two or more polygons overlap. """ + ... @overload def merge(self, min_wc: int) -> Region: r""" @@ -45572,6 +50498,7 @@ class Region(ShapeCollection): This method is equivalent to "merge(false, min_wc). """ + ... @overload def merged(self) -> Region: r""" @@ -45583,6 +50510,7 @@ class Region(ShapeCollection): If the region is already merged, this method does nothing. In contrast to \merge, this method does not modify the region but returns a merged copy. """ + ... @overload def merged(self, min_coherence: bool, min_wc: int) -> Region: r""" @@ -45597,6 +50525,7 @@ class Region(ShapeCollection): In contrast to \merge, this method does not modify the region but returns a merged copy. """ + ... @overload def merged(self, min_wc: int) -> Region: r""" @@ -45610,6 +50539,7 @@ class Region(ShapeCollection): In contrast to \merge, this method does not modify the region but returns a merged copy. """ + ... @overload def minkowski_sum(self, b: Box) -> Region: r""" @@ -45623,6 +50553,7 @@ class Region(ShapeCollection): The resulting polygons are not merged. In order to remove overlaps, use the \merge or \merged method.Merged semantics applies for the input of this method (see \merged_semantics= for a description of this concept) """ + ... @overload def minkowski_sum(self, b: Sequence[Point]) -> Region: r""" @@ -45636,6 +50567,7 @@ class Region(ShapeCollection): The resulting polygons are not merged. In order to remove overlaps, use the \merge or \merged method.Merged semantics applies for the input of this method (see \merged_semantics= for a description of this concept) """ + ... @overload def minkowski_sum(self, e: Edge) -> Region: r""" @@ -45649,6 +50581,7 @@ class Region(ShapeCollection): The resulting polygons are not merged. In order to remove overlaps, use the \merge or \merged method.Merged semantics applies for the input of this method (see \merged_semantics= for a description of this concept) """ + ... @overload def minkowski_sum(self, p: Polygon) -> Region: r""" @@ -45662,6 +50595,7 @@ class Region(ShapeCollection): The resulting polygons are not merged. In order to remove overlaps, use the \merge or \merged method.Merged semantics applies for the input of this method (see \merged_semantics= for a description of this concept) """ + ... @overload def minkowsky_sum(self, b: Box) -> Region: r""" @@ -45675,6 +50609,7 @@ class Region(ShapeCollection): The resulting polygons are not merged. In order to remove overlaps, use the \merge or \merged method.Merged semantics applies for the input of this method (see \merged_semantics= for a description of this concept) """ + ... @overload def minkowsky_sum(self, b: Sequence[Point]) -> Region: r""" @@ -45688,6 +50623,7 @@ class Region(ShapeCollection): The resulting polygons are not merged. In order to remove overlaps, use the \merge or \merged method.Merged semantics applies for the input of this method (see \merged_semantics= for a description of this concept) """ + ... @overload def minkowsky_sum(self, e: Edge) -> Region: r""" @@ -45701,6 +50637,7 @@ class Region(ShapeCollection): The resulting polygons are not merged. In order to remove overlaps, use the \merge or \merged method.Merged semantics applies for the input of this method (see \merged_semantics= for a description of this concept) """ + ... @overload def minkowsky_sum(self, p: Polygon) -> Region: r""" @@ -45714,6 +50651,7 @@ class Region(ShapeCollection): The resulting polygons are not merged. In order to remove overlaps, use the \merge or \merged method.Merged semantics applies for the input of this method (see \merged_semantics= for a description of this concept) """ + ... @overload def move(self, v: Vector) -> Region: r""" @@ -45728,6 +50666,7 @@ class Region(ShapeCollection): @return The moved region (self). """ + ... @overload def move(self, x: int, y: int) -> Region: r""" @@ -45741,6 +50680,7 @@ class Region(ShapeCollection): @return The moved region (self). """ + ... @overload def moved(self, v: Vector) -> Region: r""" @@ -45755,6 +50695,7 @@ class Region(ShapeCollection): @return The moved region. """ + ... @overload def moved(self, x: int, y: int) -> Region: r""" @@ -45768,6 +50709,7 @@ class Region(ShapeCollection): @return The moved region. """ + ... def nets(self, extracted: LayoutToNetlist, net_prop_name: Optional[Any] = ..., net_filter: Optional[Sequence[Net]] = ...) -> Region: r""" @brief Pulls the net shapes from a LayoutToNetlist database @@ -45786,16 +50728,19 @@ class Region(ShapeCollection): This method was introduced in version 0.28.4 """ + ... def non_rectangles(self) -> Region: r""" @brief Returns all polygons which are not rectangles This method returns all polygons in self which are not rectangles.Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... def non_rectilinear(self) -> Region: r""" @brief Returns all polygons which are not rectilinear This method returns all polygons in self which are not rectilinear.Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... def non_squares(self) -> Region: r""" @brief Returns all polygons which are not squares @@ -45803,6 +50748,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.27. """ + ... def not_(self, other: Region, property_constraint: Optional[PropertyConstraint] = ...) -> Region: r""" @brief Returns the boolean NOT between self and the other region @@ -45814,6 +50760,7 @@ class Region(ShapeCollection): This variant has been introduced in version 0.28.4. """ + ... def not_covering(self, other: Region, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> Region: r""" @brief Returns the polygons of this region which are not completely covering polygons from the other region @@ -45826,11 +50773,13 @@ class Region(ShapeCollection): This method has been introduced in version 0.27. """ + ... def not_in(self, other: Region) -> Region: r""" @brief Returns all polygons which are not members of the other region This method returns all polygons in self which can not be found in the other region with exactly the same geometry. """ + ... def not_inside(self, other: Region) -> Region: r""" @brief Returns the polygons of this region which are not completely inside polygons from the other region @@ -45839,6 +50788,7 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... @overload def not_interacting(self, other: Edges, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> Region: r""" @@ -45853,6 +50803,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.25 The min_count and max_count arguments have been added in version 0.27. """ + ... @overload def not_interacting(self, other: Region, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> Region: r""" @@ -45866,6 +50817,7 @@ class Region(ShapeCollection): The min_count and max_count arguments have been added in version 0.27. """ + ... @overload def not_interacting(self, other: Texts, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> Region: r""" @@ -45879,11 +50831,13 @@ class Region(ShapeCollection): This method has been introduced in version 0.27 """ + ... def not_members_of(self, other: Region) -> Region: r""" @brief Returns all polygons which are not members of the other region This method returns all polygons in self which can not be found in the other region with exactly the same geometry. """ + ... def not_outside(self, other: Region) -> Region: r""" @brief Returns the polygons of this region which are not completely outside polygons from the other region @@ -45892,6 +50846,7 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... def not_overlapping(self, other: Region, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> Region: r""" @brief Returns the polygons of this region which do not overlap polygons from the other region @@ -45902,6 +50857,7 @@ class Region(ShapeCollection): The count options have been introduced in version 0.27. """ + ... def not_with(self, other: Region, property_constraint: Optional[PropertyConstraint] = ...) -> Region: r""" @brief Performs the boolean NOT between self and the other region in-place (modifying self) @@ -45913,6 +50869,7 @@ class Region(ShapeCollection): This variant has been introduced in version 0.28.4. """ + ... def notch_check(self, d: int, whole_edges: Optional[bool] = ..., metrics: Optional[Metrics] = ..., ignore_angle: Optional[Any] = ..., min_projection: Optional[Any] = ..., max_projection: Optional[Any] = ..., shielded: Optional[bool] = ..., negative: Optional[bool] = ..., property_constraint: Optional[PropertyConstraint] = ..., zero_distance_mode: Optional[ZeroDistanceMode] = ...) -> EdgePairs: r""" @brief Performs a space check between edges of the same polygon with options @@ -45947,6 +50904,7 @@ class Region(ShapeCollection): 'property_constraint' has been added in version 0.28.4. 'zero_distance_mode' has been added in version 0.29. """ + ... def or_(self, other: Region) -> Region: r""" @brief Returns the boolean OR between self and the other region @@ -45956,6 +50914,7 @@ class Region(ShapeCollection): The boolean OR is implemented by merging the polygons of both regions. To simply join the regions without merging, the + operator is more efficient. The 'or' alias has been introduced in version 0.28.12. """ + ... def or_with(self, other: Region) -> Region: r""" @brief Performs the boolean OR between self and the other region in-place (modifying self) @@ -45967,6 +50926,7 @@ class Region(ShapeCollection): The 'or_with' alias has been introduced in version 0.28.12. """ + ... def outside(self, other: Region) -> Region: r""" @brief Returns the polygons of this region which are completely outside polygons from the other region @@ -45975,6 +50935,7 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... def overlap_check(self, other: Region, d: int, whole_edges: Optional[bool] = ..., metrics: Optional[Metrics] = ..., ignore_angle: Optional[Any] = ..., min_projection: Optional[Any] = ..., max_projection: Optional[Any] = ..., shielded: Optional[bool] = ..., opposite_filter: Optional[Region.OppositeFilter] = ..., rect_filter: Optional[Region.RectFilter] = ..., negative: Optional[bool] = ..., property_constraint: Optional[PropertyConstraint] = ..., zero_distance_mode: Optional[ZeroDistanceMode] = ...) -> EdgePairs: r""" @brief Performs an overlap check with options @@ -46013,6 +50974,7 @@ class Region(ShapeCollection): 'property_constraint' has been added in version 0.28.4. 'zero_distance_mode' has been added in version 0.29. """ + ... def overlapping(self, other: Region, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> Region: r""" @brief Returns the polygons of this region which overlap polygons from the other region @@ -46023,6 +50985,7 @@ class Region(ShapeCollection): The count options have been introduced in version 0.27. """ + ... @overload def perimeter(self) -> int: r""" @@ -46031,6 +50994,7 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) If merged semantics is not enabled, internal edges are counted as well. """ + ... @overload def perimeter(self, rect: Box) -> int: r""" @@ -46041,6 +51005,7 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) If merged semantics is not enabled, internal edges are counted as well. """ + ... def process(self, process: PolygonOperator) -> None: r""" @brief Applies a generic polygon processor in place (replacing the polygons from the Region) @@ -46048,6 +51013,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.29. """ + ... @overload def processed(self, processed: PolygonOperator) -> Region: r""" @@ -46056,6 +51022,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.29. """ + ... @overload def processed(self, processed: PolygonToEdgeOperator) -> Edges: r""" @@ -46064,6 +51031,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.29. """ + ... @overload def processed(self, processed: PolygonToEdgePairOperator) -> EdgePairs: r""" @@ -46072,6 +51040,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.29. """ + ... def pull_inside(self, other: Region) -> Region: r""" @brief Returns all polygons of "other" which are inside polygons of this region @@ -46083,6 +51052,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.26.1 """ + ... @overload def pull_interacting(self, other: Edges) -> Edges: r""" @@ -46095,6 +51065,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.26.1 """ + ... @overload def pull_interacting(self, other: Region) -> Region: r""" @@ -46107,6 +51078,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.26.1 """ + ... @overload def pull_interacting(self, other: Texts) -> Texts: r""" @@ -46119,6 +51091,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.27 """ + ... def pull_overlapping(self, other: Region) -> Region: r""" @brief Returns all polygons of "other" which are overlapping polygons of this region @@ -46130,6 +51103,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.26.1 """ + ... @overload def rasterize(self, origin: Point, pixel_distance: Vector, pixel_size: Vector, nx: int, ny: int) -> List[List[float]]: r""" @@ -46140,6 +51114,7 @@ class Region(ShapeCollection): This method has been added in version 0.29. """ + ... @overload def rasterize(self, origin: Point, pixel_size: Vector, nx: int, ny: int) -> List[List[float]]: r""" @@ -46164,16 +51139,19 @@ class Region(ShapeCollection): This method has been added in version 0.29. """ + ... def rectangles(self) -> Region: r""" @brief Returns all polygons which are rectangles This method returns all polygons in self which are rectangles.Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... def rectilinear(self) -> Region: r""" @brief Returns all polygons which are rectilinear This method returns all polygons in self which are rectilinear.Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... def remove_properties(self) -> None: r""" @brief Removes properties for the given container. @@ -46181,6 +51159,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.28.4. """ + ... def round_corners(self, r_inner: float, r_outer: float, n: int) -> None: r""" @brief Corner rounding @@ -46192,6 +51171,7 @@ class Region(ShapeCollection): This method modifies the region. \rounded_corners is a method that does the same but returns a new region without modifying self. Merged semantics applies for this method. """ + ... def rounded_corners(self, r_inner: float, r_outer: float, n: int) -> Region: r""" @brief Corner rounding @@ -46201,6 +51181,7 @@ class Region(ShapeCollection): See \round_corners for a description of this method. This version returns a new region instead of modifying self (out-of-place). """ + ... def scale_and_snap(self, gx: int, mx: int, dx: int, gy: int, my: int, dy: int) -> None: r""" @brief Scales and snaps the region to the given grid @@ -46212,6 +51193,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.26.1. """ + ... def scaled_and_snapped(self, gx: int, mx: int, dx: int, gy: int, my: int, dy: int) -> Region: r""" @brief Returns the scaled and snapped region @@ -46219,6 +51201,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.26.1. """ + ... def select_covering(self, other: Region, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> Region: r""" @brief Selects the polygons of this region which are completely covering polygons from the other region @@ -46231,6 +51214,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.27. """ + ... def select_inside(self, other: Region) -> Region: r""" @brief Selects the polygons of this region which are completely inside polygons from the other region @@ -46239,6 +51223,7 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... @overload def select_interacting(self, other: Edges, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> Region: r""" @@ -46253,6 +51238,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.25 The min_count and max_count arguments have been added in version 0.27. """ + ... @overload def select_interacting(self, other: Region, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> Region: r""" @@ -46266,6 +51252,7 @@ class Region(ShapeCollection): The min_count and max_count arguments have been added in version 0.27. """ + ... @overload def select_interacting(self, other: Texts, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> Region: r""" @@ -46279,6 +51266,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.27 """ + ... def select_not_covering(self, other: Region, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> Region: r""" @brief Selects the polygons of this region which are not completely covering polygons from the other region @@ -46291,6 +51279,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.27. """ + ... def select_not_inside(self, other: Region) -> Region: r""" @brief Selects the polygons of this region which are not completely inside polygons from the other region @@ -46299,6 +51288,7 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... @overload def select_not_interacting(self, other: Edges, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> Region: r""" @@ -46313,6 +51303,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.25 The min_count and max_count arguments have been added in version 0.27. """ + ... @overload def select_not_interacting(self, other: Region, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> Region: r""" @@ -46326,6 +51317,7 @@ class Region(ShapeCollection): The min_count and max_count arguments have been added in version 0.27. """ + ... @overload def select_not_interacting(self, other: Texts, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> Region: r""" @@ -46339,6 +51331,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.27 """ + ... def select_not_outside(self, other: Region) -> Region: r""" @brief Selects the polygons of this region which are not completely outside polygons from the other region @@ -46347,6 +51340,7 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... def select_not_overlapping(self, other: Region, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> Region: r""" @brief Selects the polygons from this region which do not overlap polygons from the other region @@ -46357,6 +51351,7 @@ class Region(ShapeCollection): The count options have been introduced in version 0.27. """ + ... def select_outside(self, other: Region) -> Region: r""" @brief Selects the polygons of this region which are completely outside polygons from the other region @@ -46365,6 +51360,7 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... def select_overlapping(self, other: Region, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> Region: r""" @brief Selects the polygons from this region which overlap polygons from the other region @@ -46375,6 +51371,7 @@ class Region(ShapeCollection): The count options have been introduced in version 0.27. """ + ... def separation_check(self, other: Region, d: int, whole_edges: Optional[bool] = ..., metrics: Optional[Metrics] = ..., ignore_angle: Optional[Any] = ..., min_projection: Optional[Any] = ..., max_projection: Optional[Any] = ..., shielded: Optional[bool] = ..., opposite_filter: Optional[Region.OppositeFilter] = ..., rect_filter: Optional[Region.RectFilter] = ..., negative: Optional[bool] = ..., property_constraint: Optional[PropertyConstraint] = ..., zero_distance_mode: Optional[ZeroDistanceMode] = ...) -> EdgePairs: r""" @brief Performs a separation check with options @@ -46413,6 +51410,7 @@ class Region(ShapeCollection): 'property_constraint' has been added in version 0.28.4. 'zero_distance_mode' has been added in version 0.29. """ + ... @overload def size(self) -> int: r""" @@ -46423,6 +51421,7 @@ class Region(ShapeCollection): The 'count' alias has been provided in version 0.26 to avoid ambiguity with the 'size' method which applies a geometrical bias. """ + ... @overload def size(self, d: int, mode: Optional[int] = ...) -> Region: r""" @@ -46434,6 +51433,7 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... @overload def size(self, dv: Vector, mode: Optional[int] = ...) -> Region: r""" @@ -46447,6 +51447,7 @@ class Region(ShapeCollection): This variant has been introduced in version 0.28. """ + ... @overload def size(self, dx: int, dy: int, mode: int) -> Region: r""" @@ -46478,6 +51479,7 @@ class Region(ShapeCollection): # r now is (50,-50;50,100;100,100;100,-50) @/code """ + ... @overload def sized(self, d: int, mode: Optional[int] = ...) -> Region: r""" @@ -46490,6 +51492,7 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... @overload def sized(self, dv: Vector, mode: Optional[int] = ...) -> Region: r""" @@ -46504,6 +51507,7 @@ class Region(ShapeCollection): This variant has been introduced in version 0.28. """ + ... @overload def sized(self, dx: int, dy: int, mode: int) -> Region: r""" @@ -46515,6 +51519,7 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... def smooth(self, d: int, keep_hv: Optional[bool] = ...) -> None: r""" @brief Smoothing @@ -46524,6 +51529,7 @@ class Region(ShapeCollection): This method will simplify the merged polygons of the region by removing vertexes if the resulting polygon stays equivalent with the original polygon. Equivalence is measured in terms of a deviation which is guaranteed to not become larger than \d. This method modifies the region. \smoothed is a method that does the same but returns a new region without modifying self. Merged semantics applies for this method. """ + ... def smoothed(self, d: int, keep_hv: Optional[bool] = ...) -> Region: r""" @brief Smoothing @@ -46532,6 +51538,7 @@ class Region(ShapeCollection): See \smooth for a description of this method. This version returns a new region instead of modifying self (out-of-place). It has been introduced in version 0.25. """ + ... def snap(self, gx: int, gy: int) -> None: r""" @brief Snaps the region to the given grid @@ -46541,11 +51548,13 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... def snapped(self, gx: int, gy: int) -> Region: r""" @brief Returns the snapped region This method will snap the region to the given grid and return the snapped region (see \snap). The original region is not modified. """ + ... def space_check(self, d: int, whole_edges: Optional[bool] = ..., metrics: Optional[Metrics] = ..., ignore_angle: Optional[Any] = ..., min_projection: Optional[Any] = ..., max_projection: Optional[Any] = ..., shielded: Optional[bool] = ..., opposite_filter: Optional[Region.OppositeFilter] = ..., rect_filter: Optional[Region.RectFilter] = ..., negative: Optional[bool] = ..., property_constraint: Optional[PropertyConstraint] = ..., zero_distance_mode: Optional[ZeroDistanceMode] = ...) -> EdgePairs: r""" @brief Performs a space check with options @@ -46581,6 +51590,7 @@ class Region(ShapeCollection): 'property_constraint' has been added in version 0.28.4. 'zero_distance_mode' has been added in version 0.29. """ + ... def split_covering(self, other: Region, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> List[Region]: r""" @brief Returns the polygons of this region which are completely covering polygons from the other region and the ones which are not at the same time @@ -46592,6 +51602,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.27. """ + ... def split_inside(self, other: Region) -> List[Region]: r""" @brief Returns the polygons of this region which are completely inside polygons from the other region and the ones which are not at the same time @@ -46603,6 +51614,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.27. """ + ... @overload def split_interacting(self, other: Edges, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> List[Region]: r""" @@ -46615,6 +51627,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.27. """ + ... @overload def split_interacting(self, other: Region, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> List[Region]: r""" @@ -46627,6 +51640,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.27. """ + ... @overload def split_interacting(self, other: Texts, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> List[Region]: r""" @@ -46639,6 +51653,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.27. """ + ... def split_outside(self, other: Region) -> List[Region]: r""" @brief Returns the polygons of this region which are completely outside polygons from the other region and the ones which are not at the same time @@ -46650,6 +51665,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.27. """ + ... def split_overlapping(self, other: Region, min_count: Optional[int] = ..., max_count: Optional[int] = ...) -> List[Region]: r""" @brief Returns the polygons of this region which are overlapping with polygons from the other region and the ones which are not at the same time @@ -46661,6 +51677,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.27. """ + ... def squares(self) -> Region: r""" @brief Returns all polygons which are squares @@ -46668,6 +51685,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.27. """ + ... def strange_polygon_check(self) -> Region: r""" @brief Returns a region containing those parts of polygons which are "strange" @@ -46675,47 +51693,55 @@ class Region(ShapeCollection): Merged semantics does not apply for this method (see \merged_semantics= for a description of this concept) """ + ... def swap(self, other: Region) -> None: r""" @brief Swap the contents of this region with the contents of another region This method is useful to avoid excessive memory allocation in some cases. For managed memory languages such as Ruby, those cases will be rare. """ + ... @overload def texts(self, dss: DeepShapeStore, expr: Optional[str] = ..., as_pattern: Optional[bool] = ..., enl: Optional[int] = ...) -> Region: r""" @hide This method is provided for DRC implementation only. """ + ... @overload def texts(self, expr: Optional[str] = ..., as_pattern: Optional[bool] = ..., enl: Optional[int] = ...) -> Region: r""" @hide This method is provided for DRC implementation only. """ + ... @overload def texts_dots(self, dss: DeepShapeStore, expr: Optional[str] = ..., as_pattern: Optional[bool] = ...) -> Edges: r""" @hide This method is provided for DRC implementation only. """ + ... @overload def texts_dots(self, expr: Optional[str] = ..., as_pattern: Optional[bool] = ...) -> Edges: r""" @hide This method is provided for DRC implementation only. """ + ... @overload def to_s(self) -> str: r""" @brief Converts the region to a string The length of the output is limited to 20 polygons to avoid giant strings on large regions. For full output use "to_s" with a maximum count parameter. """ + ... @overload def to_s(self, max_count: int) -> str: r""" @brief Converts the region to a string This version allows specification of the maximum number of polygons contained in the string. """ + ... @overload def transform(self, t: ICplxTrans) -> Region: r""" @@ -46728,6 +51754,7 @@ class Region(ShapeCollection): @return The transformed region. """ + ... @overload def transform(self, t: IMatrix2d) -> Region: r""" @@ -46742,6 +51769,7 @@ class Region(ShapeCollection): This variant was introduced in version 0.27. """ + ... @overload def transform(self, t: IMatrix3d) -> Region: r""" @@ -46756,6 +51784,7 @@ class Region(ShapeCollection): This variant was introduced in version 0.27. """ + ... @overload def transform(self, t: Trans) -> Region: r""" @@ -46768,6 +51797,7 @@ class Region(ShapeCollection): @return The transformed region. """ + ... def transform_icplx(self, t: ICplxTrans) -> Region: r""" @brief Transform the region with a complex transformation (modifies self) @@ -46779,6 +51809,7 @@ class Region(ShapeCollection): @return The transformed region. """ + ... @overload def transformed(self, t: ICplxTrans) -> Region: r""" @@ -46791,6 +51822,7 @@ class Region(ShapeCollection): @return The transformed region. """ + ... @overload def transformed(self, t: IMatrix2d) -> Region: r""" @@ -46805,6 +51837,7 @@ class Region(ShapeCollection): This variant was introduced in version 0.27. """ + ... @overload def transformed(self, t: IMatrix3d) -> Region: r""" @@ -46819,6 +51852,7 @@ class Region(ShapeCollection): This variant was introduced in version 0.27. """ + ... @overload def transformed(self, t: Trans) -> Region: r""" @@ -46831,6 +51865,7 @@ class Region(ShapeCollection): @return The transformed region. """ + ... def transformed_icplx(self, t: ICplxTrans) -> Region: r""" @brief Transforms the region with a complex transformation @@ -46842,6 +51877,7 @@ class Region(ShapeCollection): @return The transformed region. """ + ... def width_check(self, d: int, whole_edges: Optional[bool] = ..., metrics: Optional[Metrics] = ..., ignore_angle: Optional[Any] = ..., min_projection: Optional[Any] = ..., max_projection: Optional[Any] = ..., shielded: Optional[bool] = ..., negative: Optional[bool] = ..., property_constraint: Optional[PropertyConstraint] = ..., zero_distance_mode: Optional[ZeroDistanceMode] = ...) -> EdgePairs: r""" @brief Performs a width check with options @@ -46875,6 +51911,7 @@ class Region(ShapeCollection): The 'shielded' and 'negative' options have been introduced in version 0.27. 'property_constraint' has been added in version 0.28.4. 'zero_distance_mode' has been added in version 0.28.16. """ + ... @overload def with_angle(self, amin: float, amax: float, inverse: bool) -> EdgePairs: r""" @@ -46885,6 +51922,7 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... @overload def with_angle(self, angle: float, inverse: bool) -> EdgePairs: r""" @@ -46895,6 +51933,7 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... @overload def with_area(self, area: int, inverse: bool) -> Region: r""" @@ -46903,6 +51942,7 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... @overload def with_area(self, min_area: Any, max_area: Any, inverse: bool) -> Region: r""" @@ -46913,6 +51953,7 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... @overload def with_area_ratio(self, min_ratio: Any, max_ratio: Any, inverse: bool, min_included: Optional[bool] = ..., max_included: Optional[bool] = ...) -> Region: r""" @@ -46927,6 +51968,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.27. """ + ... @overload def with_area_ratio(self, ratio: float, inverse: bool) -> Region: r""" @@ -46939,6 +51981,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.27. """ + ... @overload def with_bbox_aspect_ratio(self, min_ratio: Any, max_ratio: Any, inverse: bool, min_included: Optional[bool] = ..., max_included: Optional[bool] = ...) -> Region: r""" @@ -46953,6 +51996,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.27. """ + ... @overload def with_bbox_aspect_ratio(self, ratio: float, inverse: bool) -> Region: r""" @@ -46965,6 +52009,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.27. """ + ... @overload def with_bbox_height(self, height: int, inverse: bool) -> Region: r""" @@ -46973,6 +52018,7 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... @overload def with_bbox_height(self, min_height: Any, max_height: Any, inverse: bool) -> Region: r""" @@ -46982,6 +52028,7 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... @overload def with_bbox_max(self, dim: int, inverse: bool) -> Region: r""" @@ -46989,6 +52036,7 @@ class Region(ShapeCollection): Filters the polygons of the region by the maximum dimension of their bounding box. If "inverse" is false, only polygons whose bounding box's larger dimension is equal to the given value are returned. If "inverse" is true, all polygons not matching this criterion are returned. Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... @overload def with_bbox_max(self, min_dim: Any, max_dim: Any, inverse: bool) -> Region: r""" @@ -46998,6 +52046,7 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... @overload def with_bbox_min(self, dim: int, inverse: bool) -> Region: r""" @@ -47005,6 +52054,7 @@ class Region(ShapeCollection): Filters the polygons inside the region by the minimum dimension of their bounding box. If "inverse" is false, only polygons whose bounding box's smaller dimension is equal to the given value are returned. If "inverse" is true, all polygons not matching this criterion are returned. Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... @overload def with_bbox_min(self, min_dim: Any, max_dim: Any, inverse: bool) -> Region: r""" @@ -47014,6 +52064,7 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... @overload def with_bbox_width(self, min_width: Any, max_width: Any, inverse: bool) -> Region: r""" @@ -47023,6 +52074,7 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... @overload def with_bbox_width(self, width: int, inverse: bool) -> Region: r""" @@ -47031,6 +52083,7 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... @overload def with_holes(self, min_bholes: Any, max_nholes: Any, inverse: bool) -> Region: r""" @@ -47043,6 +52096,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.27. """ + ... @overload def with_holes(self, nholes: int, inverse: bool) -> Region: r""" @@ -47053,6 +52107,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.27. """ + ... @overload def with_perimeter(self, min_perimeter: Any, max_perimeter: Any, inverse: bool) -> Region: r""" @@ -47063,6 +52118,7 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... @overload def with_perimeter(self, perimeter: int, inverse: bool) -> Region: r""" @@ -47071,6 +52127,7 @@ class Region(ShapeCollection): Merged semantics applies for this method (see \merged_semantics= for a description of this concept) """ + ... @overload def with_relative_height(self, min_ratio: Any, max_ratio: Any, inverse: bool, min_included: Optional[bool] = ..., max_included: Optional[bool] = ...) -> Region: r""" @@ -47087,6 +52144,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.27. """ + ... @overload def with_relative_height(self, ratio: float, inverse: bool) -> Region: r""" @@ -47101,6 +52159,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.27. """ + ... def write(self, filename: str) -> None: r""" @brief Writes the region to a file @@ -47108,6 +52167,7 @@ class Region(ShapeCollection): This method has been introduced in version 0.29. """ + ... def xor(self, other: Region) -> Region: r""" @brief Returns the boolean XOR between self and the other region @@ -47118,6 +52178,7 @@ class Region(ShapeCollection): The 'xor' alias has been introduced in version 0.28.12. """ + ... def xor_with(self, other: Region) -> Region: r""" @brief Performs the boolean XOR between self and the other region in-place (modifying self) @@ -47130,6 +52191,8 @@ class Region(ShapeCollection): The 'xor_with' alias has been introduced in version 0.28.12. """ + ... + ... class SaveLayoutOptions: r""" @@ -47586,14 +52649,17 @@ class SaveLayoutOptions: "same as original" and all layers are selected as well as all cells. The default format is GDS2. """ + ... def __copy__(self) -> SaveLayoutOptions: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> SaveLayoutOptions: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Default constructor @@ -47602,29 +52668,34 @@ class SaveLayoutOptions: "same as original" and all layers are selected as well as all cells. The default format is GDS2. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -47632,6 +52703,7 @@ class SaveLayoutOptions: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -47639,6 +52711,7 @@ class SaveLayoutOptions: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def add_cell(self, cell_index: int) -> None: r""" @brief Add a cell (plus hierarchy) to be saved @@ -47649,6 +52722,7 @@ class SaveLayoutOptions: This method also implicitly adds the children of that cell. A method that does not add the children in \add_this_cell. """ + ... def add_layer(self, layer_index: int, properties: LayerInfo) -> None: r""" @brief Add a layer to be saved @@ -47663,6 +52737,7 @@ class SaveLayoutOptions: properties from the layout object. Construct a valid \LayerInfo object with explicit layer, datatype and possibly a name to override the properties stored in the layout. """ + ... def add_this_cell(self, cell_index: int) -> None: r""" @brief Adds a cell to be saved @@ -47674,10 +52749,12 @@ class SaveLayoutOptions: This method has been added in version 0.23. """ + ... def assign(self, other: SaveLayoutOptions) -> None: r""" @brief Assigns another object to self """ + ... def clear_cells(self) -> None: r""" @brief Clears all cells to be saved @@ -47687,11 +52764,13 @@ class SaveLayoutOptions: This method has been added in version 0.22. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def deselect_all_layers(self) -> None: r""" @brief Unselect all layers: no layer will be saved @@ -47699,28 +52778,33 @@ class SaveLayoutOptions: This method will clear all layers selected with \add_layer so far and clear the 'select all layers' flag. Using this method is the only way to save a layout without any layers. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> SaveLayoutOptions: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def select_all_cells(self) -> None: r""" @brief Select all cells to save @@ -47728,6 +52812,7 @@ class SaveLayoutOptions: This method will clear all cells specified with \add_cells so far and set the 'select all cells' flag. This is the default. """ + ... def select_all_layers(self) -> None: r""" @brief Select all layers to be saved @@ -47735,6 +52820,7 @@ class SaveLayoutOptions: This method will clear all layers selected with \add_layer so far and set the 'select all layers' flag. This is the default. """ + ... def select_cell(self, cell_index: int) -> None: r""" @brief Selects a cell to be saved (plus hierarchy below) @@ -47745,6 +52831,7 @@ class SaveLayoutOptions: This method has been added in version 0.22. """ + ... def select_this_cell(self, cell_index: int) -> None: r""" @brief Selects a cell to be saved @@ -47755,6 +52842,7 @@ class SaveLayoutOptions: This method has been added in version 0.23. """ + ... def set_format_from_filename(self, filename: str) -> bool: r""" @brief Select a format from the given file name @@ -47763,6 +52851,8 @@ class SaveLayoutOptions: This method has been introduced in version 0.22. Beginning with version 0.23, this method always returns true, since the only consumer for the return value, Layout#write, now ignores that parameter and automatically determines the compression mode from the file name. """ + ... + ... class Severity: r""" @@ -47792,99 +52882,119 @@ class Severity: r""" @brief Creates an enum from an integer value """ + ... @overload @classmethod def new(cls, s: str) -> Severity: r""" @brief Creates an enum from a string value """ + ... def __copy__(self) -> Severity: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> Severity: r""" @brief Creates a copy of self """ + ... @overload - def __eq__(self, other: object) -> bool: + def __eq__(self, other: int) -> bool: r""" @brief Compares an enum with an integer value """ + ... @overload def __eq__(self, other: object) -> bool: r""" @brief Compares two enums """ + ... def __hash__(self) -> int: r""" @brief Gets the hash value from the enum """ + ... @overload def __init__(self, i: int) -> None: r""" @brief Creates an enum from an integer value """ + ... @overload def __init__(self, s: str) -> None: r""" @brief Creates an enum from a string value """ + ... def __int__(self) -> int: r""" @brief Gets the integer value from the enum """ + ... @overload def __lt__(self, other: Severity) -> bool: r""" @brief Returns true if the first enum is less (in the enum symbol order) than the second """ + ... @overload def __lt__(self, other: int) -> bool: r""" @brief Returns true if the enum is less (in the enum symbol order) than the integer value """ + ... + @overload + def __ne__(self, other: int) -> bool: + r""" + @brief Compares an enum with an integer for inequality + """ + ... @overload def __ne__(self, other: object) -> bool: r""" @brief Compares two enums for inequality """ - @overload - def __ne__(self, other: object) -> bool: - r""" - @brief Compares an enum with an integer for inequality - """ + ... def __repr__(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def __str__(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -47892,6 +53002,7 @@ class Severity: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -47899,53 +53010,65 @@ class Severity: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: Severity) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> Severity: r""" @brief Creates a copy of self """ + ... def hash(self) -> int: r""" @brief Gets the hash value from the enum """ + ... def inspect(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def to_i(self) -> int: r""" @brief Gets the integer value from the enum """ + ... def to_s(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... + ... class Shape: r""" @@ -48750,122 +53873,152 @@ class Shape: r""" @brief Creates a new object of this class """ + ... @classmethod def t_box(cls) -> int: r""" """ + ... @classmethod def t_box_array(cls) -> int: r""" """ + ... @classmethod def t_box_array_member(cls) -> int: r""" """ + ... @classmethod def t_edge(cls) -> int: r""" """ + ... @classmethod def t_edge_pair(cls) -> int: r""" """ + ... @classmethod def t_null(cls) -> int: r""" """ + ... @classmethod def t_path(cls) -> int: r""" """ + ... @classmethod def t_path_ptr_array(cls) -> int: r""" """ + ... @classmethod def t_path_ptr_array_member(cls) -> int: r""" """ + ... @classmethod def t_path_ref(cls) -> int: r""" """ + ... @classmethod def t_point(cls) -> int: r""" """ + ... @classmethod def t_polygon(cls) -> int: r""" """ + ... @classmethod def t_polygon_ptr_array(cls) -> int: r""" """ + ... @classmethod def t_polygon_ptr_array_member(cls) -> int: r""" """ + ... @classmethod def t_polygon_ref(cls) -> int: r""" """ + ... @classmethod def t_short_box(cls) -> int: r""" """ + ... @classmethod def t_short_box_array(cls) -> int: r""" """ + ... @classmethod def t_short_box_array_member(cls) -> int: r""" """ + ... @classmethod def t_simple_polygon(cls) -> int: r""" """ + ... @classmethod def t_simple_polygon_ptr_array(cls) -> int: r""" """ + ... @classmethod def t_simple_polygon_ptr_array_member(cls) -> int: r""" """ + ... @classmethod def t_simple_polygon_ref(cls) -> int: r""" """ + ... @classmethod def t_text(cls) -> int: r""" """ + ... @classmethod def t_text_ptr_array(cls) -> int: r""" """ + ... @classmethod def t_text_ptr_array_member(cls) -> int: r""" """ + ... @classmethod def t_text_ref(cls) -> int: r""" """ + ... @classmethod def t_user_object(cls) -> int: r""" """ + ... def __copy__(self) -> Shape: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> Shape: r""" @brief Creates a copy of self """ + ... def __eq__(self, other: object) -> bool: r""" @brief Equality operator @@ -48873,6 +54026,7 @@ class Shape: Equality of shapes is not specified by the identity of the objects but by the identity of the pointers - both shapes must refer to the same object. """ + ... def __hash__(self) -> int: r""" @brief Hash function @@ -48881,10 +54035,12 @@ class Shape: This method has been introduced in version 0.29.1. """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def __lt__(self, other: Shape) -> bool: r""" @brief Less operator @@ -48893,45 +54049,46 @@ class Shape: This method has been introduced in version 0.29.1. """ + ... def __ne__(self, other: object) -> bool: r""" @brief Inequality operator """ - def __repr__(self) -> str: - r""" - @brief Create a string showing the contents of the reference - - This method has been introduced with version 0.16. - """ + ... def __str__(self) -> str: r""" @brief Create a string showing the contents of the reference This method has been introduced with version 0.16. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -48939,6 +54096,7 @@ class Shape: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -48946,11 +54104,13 @@ class Shape: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def area(self) -> int: r""" @brief Returns the area of the shape This method has been added in version 0.22. """ + ... def array_dtrans(self) -> DTrans: r""" @brief Gets the array instance member transformation in micrometer units @@ -48961,6 +54121,7 @@ class Shape: This method has been added in version 0.25. """ + ... def array_trans(self) -> Trans: r""" @brief Gets the array instance member transformation @@ -48969,29 +54130,35 @@ class Shape: The transformation returned describes the relative transformation of the array member addressed. """ + ... def assign(self, other: Shape) -> None: r""" @brief Assigns another object to self """ + ... def bbox(self) -> Box: r""" @brief Returns the bounding box of the shape """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def darea(self) -> float: r""" @brief Returns the area of the shape in square micrometer units This method has been added in version 0.25. """ + ... def dbbox(self) -> DBox: r""" @brief Returns the bounding box of the shape in micrometer units This method has been added in version 0.25. """ + ... def delete(self) -> None: r""" @brief Deletes the shape @@ -49000,6 +54167,7 @@ class Shape: This method has been introduced in version 0.23. """ + ... def delete_property(self, key: Any) -> None: r""" @brief Deletes the user property with the given key @@ -49008,18 +54176,21 @@ class Shape: This method has been introduced in version 0.22. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dperimeter(self) -> float: r""" @brief Returns the perimeter of the shape in micrometer units @@ -49028,6 +54199,7 @@ class Shape: This method has been added in version 0.25. """ + ... def drectangle(self) -> Any: r""" @brief Gets the rectangle in micron units if the object represents one or nil if not @@ -49036,10 +54208,12 @@ class Shape: This method has been introduced in version 0.29. """ + ... def dup(self) -> Shape: r""" @brief Creates a copy of self """ + ... @overload def each_dedge(self) -> Iterator[DEdge]: r""" @@ -49049,6 +54223,7 @@ class Shape: This method has been introduced in version 0.25. """ + ... @overload def each_dedge(self, contour: int) -> Iterator[DEdge]: r""" @@ -49058,6 +54233,7 @@ class Shape: This method has been introduced in version 0.25. """ + ... def each_dpoint(self) -> Iterator[DPoint]: r""" @brief Iterates over all points of the object and returns points in micrometer units @@ -49066,6 +54242,7 @@ class Shape: This method has been introduced in version 0.25. """ + ... def each_dpoint_hole(self, hole_index: int) -> Iterator[DPoint]: r""" @brief Iterates over a hole contour of the object and returns points in micrometer units @@ -49074,6 +54251,7 @@ class Shape: This method has been introduced in version 0.25. """ + ... def each_dpoint_hull(self) -> Iterator[DPoint]: r""" @brief Iterates over the hull contour of the object and returns points in micrometer units @@ -49082,6 +54260,7 @@ class Shape: This method has been introduced in version 0.25. """ + ... @overload def each_edge(self) -> Iterator[Edge]: r""" @@ -49091,6 +54270,7 @@ class Shape: It will throw an exception if the object is not a polygon. """ + ... @overload def each_edge(self, contour: int) -> Iterator[Edge]: r""" @@ -49104,6 +54284,7 @@ class Shape: This method was introduced in version 0.24. """ + ... def each_point(self) -> Iterator[Point]: r""" @brief Iterates over all points of the object @@ -49111,6 +54292,7 @@ class Shape: This method applies to paths and delivers all points of the path's center line. It will throw an exception for other objects. """ + ... def each_point_hole(self, hole_index: int) -> Iterator[Point]: r""" @brief Iterates over the points of a hole contour @@ -49121,6 +54303,7 @@ class Shape: @param hole The hole index (see holes () method) """ + ... def each_point_hull(self) -> Iterator[Point]: r""" @brief Iterates over the hull contour of the object @@ -49128,10 +54311,12 @@ class Shape: This method applies to polygons and delivers all points of the polygon hull contour. It will throw an exception for other objects. """ + ... def has_prop_id(self) -> bool: r""" @brief Returns true, if the shape has properties, i.e. has a properties ID """ + ... def hash(self) -> int: r""" @brief Hash function @@ -49140,6 +54325,7 @@ class Shape: This method has been introduced in version 0.29.1. """ + ... def holes(self) -> int: r""" @brief Returns the number of holes @@ -49147,64 +54333,77 @@ class Shape: This method applies to polygons and will throw an exception for other objects.. Simple polygons deliver a value of zero. """ + ... def is_array_member(self) -> bool: r""" @brief Returns true, if the shape is a member of a shape array """ + ... def is_box(self) -> bool: r""" @brief Returns true if the shape is a box """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_edge(self) -> bool: r""" @brief Returns true, if the object is an edge """ + ... def is_edge_pair(self) -> bool: r""" @brief Returns true, if the object is an edge pair This method has been introduced in version 0.26. """ + ... def is_null(self) -> bool: r""" @brief Returns true, if the shape reference is a null reference (not referring to a shape) """ + ... def is_path(self) -> bool: r""" @brief Returns true, if the shape is a path """ + ... def is_point(self) -> bool: r""" @brief Returns true, if the object is an point This method has been introduced in version 0.28. """ + ... def is_polygon(self) -> bool: r""" @brief Returns true, if the shape is a polygon This method returns true only if the object is a polygon or a simple polygon. Other objects can convert to polygons, for example paths, so it may be possible to use the \polygon method also if is_polygon? does not return true. """ + ... def is_simple_polygon(self) -> bool: r""" @brief Returns true, if the shape is a simple polygon This method returns true only if the object is a simple polygon. The simple polygon identity is contained in the polygon identity, so usually it is sufficient to use \is_polygon? and \polygon instead of specifically handle simply polygons. This method is provided only for specific optimisation purposes. """ + ... def is_text(self) -> bool: r""" @brief Returns true, if the object is a text """ + ... def is_user_object(self) -> bool: r""" @brief Returns true if the shape is a user defined object """ + ... def is_valid(self) -> bool: r""" @brief Returns true, if the shape is valid @@ -49213,6 +54412,7 @@ class Shape: This method has been introduced in version 0.23. """ + ... def layout(self) -> Layout: r""" @brief Gets a reference to the Layout the shape belongs to @@ -49221,6 +54421,7 @@ class Shape: This method has been introduced in version 0.22. """ + ... def path_dlength(self) -> float: r""" @brief Returns the length of the path in micrometer units @@ -49231,6 +54432,7 @@ class Shape: This method has been added in version 0.25. """ + ... def path_length(self) -> int: r""" @brief Returns the length of the path @@ -49240,6 +54442,7 @@ class Shape: This method has been added in version 0.23. """ + ... def perimeter(self) -> int: r""" @brief Returns the perimeter of the shape @@ -49248,12 +54451,14 @@ class Shape: This method has been added in version 0.23. """ + ... def property(self, key: Any) -> Any: r""" @brief Gets the user property with the given key This method is a convenience method that gets the property with the given key. If no property with that key does not exist, it will return nil. Using that method is more convenient than using the layout object and the properties ID to retrieve the property value. This method has been introduced in version 0.22. """ + ... def rectangle(self) -> Any: r""" @brief Gets the rectangle if the object represents one or nil if not @@ -49262,6 +54467,7 @@ class Shape: This method has been introduced in version 0.29. """ + ... def set_property(self, key: Any, value: Any) -> None: r""" @brief Sets the user property with the given key to the given value @@ -49270,6 +54476,7 @@ class Shape: This method has been introduced in version 0.22. """ + ... def shapes(self) -> Shapes: r""" @brief Gets a reference to the Shapes container the shape lives in @@ -49278,42 +54485,50 @@ class Shape: This method has been introduced in version 0.22. """ + ... def to_s(self) -> str: r""" @brief Create a string showing the contents of the reference This method has been introduced with version 0.16. """ + ... @overload def transform(self, trans: DCplxTrans) -> None: r""" @brief Transforms the shape with the given complex transformation, given in micrometer units This method has been introduced in version 0.25. """ + ... @overload def transform(self, trans: DTrans) -> None: r""" @brief Transforms the shape with the given transformation, given in micrometer units This method has been introduced in version 0.25. """ + ... @overload def transform(self, trans: ICplxTrans) -> None: r""" @brief Transforms the shape with the given complex transformation This method has been introduced in version 0.23. """ + ... @overload def transform(self, trans: Trans) -> None: r""" @brief Transforms the shape with the given transformation This method has been introduced in version 0.23. """ + ... def type(self) -> int: r""" @brief Return the type of the shape The returned values are the t_... constants available through the corresponding class members. """ + ... + ... class ShapeCollection: r""" @@ -49326,33 +54541,39 @@ class ShapeCollection: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -49360,6 +54581,7 @@ class ShapeCollection: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -49367,29 +54589,35 @@ class ShapeCollection: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... + ... class ShapeProcessor: r""" @@ -49402,41 +54630,49 @@ class ShapeProcessor: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> ShapeProcessor: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> ShapeProcessor: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -49444,6 +54680,7 @@ class ShapeProcessor: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -49451,10 +54688,12 @@ class ShapeProcessor: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: ShapeProcessor) -> None: r""" @brief Assigns another object to self """ + ... @overload def boolean(self, in_a: Sequence[Shape], in_b: Sequence[Shape], mode: int) -> List[Edge]: r""" @@ -49469,6 +54708,7 @@ class ShapeProcessor: @param in_b The set of shapes to use for input A @param mode The boolean operation (see \EdgeProcessor) """ + ... @overload def boolean(self, in_a: Sequence[Shape], trans_a: Sequence[CplxTrans], in_b: Sequence[Shape], trans_b: Sequence[CplxTrans], mode: int) -> List[Edge]: r""" @@ -49483,6 +54723,7 @@ class ShapeProcessor: @param trans_b A set of transformations to apply before the shapes are used @param mode The boolean operation (see \EdgeProcessor) """ + ... @overload def boolean(self, layout_a: Layout, cell_a: Cell, layer_a: int, layout_b: Layout, cell_b: Cell, layer_b: int, out: Shapes, mode: int, hierarchical: bool, resolve_holes: bool, min_coherence: bool) -> None: r""" @@ -49502,6 +54743,7 @@ class ShapeProcessor: @param resolve_holes true, if holes should be resolved into the hull @param min_coherence true, if minimum polygons should be created for touching corners """ + ... @overload def boolean_to_polygon(self, in_a: Sequence[Shape], in_b: Sequence[Shape], mode: int, resolve_holes: bool, min_coherence: bool) -> List[Polygon]: r""" @@ -49518,6 +54760,7 @@ class ShapeProcessor: @param resolve_holes true, if holes should be resolved into the hull @param min_coherence true, if minimum polygons should be created for touching corners """ + ... @overload def boolean_to_polygon(self, in_a: Sequence[Shape], trans_a: Sequence[CplxTrans], in_b: Sequence[Shape], trans_b: Sequence[CplxTrans], mode: int, resolve_holes: bool, min_coherence: bool) -> List[Polygon]: r""" @@ -49534,33 +54777,39 @@ class ShapeProcessor: @param resolve_holes true, if holes should be resolved into the hull @param min_coherence true, if minimum polygons should be created for touching corners """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> ShapeProcessor: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... @overload def merge(self, in_: Sequence[Shape], min_wc: int) -> List[Edge]: r""" @@ -49574,6 +54823,7 @@ class ShapeProcessor: @param in The set of shapes to merge @param min_wc The minimum wrap count for output (0: all polygons, 1: at least two overlapping) """ + ... @overload def merge(self, in_: Sequence[Shape], trans: Sequence[CplxTrans], min_wc: int) -> List[Edge]: r""" @@ -49586,6 +54836,7 @@ class ShapeProcessor: @param trans A corresponding set of transformations to apply on the shapes @param min_wc The minimum wrap count for output (0: all polygons, 1: at least two overlapping) """ + ... @overload def merge(self, layout: Layout, cell: Cell, layer: int, out: Shapes, hierarchical: bool, min_wc: int, resolve_holes: bool, min_coherence: bool) -> None: r""" @@ -49602,6 +54853,7 @@ class ShapeProcessor: @param resolve_holes true, if holes should be resolved into the hull @param min_coherence true, if minimum polygons should be created for touching corners """ + ... @overload def merge_to_polygon(self, in_: Sequence[Shape], min_wc: int, resolve_holes: bool, min_coherence: bool) -> List[Polygon]: r""" @@ -49617,6 +54869,7 @@ class ShapeProcessor: @param resolve_holes true, if holes should be resolved into the hull @param min_coherence true, if minimum polygons should be created for touching corners """ + ... @overload def merge_to_polygon(self, in_: Sequence[Shape], trans: Sequence[CplxTrans], min_wc: int, resolve_holes: bool, min_coherence: bool) -> List[Polygon]: r""" @@ -49631,6 +54884,7 @@ class ShapeProcessor: @param resolve_holes true, if holes should be resolved into the hull @param min_coherence true, if minimum polygons should be created for touching corners """ + ... @overload def size(self, in_: Sequence[Shape], d: int, mode: int) -> List[Edge]: r""" @@ -49645,6 +54899,7 @@ class ShapeProcessor: @param d The sizing value @param mode The sizing mode (see \EdgeProcessor) """ + ... @overload def size(self, in_: Sequence[Shape], dx: int, dy: int, mode: int) -> List[Edge]: r""" @@ -49660,6 +54915,7 @@ class ShapeProcessor: @param dy The sizing value in y-direction @param mode The sizing mode (see \EdgeProcessor) """ + ... @overload def size(self, in_: Sequence[Shape], trans: Sequence[CplxTrans], d: int, mode: int) -> List[Edge]: r""" @@ -49673,6 +54929,7 @@ class ShapeProcessor: @param d The sizing value @param mode The sizing mode (see \EdgeProcessor) """ + ... @overload def size(self, in_: Sequence[Shape], trans: Sequence[CplxTrans], dx: int, dy: int, mode: int) -> List[Edge]: r""" @@ -49687,6 +54944,7 @@ class ShapeProcessor: @param dy The sizing value in y-direction @param mode The sizing mode (see \EdgeProcessor) """ + ... @overload def size(self, layout: Layout, cell: Cell, layer: int, out: Shapes, d: int, mode: int, hierarchical: bool, resolve_holes: bool, min_coherence: bool) -> None: r""" @@ -49704,6 +54962,7 @@ class ShapeProcessor: @param resolve_holes true, if holes should be resolved into the hull @param min_coherence true, if minimum polygons should be created for touching corners """ + ... @overload def size(self, layout: Layout, cell: Cell, layer: int, out: Shapes, dx: int, dy: int, mode: int, hierarchical: bool, resolve_holes: bool, min_coherence: bool) -> None: r""" @@ -49722,6 +54981,7 @@ class ShapeProcessor: @param resolve_holes true, if holes should be resolved into the hull @param min_coherence true, if minimum polygons should be created for touching corners """ + ... @overload def size_to_polygon(self, in_: Sequence[Shape], d: int, mode: int, resolve_holes: bool, min_coherence: bool) -> List[Polygon]: r""" @@ -49738,6 +54998,7 @@ class ShapeProcessor: @param resolve_holes true, if holes should be resolved into the hull @param min_coherence true, if minimum polygons should be created for touching corners """ + ... @overload def size_to_polygon(self, in_: Sequence[Shape], dx: int, dy: int, mode: int, resolve_holes: bool, min_coherence: bool) -> List[Polygon]: r""" @@ -49755,6 +55016,7 @@ class ShapeProcessor: @param resolve_holes true, if holes should be resolved into the hull @param min_coherence true, if minimum polygons should be created for touching corners """ + ... @overload def size_to_polygon(self, in_: Sequence[Shape], trans: Sequence[CplxTrans], d: int, mode: int, resolve_holes: bool, min_coherence: bool) -> List[Polygon]: r""" @@ -49770,6 +55032,7 @@ class ShapeProcessor: @param resolve_holes true, if holes should be resolved into the hull @param min_coherence true, if minimum polygons should be created for touching corners """ + ... @overload def size_to_polygon(self, in_: Sequence[Shape], trans: Sequence[CplxTrans], dx: int, dy: int, mode: int, resolve_holes: bool, min_coherence: bool) -> List[Polygon]: r""" @@ -49786,6 +55049,8 @@ class ShapeProcessor: @param resolve_holes true, if holes should be resolved into the hull @param min_coherence true, if minimum polygons should be created for touching corners """ + ... + ... class Shapes: r""" @@ -49858,6 +55123,7 @@ class Shapes: r""" @brief Creates a new object of this class """ + ... @classmethod def s_all(cls) -> int: r""" @@ -49866,6 +55132,7 @@ class Shapes: @code SAll - SBoxes @/code """ + ... @classmethod def s_all_with_properties(cls) -> int: r""" @@ -49874,43 +55141,51 @@ class Shapes: @code SAllWithProperties - SBoxes @/code """ + ... @classmethod def s_boxes(cls) -> int: r""" @brief Indicates that boxes shall be retrieved """ + ... @classmethod def s_edge_pairs(cls) -> int: r""" @brief Indicates that edge pairs shall be retrieved """ + ... @classmethod def s_edges(cls) -> int: r""" @brief Indicates that edges shall be retrieved """ + ... @classmethod def s_paths(cls) -> int: r""" @brief Indicates that paths shall be retrieved """ + ... @classmethod def s_points(cls) -> int: r""" @brief Indicates that points shall be retrieved This constant has been added in version 0.28. """ + ... @classmethod def s_polygons(cls) -> int: r""" @brief Indicates that polygons shall be retrieved """ + ... @classmethod def s_properties(cls) -> int: r""" @brief Indicates that only shapes with properties shall be retrieved You can or-combine this flag with the plain shape types to select a certain shape type, but only those shapes with properties. For example to select boxes with properties, use 'SProperties | SBoxes'. """ + ... @classmethod def s_regions(cls) -> int: r""" @@ -49918,63 +55193,75 @@ class Shapes: This constant has been added in version 0.27. """ + ... @classmethod def s_texts(cls) -> int: r""" @brief Indicates that texts be retrieved """ + ... @classmethod def s_user_objects(cls) -> int: r""" @brief Indicates that user objects shall be retrieved """ + ... def __copy__(self) -> Shapes: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> Shapes: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def __iter__(self) -> Iterator[Shape]: r""" @brief Gets all shapes This call is equivalent to each(SAll). This convenience method has been introduced in version 0.16 """ + ... def __len__(self) -> int: r""" @brief Gets the number of shapes in this container This method was introduced in version 0.16 @return The number of shapes in this container """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -49982,6 +55269,7 @@ class Shapes: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -49989,10 +55277,12 @@ class Shapes: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: Shapes) -> None: r""" @brief Assigns another object to self """ + ... def cell(self) -> Cell: r""" @brief Gets the cell the shape container belongs to @@ -50000,12 +55290,14 @@ class Shapes: This method has been added in version 0.28. """ + ... @overload def clear(self) -> None: r""" @brief Clears the shape container This method has been introduced in version 0.16. """ + ... @overload def clear(self, flags: int) -> None: r""" @@ -50014,31 +55306,37 @@ class Shapes: This method has been introduced in version 0.28.9. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dump_mem_statistics(self, detailed: Optional[bool] = ...) -> None: r""" @hide """ + ... def dup(self) -> Shapes: r""" @brief Creates a copy of self """ + ... @overload def each(self) -> Iterator[Shape]: r""" @@ -50046,6 +55344,7 @@ class Shapes: This call is equivalent to each(SAll). This convenience method has been introduced in version 0.16 """ + ... @overload def each(self, flags: int) -> Iterator[Shape]: r""" @@ -50053,6 +55352,7 @@ class Shapes: @param flags An "or"-ed combination of the S... constants """ + ... @overload def each_overlapping(self, flags: int, region: Box) -> Iterator[Shape]: r""" @@ -50062,6 +55362,7 @@ class Shapes: @param flags An "or"-ed combination of the S... constants @param region The rectangular search region """ + ... @overload def each_overlapping(self, flags: int, region: DBox) -> Iterator[Shape]: r""" @@ -50071,6 +55372,7 @@ class Shapes: This method was introduced in version 0.25 """ + ... @overload def each_overlapping(self, region: Box) -> Iterator[Shape]: r""" @@ -50079,6 +55381,7 @@ class Shapes: This call is equivalent to each_overlapping(SAll,region). This convenience method has been introduced in version 0.16 """ + ... @overload def each_overlapping(self, region: DBox) -> Iterator[Shape]: r""" @@ -50088,6 +55391,7 @@ class Shapes: This method was introduced in version 0.25 """ + ... @overload def each_touching(self, flags: int, region: Box) -> Iterator[Shape]: r""" @@ -50097,6 +55401,7 @@ class Shapes: @param flags An "or"-ed combination of the S... constants @param region The rectangular search region """ + ... @overload def each_touching(self, flags: int, region: DBox) -> Iterator[Shape]: r""" @@ -50106,6 +55411,7 @@ class Shapes: This method was introduced in version 0.25 """ + ... @overload def each_touching(self, region: Box) -> Iterator[Shape]: r""" @@ -50114,6 +55420,7 @@ class Shapes: This call is equivalent to each_touching(SAll,region). This convenience method has been introduced in version 0.16 """ + ... @overload def each_touching(self, region: DBox) -> Iterator[Shape]: r""" @@ -50123,6 +55430,7 @@ class Shapes: This method was introduced in version 0.25 """ + ... def erase(self, shape: Shape) -> None: r""" @brief Erases the shape pointed to by the given \Shape object @@ -50131,12 +55439,14 @@ class Shapes: @param shape The shape which to destroy """ + ... def find(self, shape: Shape) -> Shape: r""" @brief Finds a shape inside this collected This method has been introduced in version 0.21. This method tries to find the given shape in this collection. The original shape may be located in another collection. If the shape is found, this method returns a reference to the shape in this collection, otherwise a null reference is returned. """ + ... @overload def insert(self, box: Box) -> Shape: r""" @@ -50145,6 +55455,7 @@ class Shapes: Starting with version 0.16, this method returns a reference to the newly created shape """ + ... @overload def insert(self, box: Box, property_id: int) -> Shape: r""" @@ -50153,6 +55464,7 @@ class Shapes: The property Id must be obtained from the \Layout object's property_id method which associates a property set with a property Id. Starting with version 0.16, this method returns a reference to the newly created shape """ + ... @overload def insert(self, box: DBox) -> Shape: r""" @@ -50162,6 +55474,7 @@ class Shapes: This variant has been introduced in version 0.25. """ + ... @overload def insert(self, box: DBox, property_id: int) -> Shape: r""" @@ -50171,6 +55484,7 @@ class Shapes: This variant has been introduced in version 0.25. """ + ... @overload def insert(self, edge: DEdge) -> Shape: r""" @@ -50180,6 +55494,7 @@ class Shapes: This variant has been introduced in version 0.25. """ + ... @overload def insert(self, edge: DEdge, property_id: int) -> Shape: r""" @@ -50189,6 +55504,7 @@ class Shapes: This variant has been introduced in version 0.25. """ + ... @overload def insert(self, edge: Edge) -> Shape: r""" @@ -50196,6 +55512,7 @@ class Shapes: Starting with version 0.16, this method returns a reference to the newly created shape """ + ... @overload def insert(self, edge: Edge, property_id: int) -> Shape: r""" @@ -50204,6 +55521,7 @@ class Shapes: The property Id must be obtained from the \Layout object's property_id method which associates a property set with a property Id. Starting with version 0.16, this method returns a reference to the newly created shape. """ + ... @overload def insert(self, edge_pair: DEdgePair) -> Shape: r""" @@ -50213,6 +55531,7 @@ class Shapes: This variant has been introduced in version 0.26. """ + ... @overload def insert(self, edge_pair: DEdgePair, property_id: int) -> Shape: r""" @@ -50222,6 +55541,7 @@ class Shapes: This variant has been introduced in version 0.26. """ + ... @overload def insert(self, edge_pair: EdgePair) -> Shape: r""" @@ -50229,6 +55549,7 @@ class Shapes: This method has been introduced in version 0.26. """ + ... @overload def insert(self, edge_pair: EdgePair, property_id: int) -> Shape: r""" @@ -50237,6 +55558,7 @@ class Shapes: The property Id must be obtained from the \Layout object's property_id method which associates a property set with a property Id. This method has been introduced in version 0.26. """ + ... @overload def insert(self, edge_pairs: EdgePairs) -> None: r""" @@ -50247,6 +55569,7 @@ class Shapes: This method has been introduced in version 0.26. """ + ... @overload def insert(self, edge_pairs: EdgePairs, trans: DCplxTrans) -> None: r""" @@ -50259,6 +55582,7 @@ class Shapes: This method has been introduced in version 0.26. """ + ... @overload def insert(self, edge_pairs: EdgePairs, trans: ICplxTrans) -> None: r""" @@ -50271,6 +55595,7 @@ class Shapes: This method has been introduced in version 0.26. """ + ... @overload def insert(self, edges: Edges) -> None: r""" @@ -50281,6 +55606,7 @@ class Shapes: This method has been introduced in version 0.23. """ + ... @overload def insert(self, edges: Edges, trans: DCplxTrans) -> None: r""" @@ -50293,6 +55619,7 @@ class Shapes: This method has been introduced in version 0.25. """ + ... @overload def insert(self, edges: Edges, trans: ICplxTrans) -> None: r""" @@ -50305,6 +55632,7 @@ class Shapes: This method has been introduced in version 0.23. """ + ... @overload def insert(self, iter: RecursiveShapeIterator) -> None: r""" @@ -50315,6 +55643,7 @@ class Shapes: This method has been introduced in version 0.25.3. """ + ... @overload def insert(self, iter: RecursiveShapeIterator, trans: ICplxTrans) -> None: r""" @@ -50327,6 +55656,7 @@ class Shapes: This method has been introduced in version 0.25.3. """ + ... @overload def insert(self, path: DPath) -> Shape: r""" @@ -50336,6 +55666,7 @@ class Shapes: This variant has been introduced in version 0.25. """ + ... @overload def insert(self, path: DPath, property_id: int) -> Shape: r""" @@ -50345,6 +55676,7 @@ class Shapes: This variant has been introduced in version 0.25. """ + ... @overload def insert(self, path: Path) -> Shape: r""" @@ -50353,6 +55685,7 @@ class Shapes: Starting with version 0.16, this method returns a reference to the newly created shape """ + ... @overload def insert(self, path: Path, property_id: int) -> Shape: r""" @@ -50361,6 +55694,7 @@ class Shapes: The property Id must be obtained from the \Layout object's property_id method which associates a property set with a property Id. Starting with version 0.16, this method returns a reference to the newly created shape """ + ... @overload def insert(self, point: DPoint) -> Shape: r""" @@ -50370,6 +55704,7 @@ class Shapes: This variant has been introduced in version 0.28. """ + ... @overload def insert(self, point: Point) -> Shape: r""" @@ -50377,6 +55712,7 @@ class Shapes: This variant has been introduced in version 0.28. """ + ... @overload def insert(self, polygon: DPolygon) -> Shape: r""" @@ -50386,6 +55722,7 @@ class Shapes: This variant has been introduced in version 0.25. """ + ... @overload def insert(self, polygon: DPolygon, property_id: int) -> Shape: r""" @@ -50395,6 +55732,7 @@ class Shapes: This variant has been introduced in version 0.25. """ + ... @overload def insert(self, polygon: Polygon) -> Shape: r""" @@ -50403,6 +55741,7 @@ class Shapes: Starting with version 0.16, this method returns a reference to the newly created shape """ + ... @overload def insert(self, polygon: Polygon, property_id: int) -> Shape: r""" @@ -50411,6 +55750,7 @@ class Shapes: The property Id must be obtained from the \Layout object's property_id method which associates a property set with a property Id. Starting with version 0.16, this method returns a reference to the newly created shape """ + ... @overload def insert(self, region: Region) -> None: r""" @@ -50421,6 +55761,7 @@ class Shapes: This method has been introduced in version 0.23. """ + ... @overload def insert(self, region: Region, trans: DCplxTrans) -> None: r""" @@ -50433,6 +55774,7 @@ class Shapes: This method has been introduced in version 0.25. """ + ... @overload def insert(self, region: Region, trans: ICplxTrans) -> None: r""" @@ -50445,6 +55787,7 @@ class Shapes: This method has been introduced in version 0.23. """ + ... @overload def insert(self, shape: Shape) -> Shape: r""" @@ -50452,6 +55795,7 @@ class Shapes: @return A reference (a \Shape object) to the newly created shape This method has been introduced in version 0.16. """ + ... @overload def insert(self, shape: Shape, trans: DCplxTrans) -> Shape: r""" @@ -50461,6 +55805,7 @@ class Shapes: @return A reference (a \Shape object) to the newly created shape This method has been introduced in version 0.25. """ + ... @overload def insert(self, shape: Shape, trans: DTrans) -> Shape: r""" @@ -50470,6 +55815,7 @@ class Shapes: @return A reference (a \Shape object) to the newly created shape This method has been introduced in version 0.25. """ + ... @overload def insert(self, shape: Shape, trans: ICplxTrans) -> Shape: r""" @@ -50479,6 +55825,7 @@ class Shapes: @return A reference (a \Shape object) to the newly created shape This method has been introduced in version 0.22. """ + ... @overload def insert(self, shape: Shape, trans: Trans) -> Shape: r""" @@ -50488,6 +55835,7 @@ class Shapes: @return A reference (a \Shape object) to the newly created shape This method has been introduced in version 0.22. """ + ... @overload def insert(self, shapes: Shapes) -> None: r""" @@ -50498,6 +55846,7 @@ class Shapes: This method has been introduced in version 0.25.3. """ + ... @overload def insert(self, shapes: Shapes, flags: int) -> None: r""" @@ -50509,6 +55858,7 @@ class Shapes: This method has been introduced in version 0.25.3. """ + ... @overload def insert(self, shapes: Shapes, flags: int, trans: ICplxTrans) -> None: r""" @@ -50521,6 +55871,7 @@ class Shapes: This method has been introduced in version 0.25.3. """ + ... @overload def insert(self, shapes: Shapes, trans: ICplxTrans) -> None: r""" @@ -50532,6 +55883,7 @@ class Shapes: This method has been introduced in version 0.25.3. """ + ... @overload def insert(self, simple_polygon: DSimplePolygon) -> Shape: r""" @@ -50541,6 +55893,7 @@ class Shapes: This variant has been introduced in version 0.25. """ + ... @overload def insert(self, simple_polygon: DSimplePolygon, property_id: int) -> Shape: r""" @@ -50550,6 +55903,7 @@ class Shapes: This variant has been introduced in version 0.25. """ + ... @overload def insert(self, simple_polygon: SimplePolygon) -> Shape: r""" @@ -50558,6 +55912,7 @@ class Shapes: Starting with version 0.16, this method returns a reference to the newly created shape """ + ... @overload def insert(self, simple_polygon: SimplePolygon, property_id: int) -> Shape: r""" @@ -50566,6 +55921,7 @@ class Shapes: The property Id must be obtained from the \Layout object's property_id method which associates a property set with a property Id. Starting with version 0.16, this method returns a reference to the newly created shape """ + ... @overload def insert(self, text: DText) -> Shape: r""" @@ -50575,6 +55931,7 @@ class Shapes: This variant has been introduced in version 0.25. """ + ... @overload def insert(self, text: DText, property_id: int) -> Shape: r""" @@ -50584,6 +55941,7 @@ class Shapes: This variant has been introduced in version 0.25. """ + ... @overload def insert(self, text: Text) -> Shape: r""" @@ -50592,6 +55950,7 @@ class Shapes: Starting with version 0.16, this method returns a reference to the newly created shape """ + ... @overload def insert(self, text: Text, property_id: int) -> Shape: r""" @@ -50600,6 +55959,7 @@ class Shapes: The property Id must be obtained from the \Layout object's property_id method which associates a property set with a property Id. Starting with version 0.16, this method returns a reference to the newly created shape """ + ... @overload def insert(self, texts: Texts) -> None: r""" @@ -50610,6 +55970,7 @@ class Shapes: This method has been introduced in version 0.27. """ + ... @overload def insert(self, texts: Texts, trans: DCplxTrans) -> None: r""" @@ -50622,6 +55983,7 @@ class Shapes: This method has been introduced in version 0.27. """ + ... @overload def insert(self, texts: Texts, trans: ICplxTrans) -> None: r""" @@ -50634,6 +55996,7 @@ class Shapes: This method has been introduced in version 0.27. """ + ... @overload def insert_as_edges(self, edge_pairs: EdgePairs) -> None: r""" @@ -50645,6 +56008,7 @@ class Shapes: This method has been introduced in version 0.23. """ + ... @overload def insert_as_edges(self, edge_pairs: EdgePairs, trans: DCplxTrans) -> None: r""" @@ -50658,6 +56022,7 @@ class Shapes: This method has been introduced in version 0.25. """ + ... @overload def insert_as_edges(self, edge_pairs: EdgePairs, trans: ICplxTrans) -> None: r""" @@ -50671,6 +56036,7 @@ class Shapes: This method has been introduced in version 0.23. """ + ... @overload def insert_as_polygons(self, edge_pairs: EdgePairs, e: DCplxTrans, trans: float) -> None: r""" @@ -50683,6 +56049,7 @@ class Shapes: This method has been introduced in version 0.25. """ + ... @overload def insert_as_polygons(self, edge_pairs: EdgePairs, e: ICplxTrans, trans: int) -> None: r""" @@ -50698,6 +56065,7 @@ class Shapes: This method has been introduced in version 0.23. """ + ... @overload def insert_as_polygons(self, edge_pairs: EdgePairs, e: float) -> None: r""" @@ -50709,6 +56077,7 @@ class Shapes: This method has been introduced in version 0.25. """ + ... @overload def insert_as_polygons(self, edge_pairs: EdgePairs, e: int) -> None: r""" @@ -50722,6 +56091,7 @@ class Shapes: This method has been introduced in version 0.23. """ + ... def insert_box(self, box: Box) -> Shape: r""" @brief Inserts a box into the shapes list @@ -50729,6 +56099,7 @@ class Shapes: Starting with version 0.16, this method returns a reference to the newly created shape """ + ... def insert_box_with_properties(self, box: Box, property_id: int) -> Shape: r""" @brief Inserts a box with properties into the shapes list @@ -50736,12 +56107,14 @@ class Shapes: The property Id must be obtained from the \Layout object's property_id method which associates a property set with a property Id. Starting with version 0.16, this method returns a reference to the newly created shape """ + ... def insert_edge(self, edge: Edge) -> Shape: r""" @brief Inserts an edge into the shapes list Starting with version 0.16, this method returns a reference to the newly created shape """ + ... def insert_edge_with_properties(self, edge: Edge, property_id: int) -> Shape: r""" @brief Inserts an edge with properties into the shapes list @@ -50749,6 +56122,7 @@ class Shapes: The property Id must be obtained from the \Layout object's property_id method which associates a property set with a property Id. Starting with version 0.16, this method returns a reference to the newly created shape. """ + ... def insert_path(self, path: Path) -> Shape: r""" @brief Inserts a path into the shapes list @@ -50756,6 +56130,7 @@ class Shapes: Starting with version 0.16, this method returns a reference to the newly created shape """ + ... def insert_path_with_properties(self, path: Path, property_id: int) -> Shape: r""" @brief Inserts a path with properties into the shapes list @@ -50763,12 +56138,14 @@ class Shapes: The property Id must be obtained from the \Layout object's property_id method which associates a property set with a property Id. Starting with version 0.16, this method returns a reference to the newly created shape """ + ... def insert_point(self, point: Point) -> Shape: r""" @brief Inserts an point into the shapes list This variant has been introduced in version 0.28. """ + ... def insert_polygon(self, polygon: Polygon) -> Shape: r""" @brief Inserts a polygon into the shapes list @@ -50776,6 +56153,7 @@ class Shapes: Starting with version 0.16, this method returns a reference to the newly created shape """ + ... def insert_polygon_with_properties(self, polygon: Polygon, property_id: int) -> Shape: r""" @brief Inserts a polygon with properties into the shapes list @@ -50783,6 +56161,7 @@ class Shapes: The property Id must be obtained from the \Layout object's property_id method which associates a property set with a property Id. Starting with version 0.16, this method returns a reference to the newly created shape """ + ... def insert_simple_polygon(self, simple_polygon: SimplePolygon) -> Shape: r""" @brief Inserts a simple polygon into the shapes list @@ -50790,6 +56169,7 @@ class Shapes: Starting with version 0.16, this method returns a reference to the newly created shape """ + ... def insert_simple_polygon_with_properties(self, simple_polygon: SimplePolygon, property_id: int) -> Shape: r""" @brief Inserts a simple polygon with properties into the shapes list @@ -50797,6 +56177,7 @@ class Shapes: The property Id must be obtained from the \Layout object's property_id method which associates a property set with a property Id. Starting with version 0.16, this method returns a reference to the newly created shape """ + ... def insert_text(self, text: Text) -> Shape: r""" @brief Inserts a text into the shapes list @@ -50804,6 +56185,7 @@ class Shapes: Starting with version 0.16, this method returns a reference to the newly created shape """ + ... def insert_text_with_properties(self, text: Text, property_id: int) -> Shape: r""" @brief Inserts a text with properties into the shapes list @@ -50811,23 +56193,27 @@ class Shapes: The property Id must be obtained from the \Layout object's property_id method which associates a property set with a property Id. Starting with version 0.16, this method returns a reference to the newly created shape """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_empty(self) -> bool: r""" @brief Returns a value indicating whether the shapes container is empty This method has been introduced in version 0.20. """ + ... def is_valid(self, shape: Shape) -> bool: r""" @brief Tests if the given \Shape object is still pointing to a valid object This method has been introduced in version 0.16. If the shape represented by the given reference has been deleted, this method returns false. If however, another shape has been inserted already that occupies the original shape's position, this method will return true again. """ + ... def layout(self) -> Layout: r""" @brief Gets the layout object the shape container belongs to @@ -50835,6 +56221,7 @@ class Shapes: This method has been added in version 0.28. """ + ... @overload def replace(self, shape: Shape, box: Box) -> Shape: r""" @@ -50844,6 +56231,7 @@ class Shapes: This method has been introduced with version 0.16. It replaces the given shape with the object specified. It does not change the property Id. To change the property Id, use the \replace_prop_id method. To replace a shape and discard the property Id, erase the shape and insert a new shape. This method is permitted in editable mode only. """ + ... @overload def replace(self, shape: Shape, box: DBox) -> Shape: r""" @@ -50854,6 +56242,7 @@ class Shapes: This variant has been introduced in version 0.25. """ + ... @overload def replace(self, shape: Shape, edge: DEdge) -> Shape: r""" @@ -50864,6 +56253,7 @@ class Shapes: This variant has been introduced in version 0.25. """ + ... @overload def replace(self, shape: Shape, edge: Edge) -> Shape: r""" @@ -50872,6 +56262,7 @@ class Shapes: This method has been introduced with version 0.16. It replaces the given shape with the object specified. It does not change the property Id. To change the property Id, use the \replace_prop_id method. To replace a shape and discard the property Id, erase the shape and insert a new shape. This method is permitted in editable mode only. """ + ... @overload def replace(self, shape: Shape, edge_pair: DEdgePair) -> Shape: r""" @@ -50882,6 +56273,7 @@ class Shapes: This variant has been introduced in version 0.26. """ + ... @overload def replace(self, shape: Shape, edge_pair: EdgePair) -> Shape: r""" @@ -50892,6 +56284,7 @@ class Shapes: This method has been introduced in version 0.26. """ + ... @overload def replace(self, shape: Shape, path: DPath) -> Shape: r""" @@ -50902,6 +56295,7 @@ class Shapes: This variant has been introduced in version 0.25. """ + ... @overload def replace(self, shape: Shape, path: Path) -> Shape: r""" @@ -50911,6 +56305,7 @@ class Shapes: This method has been introduced with version 0.16. It replaces the given shape with the object specified. It does not change the property Id. To change the property Id, use the \replace_prop_id method. To replace a shape and discard the property Id, erase the shape and insert a new shape. This method is permitted in editable mode only. """ + ... @overload def replace(self, shape: Shape, point: DPoint) -> Shape: r""" @@ -50921,6 +56316,7 @@ class Shapes: This variant has been introduced in version 0.28. """ + ... @overload def replace(self, shape: Shape, point: Point) -> Shape: r""" @@ -50929,6 +56325,7 @@ class Shapes: This method replaces the given shape with the object specified. It does not change the property Id. To change the property Id, use the \replace_prop_id method. To replace a shape and discard the property Id, erase the shape and insert a new shape. This variant has been introduced in version 0.28. """ + ... @overload def replace(self, shape: Shape, polygon: DPolygon) -> Shape: r""" @@ -50939,6 +56336,7 @@ class Shapes: This variant has been introduced in version 0.25. """ + ... @overload def replace(self, shape: Shape, polygon: Polygon) -> Shape: r""" @@ -50948,6 +56346,7 @@ class Shapes: This method has been introduced with version 0.16. It replaces the given shape with the object specified. It does not change the property Id. To change the property Id, use the \replace_prop_id method. To replace a shape and discard the property Id, erase the shape and insert a new shape. This method is permitted in editable mode only. """ + ... @overload def replace(self, shape: Shape, simple_polygon: DSimplePolygon) -> Shape: r""" @@ -50958,6 +56357,7 @@ class Shapes: This variant has been introduced in version 0.25. """ + ... @overload def replace(self, shape: Shape, simple_polygon: SimplePolygon) -> Shape: r""" @@ -50967,6 +56367,7 @@ class Shapes: This method has been introduced with version 0.16. It replaces the given shape with the object specified. It does not change the property Id. To change the property Id, use the \replace_prop_id method. To replace a shape and discard the property Id, erase the shape and insert a new shape. This method is permitted in editable mode only. """ + ... @overload def replace(self, shape: Shape, text: DText) -> Shape: r""" @@ -50977,6 +56378,7 @@ class Shapes: This variant has been introduced in version 0.25. """ + ... @overload def replace(self, shape: Shape, text: Text) -> Shape: r""" @@ -50986,6 +56388,7 @@ class Shapes: This method has been introduced with version 0.16. It replaces the given shape with the object specified. It does not change the property Id. To change the property Id, use the \replace_prop_id method. To replace a shape and discard the property Id, erase the shape and insert a new shape. This method is permitted in editable mode only. """ + ... def replace_prop_id(self, shape: Shape, property_id: int) -> Shape: r""" @brief Replaces (or install) the properties of a shape @@ -50995,12 +56398,14 @@ class Shapes: The property Id must be obtained from the \Layout object's property_id method which associates a property set with a property Id. This method will potentially invalidate the shape reference passed to it. Use the reference returned for future references. """ + ... def size(self) -> int: r""" @brief Gets the number of shapes in this container This method was introduced in version 0.16 @return The number of shapes in this container """ + ... @overload def transform(self, shape: Shape, trans: DCplxTrans) -> Shape: r""" @@ -51011,6 +56416,7 @@ class Shapes: It is permitted in editable mode only. This method has been introduced in version 0.25. """ + ... @overload def transform(self, shape: Shape, trans: DTrans) -> Shape: r""" @@ -51021,6 +56427,7 @@ class Shapes: It is permitted in editable mode only. This method has been introduced in version 0.25. """ + ... @overload def transform(self, shape: Shape, trans: ICplxTrans) -> Shape: r""" @@ -51030,6 +56437,7 @@ class Shapes: The original shape may be deleted and re-inserted by this method. Therefore, a new reference is returned. It is permitted in editable mode only. """ + ... @overload def transform(self, shape: Shape, trans: Trans) -> Shape: r""" @@ -51040,6 +56448,7 @@ class Shapes: This method has been introduced in version 0.16. """ + ... @overload def transform(self, trans: DCplxTrans) -> None: r""" @@ -51049,6 +56458,7 @@ class Shapes: It has been introduced in version 0.25. """ + ... @overload def transform(self, trans: DTrans) -> None: r""" @@ -51058,6 +56468,7 @@ class Shapes: It has been introduced in version 0.25. """ + ... @overload def transform(self, trans: ICplxTrans) -> None: r""" @@ -51066,6 +56477,7 @@ class Shapes: It has been introduced in version 0.23. """ + ... @overload def transform(self, trans: Trans) -> None: r""" @@ -51074,6 +56486,8 @@ class Shapes: It has been introduced in version 0.23. """ + ... + ... class SimplePolygon: r""" @@ -51103,6 +56517,7 @@ class SimplePolygon: See the constructor description for details about raw mode. """ + ... @classmethod def ellipse(cls, box: Box, n: int) -> SimplePolygon: r""" @@ -51113,6 +56528,7 @@ class SimplePolygon: This method has been introduced in version 0.23. """ + ... @classmethod def from_dpoly(cls, dpolygon: DSimplePolygon) -> SimplePolygon: r""" @@ -51120,6 +56536,7 @@ class SimplePolygon: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_dpoly'. """ + ... @classmethod def from_s(cls, s: str) -> SimplePolygon: r""" @@ -51128,12 +56545,14 @@ class SimplePolygon: This method has been added in version 0.23. """ + ... @overload @classmethod def new(cls) -> SimplePolygon: r""" @brief Default constructor: creates an empty (invalid) polygon """ + ... @overload @classmethod def new(cls, box: Box) -> SimplePolygon: @@ -51142,6 +56561,7 @@ class SimplePolygon: @param box The box to convert to a polygon """ + ... @overload @classmethod def new(cls, dpolygon: DSimplePolygon) -> SimplePolygon: @@ -51150,6 +56570,7 @@ class SimplePolygon: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_dpoly'. """ + ... @overload @classmethod def new(cls, pts: Sequence[Point], raw: Optional[bool] = ...) -> SimplePolygon: @@ -51165,19 +56586,23 @@ class SimplePolygon: The 'raw' argument has been added in version 0.24. """ + ... def __copy__(self) -> SimplePolygon: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> SimplePolygon: r""" @brief Creates a copy of self """ + ... def __eq__(self, p: object) -> bool: r""" @brief Returns a value indicating whether self is equal to p @param p The object to compare against """ + ... def __hash__(self) -> int: r""" @brief Computes a hash value @@ -51185,11 +56610,13 @@ class SimplePolygon: This method has been introduced in version 0.25. """ + ... @overload def __init__(self) -> None: r""" @brief Default constructor: creates an empty (invalid) polygon """ + ... @overload def __init__(self, box: Box) -> None: r""" @@ -51197,6 +56624,7 @@ class SimplePolygon: @param box The box to convert to a polygon """ + ... @overload def __init__(self, dpolygon: DSimplePolygon) -> None: r""" @@ -51204,6 +56632,7 @@ class SimplePolygon: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_dpoly'. """ + ... @overload def __init__(self, pts: Sequence[Point], raw: Optional[bool] = ...) -> None: r""" @@ -51218,6 +56647,7 @@ class SimplePolygon: The 'raw' argument has been added in version 0.24. """ + ... def __lt__(self, p: SimplePolygon) -> bool: r""" @brief Returns a value indicating whether self is less than p @@ -51226,54 +56656,59 @@ class SimplePolygon: This method has been introduced in version 0.25. """ + ... def __mul__(self, f: float) -> SimplePolygon: r""" @brief Scales the polygon by some factor Returns the scaled object. All coordinates are multiplied with the given factor and if necessary rounded. """ + ... def __ne__(self, p: object) -> bool: r""" @brief Returns a value indicating whether self is not equal to p @param p The object to compare against """ - def __repr__(self) -> str: - r""" - @brief Returns a string representing the polygon - """ + ... def __rmul__(self, f: float) -> SimplePolygon: r""" @brief Scales the polygon by some factor Returns the scaled object. All coordinates are multiplied with the given factor and if necessary rounded. """ + ... def __str__(self) -> str: r""" @brief Returns a string representing the polygon """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -51281,6 +56716,7 @@ class SimplePolygon: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -51288,11 +56724,13 @@ class SimplePolygon: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def area(self) -> int: r""" @brief Gets the area of the polygon The area is correct only if the polygon is not self-overlapping and the polygon is oriented clockwise. """ + ... def area2(self) -> int: r""" @brief Gets the double area of the polygon @@ -51300,14 +56738,17 @@ class SimplePolygon: This method has been introduced in version 0.26.1 """ + ... def assign(self, other: SimplePolygon) -> None: r""" @brief Assigns another object to self """ + ... def bbox(self) -> Box: r""" @brief Returns the bounding box of the simple polygon """ + ... def break_(self, max_vertex_count: int, max_area_ratio: float) -> List[SimplePolygon]: r""" @brief Splits the polygon into parts with a maximum vertex count and area ratio @@ -51319,6 +56760,7 @@ class SimplePolygon: This method has been introduced in version 0.29. """ + ... def compress(self, remove_reflected: bool) -> None: r""" @brief Compressed the simple polygon. @@ -51330,35 +56772,42 @@ class SimplePolygon: This method was introduced in version 0.18. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> SimplePolygon: r""" @brief Creates a copy of self """ + ... def each_edge(self) -> Iterator[Edge]: r""" @brief Iterates over the edges that make up the simple polygon """ + ... def each_point(self) -> Iterator[Point]: r""" @brief Iterates over the points that make up the simple polygon """ + ... def extract_rad(self) -> List[Any]: r""" @brief Extracts the corner radii from a rounded polygon @@ -51383,6 +56832,7 @@ class SimplePolygon: This method was introduced in version 0.25. """ + ... def hash(self) -> int: r""" @brief Computes a hash value @@ -51390,11 +56840,13 @@ class SimplePolygon: This method has been introduced in version 0.25. """ + ... def inside(self, p: Point) -> bool: r""" @brief Gets a value indicating whether the given point is inside the polygon If the given point is inside or on the edge the polygon, true is returned. This tests works well only if the polygon is not self-overlapping and oriented clockwise. """ + ... def is_box(self) -> bool: r""" @brief Returns a value indicating whether the polygon is a simple box. @@ -51405,16 +56857,19 @@ class SimplePolygon: This method was introduced in version 0.23. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_empty(self) -> bool: r""" @brief Returns a value indicating whether the polygon is empty """ + ... def is_halfmanhattan(self) -> bool: r""" @brief Returns a value indicating whether the polygon is half-manhattan @@ -51422,10 +56877,12 @@ class SimplePolygon: This predicate was introduced in version 0.27. """ + ... def is_rectilinear(self) -> bool: r""" @brief Returns a value indicating whether the polygon is rectilinear """ + ... @overload def minkowski_sum(self, b: Box, resolve_holes: bool) -> Polygon: r""" @@ -51438,6 +56895,7 @@ class SimplePolygon: This method was introduced in version 0.22. """ + ... @overload def minkowski_sum(self, c: Sequence[Point], resolve_holes: bool) -> Polygon: r""" @@ -51450,6 +56908,7 @@ class SimplePolygon: This method was introduced in version 0.22. """ + ... @overload def minkowski_sum(self, e: Edge, resolve_holes: bool) -> Polygon: r""" @@ -51462,6 +56921,7 @@ class SimplePolygon: This method was introduced in version 0.22. """ + ... @overload def minkowski_sum(self, p: SimplePolygon, resolve_holes: bool) -> Polygon: r""" @@ -51474,6 +56934,7 @@ class SimplePolygon: This method was introduced in version 0.22. """ + ... @overload def minkowsky_sum(self, b: Box, resolve_holes: bool) -> Polygon: r""" @@ -51486,6 +56947,7 @@ class SimplePolygon: This method was introduced in version 0.22. """ + ... @overload def minkowsky_sum(self, c: Sequence[Point], resolve_holes: bool) -> Polygon: r""" @@ -51498,6 +56960,7 @@ class SimplePolygon: This method was introduced in version 0.22. """ + ... @overload def minkowsky_sum(self, e: Edge, resolve_holes: bool) -> Polygon: r""" @@ -51510,6 +56973,7 @@ class SimplePolygon: This method was introduced in version 0.22. """ + ... @overload def minkowsky_sum(self, p: SimplePolygon, resolve_holes: bool) -> Polygon: r""" @@ -51522,6 +56986,7 @@ class SimplePolygon: This method was introduced in version 0.22. """ + ... @overload def move(self, p: Vector) -> SimplePolygon: r""" @@ -51534,6 +56999,7 @@ class SimplePolygon: @return The moved simple polygon. """ + ... @overload def move(self, x: int, y: int) -> SimplePolygon: r""" @@ -51547,6 +57013,7 @@ class SimplePolygon: @return The moved polygon (self). """ + ... @overload def moved(self, p: Vector) -> SimplePolygon: r""" @@ -51559,6 +57026,7 @@ class SimplePolygon: @return The moved simple polygon. """ + ... @overload def moved(self, x: int, y: int) -> SimplePolygon: r""" @@ -51574,21 +57042,25 @@ class SimplePolygon: This method has been introduced in version 0.23. """ + ... def num_points(self) -> int: r""" @brief Gets the number of points """ + ... def perimeter(self) -> int: r""" @brief Gets the perimeter of the polygon The perimeter is sum of the lengths of all edges making up the polygon. """ + ... def point(self, p: int) -> Point: r""" @brief Gets a specific point of the contour@param p The index of the point to get If the index of the point is not a valid index, a default value is returned. This method was introduced in version 0.18. """ + ... def round_corners(self, rinner: float, router: float, n: int) -> SimplePolygon: r""" @brief Rounds the corners of the polygon @@ -51603,6 +57075,7 @@ class SimplePolygon: This method was introduced in version 0.22 for integer coordinates and in 0.25 for all coordinate types. """ + ... def set_points(self, pts: Sequence[Point], raw: Optional[bool] = ...) -> None: r""" @brief Sets the points of the simple polygon @@ -51614,6 +57087,7 @@ class SimplePolygon: This method has been added in version 0.24. """ + ... def split(self) -> List[SimplePolygon]: r""" @brief Splits the polygon into two or more parts @@ -51623,6 +57097,7 @@ class SimplePolygon: This method has been introduced in version 0.25.3. """ + ... def to_dtype(self, dbu: Optional[float] = ...) -> DSimplePolygon: r""" @brief Converts the polygon to a floating-point coordinate polygon @@ -51631,10 +57106,12 @@ class SimplePolygon: This method has been introduced in version 0.25. """ + ... def to_s(self) -> str: r""" @brief Returns a string representing the polygon """ + ... @overload def touches(self, box: Box) -> bool: r""" @@ -51643,6 +57120,7 @@ class SimplePolygon: This method was introduced in version 0.25.1. """ + ... @overload def touches(self, edge: Edge) -> bool: r""" @@ -51651,6 +57129,7 @@ class SimplePolygon: This method was introduced in version 0.25.1. """ + ... @overload def touches(self, polygon: Polygon) -> bool: r""" @@ -51659,6 +57138,7 @@ class SimplePolygon: This method was introduced in version 0.25.1. """ + ... @overload def touches(self, simple_polygon: SimplePolygon) -> bool: r""" @@ -51667,6 +57147,7 @@ class SimplePolygon: This method was introduced in version 0.25.1. """ + ... @overload def transform(self, t: ICplxTrans) -> SimplePolygon: r""" @@ -51679,6 +57160,7 @@ class SimplePolygon: This method has been introduced in version 0.24. """ + ... @overload def transform(self, t: Trans) -> SimplePolygon: r""" @@ -51691,6 +57173,7 @@ class SimplePolygon: This method has been introduced in version 0.24. """ + ... @overload def transformed(self, t: CplxTrans) -> DSimplePolygon: r""" @@ -51705,6 +57188,7 @@ class SimplePolygon: With version 0.25, the original 'transformed_cplx' method is deprecated and 'transformed' takes both simple and complex transformations. """ + ... @overload def transformed(self, t: ICplxTrans) -> SimplePolygon: r""" @@ -51719,6 +57203,7 @@ class SimplePolygon: This method has been introduced in version 0.18. """ + ... @overload def transformed(self, t: Trans) -> SimplePolygon: r""" @@ -51731,6 +57216,7 @@ class SimplePolygon: @return The transformed simple polygon. """ + ... def transformed_cplx(self, t: CplxTrans) -> DSimplePolygon: r""" @brief Transforms the simple polygon. @@ -51744,6 +57230,8 @@ class SimplePolygon: With version 0.25, the original 'transformed_cplx' method is deprecated and 'transformed' takes both simple and complex transformations. """ + ... + ... class SubCircuit(NetlistObject): r""" @@ -51784,33 +57272,39 @@ class SubCircuit(NetlistObject): r""" @brief Assigns another object to self """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _dup(self) -> SubCircuit: r""" @brief Creates a copy of self """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -51818,6 +57312,7 @@ class SubCircuit(NetlistObject): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -51825,6 +57320,14 @@ class SubCircuit(NetlistObject): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... + @overload + def circuit(self) -> Circuit: + r""" + @brief Gets the circuit the subcircuit lives in. + This is NOT the circuit which is referenced. For getting the circuit that the subcircuit references, use \circuit_ref. + """ + ... @overload def circuit(self) -> Circuit: r""" @@ -51833,17 +57336,7 @@ class SubCircuit(NetlistObject): This constness variant has been introduced in version 0.26.8 """ - @overload - def circuit(self) -> Circuit: - r""" - @brief Gets the circuit the subcircuit lives in. - This is NOT the circuit which is referenced. For getting the circuit that the subcircuit references, use \circuit_ref. - """ - @overload - def circuit_ref(self) -> Circuit: - r""" - @brief Gets the circuit referenced by the subcircuit. - """ + ... @overload def circuit_ref(self) -> Circuit: r""" @@ -51852,33 +57345,45 @@ class SubCircuit(NetlistObject): This constness variant has been introduced in version 0.26.8 """ + ... + @overload + def circuit_ref(self) -> Circuit: + r""" + @brief Gets the circuit referenced by the subcircuit. + """ + ... @overload def connect_pin(self, pin: Pin, net: Net) -> None: r""" @brief Connects the given pin to the specified net. This version takes a \Pin reference instead of a pin ID. """ + ... @overload def connect_pin(self, pin_id: int, net: Net) -> None: r""" @brief Connects the given pin to the specified net. """ + ... @overload def disconnect_pin(self, pin: Pin) -> None: r""" @brief Disconnects the given pin from any net. This version takes a \Pin reference instead of a pin ID. """ + ... @overload def disconnect_pin(self, pin_id: int) -> None: r""" @brief Disconnects the given pin from any net. """ + ... def expanded_name(self) -> str: r""" @brief Gets the expanded name of the subcircuit. The expanded name takes the name of the subcircuit. If the name is empty, the numeric ID will be used to build a name. """ + ... def id(self) -> int: r""" @brief Gets the subcircuit ID. @@ -51886,12 +57391,7 @@ class SubCircuit(NetlistObject): It can be used to retrieve the subcircuit from the circuit using \Circuit#subcircuit_by_id. When assigned, the subcircuit ID is not 0. """ - @overload - def net_for_pin(self, pin_id: int) -> Net: - r""" - @brief Gets the net connected to the specified pin of the subcircuit. - If the pin is not connected, nil is returned for the net. - """ + ... @overload def net_for_pin(self, pin_id: int) -> Net: r""" @@ -51900,6 +57400,15 @@ class SubCircuit(NetlistObject): This constness variant has been introduced in version 0.26.8 """ + ... + @overload + def net_for_pin(self, pin_id: int) -> Net: + r""" + @brief Gets the net connected to the specified pin of the subcircuit. + If the pin is not connected, nil is returned for the net. + """ + ... + ... class Technology: r""" @@ -52061,6 +57570,7 @@ class Technology: This method has been introduced in version 0.26. """ + ... @classmethod def create_technology(cls, name: str) -> Technology: r""" @@ -52070,16 +57580,19 @@ class Technology: This method returns a reference to the new technology. """ + ... @classmethod def has_technology(cls, name: str) -> bool: r""" @brief Returns a value indicating whether there is a technology with this name """ + ... @classmethod def new(cls) -> Technology: r""" @brief Creates a new object of this class """ + ... @classmethod def register_technology(cls, tech: Technology) -> Technology: r""" @@ -52091,11 +57604,13 @@ class Technology: This method has been introduced in version 0.28.14. """ + ... @classmethod def remove_technology(cls, name: str) -> None: r""" @brief Removes the technology with the given name from the system """ + ... @classmethod def technologies_from_xml(cls, xml: str) -> None: r""" @@ -52103,6 +57618,7 @@ class Technology: See \technologies_to_xml for details. """ + ... @classmethod def technologies_to_xml(cls) -> str: r""" @@ -52110,11 +57626,13 @@ class Technology: \technologies_from_xml can be used to restore the technology definitions. This method is provided mainly as a substitute for the pre-0.25 way of accessing technology data through the 'technology-data' configuration parameter. This method will return the equivalent string. """ + ... @classmethod def technology_by_name(cls, name: str) -> Technology: r""" @brief Gets the technology object for a given name """ + ... @classmethod def technology_from_xml(cls, xml: str) -> Technology: r""" @@ -52122,46 +57640,55 @@ class Technology: See \technology_to_xml for details. Note that this function will create a new Technology object which is not registered in the system. See \Technology#register for details. """ + ... @classmethod def technology_names(cls) -> List[str]: r""" @brief Gets a list of technology names defined in the system """ + ... def __copy__(self) -> Technology: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> Technology: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -52169,6 +57696,7 @@ class Technology: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -52176,10 +57704,12 @@ class Technology: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: Technology) -> None: r""" @brief Assigns another object to self """ + ... def base_path(self) -> str: r""" @brief Gets the base path of the technology @@ -52189,15 +57719,18 @@ class Technology: a technology file was imported. The explicit one is the one that is specified explicitly with \explicit_base_path=. """ + ... def component(self, name: str) -> TechnologyComponent: r""" @brief Gets the technology component with the given name The names are unique system identifiers. For all names, use \component_names. """ + ... def component_names(self) -> List[str]: r""" @brief Gets the names of all components available for \component """ + ... def correct_path(self, path: str) -> str: r""" @brief Makes a file path relative to the base path if one is specified @@ -52206,11 +57739,13 @@ class Technology: See \base_path for details about the default base path. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def default_grid(self) -> float: r""" @brief Gets the default grid @@ -52222,26 +57757,31 @@ class Technology: This property has been introduced in version 0.29. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> Technology: r""" @brief Creates a copy of self """ + ... def eff_layer_properties_file(self) -> str: r""" @brief Gets the effective path of the layer properties file """ + ... def eff_path(self, path: str) -> str: r""" @brief Makes a file path relative to the base path if one is specified @@ -52250,20 +57790,24 @@ class Technology: See \base_path for details about the default base path. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def load(self, file: str) -> None: r""" @brief Loads the technology definition from a file """ + ... def save(self, file: str) -> None: r""" @brief Saves the technology definition to a file """ + ... def set_default_grids(self, grids: Sequence[float], default_grid: Optional[float] = ...) -> None: r""" @brief Sets the default grids and the strong default one @@ -52272,12 +57816,15 @@ class Technology: This method has been introduced in version 0.29. """ + ... def to_xml(self) -> str: r""" @brief Returns a XML representation of this technolog \technology_from_xml can be used to restore the technology definition. """ + ... + ... class TechnologyComponent: r""" @@ -52293,33 +57840,39 @@ class TechnologyComponent: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -52327,6 +57880,7 @@ class TechnologyComponent: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -52334,38 +57888,46 @@ class TechnologyComponent: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def description(self) -> str: r""" @brief Gets the human-readable description string of the technology component """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def name(self) -> str: r""" @brief Gets the formal name of the technology component This is the name by which the component can be obtained from a technology using \Technology#component. """ + ... + ... class Text: r""" @@ -52431,8 +57993,7 @@ class Text: Setter: @brief Sets the horizontal alignment - This property specifies how the text is aligned relative to the anchor point. - This property has been introduced in version 0.22 and extended to enums in 0.28. + This is the version accepting integer values. It's provided for backward compatibility. """ size: int r""" @@ -52468,7 +58029,8 @@ class Text: Setter: @brief Sets the vertical alignment - This is the version accepting integer values. It's provided for backward compatibility. + This property specifies how the text is aligned relative to the anchor point. + This property has been introduced in version 0.22 and extended to enums in 0.28. """ x: int r""" @@ -52502,6 +58064,7 @@ class Text: This method has been added in version 0.23. """ + ... @overload @classmethod def new(cls) -> Text: @@ -52510,6 +58073,7 @@ class Text: Creates a text with unit transformation and empty text. """ + ... @overload @classmethod def new(cls, dtext: DText) -> Text: @@ -52517,6 +58081,7 @@ class Text: @brief Creates an integer coordinate text from a floating-point coordinate text This constructor has been introduced in version 0.25 and replaces the previous static method 'from_dtext'. """ + ... @overload @classmethod def new(cls, string: str, trans: Trans) -> Text: @@ -52526,6 +58091,7 @@ class Text: A string and a transformation is provided to this constructor. The transformation specifies the location and orientation of the text object. """ + ... @overload @classmethod def new(cls, string: str, trans: Trans, height: int, font: int) -> Text: @@ -52535,6 +58101,7 @@ class Text: A string and a transformation is provided to this constructor. The transformation specifies the location and orientation of the text object. In addition, the text height and font can be specified. """ + ... @overload @classmethod def new(cls, string: str, x: int, y: int) -> Text: @@ -52546,14 +58113,17 @@ class Text: This method has been introduced in version 0.23. """ + ... def __copy__(self) -> Text: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> Text: r""" @brief Creates a copy of self """ + ... def __eq__(self, text: object) -> bool: r""" @brief Equality @@ -52561,6 +58131,7 @@ class Text: Return true, if this text object and the given text are equal """ + ... def __hash__(self) -> int: r""" @brief Computes a hash value @@ -52568,6 +58139,7 @@ class Text: This method has been introduced in version 0.25. """ + ... @overload def __init__(self) -> None: r""" @@ -52575,12 +58147,14 @@ class Text: Creates a text with unit transformation and empty text. """ + ... @overload def __init__(self, dtext: DText) -> None: r""" @brief Creates an integer coordinate text from a floating-point coordinate text This constructor has been introduced in version 0.25 and replaces the previous static method 'from_dtext'. """ + ... @overload def __init__(self, string: str, trans: Trans) -> None: r""" @@ -52589,6 +58163,7 @@ class Text: A string and a transformation is provided to this constructor. The transformation specifies the location and orientation of the text object. """ + ... @overload def __init__(self, string: str, trans: Trans, height: int, font: int) -> None: r""" @@ -52597,6 +58172,7 @@ class Text: A string and a transformation is provided to this constructor. The transformation specifies the location and orientation of the text object. In addition, the text height and font can be specified. """ + ... @overload def __init__(self, string: str, x: int, y: int) -> None: r""" @@ -52607,12 +58183,14 @@ class Text: This method has been introduced in version 0.23. """ + ... def __lt__(self, t: Text) -> bool: r""" @brief Less operator @param t The object to compare against This operator is provided to establish some, not necessarily a certain sorting order """ + ... def __ne__(self, text: object) -> bool: r""" @brief Inequality @@ -52620,13 +58198,7 @@ class Text: Return true, if this text object and the given text are not equal """ - def __repr__(self, dbu: Optional[float] = ...) -> str: - r""" - @brief Converts the object to a string. - If a DBU is given, the output units will be micrometers. - - The DBU argument has been added in version 0.27.6. - """ + ... def __str__(self, dbu: Optional[float] = ...) -> str: r""" @brief Converts the object to a string. @@ -52634,29 +58206,34 @@ class Text: The DBU argument has been added in version 0.27.6. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -52664,6 +58241,7 @@ class Text: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -52671,10 +58249,12 @@ class Text: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: Text) -> None: r""" @brief Assigns another object to self """ + ... def bbox(self) -> Box: r""" @brief Gets the bounding box of the text @@ -52682,27 +58262,32 @@ class Text: This method has been added in version 0.28. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> Text: r""" @brief Creates a copy of self """ + ... def hash(self) -> int: r""" @brief Computes a hash value @@ -52710,12 +58295,14 @@ class Text: This method has been introduced in version 0.25. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... @overload def move(self, distance: Vector) -> Text: r""" @@ -52729,6 +58316,7 @@ class Text: @return A reference to this text object """ + ... @overload def move(self, dx: int, dy: int) -> Text: r""" @@ -52745,6 +58333,7 @@ class Text: This method was introduced in version 0.23. """ + ... @overload def moved(self, distance: Vector) -> Text: r""" @@ -52759,6 +58348,7 @@ class Text: @return The moved text. """ + ... @overload def moved(self, dx: int, dy: int) -> Text: r""" @@ -52776,12 +58366,14 @@ class Text: This method was introduced in version 0.23. """ + ... def position(self) -> Point: r""" @brief Gets the position of the text This convenience method has been added in version 0.28. """ + ... def to_dtype(self, dbu: Optional[float] = ...) -> DText: r""" @brief Converts the text to a floating-point coordinate text @@ -52789,6 +58381,7 @@ class Text: This method has been introduced in version 0.25. """ + ... def to_s(self, dbu: Optional[float] = ...) -> str: r""" @brief Converts the object to a string. @@ -52796,6 +58389,7 @@ class Text: The DBU argument has been added in version 0.27.6. """ + ... @overload def transformed(self, t: CplxTrans) -> DText: r""" @@ -52805,6 +58399,7 @@ class Text: @param t The magnifying transformation to apply @return The transformed text (a DText now) """ + ... @overload def transformed(self, t: ICplxTrans) -> Text: r""" @@ -52816,6 +58411,7 @@ class Text: This method has been introduced in version 0.18. """ + ... @overload def transformed(self, t: Trans) -> Text: r""" @@ -52825,6 +58421,8 @@ class Text: @param t The transformation to apply @return The transformed text """ + ... + ... class TextFilter: r""" @@ -52883,33 +58481,39 @@ class TextFilter: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -52917,6 +58521,7 @@ class TextFilter: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -52924,29 +58529,34 @@ class TextFilter: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_isotropic(self) -> None: r""" @brief Indicates that the filter has isotropic properties @@ -52954,6 +58564,7 @@ class TextFilter: Examples for isotropic (polygon) filters are area or perimeter filters. The area or perimeter of a polygon depends on the scale, but not on the orientation of the polygon. """ + ... def is_isotropic_and_scale_invariant(self) -> None: r""" @brief Indicates that the filter is isotropic and scale invariant @@ -52961,6 +58572,7 @@ class TextFilter: An example for such a (polygon) filter is the square selector. Whether a polygon is a square or not does not depend on the polygon's orientation nor scale. """ + ... def is_scale_invariant(self) -> None: r""" @brief Indicates that the filter is scale invariant @@ -52968,6 +58580,8 @@ class TextFilter: An example for a scale invariant (polygon) filter is the bounding box aspect ratio (height/width) filter. The definition of heigh and width depends on the orientation, but the ratio is independent on scale. """ + ... + ... class TextGenerator: r""" @@ -53024,6 +58638,7 @@ class TextGenerator: @brief Gets the default text generator (a standard font) This method delivers the default generator or nil if no such generator is installed. """ + ... @classmethod def font_paths(cls) -> List[str]: r""" @@ -53032,23 +58647,27 @@ class TextGenerator: This method has been introduced in version 0.27.4. """ + ... @classmethod def generator_by_name(cls, name: str) -> TextGenerator: r""" @brief Gets the text generator for a given name This method delivers the generator with the given name or nil if no such generator is registered. """ + ... @classmethod def generators(cls) -> List[TextGenerator]: r""" @brief Gets the generators registered in the system This method delivers a list of generator objects that can be used to create texts. """ + ... @classmethod def new(cls) -> TextGenerator: r""" @brief Creates a new object of this class """ + ... @classmethod def set_font_paths(cls, paths: Sequence[str]) -> None: r""" @@ -53057,41 +58676,49 @@ class TextGenerator: This method has been introduced in version 0.27.4. """ + ... def __copy__(self) -> TextGenerator: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> TextGenerator: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -53099,6 +58726,7 @@ class TextGenerator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -53106,112 +58734,134 @@ class TextGenerator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: TextGenerator) -> None: r""" @brief Assigns another object to self """ + ... def background(self) -> Box: r""" @brief Gets the background rectangle of each glyph in the generator's database units The background rectangle is the one that is used as background for inverted rendering. A version that delivers this value in micrometer units is \dbackground. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def dbackground(self) -> DBox: r""" @brief Gets the background rectangle in micron units The background rectangle is the one that is used as background for inverted rendering. """ + ... def dbu(self) -> float: r""" @brief Gets the basic database unit the design of the glyphs was made This database unit the basic resolution of the glyphs. """ + ... def ddesign_grid(self) -> float: r""" @brief Gets the design grid of the glyphs in micron units The design grid is the basic grid used when designing the glyphs. In most cases this grid is bigger than the database unit. """ + ... def description(self) -> str: r""" @brief Gets the description text of the generator The generator's description text is a human-readable text that is used to identify the generator (aka 'font') in user interfaces. """ + ... def design_grid(self) -> int: r""" @brief Gets the design grid of the glyphs in the generator's database units The design grid is the basic grid used when designing the glyphs. In most cases this grid is bigger than the database unit. A version that delivers this value in micrometer units is \ddesign_grid. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dheight(self) -> float: r""" @brief Gets the design height of the glyphs in micron units The height is the height of the rectangle occupied by each character. """ + ... def dline_width(self) -> float: r""" @brief Gets the line width of the glyphs in micron units The line width is the intended (not necessarily precisely) line width of typical character lines (such as the bar of an 'I'). """ + ... def dup(self) -> TextGenerator: r""" @brief Creates a copy of self """ + ... def dwidth(self) -> float: r""" @brief Gets the design width of the glyphs in micron units The width is the width of the rectangle occupied by each character. """ + ... def glyph(self, char: str) -> Region: r""" @brief Gets the glyph of the given character as a region The region represents the glyph's outline and is delivered in the generator's database units .A more elaborate way to getting the text's outline is \text. """ + ... def height(self) -> int: r""" @brief Gets the design height of the glyphs in the generator's database units The height is the height of the rectangle occupied by each character. A version that delivers this value in micrometer units is \dheight. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def line_width(self) -> int: r""" @brief Gets the line width of the glyphs in the generator's database units The line width is the intended (not necessarily precisely) line width of typical character lines (such as the bar of an 'I'). A version that delivers this value in micrometer units is \dline_width. """ + ... def load_from_file(self, path: str) -> None: r""" @brief Loads the given file into the generator See the description of the class how the layout data is read. """ + ... def load_from_resource(self, resource_path: str) -> None: r""" @brief Loads the given resource data (as layout data) into the generator The resource path has to start with a colon, i.e. ':/my/resource.gds'. See the description of the class how the layout data is read. """ + ... def name(self) -> str: r""" @brief Gets the name of the generator The generator's name is the basic key by which the generator is identified. """ + ... def text(self, text: str, target_dbu: float, mag: Optional[float] = ..., inv: Optional[bool] = ..., bias: Optional[float] = ..., char_spacing: Optional[float] = ..., line_spacing: Optional[float] = ...) -> Region: r""" @brief Gets the rendered text as a region @@ -53224,11 +58874,14 @@ class TextGenerator: @param line_spacing Additional space between lines (in micron units) Various options can be specified to control the appearance of the text. See the description of the parameters. It's important to specify the target database unit in \target_dbu to indicate what database unit shall be used to create the output for. """ + ... def width(self) -> int: r""" @brief Gets the design height of the glyphs in the generator's database units The width is the width of the rectangle occupied by each character. A version that delivers this value in micrometer units is \dwidth. """ + ... + ... class TextOperator: r""" @@ -53289,33 +58942,39 @@ class TextOperator: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -53323,6 +58982,7 @@ class TextOperator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -53330,29 +58990,34 @@ class TextOperator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_isotropic(self) -> None: r""" @brief Indicates that the filter has isotropic properties @@ -53360,6 +59025,7 @@ class TextOperator: Examples for isotropic (polygon) processors are size or shrink operators. Size or shrink is not dependent on orientation unless size or shrink needs to be different in x and y direction. """ + ... def is_isotropic_and_scale_invariant(self) -> None: r""" @brief Indicates that the filter is isotropic and scale invariant @@ -53367,6 +59033,7 @@ class TextOperator: An example for such a (polygon) processor is the convex decomposition operator. The decomposition of a polygon into convex parts is an operation that is not depending on scale nor orientation. """ + ... def is_scale_invariant(self) -> None: r""" @brief Indicates that the filter is scale invariant @@ -53374,6 +59041,8 @@ class TextOperator: An example for a scale invariant (polygon) processor is the rotation operator. Rotation is not depending on scale, but on the original orientation as mirrored versions need to be rotated differently. """ + ... + ... class TextToPolygonOperator: r""" @@ -53414,33 +59083,39 @@ class TextToPolygonOperator: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -53448,6 +59123,7 @@ class TextToPolygonOperator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -53455,29 +59131,34 @@ class TextToPolygonOperator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_isotropic(self) -> None: r""" @brief Indicates that the filter has isotropic properties @@ -53485,6 +59166,7 @@ class TextToPolygonOperator: Examples for isotropic (polygon) processors are size or shrink operators. Size or shrink is not dependent on orientation unless size or shrink needs to be different in x and y direction. """ + ... def is_isotropic_and_scale_invariant(self) -> None: r""" @brief Indicates that the filter is isotropic and scale invariant @@ -53492,6 +59174,7 @@ class TextToPolygonOperator: An example for such a (polygon) processor is the convex decomposition operator. The decomposition of a polygon into convex parts is an operation that is not depending on scale nor orientation. """ + ... def is_scale_invariant(self) -> None: r""" @brief Indicates that the filter is scale invariant @@ -53499,6 +59182,8 @@ class TextToPolygonOperator: An example for a scale invariant (polygon) processor is the rotation operator. Rotation is not depending on scale, but on the original orientation as mirrored versions need to be rotated differently. """ + ... + ... class Texts(ShapeCollection): r""" @@ -53522,6 +59207,7 @@ class Texts(ShapeCollection): This constructor creates an empty text collection. """ + ... @overload @classmethod def new(cls, array: Sequence[Text]) -> Texts: @@ -53530,6 +59216,7 @@ class Texts(ShapeCollection): This constructor creates an text collection from an array of \Text objects. """ + ... @overload @classmethod def new(cls, shape_iterator: RecursiveShapeIterator) -> Texts: @@ -53547,6 +59234,7 @@ class Texts(ShapeCollection): r = RBA::Texts::new(layout.begin_shapes(cell, layer)) @/code """ + ... @overload @classmethod def new(cls, shape_iterator: RecursiveShapeIterator, dss: DeepShapeStore) -> Texts: @@ -53564,6 +59252,7 @@ class Texts(ShapeCollection): r = RBA::Texts::new(layout.begin_shapes(cell, layer)) @/code """ + ... @overload @classmethod def new(cls, shape_iterator: RecursiveShapeIterator, dss: DeepShapeStore, trans: ICplxTrans) -> Texts: @@ -53583,6 +59272,7 @@ class Texts(ShapeCollection): r = RBA::Texts::new(layout.begin_shapes(cell, layer), RBA::ICplxTrans::new(layout.dbu / dbu)) @/code """ + ... @overload @classmethod def new(cls, shape_iterator: RecursiveShapeIterator, trans: ICplxTrans) -> Texts: @@ -53603,6 +59293,7 @@ class Texts(ShapeCollection): r = RBA::Texts::new(layout.begin_shapes(cell, layer), RBA::ICplxTrans::new(layout.dbu / dbu)) @/code """ + ... @overload @classmethod def new(cls, shapes: Shapes) -> Texts: @@ -53611,6 +59302,7 @@ class Texts(ShapeCollection): This constructor creates an text collection from a \Shapes collection. """ + ... @overload @classmethod def new(cls, text: Text) -> Texts: @@ -53619,6 +59311,7 @@ class Texts(ShapeCollection): This constructor creates an text collection with a single text. """ + ... def __add__(self, other: Texts) -> Texts: r""" @brief Returns the combined text collection of self and the other one @@ -53629,20 +59322,24 @@ class Texts(ShapeCollection): The 'join' alias has been introduced in version 0.28.12. """ + ... def __and__(self, other: Region) -> Texts: r""" @brief Returns the texts from this text collection which are inside or on the edge of polygons from the given region @return A new text collection containing the texts inside or on the edge of polygons from the region """ + ... def __copy__(self) -> Texts: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> Texts: r""" @brief Creates a copy of self """ + ... def __getitem__(self, n: int) -> Text: r""" @brief Returns the nth text @@ -53651,6 +59348,7 @@ class Texts(ShapeCollection): The \each iterator is the more general approach to access the texts. """ + ... def __iadd__(self, other: Texts) -> Texts: r""" @brief Adds the texts of the other text collection to self @@ -53663,6 +59361,7 @@ class Texts(ShapeCollection): The 'join_with' alias has been introduced in version 0.28.12. """ + ... @overload def __init__(self) -> None: r""" @@ -53670,6 +59369,7 @@ class Texts(ShapeCollection): This constructor creates an empty text collection. """ + ... @overload def __init__(self, array: Sequence[Text]) -> None: r""" @@ -53677,6 +59377,7 @@ class Texts(ShapeCollection): This constructor creates an text collection from an array of \Text objects. """ + ... @overload def __init__(self, shape_iterator: RecursiveShapeIterator) -> None: r""" @@ -53693,6 +59394,7 @@ class Texts(ShapeCollection): r = RBA::Texts::new(layout.begin_shapes(cell, layer)) @/code """ + ... @overload def __init__(self, shape_iterator: RecursiveShapeIterator, dss: DeepShapeStore) -> None: r""" @@ -53709,6 +59411,7 @@ class Texts(ShapeCollection): r = RBA::Texts::new(layout.begin_shapes(cell, layer)) @/code """ + ... @overload def __init__(self, shape_iterator: RecursiveShapeIterator, dss: DeepShapeStore, trans: ICplxTrans) -> None: r""" @@ -53727,6 +59430,7 @@ class Texts(ShapeCollection): r = RBA::Texts::new(layout.begin_shapes(cell, layer), RBA::ICplxTrans::new(layout.dbu / dbu)) @/code """ + ... @overload def __init__(self, shape_iterator: RecursiveShapeIterator, trans: ICplxTrans) -> None: r""" @@ -53746,6 +59450,7 @@ class Texts(ShapeCollection): r = RBA::Texts::new(layout.begin_shapes(cell, layer), RBA::ICplxTrans::new(layout.dbu / dbu)) @/code """ + ... @overload def __init__(self, shapes: Shapes) -> None: r""" @@ -53753,6 +59458,7 @@ class Texts(ShapeCollection): This constructor creates an text collection from a \Shapes collection. """ + ... @overload def __init__(self, text: Text) -> None: r""" @@ -53760,10 +59466,12 @@ class Texts(ShapeCollection): This constructor creates an text collection with a single text. """ + ... def __iter__(self) -> Iterator[Text]: r""" @brief Returns each text of the text collection """ + ... def __len__(self) -> int: r""" @brief Returns the (flat) number of texts in the text collection @@ -53772,45 +59480,47 @@ class Texts(ShapeCollection): Starting with version 0.27, the method is called 'count' for consistency with \Region. 'size' is still provided as an alias. """ - def __repr__(self) -> str: - r""" - @brief Converts the text collection to a string - The length of the output is limited to 20 texts to avoid giant strings on large collections. For full output use "to_s" with a maximum count parameter. - """ + ... def __str__(self) -> str: r""" @brief Converts the text collection to a string The length of the output is limited to 20 texts to avoid giant strings on large collections. For full output use "to_s" with a maximum count parameter. """ + ... def __sub__(self, other: Region) -> Texts: r""" @brief Returns the texts from this text collection which are not inside or on the edge of polygons from the given region @return A new text collection containing the texts not inside or on the edge of polygons from the region """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -53818,6 +59528,7 @@ class Texts(ShapeCollection): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -53825,19 +59536,23 @@ class Texts(ShapeCollection): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: ShapeCollection) -> None: r""" @brief Assigns another object to self """ + ... def bbox(self) -> Box: r""" @brief Return the bounding box of the text collection The bounding box is the box enclosing all origins of all texts. """ + ... def clear(self) -> None: r""" @brief Clears the text collection """ + ... def count(self) -> int: r""" @brief Returns the (flat) number of texts in the text collection @@ -53846,28 +59561,54 @@ class Texts(ShapeCollection): Starting with version 0.27, the method is called 'count' for consistency with \Region. 'size' is still provided as an alias. """ + ... + def create(self) -> None: + r""" + @brief Ensures the C++ object is created + Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. + """ + ... def data_id(self) -> int: r""" @brief Returns the data ID (a unique identifier for the underlying data storage) """ + ... + def destroy(self) -> None: + r""" + @brief Explicitly destroys the object + Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. + If the object is not owned by the script, this method will do nothing. + """ + ... + def destroyed(self) -> bool: + r""" + @brief Returns a value indicating whether the object was already destroyed + This method returns true, if the object was destroyed, either explicitly or by the C++ side. + The latter may happen, if the object is owned by a C++ object which got destroyed itself. + """ + ... def disable_progress(self) -> None: r""" @brief Disable progress reporting Calling this method will disable progress reporting. See \enable_progress. """ + ... def dup(self) -> Texts: r""" @brief Creates a copy of self """ + ... def each(self) -> Iterator[Text]: r""" @brief Returns each text of the text collection """ + ... def edges(self) -> Edges: r""" @brief Returns dot-like edges for the texts @return An edge collection containing the individual, dot-like edges """ + ... def enable_progress(self, label: str) -> None: r""" @brief Enable progress reporting @@ -53875,6 +59616,7 @@ class Texts(ShapeCollection): The label is a text which is put in front of the progress bar. Using a progress bar will imply a performance penalty of a few percent typically. """ + ... def enable_properties(self) -> None: r""" @brief Enables properties for the given container. @@ -53882,6 +59624,7 @@ class Texts(ShapeCollection): This method has been introduced in version 0.28.4. """ + ... @overload def extents(self, d: Optional[int] = ...) -> Region: r""" @@ -53890,12 +59633,14 @@ class Texts(ShapeCollection): The bounding box is centered at the text's location. The boxes will not be merged, so it is possible to determine overlaps of these boxes for example. """ + ... @overload def extents(self, dx: int, dy: int) -> Region: r""" @brief Returns a region with the enlarged bounding boxes of the texts This method acts like the other version of \extents, but allows giving different enlargements for x and y direction. """ + ... def filter(self, filter: TextFilter) -> None: r""" @brief Applies a generic filter in place (replacing the texts from the Texts collection) @@ -53903,6 +59648,7 @@ class Texts(ShapeCollection): This method has been introduced in version 0.29. """ + ... def filter_properties(self, keys: Sequence[Any]) -> None: r""" @brief Filters properties by certain keys. @@ -53911,6 +59657,7 @@ class Texts(ShapeCollection): This method has been introduced in version 0.28.4. """ + ... def filtered(self, filtered: TextFilter) -> Texts: r""" @brief Applies a generic filter and returns a filtered copy @@ -53918,16 +59665,19 @@ class Texts(ShapeCollection): This method has been introduced in version 0.29. """ + ... def flatten(self) -> None: r""" @brief Explicitly flattens an text collection If the collection is already flat (i.e. \has_valid_texts? returns true), this method will not change the collection. """ + ... def has_valid_texts(self) -> bool: r""" @brief Returns true if the text collection is flat and individual texts can be accessed randomly """ + ... def hier_count(self) -> int: r""" @brief Returns the (hierarchical) number of texts in the text collection @@ -53936,21 +59686,25 @@ class Texts(ShapeCollection): This method has been introduced in version 0.27. """ + ... @overload def insert(self, text: Text) -> None: r""" @brief Inserts a text into the collection """ + ... @overload def insert(self, texts: Texts) -> None: r""" @brief Inserts all texts from the other text collection into this collection """ + ... def insert_into(self, layout: Layout, cell_index: int, layer: int) -> None: r""" @brief Inserts this texts into the given layout, below the given cell and into the given layer. If the text collection is a hierarchical one, a suitable hierarchy will be built below the top cell or and existing hierarchy will be reused. """ + ... def insert_into_as_polygons(self, layout: Layout, cell_index: int, layer: int, e: int) -> None: r""" @brief Inserts this texts into the given layout, below the given cell and into the given layer. @@ -53958,20 +59712,31 @@ class Texts(ShapeCollection): The texts will be converted to polygons with the enlargement value given be 'e'. See \polygon or \extents for details. """ + ... def interacting(self, other: Region) -> Texts: r""" @brief Returns the texts from this text collection which are inside or on the edge of polygons from the given region @return A new text collection containing the texts inside or on the edge of polygons from the region """ + ... + def is_const_object(self) -> bool: + r""" + @brief Returns a value indicating whether the reference is a const reference + This method returns true, if self is a const reference. + In that case, only const methods may be called on self. + """ + ... def is_deep(self) -> bool: r""" @brief Returns true if the edge pair collection is a deep (hierarchical) one """ + ... def is_empty(self) -> bool: r""" @brief Returns true if the collection is empty """ + ... def join(self, other: Texts) -> Texts: r""" @brief Returns the combined text collection of self and the other one @@ -53982,6 +59747,7 @@ class Texts(ShapeCollection): The 'join' alias has been introduced in version 0.28.12. """ + ... def join_with(self, other: Texts) -> Texts: r""" @brief Adds the texts of the other text collection to self @@ -53994,6 +59760,7 @@ class Texts(ShapeCollection): The 'join_with' alias has been introduced in version 0.28.12. """ + ... def map_properties(self, key_map: Dict[Any, Any]) -> None: r""" @brief Maps properties by name key. @@ -54002,6 +59769,7 @@ class Texts(ShapeCollection): This method has been introduced in version 0.28.4. """ + ... @overload def move(self, p: Vector) -> Texts: r""" @@ -54014,6 +59782,7 @@ class Texts(ShapeCollection): @return The moved texts (self). """ + ... @overload def move(self, x: int, y: int) -> Texts: r""" @@ -54027,6 +59796,7 @@ class Texts(ShapeCollection): @return The moved texts (self). """ + ... @overload def moved(self, p: Vector) -> Texts: r""" @@ -54039,6 +59809,7 @@ class Texts(ShapeCollection): @return The moved texts. """ + ... @overload def moved(self, x: int, y: int) -> Texts: r""" @@ -54052,17 +59823,20 @@ class Texts(ShapeCollection): @return The moved texts. """ + ... def not_interacting(self, other: Region) -> Texts: r""" @brief Returns the texts from this text collection which are not inside or on the edge of polygons from the given region @return A new text collection containing the texts not inside or on the edge of polygons from the region """ + ... def polygons(self, e: Optional[int] = ...) -> Region: r""" @brief Converts the edge pairs to polygons This method creates polygons from the texts. This is equivalent to calling \extents. """ + ... def process(self, process: TextOperator) -> None: r""" @brief Applies a generic text processor in place (replacing the texts from the text collection) @@ -54070,6 +59844,7 @@ class Texts(ShapeCollection): This method has been introduced in version 0.29. """ + ... @overload def processed(self, processed: TextOperator) -> Texts: r""" @@ -54078,6 +59853,7 @@ class Texts(ShapeCollection): This method has been introduced in version 0.29. """ + ... @overload def processed(self, processed: TextToPolygonOperator) -> Region: r""" @@ -54086,6 +59862,7 @@ class Texts(ShapeCollection): This method has been introduced in version 0.29. """ + ... def pull_interacting(self, other: Region) -> Region: r""" @brief Returns all polygons of "other" which are including texts of this text set @@ -54095,6 +59872,7 @@ class Texts(ShapeCollection): Merged semantics applies for the polygon region. """ + ... def remove_properties(self) -> None: r""" @brief Removes properties for the given container. @@ -54102,6 +59880,7 @@ class Texts(ShapeCollection): This method has been introduced in version 0.28.4. """ + ... def select_interacting(self, other: Region) -> Texts: r""" @brief Selects the texts from this text collection which are inside or on the edge of polygons from the given region @@ -54110,6 +59889,7 @@ class Texts(ShapeCollection): In contrast to \interacting, this method will modify self. """ + ... def select_not_interacting(self, other: Region) -> Texts: r""" @brief Selects the texts from this text collection which are not inside or on the edge of polygons from the given region @@ -54118,6 +59898,7 @@ class Texts(ShapeCollection): In contrast to \interacting, this method will modify self. """ + ... def size(self) -> int: r""" @brief Returns the (flat) number of texts in the text collection @@ -54126,23 +59907,27 @@ class Texts(ShapeCollection): Starting with version 0.27, the method is called 'count' for consistency with \Region. 'size' is still provided as an alias. """ + ... def swap(self, other: Texts) -> None: r""" @brief Swap the contents of this collection with the contents of another collection This method is useful to avoid excessive memory allocation in some cases. For managed memory languages such as Ruby, those cases will be rare. """ + ... @overload def to_s(self) -> str: r""" @brief Converts the text collection to a string The length of the output is limited to 20 texts to avoid giant strings on large collections. For full output use "to_s" with a maximum count parameter. """ + ... @overload def to_s(self, max_count: int) -> str: r""" @brief Converts the text collection to a string This version allows specification of the maximum number of texts contained in the string. """ + ... @overload def transform(self, t: ICplxTrans) -> Texts: r""" @@ -54155,6 +59940,7 @@ class Texts(ShapeCollection): @return The transformed text collection. """ + ... @overload def transform(self, t: Trans) -> Texts: r""" @@ -54167,6 +59953,7 @@ class Texts(ShapeCollection): @return The transformed text collection. """ + ... def transform_icplx(self, t: ICplxTrans) -> Texts: r""" @brief Transform the text collection with a complex transformation (modifies self) @@ -54178,6 +59965,7 @@ class Texts(ShapeCollection): @return The transformed text collection. """ + ... @overload def transformed(self, t: ICplxTrans) -> Texts: r""" @@ -54190,6 +59978,7 @@ class Texts(ShapeCollection): @return The transformed texts. """ + ... @overload def transformed(self, t: Trans) -> Texts: r""" @@ -54202,6 +59991,7 @@ class Texts(ShapeCollection): @return The transformed texts. """ + ... def transformed_icplx(self, t: ICplxTrans) -> Texts: r""" @brief Transform the text collection with a complex transformation @@ -54213,6 +60003,7 @@ class Texts(ShapeCollection): @return The transformed texts. """ + ... def with_match(self, pattern: str, inverse: bool) -> Texts: r""" @brief Filter the text by glob pattern @@ -54220,12 +60011,14 @@ class Texts(ShapeCollection): If "inverse" is false, this method returns the texts matching the pattern. If "inverse" is true, this method returns the texts not matching the pattern. """ + ... def with_text(self, text: str, inverse: bool) -> Texts: r""" @brief Filter the text by text string If "inverse" is false, this method returns the texts with the given string. If "inverse" is true, this method returns the texts not having the given string. """ + ... def write(self, filename: str) -> None: r""" @brief Writes the region to a file @@ -54233,6 +60026,8 @@ class Texts(ShapeCollection): This method has been introduced in version 0.29. """ + ... + ... class TileOutputReceiver(TileOutputReceiverBase): r""" @@ -54246,33 +60041,39 @@ class TileOutputReceiver(TileOutputReceiverBase): r""" @brief Assigns another object to self """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _dup(self) -> TileOutputReceiver: r""" @brief Creates a copy of self """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -54280,6 +60081,7 @@ class TileOutputReceiver(TileOutputReceiverBase): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -54287,6 +60089,8 @@ class TileOutputReceiver(TileOutputReceiverBase): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... + ... class TileOutputReceiverBase: r""" @@ -54298,41 +60102,49 @@ class TileOutputReceiverBase: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> TileOutputReceiverBase: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> TileOutputReceiverBase: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -54340,6 +60152,7 @@ class TileOutputReceiverBase: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -54347,37 +60160,44 @@ class TileOutputReceiverBase: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: TileOutputReceiverBase) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> TileOutputReceiverBase: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def processor(self) -> TilingProcessor: r""" @brief Gets the processor the receiver is attached to @@ -54386,6 +60206,8 @@ class TileOutputReceiverBase: This method has been introduced in version 0.25. """ + ... + ... class TilingProcessor: r""" @@ -54466,6 +60288,7 @@ class TilingProcessor: This method has been introduced in version 0.25. """ + ... scale_to_dbu: bool r""" Getter: @@ -54492,41 +60315,49 @@ class TilingProcessor: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> TilingProcessor: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> TilingProcessor: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -54534,6 +60365,7 @@ class TilingProcessor: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -54541,37 +60373,44 @@ class TilingProcessor: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: TilingProcessor) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> TilingProcessor: r""" @brief Creates a copy of self """ + ... def execute(self, desc: str) -> None: r""" @brief Runs the job This method will initiate execution of the queued scripts, once for every tile. The desc is a text shown in the progress bar for example. """ + ... @overload def input(self, name: str, edge_pairs: EdgePairs) -> None: r""" @@ -54583,6 +60422,7 @@ class TilingProcessor: The name specifies the variable under which the input can be used in the scripts. This variant has been introduced in version 0.27. """ + ... @overload def input(self, name: str, edge_pairs: EdgePairs, trans: ICplxTrans) -> None: r""" @@ -54594,6 +60434,7 @@ class TilingProcessor: The name specifies the variable under which the input can be used in the scripts. This variant has been introduced in version 0.27. """ + ... @overload def input(self, name: str, edges: Edges) -> None: r""" @@ -54604,6 +60445,7 @@ class TilingProcessor: The name specifies the variable under which the input can be used in the scripts. """ + ... @overload def input(self, name: str, edges: Edges, trans: ICplxTrans) -> None: r""" @@ -54616,6 +60458,7 @@ class TilingProcessor: This variant allows one to specify an additional transformation too. It has been introduced in version 0.23.2. """ + ... @overload def input(self, name: str, iter: RecursiveShapeIterator) -> None: r""" @@ -54624,6 +60467,7 @@ class TilingProcessor: The name specifies the variable under which the input can be used in the scripts. """ + ... @overload def input(self, name: str, iter: RecursiveShapeIterator, trans: ICplxTrans) -> None: r""" @@ -54633,6 +60477,7 @@ class TilingProcessor: The name specifies the variable under which the input can be used in the scripts. """ + ... @overload def input(self, name: str, layout: Layout, cell_index: int, layer: int) -> None: r""" @@ -54642,6 +60487,7 @@ class TilingProcessor: The name specifies the variable under which the input can be used in the scripts. """ + ... @overload def input(self, name: str, layout: Layout, cell_index: int, layer: int, trans: ICplxTrans) -> None: r""" @@ -54652,6 +60498,7 @@ class TilingProcessor: The name specifies the variable under which the input can be used in the scripts. """ + ... @overload def input(self, name: str, layout: Layout, cell_index: int, lp: LayerInfo) -> None: r""" @@ -54661,6 +60508,7 @@ class TilingProcessor: The name specifies the variable under which the input can be used in the scripts. """ + ... @overload def input(self, name: str, layout: Layout, cell_index: int, lp: LayerInfo, trans: ICplxTrans) -> None: r""" @@ -54671,6 +60519,7 @@ class TilingProcessor: The name specifies the variable under which the input can be used in the scripts. """ + ... @overload def input(self, name: str, region: Region) -> None: r""" @@ -54681,6 +60530,7 @@ class TilingProcessor: The name specifies the variable under which the input can be used in the scripts. """ + ... @overload def input(self, name: str, region: Region, trans: ICplxTrans) -> None: r""" @@ -54692,6 +60542,7 @@ class TilingProcessor: The name specifies the variable under which the input can be used in the scripts. This variant allows one to specify an additional transformation too. It has been introduced in version 0.23.2. """ + ... @overload def input(self, name: str, texts: Texts) -> None: r""" @@ -54703,6 +60554,7 @@ class TilingProcessor: The name specifies the variable under which the input can be used in the scripts. This variant has been introduced in version 0.27. """ + ... @overload def input(self, name: str, texts: Texts, trans: ICplxTrans) -> None: r""" @@ -54714,12 +60566,14 @@ class TilingProcessor: The name specifies the variable under which the input can be used in the scripts. This variant has been introduced in version 0.27. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... @overload def output(self, name: str, edge_pairs: EdgePairs) -> None: r""" @@ -54732,6 +60586,7 @@ class TilingProcessor: @param name The name of the channel @param edge_pairs The \EdgePairs object to which the data is sent """ + ... @overload def output(self, name: str, edges: Edges) -> None: r""" @@ -54744,6 +60599,7 @@ class TilingProcessor: @param name The name of the channel @param edges The \Edges object to which the data is sent """ + ... @overload def output(self, name: str, image: lay.BasicImage) -> None: r""" @@ -54752,6 +60608,7 @@ class TilingProcessor: The name is the name which must be used in the _output function of the scripts in order to address that channel. """ + ... @overload def output(self, name: str, layout: Layout, cell: int, layer_index: int) -> None: r""" @@ -54765,6 +60622,7 @@ class TilingProcessor: @param cell The index of the cell to which the data is sent @param layer_index The layer index where the output will be sent to """ + ... @overload def output(self, name: str, layout: Layout, cell: int, lp: LayerInfo) -> None: r""" @@ -54778,6 +60636,7 @@ class TilingProcessor: @param cell The index of the cell to which the data is sent @param lp The layer specification where the output will be sent to """ + ... @overload def output(self, name: str, rdb: rdb.ReportDatabase, cell_id: int, category_id: int) -> None: r""" @@ -54786,6 +60645,7 @@ class TilingProcessor: The name is the name which must be used in the _output function of the scripts in order to address that channel. """ + ... @overload def output(self, name: str, rec: TileOutputReceiverBase) -> None: r""" @@ -54819,6 +60679,7 @@ class TilingProcessor: tp.execute("Job description") @/code """ + ... @overload def output(self, name: str, region: Region) -> None: r""" @@ -54831,6 +60692,7 @@ class TilingProcessor: @param name The name of the channel @param region The \Region object to which the data is sent """ + ... @overload def output(self, name: str, sum: float) -> None: r""" @@ -54840,6 +60702,7 @@ class TilingProcessor: The name is the name which must be used in the _output function of the scripts in order to address that channel. """ + ... @overload def output(self, name: str, texts: Texts) -> None: r""" @@ -54854,6 +60717,7 @@ class TilingProcessor: This variant has been introduced in version 0.27. """ + ... def queue(self, script: str) -> None: r""" @brief Queues a script for parallel execution @@ -54862,6 +60726,7 @@ class TilingProcessor: The scripts have "Expressions" syntax and can make use of several predefined variables and functions. See the \TilingProcessor class description for details. """ + ... def tile_border(self, bx: float, by: float) -> None: r""" @brief Sets the tile border @@ -54870,6 +60735,7 @@ class TilingProcessor: The tile border is given in micron. """ + ... def tile_origin(self, xo: float, yo: float) -> None: r""" @brief Sets the tile origin @@ -54878,6 +60744,7 @@ class TilingProcessor: The tile origin is given in micron. """ + ... def tile_size(self, w: float, h: float) -> None: r""" @brief Sets the tile size @@ -54886,18 +60753,22 @@ class TilingProcessor: The tile size is given in micron. """ + ... def tiles(self, nw: int, nh: int) -> None: r""" @brief Sets the tile count Specifies the number of tiles to be used. If no tile number is specified, the number of tiles required is computed from the layout's dimensions and the tile size. If a number is given, but no tile size, the tile size will be computed from the layout's dimensions. """ + ... def var(self, name: str, value: Any) -> None: r""" @brief Defines a variable for the tiling processor script The name specifies the variable under which the value can be used in the scripts. """ + ... + ... class Trans: r""" @@ -55018,6 +60889,7 @@ class Trans: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_dtrans'. """ + ... @classmethod def from_s(cls, s: str) -> Trans: r""" @@ -55026,12 +60898,14 @@ class Trans: This method has been added in version 0.23. """ + ... @overload @classmethod def new(cls) -> Trans: r""" @brief Creates a unit transformation """ + ... @overload @classmethod def new(cls, c: Trans, u: Optional[Vector] = ...) -> Trans: @@ -55045,6 +60919,7 @@ class Trans: @param c The original transformation @param u The Additional displacement """ + ... @overload @classmethod def new(cls, c: Trans, x: Optional[int] = ..., y: Optional[int] = ...) -> Trans: @@ -55059,6 +60934,7 @@ class Trans: @param x The Additional displacement (x) @param y The Additional displacement (y) """ + ... @overload @classmethod def new(cls, dtrans: DTrans) -> Trans: @@ -55067,6 +60943,7 @@ class Trans: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_dtrans'. """ + ... @overload @classmethod def new(cls, rot: Optional[int] = ..., mirrx: Optional[bool] = ..., u: Optional[Vector] = ...) -> Trans: @@ -55080,6 +60957,7 @@ class Trans: @param mirrx True, if mirrored at x axis @param u The displacement """ + ... @overload @classmethod def new(cls, rot: Optional[int] = ..., mirrx: Optional[bool] = ..., x: Optional[int] = ..., y: Optional[int] = ...) -> Trans: @@ -55094,6 +60972,7 @@ class Trans: @param x The horizontal displacement @param y The vertical displacement """ + ... @overload @classmethod def new(cls, u: Vector) -> Trans: @@ -55102,6 +60981,7 @@ class Trans: @param u The displacement """ + ... @overload @classmethod def new(cls, x: int, y: int) -> Trans: @@ -55111,18 +60991,22 @@ class Trans: @param x The horizontal displacement @param y The vertical displacement """ + ... def __copy__(self) -> Trans: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> Trans: r""" @brief Creates a copy of self """ + ... def __eq__(self, other: object) -> bool: r""" @brief Tests for equality """ + ... def __hash__(self) -> int: r""" @brief Computes a hash value @@ -55130,11 +61014,13 @@ class Trans: This method has been introduced in version 0.25. """ + ... @overload def __init__(self) -> None: r""" @brief Creates a unit transformation """ + ... @overload def __init__(self, c: Trans, u: Optional[Vector] = ...) -> None: r""" @@ -55147,6 +61033,7 @@ class Trans: @param c The original transformation @param u The Additional displacement """ + ... @overload def __init__(self, c: Trans, x: Optional[int] = ..., y: Optional[int] = ...) -> None: r""" @@ -55160,6 +61047,7 @@ class Trans: @param x The Additional displacement (x) @param y The Additional displacement (y) """ + ... @overload def __init__(self, dtrans: DTrans) -> None: r""" @@ -55167,6 +61055,7 @@ class Trans: This constructor has been introduced in version 0.25 and replaces the previous static method 'from_dtrans'. """ + ... @overload def __init__(self, rot: Optional[int] = ..., mirrx: Optional[bool] = ..., u: Optional[Vector] = ...) -> None: r""" @@ -55179,6 +61068,7 @@ class Trans: @param mirrx True, if mirrored at x axis @param u The displacement """ + ... @overload def __init__(self, rot: Optional[int] = ..., mirrx: Optional[bool] = ..., x: Optional[int] = ..., y: Optional[int] = ...) -> None: r""" @@ -55192,6 +61082,7 @@ class Trans: @param x The horizontal displacement @param y The vertical displacement """ + ... @overload def __init__(self, u: Vector) -> None: r""" @@ -55199,6 +61090,7 @@ class Trans: @param u The displacement """ + ... @overload def __init__(self, x: int, y: int) -> None: r""" @@ -55207,11 +61099,13 @@ class Trans: @param x The horizontal displacement @param y The vertical displacement """ + ... def __lt__(self, other: Trans) -> bool: r""" @brief Provides a 'less' criterion for sorting This method is provided to implement a sorting order. The definition of 'less' is opaque and might change in future versions. """ + ... @overload def __mul__(self, box: Box) -> Box: r""" @@ -55224,21 +61118,22 @@ class Trans: This convenience method has been introduced in version 0.25. """ + ... @overload def __mul__(self, d: int) -> int: r""" - @brief Transforms a distance + @brief Transforms a single distance The "ctrans" method transforms the given distance. - e = t(d). For the simple transformations, there - is no magnification and no modification of the distance - therefore. + This is equivalent to multiplying with the magnification. For the simple transformations, there + is no magnification and no modification of the distance. @param d The distance to transform @return The transformed distance - The product '*' has been added as a synonym in version 0.28. + The product '*' has been added as a synonym in version 0.28. The distance can be signed since version 0.29.3. """ + ... @overload def __mul__(self, edge: Edge) -> Edge: r""" @@ -55251,6 +61146,7 @@ class Trans: This convenience method has been introduced in version 0.25. """ + ... @overload def __mul__(self, p: Point) -> Point: r""" @@ -55264,6 +61160,7 @@ class Trans: @param p The point to transform @return The transformed point """ + ... @overload def __mul__(self, path: Path) -> Path: r""" @@ -55276,6 +61173,7 @@ class Trans: This convenience method has been introduced in version 0.25. """ + ... @overload def __mul__(self, polygon: Polygon) -> Polygon: r""" @@ -55288,6 +61186,7 @@ class Trans: This convenience method has been introduced in version 0.25. """ + ... @overload def __mul__(self, t: Trans) -> Trans: r""" @@ -55298,6 +61197,7 @@ class Trans: @param t The transformation to apply before @return The modified transformation """ + ... @overload def __mul__(self, text: Text) -> Text: r""" @@ -55310,6 +61210,7 @@ class Trans: This convenience method has been introduced in version 0.25. """ + ... @overload def __mul__(self, v: Vector) -> Vector: r""" @@ -55323,17 +61224,12 @@ class Trans: @param v The vector to transform @return The transformed vector """ + ... def __ne__(self, other: object) -> bool: r""" @brief Tests for inequality """ - def __repr__(self, dbu: Optional[float] = ...) -> str: - r""" - @brief String conversion - If a DBU is given, the output units will be micrometers. - - The DBU argument has been added in version 0.27.6. - """ + ... @overload def __rmul__(self, box: Box) -> Box: r""" @@ -55346,21 +61242,22 @@ class Trans: This convenience method has been introduced in version 0.25. """ + ... @overload def __rmul__(self, d: int) -> int: r""" - @brief Transforms a distance + @brief Transforms a single distance The "ctrans" method transforms the given distance. - e = t(d). For the simple transformations, there - is no magnification and no modification of the distance - therefore. + This is equivalent to multiplying with the magnification. For the simple transformations, there + is no magnification and no modification of the distance. @param d The distance to transform @return The transformed distance - The product '*' has been added as a synonym in version 0.28. + The product '*' has been added as a synonym in version 0.28. The distance can be signed since version 0.29.3. """ + ... @overload def __rmul__(self, edge: Edge) -> Edge: r""" @@ -55373,6 +61270,7 @@ class Trans: This convenience method has been introduced in version 0.25. """ + ... @overload def __rmul__(self, p: Point) -> Point: r""" @@ -55386,6 +61284,7 @@ class Trans: @param p The point to transform @return The transformed point """ + ... @overload def __rmul__(self, path: Path) -> Path: r""" @@ -55398,6 +61297,7 @@ class Trans: This convenience method has been introduced in version 0.25. """ + ... @overload def __rmul__(self, polygon: Polygon) -> Polygon: r""" @@ -55410,6 +61310,7 @@ class Trans: This convenience method has been introduced in version 0.25. """ + ... @overload def __rmul__(self, text: Text) -> Text: r""" @@ -55422,6 +61323,7 @@ class Trans: This convenience method has been introduced in version 0.25. """ + ... @overload def __rmul__(self, v: Vector) -> Vector: r""" @@ -55435,6 +61337,7 @@ class Trans: @param v The vector to transform @return The transformed vector """ + ... def __str__(self, dbu: Optional[float] = ...) -> str: r""" @brief String conversion @@ -55442,29 +61345,34 @@ class Trans: The DBU argument has been added in version 0.27.6. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -55472,6 +61380,7 @@ class Trans: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -55479,45 +61388,51 @@ class Trans: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: Trans) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def ctrans(self, d: int) -> int: r""" - @brief Transforms a distance + @brief Transforms a single distance The "ctrans" method transforms the given distance. - e = t(d). For the simple transformations, there - is no magnification and no modification of the distance - therefore. + This is equivalent to multiplying with the magnification. For the simple transformations, there + is no magnification and no modification of the distance. @param d The distance to transform @return The transformed distance - The product '*' has been added as a synonym in version 0.28. + The product '*' has been added as a synonym in version 0.28. The distance can be signed since version 0.29.3. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> Trans: r""" @brief Creates a copy of self """ + ... def hash(self) -> int: r""" @brief Computes a hash value @@ -55525,6 +61440,7 @@ class Trans: This method has been introduced in version 0.25. """ + ... def invert(self) -> Trans: r""" @brief Inverts the transformation (in place) @@ -55534,6 +61450,7 @@ class Trans: @return The inverted transformation """ + ... def inverted(self) -> Trans: r""" @brief Returns the inverted transformation @@ -55541,18 +61458,21 @@ class Trans: @return The inverted transformation """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_mirror(self) -> bool: r""" @brief Gets the mirror flag If this property is true, the transformation is composed of a mirroring at the x-axis followed by a rotation by the angle given by the \angle property. """ + ... def to_dtype(self, dbu: Optional[float] = ...) -> DTrans: r""" @brief Converts the transformation to a floating-point coordinate transformation @@ -55561,6 +61481,7 @@ class Trans: This method has been introduced in version 0.25. """ + ... def to_s(self, dbu: Optional[float] = ...) -> str: r""" @brief String conversion @@ -55568,6 +61489,7 @@ class Trans: The DBU argument has been added in version 0.27.6. """ + ... @overload def trans(self, box: Box) -> Box: r""" @@ -55580,6 +61502,7 @@ class Trans: This convenience method has been introduced in version 0.25. """ + ... @overload def trans(self, edge: Edge) -> Edge: r""" @@ -55592,6 +61515,7 @@ class Trans: This convenience method has been introduced in version 0.25. """ + ... @overload def trans(self, p: Point) -> Point: r""" @@ -55605,6 +61529,7 @@ class Trans: @param p The point to transform @return The transformed point """ + ... @overload def trans(self, path: Path) -> Path: r""" @@ -55617,6 +61542,7 @@ class Trans: This convenience method has been introduced in version 0.25. """ + ... @overload def trans(self, polygon: Polygon) -> Polygon: r""" @@ -55629,6 +61555,7 @@ class Trans: This convenience method has been introduced in version 0.25. """ + ... @overload def trans(self, text: Text) -> Text: r""" @@ -55641,6 +61568,7 @@ class Trans: This convenience method has been introduced in version 0.25. """ + ... @overload def trans(self, v: Vector) -> Vector: r""" @@ -55654,6 +61582,8 @@ class Trans: @param v The vector to transform @return The transformed vector """ + ... + ... class TrapezoidDecompositionMode: r""" @@ -55679,99 +61609,119 @@ class TrapezoidDecompositionMode: r""" @brief Creates an enum from an integer value """ + ... @overload @classmethod def new(cls, s: str) -> TrapezoidDecompositionMode: r""" @brief Creates an enum from a string value """ + ... def __copy__(self) -> TrapezoidDecompositionMode: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> TrapezoidDecompositionMode: r""" @brief Creates a copy of self """ + ... @overload - def __eq__(self, other: object) -> bool: + def __eq__(self, other: int) -> bool: r""" @brief Compares an enum with an integer value """ + ... @overload def __eq__(self, other: object) -> bool: r""" @brief Compares two enums """ + ... def __hash__(self) -> int: r""" @brief Gets the hash value from the enum """ + ... @overload def __init__(self, i: int) -> None: r""" @brief Creates an enum from an integer value """ + ... @overload def __init__(self, s: str) -> None: r""" @brief Creates an enum from a string value """ + ... def __int__(self) -> int: r""" @brief Gets the integer value from the enum """ + ... @overload def __lt__(self, other: TrapezoidDecompositionMode) -> bool: r""" @brief Returns true if the first enum is less (in the enum symbol order) than the second """ + ... @overload def __lt__(self, other: int) -> bool: r""" @brief Returns true if the enum is less (in the enum symbol order) than the integer value """ + ... @overload - def __ne__(self, other: object) -> bool: + def __ne__(self, other: int) -> bool: r""" @brief Compares an enum with an integer for inequality """ + ... @overload def __ne__(self, other: object) -> bool: r""" @brief Compares two enums for inequality """ + ... def __repr__(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def __str__(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -55779,6 +61729,7 @@ class TrapezoidDecompositionMode: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -55786,53 +61737,65 @@ class TrapezoidDecompositionMode: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: TrapezoidDecompositionMode) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> TrapezoidDecompositionMode: r""" @brief Creates a copy of self """ + ... def hash(self) -> int: r""" @brief Gets the hash value from the enum """ + ... def inspect(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def to_i(self) -> int: r""" @brief Gets the integer value from the enum """ + ... def to_s(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... + ... class Utils: r""" @@ -55845,6 +61808,7 @@ class Utils: r""" @brief Creates a new object of this class """ + ... @overload @classmethod def spline_interpolation(cls, control_points: Sequence[DPoint], degree: int, knots: Sequence[float], relative_accuracy: float, absolute_accuracy: float) -> List[DPoint]: @@ -55853,6 +61817,7 @@ class Utils: This is the version for non-rational splines. It lacks the weight vector. """ + ... @overload @classmethod def spline_interpolation(cls, control_points: Sequence[DPoint], weights: Sequence[float], degree: int, knots: Sequence[float], relative_accuracy: float, absolute_accuracy: float) -> List[DPoint]: @@ -55876,6 +61841,7 @@ class Utils: The return value is a list of points forming a path which approximates the spline curve. """ + ... @overload @classmethod def spline_interpolation(cls, control_points: Sequence[Point], degree: int, knots: Sequence[float], relative_accuracy: float, absolute_accuracy: float) -> List[Point]: @@ -55884,6 +61850,7 @@ class Utils: This is the version for integer-coordinate points for non-rational splines. """ + ... @overload @classmethod def spline_interpolation(cls, control_points: Sequence[Point], weights: Sequence[float], degree: int, knots: Sequence[float], relative_accuracy: float, absolute_accuracy: float) -> List[Point]: @@ -55892,41 +61859,49 @@ class Utils: This is the version for integer-coordinate points. """ + ... def __copy__(self) -> Utils: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> Utils: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -55934,6 +61909,7 @@ class Utils: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -55941,37 +61917,45 @@ class Utils: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: Utils) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> Utils: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... + ... class VAlign: r""" @@ -56000,99 +61984,119 @@ class VAlign: r""" @brief Creates an enum from an integer value """ + ... @overload @classmethod def new(cls, s: str) -> VAlign: r""" @brief Creates an enum from a string value """ + ... def __copy__(self) -> VAlign: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> VAlign: r""" @brief Creates a copy of self """ + ... + @overload + def __eq__(self, other: int) -> bool: + r""" + @brief Compares an enum with an integer value + """ + ... @overload def __eq__(self, other: object) -> bool: r""" @brief Compares two enums """ - @overload - def __eq__(self, other: object) -> bool: - r""" - @brief Compares an enum with an integer value - """ + ... def __hash__(self) -> int: r""" @brief Gets the hash value from the enum """ + ... @overload def __init__(self, i: int) -> None: r""" @brief Creates an enum from an integer value """ + ... @overload def __init__(self, s: str) -> None: r""" @brief Creates an enum from a string value """ + ... def __int__(self) -> int: r""" @brief Gets the integer value from the enum """ + ... @overload def __lt__(self, other: VAlign) -> bool: r""" @brief Returns true if the first enum is less (in the enum symbol order) than the second """ + ... @overload def __lt__(self, other: int) -> bool: r""" @brief Returns true if the enum is less (in the enum symbol order) than the integer value """ + ... @overload - def __ne__(self, other: object) -> bool: + def __ne__(self, other: int) -> bool: r""" @brief Compares an enum with an integer for inequality """ + ... @overload def __ne__(self, other: object) -> bool: r""" @brief Compares two enums for inequality """ + ... def __repr__(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def __str__(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -56100,6 +62104,7 @@ class VAlign: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -56107,53 +62112,65 @@ class VAlign: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: VAlign) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> VAlign: r""" @brief Creates a copy of self """ + ... def hash(self) -> int: r""" @brief Gets the hash value from the enum """ + ... def inspect(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def to_i(self) -> int: r""" @brief Gets the integer value from the enum """ + ... def to_s(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... + ... class VCplxTrans: r""" @@ -56276,12 +62293,14 @@ class VCplxTrans: This method has been added in version 0.23. """ + ... @overload @classmethod def new(cls) -> VCplxTrans: r""" @brief Creates a unit transformation """ + ... @overload @classmethod def new(cls, c: VCplxTrans, mag: Optional[float] = ..., u: Optional[Vector] = ...) -> VCplxTrans: @@ -56295,6 +62314,7 @@ class VCplxTrans: @param c The original transformation @param u The Additional displacement """ + ... @overload @classmethod def new(cls, c: VCplxTrans, mag: Optional[float] = ..., x: Optional[int] = ..., y: Optional[int] = ...) -> VCplxTrans: @@ -56309,6 +62329,7 @@ class VCplxTrans: @param x The Additional displacement (x) @param y The Additional displacement (y) """ + ... @overload @classmethod def new(cls, mag: Optional[float] = ..., rot: Optional[float] = ..., mirrx: Optional[bool] = ..., u: Optional[Vector] = ...) -> VCplxTrans: @@ -56323,6 +62344,7 @@ class VCplxTrans: @param mirrx True, if mirrored at x axis @param u The displacement """ + ... @overload @classmethod def new(cls, mag: Optional[float] = ..., rot: Optional[float] = ..., mirrx: Optional[bool] = ..., x: Optional[int] = ..., y: Optional[int] = ...) -> VCplxTrans: @@ -56338,6 +62360,7 @@ class VCplxTrans: @param x The x displacement @param y The y displacement """ + ... @overload @classmethod def new(cls, t: DTrans, mag: Optional[float] = ...) -> VCplxTrans: @@ -56346,6 +62369,7 @@ class VCplxTrans: Creates a magnifying transformation from a simple transformation and a magnification. """ + ... @overload @classmethod def new(cls, trans: CplxTrans, dbu: Optional[float] = ...) -> VCplxTrans: @@ -56356,6 +62380,7 @@ class VCplxTrans: The 'dbu' argument has been added in version 0.29. """ + ... @overload @classmethod def new(cls, trans: DCplxTrans, dbu: Optional[float] = ...) -> VCplxTrans: @@ -56366,6 +62391,7 @@ class VCplxTrans: The 'dbu' argument has been added in version 0.29. """ + ... @overload @classmethod def new(cls, trans: ICplxTrans, dbu: Optional[float] = ...) -> VCplxTrans: @@ -56376,6 +62402,7 @@ class VCplxTrans: The 'dbu' argument has been added in version 0.29. """ + ... @overload @classmethod def new(cls, u: Vector) -> VCplxTrans: @@ -56386,6 +62413,7 @@ class VCplxTrans: This method has been added in version 0.25. """ + ... @overload @classmethod def new(cls, x: int, y: int) -> VCplxTrans: @@ -56398,18 +62426,22 @@ class VCplxTrans: @param x The x displacement @param y The y displacement """ + ... def __copy__(self) -> VCplxTrans: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> VCplxTrans: r""" @brief Creates a copy of self """ + ... def __eq__(self, other: object) -> bool: r""" @brief Tests for equality """ + ... def __hash__(self) -> int: r""" @brief Computes a hash value @@ -56417,11 +62449,13 @@ class VCplxTrans: This method has been introduced in version 0.25. """ + ... @overload def __init__(self) -> None: r""" @brief Creates a unit transformation """ + ... @overload def __init__(self, c: VCplxTrans, mag: Optional[float] = ..., u: Optional[Vector] = ...) -> None: r""" @@ -56434,6 +62468,7 @@ class VCplxTrans: @param c The original transformation @param u The Additional displacement """ + ... @overload def __init__(self, c: VCplxTrans, mag: Optional[float] = ..., x: Optional[int] = ..., y: Optional[int] = ...) -> None: r""" @@ -56447,6 +62482,7 @@ class VCplxTrans: @param x The Additional displacement (x) @param y The Additional displacement (y) """ + ... @overload def __init__(self, mag: Optional[float] = ..., rot: Optional[float] = ..., mirrx: Optional[bool] = ..., u: Optional[Vector] = ...) -> None: r""" @@ -56460,6 +62496,7 @@ class VCplxTrans: @param mirrx True, if mirrored at x axis @param u The displacement """ + ... @overload def __init__(self, mag: Optional[float] = ..., rot: Optional[float] = ..., mirrx: Optional[bool] = ..., x: Optional[int] = ..., y: Optional[int] = ...) -> None: r""" @@ -56474,6 +62511,7 @@ class VCplxTrans: @param x The x displacement @param y The y displacement """ + ... @overload def __init__(self, t: DTrans, mag: Optional[float] = ...) -> None: r""" @@ -56481,6 +62519,7 @@ class VCplxTrans: Creates a magnifying transformation from a simple transformation and a magnification. """ + ... @overload def __init__(self, trans: CplxTrans, dbu: Optional[float] = ...) -> None: r""" @@ -56490,6 +62529,7 @@ class VCplxTrans: The 'dbu' argument has been added in version 0.29. """ + ... @overload def __init__(self, trans: DCplxTrans, dbu: Optional[float] = ...) -> None: r""" @@ -56499,6 +62539,7 @@ class VCplxTrans: The 'dbu' argument has been added in version 0.29. """ + ... @overload def __init__(self, trans: ICplxTrans, dbu: Optional[float] = ...) -> None: r""" @@ -56508,6 +62549,7 @@ class VCplxTrans: The 'dbu' argument has been added in version 0.29. """ + ... @overload def __init__(self, u: Vector) -> None: r""" @@ -56517,6 +62559,7 @@ class VCplxTrans: This method has been added in version 0.25. """ + ... @overload def __init__(self, x: int, y: int) -> None: r""" @@ -56528,11 +62571,13 @@ class VCplxTrans: @param x The x displacement @param y The y displacement """ + ... def __lt__(self, other: VCplxTrans) -> bool: r""" @brief Provides a 'less' criterion for sorting This method is provided to implement a sorting order. The definition of 'less' is opaque and might change in future versions. """ + ... @overload def __mul__(self, box: DBox) -> Box: r""" @@ -56545,21 +62590,22 @@ class VCplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __mul__(self, d: float) -> int: r""" - @brief Transforms a distance + @brief Transforms a single distance The "ctrans" method transforms the given distance. - e = t(d). For the simple transformations, there - is no magnification and no modification of the distance - therefore. + This is equivalent to multiplying with the magnification. For the simple transformations, there + is no magnification and no modification of the distance. @param d The distance to transform @return The transformed distance - The product '*' has been added as a synonym in version 0.28. + The product '*' has been added as a synonym in version 0.28. The distance can be signed since version 0.29.3. """ + ... @overload def __mul__(self, edge: DEdge) -> Edge: r""" @@ -56572,6 +62618,7 @@ class VCplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __mul__(self, p: DPoint) -> Point: r""" @@ -56585,6 +62632,7 @@ class VCplxTrans: @param p The point to transform @return The transformed point """ + ... @overload def __mul__(self, p: DVector) -> Vector: r""" @@ -56598,6 +62646,7 @@ class VCplxTrans: @param v The vector to transform @return The transformed vector """ + ... @overload def __mul__(self, path: DPath) -> Path: r""" @@ -56610,6 +62659,7 @@ class VCplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __mul__(self, polygon: DPolygon) -> Polygon: r""" @@ -56622,6 +62672,7 @@ class VCplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __mul__(self, t: CplxTrans) -> ICplxTrans: r""" @@ -56632,6 +62683,7 @@ class VCplxTrans: @param t The transformation to apply before @return The modified transformation """ + ... @overload def __mul__(self, t: DCplxTrans) -> VCplxTrans: r""" @@ -56642,6 +62694,7 @@ class VCplxTrans: @param t The transformation to apply before @return The modified transformation """ + ... @overload def __mul__(self, t: VCplxTrans) -> VCplxTrans: r""" @@ -56652,6 +62705,7 @@ class VCplxTrans: @param t The transformation to apply before @return The modified transformation """ + ... @overload def __mul__(self, text: DText) -> Text: r""" @@ -56664,18 +62718,12 @@ class VCplxTrans: This convenience method has been introduced in version 0.25. """ + ... def __ne__(self, other: object) -> bool: r""" @brief Tests for inequality """ - def __repr__(self, lazy: Optional[bool] = ..., dbu: Optional[float] = ...) -> str: - r""" - @brief String conversion - If 'lazy' is true, some parts are omitted when not required. - If a DBU is given, the output units will be micrometers. - - The lazy and DBU arguments have been added in version 0.27.6. - """ + ... @overload def __rmul__(self, box: DBox) -> Box: r""" @@ -56688,21 +62736,22 @@ class VCplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __rmul__(self, d: float) -> int: r""" - @brief Transforms a distance + @brief Transforms a single distance The "ctrans" method transforms the given distance. - e = t(d). For the simple transformations, there - is no magnification and no modification of the distance - therefore. + This is equivalent to multiplying with the magnification. For the simple transformations, there + is no magnification and no modification of the distance. @param d The distance to transform @return The transformed distance - The product '*' has been added as a synonym in version 0.28. + The product '*' has been added as a synonym in version 0.28. The distance can be signed since version 0.29.3. """ + ... @overload def __rmul__(self, edge: DEdge) -> Edge: r""" @@ -56715,6 +62764,7 @@ class VCplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __rmul__(self, p: DPoint) -> Point: r""" @@ -56728,6 +62778,7 @@ class VCplxTrans: @param p The point to transform @return The transformed point """ + ... @overload def __rmul__(self, p: DVector) -> Vector: r""" @@ -56741,6 +62792,7 @@ class VCplxTrans: @param v The vector to transform @return The transformed vector """ + ... @overload def __rmul__(self, path: DPath) -> Path: r""" @@ -56753,6 +62805,7 @@ class VCplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __rmul__(self, polygon: DPolygon) -> Polygon: r""" @@ -56765,6 +62818,7 @@ class VCplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def __rmul__(self, text: DText) -> Text: r""" @@ -56777,6 +62831,7 @@ class VCplxTrans: This convenience method has been introduced in version 0.25. """ + ... def __str__(self, lazy: Optional[bool] = ..., dbu: Optional[float] = ...) -> str: r""" @brief String conversion @@ -56785,29 +62840,34 @@ class VCplxTrans: The lazy and DBU arguments have been added in version 0.27.6. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -56815,6 +62875,7 @@ class VCplxTrans: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -56822,45 +62883,51 @@ class VCplxTrans: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: VCplxTrans) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def ctrans(self, d: float) -> int: r""" - @brief Transforms a distance + @brief Transforms a single distance The "ctrans" method transforms the given distance. - e = t(d). For the simple transformations, there - is no magnification and no modification of the distance - therefore. + This is equivalent to multiplying with the magnification. For the simple transformations, there + is no magnification and no modification of the distance. @param d The distance to transform @return The transformed distance - The product '*' has been added as a synonym in version 0.28. + The product '*' has been added as a synonym in version 0.28. The distance can be signed since version 0.29.3. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> VCplxTrans: r""" @brief Creates a copy of self """ + ... def hash(self) -> int: r""" @brief Computes a hash value @@ -56868,6 +62935,7 @@ class VCplxTrans: This method has been introduced in version 0.25. """ + ... def invert(self) -> VCplxTrans: r""" @brief Inverts the transformation (in place) @@ -56877,6 +62945,7 @@ class VCplxTrans: @return The inverted transformation """ + ... def inverted(self) -> CplxTrans: r""" @brief Returns the inverted transformation @@ -56885,6 +62954,7 @@ class VCplxTrans: @return The inverted transformation """ + ... def is_complex(self) -> bool: r""" @brief Returns true if the transformation is a complex one @@ -56895,12 +62965,14 @@ class VCplxTrans: This method has been introduced in version 0.27.5. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_mag(self) -> bool: r""" @brief Tests, if the transformation is a magnifying one @@ -56908,22 +62980,26 @@ class VCplxTrans: This is the recommended test for checking if the transformation represents a magnification. """ + ... def is_mirror(self) -> bool: r""" @brief Gets the mirror flag If this property is true, the transformation is composed of a mirroring at the x-axis followed by a rotation by the angle given by the \angle property. """ + ... def is_ortho(self) -> bool: r""" @brief Tests, if the transformation is an orthogonal transformation If the rotation is by a multiple of 90 degree, this method will return true. """ + ... def is_unity(self) -> bool: r""" @brief Tests, whether this is a unit transformation """ + ... def rot(self) -> int: r""" @brief Returns the respective simple transformation equivalent rotation code if possible @@ -56933,6 +63009,7 @@ class VCplxTrans: magnification and displacement. If the transformation is not orthogonal, the result reflects the quadrant the rotation goes into. """ + ... def s_trans(self) -> DTrans: r""" @brief Extracts the simple transformation part @@ -56940,6 +63017,7 @@ class VCplxTrans: The simple transformation part does not reflect magnification or arbitrary angles. Rotation angles are rounded down to multiples of 90 degree. Magnification is fixed to 1.0. """ + ... def to_itrans(self, dbu: Optional[float] = ...) -> DCplxTrans: r""" @brief Converts the transformation to another transformation with floating-point output coordinates @@ -56954,6 +63032,7 @@ class VCplxTrans: This method has been deprecated in version 0.29. """ + ... def to_s(self, lazy: Optional[bool] = ..., dbu: Optional[float] = ...) -> str: r""" @brief String conversion @@ -56962,6 +63041,7 @@ class VCplxTrans: The lazy and DBU arguments have been added in version 0.27.6. """ + ... def to_trans(self, arg0: float) -> ICplxTrans: r""" @brief Converts the transformation to another transformation with integer input coordinates @@ -56974,6 +63054,7 @@ class VCplxTrans: This method has been deprecated in version 0.29. """ + ... def to_vtrans(self, dbu: Optional[float] = ...) -> CplxTrans: r""" @brief Converts the transformation to another transformation with integer input and floating-point output coordinates @@ -56988,6 +63069,7 @@ class VCplxTrans: This method has been deprecated in version 0.29. """ + ... @overload def trans(self, box: DBox) -> Box: r""" @@ -57000,6 +63082,7 @@ class VCplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def trans(self, edge: DEdge) -> Edge: r""" @@ -57012,6 +63095,7 @@ class VCplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def trans(self, p: DPoint) -> Point: r""" @@ -57025,6 +63109,7 @@ class VCplxTrans: @param p The point to transform @return The transformed point """ + ... @overload def trans(self, p: DVector) -> Vector: r""" @@ -57038,6 +63123,7 @@ class VCplxTrans: @param v The vector to transform @return The transformed vector """ + ... @overload def trans(self, path: DPath) -> Path: r""" @@ -57050,6 +63136,7 @@ class VCplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def trans(self, polygon: DPolygon) -> Polygon: r""" @@ -57062,6 +63149,7 @@ class VCplxTrans: This convenience method has been introduced in version 0.25. """ + ... @overload def trans(self, text: DText) -> Text: r""" @@ -57074,6 +63162,8 @@ class VCplxTrans: This convenience method has been introduced in version 0.25. """ + ... + ... class Vector: r""" @@ -57107,18 +63197,21 @@ class Vector: @brief Creates an object from a string Creates the object from a string representation (as returned by \to_s) """ + ... @overload @classmethod def new(cls) -> Vector: r""" @brief Default constructor: creates a null vector with coordinates (0,0) """ + ... @overload @classmethod def new(cls, dvector: DVector) -> Vector: r""" @brief Creates an integer coordinate vector from a floating-point coordinate vector """ + ... @overload @classmethod def new(cls, p: Point) -> Vector: @@ -57127,6 +63220,7 @@ class Vector: This constructor is equivalent to computing p-point(0,0). This method has been introduced in version 0.25. """ + ... @overload @classmethod def new(cls, x: int, y: int) -> Vector: @@ -57134,6 +63228,7 @@ class Vector: @brief Constructor for a vector from two coordinate values """ + ... @overload def __add__(self, p: Point) -> Point: r""" @@ -57142,6 +63237,7 @@ class Vector: Returns the point p shifted by the vector. """ + ... @overload def __add__(self, v: Vector) -> Vector: r""" @@ -57150,19 +63246,23 @@ class Vector: Adds vector v to self by adding the coordinates. """ + ... def __copy__(self) -> Vector: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> Vector: r""" @brief Creates a copy of self """ + ... def __eq__(self, v: object) -> bool: r""" @brief Equality test operator """ + ... def __hash__(self) -> int: r""" @brief Computes a hash value @@ -57170,6 +63270,7 @@ class Vector: This method has been introduced in version 0.25. """ + ... def __imul__(self, f: float) -> Vector: r""" @brief Scaling by some factor @@ -57177,16 +63278,19 @@ class Vector: Scales object in place. All coordinates are multiplied with the given factor and if necessary rounded. """ + ... @overload def __init__(self) -> None: r""" @brief Default constructor: creates a null vector with coordinates (0,0) """ + ... @overload def __init__(self, dvector: DVector) -> None: r""" @brief Creates an integer coordinate vector from a floating-point coordinate vector """ + ... @overload def __init__(self, p: Point) -> None: r""" @@ -57194,12 +63298,14 @@ class Vector: This constructor is equivalent to computing p-point(0,0). This method has been introduced in version 0.25. """ + ... @overload def __init__(self, x: int, y: int) -> None: r""" @brief Constructor for a vector from two coordinate values """ + ... def __itruediv__(self, d: float) -> Vector: r""" @brief Division by some divisor @@ -57207,6 +63313,7 @@ class Vector: Divides the object in place. All coordinates are divided with the given divisor and if necessary rounded. """ + ... def __lt__(self, v: Vector) -> bool: r""" @brief "less" comparison operator @@ -57215,6 +63322,7 @@ class Vector: This operator is provided to establish a sorting order """ + ... @overload def __mul__(self, f: float) -> Vector: r""" @@ -57223,6 +63331,7 @@ class Vector: Returns the scaled object. All coordinates are multiplied with the given factor and if necessary rounded. """ + ... @overload def __mul__(self, v: Vector) -> int: r""" @@ -57231,11 +63340,13 @@ class Vector: The scalar product of a and b is defined as: vp = ax*bx+ay*by. """ + ... def __ne__(self, v: object) -> bool: r""" @brief Inequality test operator """ + ... def __neg__(self) -> Vector: r""" @brief Compute the negative of a vector @@ -57243,13 +63354,7 @@ class Vector: Returns a new vector with -x,-y. """ - def __repr__(self, dbu: Optional[float] = ...) -> str: - r""" - @brief String conversion - If a DBU is given, the output units will be micrometers. - - The DBU argument has been added in version 0.27.6. - """ + ... @overload def __rmul__(self, f: float) -> Vector: r""" @@ -57258,6 +63363,7 @@ class Vector: Returns the scaled object. All coordinates are multiplied with the given factor and if necessary rounded. """ + ... @overload def __rmul__(self, v: Vector) -> int: r""" @@ -57266,6 +63372,7 @@ class Vector: The scalar product of a and b is defined as: vp = ax*bx+ay*by. """ + ... def __str__(self, dbu: Optional[float] = ...) -> str: r""" @brief String conversion @@ -57273,6 +63380,7 @@ class Vector: The DBU argument has been added in version 0.27.6. """ + ... def __sub__(self, v: Vector) -> Vector: r""" @brief Subtract two vectors @@ -57280,6 +63388,7 @@ class Vector: Subtract vector v from self by subtracting the coordinates. """ + ... def __truediv__(self, d: float) -> Vector: r""" @brief Division by some divisor @@ -57287,29 +63396,34 @@ class Vector: Returns the scaled object. All coordinates are divided with the given divisor and if necessary rounded. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -57317,6 +63431,7 @@ class Vector: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -57324,36 +63439,43 @@ class Vector: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def abs(self) -> float: r""" @brief Returns the length of the vector 'abs' is an alias provided for compatibility with the former point type. """ + ... def assign(self, other: Vector) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> Vector: r""" @brief Creates a copy of self """ + ... def hash(self) -> int: r""" @brief Computes a hash value @@ -57361,17 +63483,20 @@ class Vector: This method has been introduced in version 0.25. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def length(self) -> float: r""" @brief Returns the length of the vector 'abs' is an alias provided for compatibility with the former point type. """ + ... def sprod(self, v: Vector) -> int: r""" @brief Computes the scalar product between self and the given vector @@ -57379,6 +63504,7 @@ class Vector: The scalar product of a and b is defined as: vp = ax*bx+ay*by. """ + ... def sprod_sign(self, v: Vector) -> int: r""" @brief Computes the scalar product between self and the given vector and returns a value indicating the sign of the product @@ -57386,27 +63512,32 @@ class Vector: @return 1 if the scalar product is positive, 0 if it is zero and -1 if it is negative. """ + ... def sq_abs(self) -> float: r""" @brief The square length of the vector 'sq_abs' is an alias provided for compatibility with the former point type. """ + ... def sq_length(self) -> float: r""" @brief The square length of the vector 'sq_abs' is an alias provided for compatibility with the former point type. """ + ... def to_dtype(self, dbu: Optional[float] = ...) -> DVector: r""" @brief Converts the vector to a floating-point coordinate vector The database unit can be specified to translate the integer-coordinate vector into a floating-point coordinate vector in micron units. The database unit is basically a scaling factor. """ + ... def to_p(self) -> Point: r""" @brief Turns the vector into a point This method returns the point resulting from adding the vector to (0,0). This method has been introduced in version 0.25. """ + ... def to_s(self, dbu: Optional[float] = ...) -> str: r""" @brief String conversion @@ -57414,6 +63545,7 @@ class Vector: The DBU argument has been added in version 0.27.6. """ + ... def vprod(self, v: Vector) -> int: r""" @brief Computes the vector product between self and the given vector @@ -57421,6 +63553,7 @@ class Vector: The vector product of a and b is defined as: vp = ax*by-ay*bx. """ + ... def vprod_sign(self, v: Vector) -> int: r""" @brief Computes the vector product between self and the given vector and returns a value indicating the sign of the product @@ -57428,6 +63561,8 @@ class Vector: @return 1 if the vector product is positive, 0 if it is zero and -1 if it is negative. """ + ... + ... class ZeroDistanceMode: r""" @@ -57467,99 +63602,119 @@ class ZeroDistanceMode: r""" @brief Creates an enum from an integer value """ + ... @overload @classmethod def new(cls, s: str) -> ZeroDistanceMode: r""" @brief Creates an enum from a string value """ + ... def __copy__(self) -> ZeroDistanceMode: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> ZeroDistanceMode: r""" @brief Creates a copy of self """ + ... @overload - def __eq__(self, other: object) -> bool: + def __eq__(self, other: int) -> bool: r""" @brief Compares an enum with an integer value """ + ... @overload def __eq__(self, other: object) -> bool: r""" @brief Compares two enums """ + ... def __hash__(self) -> int: r""" @brief Gets the hash value from the enum """ + ... @overload def __init__(self, i: int) -> None: r""" @brief Creates an enum from an integer value """ + ... @overload def __init__(self, s: str) -> None: r""" @brief Creates an enum from a string value """ + ... def __int__(self) -> int: r""" @brief Gets the integer value from the enum """ + ... @overload def __lt__(self, other: ZeroDistanceMode) -> bool: r""" @brief Returns true if the first enum is less (in the enum symbol order) than the second """ + ... @overload def __lt__(self, other: int) -> bool: r""" @brief Returns true if the enum is less (in the enum symbol order) than the integer value """ + ... + @overload + def __ne__(self, other: int) -> bool: + r""" + @brief Compares an enum with an integer for inequality + """ + ... @overload def __ne__(self, other: object) -> bool: r""" @brief Compares two enums for inequality """ - @overload - def __ne__(self, other: object) -> bool: - r""" - @brief Compares an enum with an integer for inequality - """ + ... def __repr__(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def __str__(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -57567,6 +63722,7 @@ class ZeroDistanceMode: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -57574,51 +63730,63 @@ class ZeroDistanceMode: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: ZeroDistanceMode) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> ZeroDistanceMode: r""" @brief Creates a copy of self """ + ... def hash(self) -> int: r""" @brief Gets the hash value from the enum """ + ... def inspect(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def to_i(self) -> int: r""" @brief Gets the integer value from the enum """ + ... def to_s(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... + ... diff --git a/src/pymod/distutils_src/klayout/laycore.pyi b/src/pymod/distutils_src/klayout/laycore.pyi index a1dab7ca3..a2b961f87 100644 --- a/src/pymod/distutils_src/klayout/laycore.pyi +++ b/src/pymod/distutils_src/klayout/laycore.pyi @@ -1,5 +1,6 @@ from typing import Any, ClassVar, Dict, Sequence, List, Iterator, Optional from typing import overload +from __future__ import annotations import klayout.tl as tl import klayout.db as db import klayout.rdb as rdb @@ -39,6 +40,7 @@ class AbstractMenu: r""" @hide """ + ... @classmethod def pack_key_binding(cls, path_to_keys: Dict[str, str]) -> str: r""" @@ -47,6 +49,7 @@ class AbstractMenu: This method has been introduced in version 0.26. """ + ... @classmethod def pack_menu_items_hidden(cls, path_to_visibility: Dict[str, bool]) -> str: r""" @@ -55,6 +58,7 @@ class AbstractMenu: This method has been introduced in version 0.26. """ + ... @classmethod def unpack_key_binding(cls, s: str) -> Dict[str, str]: r""" @@ -63,6 +67,7 @@ class AbstractMenu: This method has been introduced in version 0.26. """ + ... @classmethod def unpack_menu_items_hidden(cls, s: str) -> Dict[str, bool]: r""" @@ -71,41 +76,39 @@ class AbstractMenu: This method has been introduced in version 0.26. """ - def __copy__(self) -> AbstractMenu: - r""" - @brief Creates a copy of self - """ - def __deepcopy__(self) -> AbstractMenu: - r""" - @brief Creates a copy of self - """ + ... def __init__(self) -> None: r""" @hide """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -113,6 +116,7 @@ class AbstractMenu: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -120,6 +124,7 @@ class AbstractMenu: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def action(self, path: str) -> ActionBase: r""" @brief Gets the reference to a Action object associated with the given path @@ -127,10 +132,7 @@ class AbstractMenu: @param path The path to the item. @return A reference to a Action object associated with this path or nil if the path is not valid """ - def assign(self, other: AbstractMenu) -> None: - r""" - @brief Assigns another object to self - """ + ... def clear_menu(self, path: str) -> None: r""" @brief Deletes the children of the item given by the path @@ -139,11 +141,13 @@ class AbstractMenu: This method has been introduced in version 0.28. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def delete_item(self, path: str) -> None: r""" @brief Deletes the item given by the path @@ -152,22 +156,21 @@ class AbstractMenu: This method will also delete all children of the given item. To clear the children only, use \clear_menu. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ - def dup(self) -> AbstractMenu: - r""" - @brief Creates a copy of self - """ + ... def group(self, group: str) -> List[str]: r""" @brief Gets the group members @@ -175,6 +178,7 @@ class AbstractMenu: @param group The group name @param A vector of all members (by path) of the group """ + ... def insert_item(self, path: str, name: str, action: ActionBase) -> None: r""" @brief Inserts a new item before the one given by the path @@ -185,6 +189,7 @@ class AbstractMenu: @param name The name of the item to insert @param action The Action object to insert """ + ... @overload def insert_menu(self, path: str, name: str, action: ActionBase) -> None: r""" @@ -196,6 +201,7 @@ class AbstractMenu: This method variant has been added in version 0.28. """ + ... @overload def insert_menu(self, path: str, name: str, title: str) -> None: r""" @@ -208,6 +214,7 @@ class AbstractMenu: @param name The name of the submenu to insert @param title The title of the submenu to insert """ + ... def insert_separator(self, path: str, name: str) -> None: r""" @brief Inserts a new separator before the item given by the path @@ -215,12 +222,14 @@ class AbstractMenu: @param path The path to the item before which to insert the separator @param name The name of the separator to insert """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_menu(self, path: str) -> bool: r""" @brief Returns true if the item is a menu @@ -228,6 +237,7 @@ class AbstractMenu: @param path The path to the item @return false if the path is not valid or is not a menu """ + ... def is_separator(self, path: str) -> bool: r""" @brief Returns true if the item is a separator @@ -237,6 +247,7 @@ class AbstractMenu: This method has been introduced in version 0.19. """ + ... def is_valid(self, path: str) -> bool: r""" @brief Returns true if the path is a valid one @@ -244,6 +255,7 @@ class AbstractMenu: @param path The path to check @return false if the path is not a valid path to an item """ + ... def items(self, path: str) -> List[str]: r""" @brief Gets the subitems for a given submenu @@ -251,6 +263,8 @@ class AbstractMenu: @param path The path to the submenu @return A vector or path strings for the child items or an empty vector if the path is not valid or the item does not have children """ + ... + ... class Action(ActionBase): r""" @@ -286,24 +300,28 @@ class Action(ActionBase): @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -311,6 +329,7 @@ class Action(ActionBase): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -318,6 +337,8 @@ class Action(ActionBase): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... + ... class ActionBase: r""" @@ -359,6 +380,7 @@ class ActionBase: Passing an empty string will reset the icon. """ + ... default_shortcut: str r""" Getter: @@ -504,33 +526,39 @@ class ActionBase: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -538,6 +566,7 @@ class ActionBase: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -545,23 +574,27 @@ class ActionBase: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def effective_shortcut(self) -> str: r""" @brief Gets the effective keyboard shortcut @@ -571,56 +604,77 @@ class ActionBase: This attribute has been introduced in version 0.25. """ + ... def is_checkable(self) -> bool: r""" @brief Gets a value indicating whether the item is checkable """ + ... def is_checked(self) -> bool: r""" @brief Gets a value indicating whether the item is checked """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_effective_enabled(self) -> bool: r""" @brief Gets a value indicating whether the item is really enabled This is the combined value from \is_enabled? and dynamic value (\wants_enabled). This attribute has been introduced in version 0.28. """ + ... def is_effective_visible(self) -> bool: r""" @brief Gets a value indicating whether the item is really visible This is the combined visibility from \is_visible? and \is_hidden? and dynamic visibility (\wants_visible). This attribute has been introduced in version 0.25. """ + ... def is_enabled(self) -> bool: r""" @brief Gets a value indicating whether the item is enabled """ + ... def is_hidden(self) -> bool: r""" @brief Gets a value indicating whether the item is hidden If an item is hidden, it's always hidden and \is_visible? does not have an effect. This attribute has been introduced in version 0.25. """ + ... def is_separator(self) -> bool: r""" @brief Gets a value indicating whether the item is a separator This method has been introduced in version 0.25. """ + ... def is_visible(self) -> bool: r""" @brief Gets a value indicating whether the item is visible The visibility combines with \is_hidden?. To get the true visiblity, use \is_effective_visible?. """ + ... + def macro(self) -> Macro: + r""" + @brief Gets the macro associated with the action + If the action is associated with a macro, this method returns a reference to the \Macro object. Otherwise, this method returns nil. + + + This method has been added in version 0.25. + """ + ... def trigger(self) -> None: r""" @brief Triggers the action programmatically """ + ... + ... class Annotation(BasicAnnotation): r""" @@ -1146,6 +1200,7 @@ class Annotation(BasicAnnotation): This method was introduced in version 0.28. """ + ... @classmethod def register_template(cls, annotation: BasicAnnotation, title: str, mode: Optional[int] = ...) -> None: r""" @@ -1162,6 +1217,7 @@ class Annotation(BasicAnnotation): This method has been added in version 0.25. """ + ... @classmethod def unregister_templates(cls, category: str) -> None: r""" @@ -1173,55 +1229,60 @@ class Annotation(BasicAnnotation): This method has been added in version 0.28. """ + ... def __eq__(self, other: object) -> bool: r""" @brief Equality operator """ + ... def __ne__(self, other: object) -> bool: r""" @brief Inequality operator """ - def __repr__(self) -> str: - r""" - @brief Returns the string representation of the ruler - This method was introduced in version 0.19. - """ + ... def __str__(self) -> str: r""" @brief Returns the string representation of the ruler This method was introduced in version 0.19. """ + ... def _assign(self, other: BasicAnnotation) -> None: r""" @brief Assigns another object to self """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _dup(self) -> Annotation: r""" @brief Creates a copy of self """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -1229,6 +1290,7 @@ class Annotation(BasicAnnotation): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -1236,17 +1298,20 @@ class Annotation(BasicAnnotation): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def box(self) -> db.DBox: r""" @brief Gets the bounding box of the object (not including text) @return The bounding box """ + ... def delete(self) -> None: r""" @brief Deletes this annotation from the view If the annotation is an "active" one, this method will remove it from the view. This object will become detached and can still be manipulated, but without having an effect on the view. This method has been introduced in version 0.25. """ + ... def detach(self) -> None: r""" @brief Detaches the annotation object from the view @@ -1254,6 +1319,7 @@ class Annotation(BasicAnnotation): This method has been introduced in version 0.25. """ + ... def id(self) -> int: r""" @brief Returns the annotation's ID @@ -1262,6 +1328,7 @@ class Annotation(BasicAnnotation): This method was introduced in version 0.24. """ + ... def is_valid(self) -> bool: r""" @brief Returns a value indicating whether the object is a valid reference. @@ -1269,6 +1336,7 @@ class Annotation(BasicAnnotation): This method was introduced in version 0.25. """ + ... def seg_p1(self, segment_index: int) -> db.DPoint: r""" @brief Gets the first point of the given segment. @@ -1276,6 +1344,7 @@ class Annotation(BasicAnnotation): This method has been introduced in version 0.28. """ + ... def seg_p2(self, segment_index: int) -> db.DPoint: r""" @brief Gets the second point of the given segment. @@ -1284,6 +1353,7 @@ class Annotation(BasicAnnotation): This method has been introduced in version 0.28. """ + ... def segments(self) -> int: r""" @brief Gets the number of segments. @@ -1291,26 +1361,31 @@ class Annotation(BasicAnnotation): This method has been introduced in version 0.28. """ + ... def text(self, index: Optional[int] = ...) -> str: r""" @brief Returns the formatted text for the main label The index parameter indicates which segment to use (0 is the first one). It has been added in version 0.28. """ + ... def text_x(self, index: Optional[int] = ...) -> str: r""" @brief Returns the formatted text for the x-axis label The index parameter indicates which segment to use (0 is the first one). It has been added in version 0.28. """ + ... def text_y(self, index: Optional[int] = ...) -> str: r""" @brief Returns the formatted text for the y-axis label The index parameter indicates which segment to use (0 is the first one). It has been added in version 0.28. """ + ... def to_s(self) -> str: r""" @brief Returns the string representation of the ruler This method was introduced in version 0.19. """ + ... @overload def transformed(self, t: db.DCplxTrans) -> Annotation: r""" @@ -1320,6 +1395,7 @@ class Annotation(BasicAnnotation): Starting with version 0.25, all overloads all available as 'transform'. """ + ... @overload def transformed(self, t: db.DTrans) -> Annotation: r""" @@ -1327,6 +1403,7 @@ class Annotation(BasicAnnotation): @param t The transformation to apply @return The transformed object """ + ... @overload def transformed(self, t: db.ICplxTrans) -> Annotation: r""" @@ -1338,6 +1415,7 @@ class Annotation(BasicAnnotation): Starting with version 0.25, all overloads all available as 'transform'. """ + ... @overload def transformed_cplx(self, t: db.DCplxTrans) -> Annotation: r""" @@ -1347,6 +1425,7 @@ class Annotation(BasicAnnotation): Starting with version 0.25, all overloads all available as 'transform'. """ + ... @overload def transformed_cplx(self, t: db.ICplxTrans) -> Annotation: r""" @@ -1358,6 +1437,8 @@ class Annotation(BasicAnnotation): Starting with version 0.25, all overloads all available as 'transform'. """ + ... + ... class BasicAnnotation: r""" @@ -1369,41 +1450,49 @@ class BasicAnnotation: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> BasicAnnotation: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> BasicAnnotation: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -1411,6 +1500,7 @@ class BasicAnnotation: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -1418,37 +1508,45 @@ class BasicAnnotation: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: BasicAnnotation) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> BasicAnnotation: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... + ... class BasicImage: r""" @@ -1460,41 +1558,49 @@ class BasicImage: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> BasicImage: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> BasicImage: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -1502,6 +1608,7 @@ class BasicImage: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -1509,37 +1616,45 @@ class BasicImage: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: BasicImage) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> BasicImage: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... + ... class BitmapBuffer: r""" @@ -1558,6 +1673,13 @@ class BitmapBuffer: @brief Reads the pixel buffer from a PNG byte stream This method may not be available if PNG support is not compiled into KLayout. """ + ... + @classmethod + def from_qimage(cls, qimage: QtGui.QImage_Native) -> BitmapBuffer: + r""" + @brief Creates a pixel buffer object from a QImage object + """ + ... @classmethod def new(cls, width: int, height: int) -> BitmapBuffer: r""" @@ -1568,24 +1690,29 @@ class BitmapBuffer: The pixels are basically uninitialized. You will need to use \fill to initialize them to a certain value. """ + ... @classmethod def read_png(cls, file: str) -> BitmapBuffer: r""" @brief Reads the pixel buffer from a PNG file This method may not be available if PNG support is not compiled into KLayout. """ + ... def __copy__(self) -> BitmapBuffer: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> BitmapBuffer: r""" @brief Creates a copy of self """ + ... def __eq__(self, other: object) -> bool: r""" @brief Returns a value indicating whether self is identical to the other image """ + ... def __init__(self, width: int, height: int) -> None: r""" @brief Creates a pixel buffer object @@ -1595,33 +1722,39 @@ class BitmapBuffer: The pixels are basically uninitialized. You will need to use \fill to initialize them to a certain value. """ + ... def __ne__(self, other: object) -> bool: r""" @brief Returns a value indicating whether self is not identical to the other image """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -1629,6 +1762,7 @@ class BitmapBuffer: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -1636,71 +1770,740 @@ class BitmapBuffer: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: BitmapBuffer) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> BitmapBuffer: r""" @brief Creates a copy of self """ + ... def fill(self, color: bool) -> None: r""" @brief Fills the pixel buffer with the given pixel value """ + ... def height(self) -> int: r""" @brief Gets the height of the pixel buffer in pixels """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def pixel(self, x: int, y: int) -> bool: r""" @brief Gets the value of the pixel at position x, y """ + ... def set_pixel(self, x: int, y: int, c: bool) -> None: r""" @brief Sets the value of the pixel at position x, y """ + ... def swap(self, other: BitmapBuffer) -> None: r""" @brief Swaps data with another BitmapBuffer object """ + ... def to_png_data(self) -> bytes: r""" @brief Converts the pixel buffer to a PNG byte stream This method may not be available if PNG support is not compiled into KLayout. """ + ... + def to_qimage(self) -> QtGui.QImage_Native: + r""" + @brief Converts the pixel buffer to a \QImage object + """ + ... def width(self) -> int: r""" @brief Gets the width of the pixel buffer in pixels """ + ... def write_png(self, file: str) -> None: r""" @brief Writes the pixel buffer to a PNG file This method may not be available if PNG support is not compiled into KLayout. """ + ... + ... + +class BrowserDialog(QDialog_Native): + r""" + @brief A HTML display and browser dialog + + The browser dialog displays HTML code in a browser panel. The HTML code is delivered through a separate object of class \BrowserSource which acts as a "server" for a specific kind of URL scheme. Whenever the browser sees a URL starting with "int:" it will ask the connected BrowserSource object for the HTML code of that page using its 'get' method. The task of the BrowserSource object is to format the data requested in HTML and deliver it. + + One use case for that class is the implementation of rich data browsers for structured information. In a simple scenario, the browser dialog can be instantiated with a static HTML page. In that case, only the content of that page is shown. + + Here's a simple example: + + @code + html = "Hello, world!" + RBA::BrowserDialog::new(html).exec + @/code + + And that is an example for the use case with a \BrowserSource as the "server": + + @code + class MySource < RBA::BrowserSource + def get(url) + if (url =~ /b.html$/) + return "The second page" + else + return "The first page with a link" + end + end + end + + source = MySource::new + RBA::BrowserDialog::new(source).exec + @/code + """ + @property + def caption(self) -> None: + r""" + WARNING: This variable can only be set, not retrieved. + @brief Sets the caption of the window + """ + ... + @property + def home(self) -> None: + r""" + WARNING: This variable can only be set, not retrieved. + @brief Sets the browser's initial and current URL which is selected if the "home" location is chosen + The home URL is the one shown initially and the one which is selected when the "home" button is pressed. The default location is "int:/index.html". + """ + ... + @property + def label(self) -> None: + r""" + WARNING: This variable can only be set, not retrieved. + @brief Sets the label text + + The label is shown left of the navigation buttons. + By default, no label is specified. + + This method has been introduced in version 0.23. + """ + ... + @property + def source(self) -> None: + r""" + WARNING: This variable can only be set, not retrieved. + @brief Connects to a source object + + Setting the source should be the first thing done after the BrowserDialog object is created. It will not have any effect after the browser has loaded the first page. In particular, \home= should be called after the source was set. + """ + ... + @overload + @classmethod + def new(cls, html: str) -> BrowserDialog: + r""" + @brief Creates a HTML browser window with a static HTML content + This method has been introduced in version 0.23. + """ + ... + @overload + @classmethod + def new(cls, parent: QtWidgets.QWidget_Native, html: str) -> BrowserDialog: + r""" + @brief Creates a HTML browser window with a static HTML content + This method variant with a parent argument has been introduced in version 0.24.2. + """ + ... + @overload + @classmethod + def new(cls, parent: QtWidgets.QWidget_Native, source: BrowserSource) -> BrowserDialog: + r""" + @brief Creates a HTML browser window with a \BrowserSource as the source of HTML code + This method variant with a parent argument has been introduced in version 0.24.2. + """ + ... + @overload + @classmethod + def new(cls, source: BrowserSource) -> BrowserDialog: + r""" + @brief Creates a HTML browser window with a \BrowserSource as the source of HTML code + This method has been introduced in version 0.23. + """ + ... + @overload + def __init__(self, html: str) -> None: + r""" + @brief Creates a HTML browser window with a static HTML content + This method has been introduced in version 0.23. + """ + ... + @overload + def __init__(self, parent: QtWidgets.QWidget_Native, html: str) -> None: + r""" + @brief Creates a HTML browser window with a static HTML content + This method variant with a parent argument has been introduced in version 0.24.2. + """ + ... + @overload + def __init__(self, parent: QtWidgets.QWidget_Native, source: BrowserSource) -> None: + r""" + @brief Creates a HTML browser window with a \BrowserSource as the source of HTML code + This method variant with a parent argument has been introduced in version 0.24.2. + """ + ... + @overload + def __init__(self, source: BrowserSource) -> None: + r""" + @brief Creates a HTML browser window with a \BrowserSource as the source of HTML code + This method has been introduced in version 0.23. + """ + ... + def _create(self) -> None: + r""" + @brief Ensures the C++ object is created + Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. + """ + ... + def _destroy(self) -> None: + r""" + @brief Explicitly destroys the object + Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. + If the object is not owned by the script, this method will do nothing. + """ + ... + def _destroyed(self) -> bool: + r""" + @brief Returns a value indicating whether the object was already destroyed + This method returns true, if the object was destroyed, either explicitly or by the C++ side. + The latter may happen, if the object is owned by a C++ object which got destroyed itself. + """ + ... + def _is_const_object(self) -> bool: + r""" + @brief Returns a value indicating whether the reference is a const reference + This method returns true, if self is a const reference. + In that case, only const methods may be called on self. + """ + ... + def _manage(self) -> None: + r""" + @brief Marks the object as managed by the script side. + After calling this method on an object, the script side will be responsible for the management of the object. This method may be called if an object is returned from a C++ function and the object is known not to be owned by any C++ instance. If necessary, the script side may delete the object if the script's reference is no longer required. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def _unmanage(self) -> None: + r""" + @brief Marks the object as no longer owned by the script side. + Calling this method will make this object no longer owned by the script's memory management. Instead, the object must be managed in some other way. Usually this method may be called if it is known that some C++ object holds and manages this object. Technically speaking, this method will turn the script's reference into a weak reference. After the script engine decides to delete the reference, the object itself will still exist. If the object is not managed otherwise, memory leaks will occur. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def exec_(self) -> int: + r""" + @brief Executes the HTML browser dialog as a modal window + """ + ... + def execute(self) -> int: + r""" + @brief Executes the HTML browser dialog as a modal window + """ + ... + def load(self, url: str) -> None: + r""" + @brief Loads the given URL into the browser dialog + Typically the URL has the "int:" scheme so the HTML code is taken from the \BrowserSource object. + """ + ... + def reload(self) -> None: + r""" + @brief Reloads the current page + """ + ... + def resize(self, width: int, height: int) -> None: + r""" + @brief Sets the size of the dialog window + """ + ... + def search(self, search_item: str) -> None: + r""" + @brief Issues a search request using the given search item and the search URL specified with \set_search_url + + See \set_search_url for a description of the search mechanism. + """ + ... + def set_caption(self, caption: str) -> None: + r""" + @brief Sets the caption of the window + """ + ... + def set_home(self, home_url: str) -> None: + r""" + @brief Sets the browser's initial and current URL which is selected if the "home" location is chosen + The home URL is the one shown initially and the one which is selected when the "home" button is pressed. The default location is "int:/index.html". + """ + ... + def set_search_url(self, url: str, query_item: str) -> None: + r""" + @brief Enables the search field and specifies the search URL generated for a search + + If a search URL is set, the search box right to the navigation bar will be enabled. When a text is entered into the search box, the browser will navigate to an URL composed of the search URL, the search item and the search text, i.e. "myurl?item=search_text". + + This method has been introduced in version 0.23. + """ + ... + def set_size(self, width: int, height: int) -> None: + r""" + @brief Sets the size of the dialog window + """ + ... + def set_source(self, source: BrowserSource) -> None: + r""" + @brief Connects to a source object + + Setting the source should be the first thing done after the BrowserDialog object is created. It will not have any effect after the browser has loaded the first page. In particular, \home= should be called after the source was set. + """ + ... + ... + +class BrowserPanel(QWidget_Native): + r""" + @brief A HTML display and browser widget + + This widget provides the functionality of \BrowserDialog within a widget. It can be embedded into other dialogs. For details about the use model of this class see \BrowserDialog. + + This class has been introduced in version 0.25. + """ + @property + def home(self) -> None: + r""" + WARNING: This variable can only be set, not retrieved. + @brief Sets the browser widget's initial and current URL which is selected if the "home" location is chosen + The home URL is the one shown initially and the one which is selected when the "home" button is pressed. The default location is "int:/index.html". + """ + ... + @property + def label(self) -> None: + r""" + WARNING: This variable can only be set, not retrieved. + @brief Sets the label text + + The label is shown left of the navigation buttons. + By default, no label is specified. + """ + ... + @property + def source(self) -> None: + r""" + WARNING: This variable can only be set, not retrieved. + @brief Connects to a source object + + Setting the source should be the first thing done after the BrowserDialog object is created. It will not have any effect after the browser has loaded the first page. In particular, \home= should be called after the source was set. + """ + ... + @overload + @classmethod + def new(cls, parent: QtWidgets.QWidget_Native) -> BrowserPanel: + r""" + @brief Creates a HTML browser widget + """ + ... + @overload + @classmethod + def new(cls, parent: QtWidgets.QWidget_Native, source: BrowserSource_Native) -> BrowserPanel: + r""" + @brief Creates a HTML browser widget with a \BrowserSource as the source of HTML code + """ + ... + @overload + def __init__(self, parent: QtWidgets.QWidget_Native) -> None: + r""" + @brief Creates a HTML browser widget + """ + ... + @overload + def __init__(self, parent: QtWidgets.QWidget_Native, source: BrowserSource_Native) -> None: + r""" + @brief Creates a HTML browser widget with a \BrowserSource as the source of HTML code + """ + ... + def _create(self) -> None: + r""" + @brief Ensures the C++ object is created + Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. + """ + ... + def _destroy(self) -> None: + r""" + @brief Explicitly destroys the object + Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. + If the object is not owned by the script, this method will do nothing. + """ + ... + def _destroyed(self) -> bool: + r""" + @brief Returns a value indicating whether the object was already destroyed + This method returns true, if the object was destroyed, either explicitly or by the C++ side. + The latter may happen, if the object is owned by a C++ object which got destroyed itself. + """ + ... + def _is_const_object(self) -> bool: + r""" + @brief Returns a value indicating whether the reference is a const reference + This method returns true, if self is a const reference. + In that case, only const methods may be called on self. + """ + ... + def _manage(self) -> None: + r""" + @brief Marks the object as managed by the script side. + After calling this method on an object, the script side will be responsible for the management of the object. This method may be called if an object is returned from a C++ function and the object is known not to be owned by any C++ instance. If necessary, the script side may delete the object if the script's reference is no longer required. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def _unmanage(self) -> None: + r""" + @brief Marks the object as no longer owned by the script side. + Calling this method will make this object no longer owned by the script's memory management. Instead, the object must be managed in some other way. Usually this method may be called if it is known that some C++ object holds and manages this object. Technically speaking, this method will turn the script's reference into a weak reference. After the script engine decides to delete the reference, the object itself will still exist. If the object is not managed otherwise, memory leaks will occur. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def load(self, url: str) -> None: + r""" + @brief Loads the given URL into the browser widget + Typically the URL has the "int:" scheme so the HTML code is taken from the \BrowserSource object. + """ + ... + def reload(self) -> None: + r""" + @brief Reloads the current page + """ + ... + def search(self, search_item: str) -> None: + r""" + @brief Issues a search request using the given search item and the search URL specified with \set_search_url + + See \search_url= for a description of the search mechanism. + """ + ... + def set_search_url(self, url: str, query_item: str) -> None: + r""" + @brief Enables the search field and specifies the search URL generated for a search + + If a search URL is set, the search box right to the navigation bar will be enabled. When a text is entered into the search box, the browser will navigate to an URL composed of the search URL, the search item and the search text, i.e. "myurl?item=search_text". + """ + ... + def url(self) -> str: + r""" + @brief Gets the URL currently shown + """ + ... + ... + +class BrowserSource: + r""" + @brief The BrowserDialog's source for "int" URL's + + The source object basically acts as a "server" for special URL's using "int" as the scheme. + Classes that want to implement such functionality must derive from BrowserSource and reimplement + the \get method. This method is supposed to deliver a HTML page for the given URL. + + Alternatively to implementing this functionality, a source object may be instantiated using the + constructor with a HTML code string. This will create a source object that simply displays the given string + as the initial and only page. + """ + @classmethod + def new(cls, html: str) -> BrowserSource: + r""" + @brief Constructs a BrowserSource object with a default HTML string + + The default HTML string is sent when no specific implementation is provided. + """ + ... + @classmethod + def new_html(cls, html: str) -> BrowserSource: + r""" + @brief Constructs a BrowserSource object with a default HTML string + + The default HTML string is sent when no specific implementation is provided. + """ + ... + def __copy__(self) -> BrowserSource: + r""" + @brief Creates a copy of self + """ + ... + def __deepcopy__(self) -> BrowserSource: + r""" + @brief Creates a copy of self + """ + ... + def __init__(self, html: str) -> None: + r""" + @brief Constructs a BrowserSource object with a default HTML string + + The default HTML string is sent when no specific implementation is provided. + """ + ... + def _create(self) -> None: + r""" + @brief Ensures the C++ object is created + Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. + """ + ... + def _destroy(self) -> None: + r""" + @brief Explicitly destroys the object + Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. + If the object is not owned by the script, this method will do nothing. + """ + ... + def _destroyed(self) -> bool: + r""" + @brief Returns a value indicating whether the object was already destroyed + This method returns true, if the object was destroyed, either explicitly or by the C++ side. + The latter may happen, if the object is owned by a C++ object which got destroyed itself. + """ + ... + def _is_const_object(self) -> bool: + r""" + @brief Returns a value indicating whether the reference is a const reference + This method returns true, if self is a const reference. + In that case, only const methods may be called on self. + """ + ... + def _manage(self) -> None: + r""" + @brief Marks the object as managed by the script side. + After calling this method on an object, the script side will be responsible for the management of the object. This method may be called if an object is returned from a C++ function and the object is known not to be owned by any C++ instance. If necessary, the script side may delete the object if the script's reference is no longer required. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def _unmanage(self) -> None: + r""" + @brief Marks the object as no longer owned by the script side. + Calling this method will make this object no longer owned by the script's memory management. Instead, the object must be managed in some other way. Usually this method may be called if it is known that some C++ object holds and manages this object. Technically speaking, this method will turn the script's reference into a weak reference. After the script engine decides to delete the reference, the object itself will still exist. If the object is not managed otherwise, memory leaks will occur. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def assign(self, other: BrowserSource) -> None: + r""" + @brief Assigns another object to self + """ + ... + def create(self) -> None: + r""" + @brief Ensures the C++ object is created + Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. + """ + ... + def destroy(self) -> None: + r""" + @brief Explicitly destroys the object + Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. + If the object is not owned by the script, this method will do nothing. + """ + ... + def destroyed(self) -> bool: + r""" + @brief Returns a value indicating whether the object was already destroyed + This method returns true, if the object was destroyed, either explicitly or by the C++ side. + The latter may happen, if the object is owned by a C++ object which got destroyed itself. + """ + ... + def dup(self) -> BrowserSource: + r""" + @brief Creates a copy of self + """ + ... + def get_image(self, url: str) -> QtGui.QImage_Native: + r""" + @brief Gets the image object for a specific URL + + This method has been introduced in version 0.28. + """ + ... + def is_const_object(self) -> bool: + r""" + @brief Returns a value indicating whether the reference is a const reference + This method returns true, if self is a const reference. + In that case, only const methods may be called on self. + """ + ... + def next_topic(self, url: str) -> str: + r""" + @brief Gets the next topic URL from a given URL + An empty string will be returned if no next topic is available. + + This method has been introduced in version 0.28. + """ + ... + def prev_topic(self, url: str) -> str: + r""" + @brief Gets the previous topic URL from a given URL + An empty string will be returned if no previous topic is available. + + This method has been introduced in version 0.28. + """ + ... + ... + +class BrowserSource_Native: + r""" + @hide + @alias BrowserSource + """ + @classmethod + def new(cls) -> BrowserSource_Native: + r""" + @brief Creates a new object of this class + """ + ... + def __copy__(self) -> BrowserSource_Native: + r""" + @brief Creates a copy of self + """ + ... + def __deepcopy__(self) -> BrowserSource_Native: + r""" + @brief Creates a copy of self + """ + ... + def __init__(self) -> None: + r""" + @brief Creates a new object of this class + """ + ... + def _create(self) -> None: + r""" + @brief Ensures the C++ object is created + Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. + """ + ... + def _destroy(self) -> None: + r""" + @brief Explicitly destroys the object + Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. + If the object is not owned by the script, this method will do nothing. + """ + ... + def _destroyed(self) -> bool: + r""" + @brief Returns a value indicating whether the object was already destroyed + This method returns true, if the object was destroyed, either explicitly or by the C++ side. + The latter may happen, if the object is owned by a C++ object which got destroyed itself. + """ + ... + def _is_const_object(self) -> bool: + r""" + @brief Returns a value indicating whether the reference is a const reference + This method returns true, if self is a const reference. + In that case, only const methods may be called on self. + """ + ... + def _manage(self) -> None: + r""" + @brief Marks the object as managed by the script side. + After calling this method on an object, the script side will be responsible for the management of the object. This method may be called if an object is returned from a C++ function and the object is known not to be owned by any C++ instance. If necessary, the script side may delete the object if the script's reference is no longer required. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def _unmanage(self) -> None: + r""" + @brief Marks the object as no longer owned by the script side. + Calling this method will make this object no longer owned by the script's memory management. Instead, the object must be managed in some other way. Usually this method may be called if it is known that some C++ object holds and manages this object. Technically speaking, this method will turn the script's reference into a weak reference. After the script engine decides to delete the reference, the object itself will still exist. If the object is not managed otherwise, memory leaks will occur. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def assign(self, other: BrowserSource_Native) -> None: + r""" + @brief Assigns another object to self + """ + ... + def create(self) -> None: + r""" + @brief Ensures the C++ object is created + Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. + """ + ... + def destroy(self) -> None: + r""" + @brief Explicitly destroys the object + Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. + If the object is not owned by the script, this method will do nothing. + """ + ... + def destroyed(self) -> bool: + r""" + @brief Returns a value indicating whether the object was already destroyed + This method returns true, if the object was destroyed, either explicitly or by the C++ side. + The latter may happen, if the object is owned by a C++ object which got destroyed itself. + """ + ... + def dup(self) -> BrowserSource_Native: + r""" + @brief Creates a copy of self + """ + ... + def get(self, url: str) -> str: + r""" + """ + ... + def get_image(self, url: str) -> QtGui.QImage_Native: + r""" + """ + ... + def is_const_object(self) -> bool: + r""" + @brief Returns a value indicating whether the reference is a const reference + This method returns true, if self is a const reference. + In that case, only const methods may be called on self. + """ + ... + def next_topic(self, url: str) -> str: + r""" + """ + ... + def prev_topic(self, url: str) -> str: + r""" + """ + ... + ... class ButtonState: r""" @@ -1743,41 +2546,49 @@ class ButtonState: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> ButtonState: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> ButtonState: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -1785,6 +2596,7 @@ class ButtonState: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -1792,37 +2604,45 @@ class ButtonState: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: ButtonState) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> ButtonState: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... + ... class CellView: r""" @@ -1967,51 +2787,61 @@ class CellView: This method has been introduced in version 0.23. """ + ... @classmethod def new(cls) -> CellView: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> CellView: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> CellView: r""" @brief Creates a copy of self """ + ... def __eq__(self, other: object) -> bool: r""" @brief Equality: indicates whether the cellviews refer to the same one In version 0.25, the definition of the equality operator has been changed to reflect identity of the cellview. Before that version, identity of the cell shown was implied. """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -2019,6 +2849,7 @@ class CellView: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -2026,16 +2857,19 @@ class CellView: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def ascend(self) -> None: r""" @brief Ascends upwards in the hierarchy. Removes one element from the specific path of the cellview with the given index. Returns the element removed. This method has been added in version 0.25. """ + ... def assign(self, other: CellView) -> None: r""" @brief Assigns another object to self """ + ... def close(self) -> None: r""" @brief Closes this cell view @@ -2044,6 +2878,7 @@ class CellView: This method was introduced in version 0.25. """ + ... def context_dtrans(self) -> db.DCplxTrans: r""" @brief Gets the accumulated transformation of the context path in micron unit space @@ -2053,6 +2888,7 @@ class CellView: This method has been introduced in version 0.27.3. """ + ... def context_trans(self) -> db.ICplxTrans: r""" @brief Gets the accumulated transformation of the context path @@ -2062,19 +2898,23 @@ class CellView: This method has been introduced in version 0.27.3. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def ctx_cell(self) -> db.Cell: r""" @brief Gets the reference to the context cell currently addressed """ + ... def ctx_cell_index(self) -> int: r""" @brief Gets the context cell's index """ + ... def descend(self, path: Sequence[db.InstElement]) -> None: r""" @brief Descends further into the hierarchy. @@ -2082,50 +2922,59 @@ class CellView: The path is assumed to originate from the current cell and contain specific instances sorted from top to bottom. This method has been added in version 0.25. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> CellView: r""" @brief Creates a copy of self """ + ... def filename(self) -> str: r""" @brief Gets filename associated with the layout behind the cellview """ + ... def hide_cell(self, cell: db.Cell) -> None: r""" @brief Hides the given cell This method has been added in version 0.25. """ + ... def index(self) -> int: r""" @brief Gets the index of this cellview in the layout view The index will be negative if the cellview is not a valid one. This method has been added in version 0.25. """ + ... def is_cell_hidden(self, cell: db.Cell) -> bool: r""" @brief Returns true, if the given cell is hidden This method has been added in version 0.25. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_dirty(self) -> bool: r""" @brief Gets a flag indicating whether the layout needs saving @@ -2133,15 +2982,18 @@ class CellView: This method has been introduced in version 0.24.10. """ + ... def is_valid(self) -> bool: r""" @brief Returns true, if the cellview is valid A cellview may become invalid if the corresponding tab is closed for example. """ + ... def layout(self) -> db.Layout: r""" @brief Gets the reference to the layout object addressed by this view """ + ... def reset_cell(self) -> None: r""" @brief Resets the cell @@ -2149,6 +3001,7 @@ class CellView: The cellview will become invalid. The layout object will still be attached to the cellview, but no cell will be selected. """ + ... def set_cell(self, cell_index: int) -> None: r""" @brief Sets the path to the given cell @@ -2157,6 +3010,7 @@ class CellView: particular one. It will clear the context path and update the context and target cell. Note that the cell is specified by its index. """ + ... def set_cell_name(self, cell_name: str) -> None: r""" @brief Sets the cell by name @@ -2167,6 +3021,7 @@ class CellView: particular one. It will clear the context path and update the context and target cell. """ + ... def set_context_path(self, path: Sequence[db.InstElement]) -> None: r""" @brief Sets the context path explicitly @@ -2175,6 +3030,7 @@ class CellView: is established already and that the context path starts from the context cell. """ + ... def set_path(self, path: Sequence[int]) -> None: r""" @brief Sets the unspecific part of the path explicitly @@ -2182,24 +3038,29 @@ class CellView: Setting the unspecific part of the path will clear the context path component and update the context and target cell. """ + ... def show_all_cells(self) -> None: r""" @brief Makes all cells shown (cancel effects of \hide_cell) for the specified cell view This method has been added in version 0.25. """ + ... def show_cell(self, cell: db.Cell) -> None: r""" @brief Shows the given cell (cancels the effect of \hide_cell) This method has been added in version 0.25. """ + ... def view(self) -> LayoutView: r""" @brief Gets the view the cellview resides in This reference will be nil if the cellview is not a valid one. This method has been added in version 0.25. """ + ... + ... class Cursor: r""" @@ -2292,41 +3153,49 @@ class Cursor: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> Cursor: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> Cursor: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -2334,6 +3203,7 @@ class Cursor: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -2341,37 +3211,45 @@ class Cursor: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: Cursor) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> Cursor: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... + ... class Dispatcher: r""" @@ -2390,38 +3268,45 @@ class Dispatcher: @return The instance """ + ... @classmethod def new(cls) -> Dispatcher: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -2429,6 +3314,7 @@ class Dispatcher: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -2436,33 +3322,39 @@ class Dispatcher: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def clear_config(self) -> None: r""" @brief Clears the configuration parameters """ + ... def commit_config(self) -> None: r""" @brief Commits the configuration settings Some configuration options are queued for performance reasons and become active only after 'commit_config' has been called. After a sequence of \set_config calls, this method should be called to activate the settings made by these calls. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def get_config(self, name: str) -> Any: r""" @brief Gets the value of a local configuration parameter @@ -2471,6 +3363,7 @@ class Dispatcher: @return The value of the parameter or nil if there is no such parameter """ + ... def get_config_names(self) -> List[str]: r""" @brief Gets the configuration parameter names @@ -2479,12 +3372,14 @@ class Dispatcher: This method returns the names of all known configuration parameters. These names can be used to get and set configuration parameter values. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def read_config(self, file_name: str) -> bool: r""" @brief Reads the configuration from a file @@ -2494,6 +3389,7 @@ class Dispatcher: exist. If it does and an error occurred, the error message is printed on stderr. In both cases, false is returned. """ + ... def set_config(self, name: str, value: str) -> None: r""" @brief Set a local configuration parameter with the given name to the given value @@ -2503,6 +3399,7 @@ class Dispatcher: This method sets a configuration parameter with the given name to the given value. Values can only be strings. Numerical values have to be converted into strings first. Local configuration parameters override global configurations for this specific view. This allows for example to override global settings of background colors. Any local settings are not written to the configuration file. """ + ... def write_config(self, file_name: str) -> bool: r""" @brief Writes configuration to a file @@ -2511,6 +3408,140 @@ class Dispatcher: If the configuration file cannot be written, false is returned but no exception is thrown. """ + ... + ... + +class DoubleValue: + r""" + @brief Encapsulate a floating point value + @hide + This class is provided as a return value of \InputDialog::get_double. + By using an object rather than a pure value, an object with \has_value? = false can be returned indicating that + the "Cancel" button was pressed. Starting with version 0.22, the InputDialog class offers new method which do no + longer requires to use this class. + """ + @classmethod + def new(cls) -> DoubleValue: + r""" + @brief Creates a new object of this class + """ + ... + def __copy__(self) -> DoubleValue: + r""" + @brief Creates a copy of self + """ + ... + def __deepcopy__(self) -> DoubleValue: + r""" + @brief Creates a copy of self + """ + ... + def __float__(self) -> float: + r""" + @brief Get the actual value (a synonym for \value) + """ + ... + def __init__(self) -> None: + r""" + @brief Creates a new object of this class + """ + ... + def _create(self) -> None: + r""" + @brief Ensures the C++ object is created + Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. + """ + ... + def _destroy(self) -> None: + r""" + @brief Explicitly destroys the object + Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. + If the object is not owned by the script, this method will do nothing. + """ + ... + def _destroyed(self) -> bool: + r""" + @brief Returns a value indicating whether the object was already destroyed + This method returns true, if the object was destroyed, either explicitly or by the C++ side. + The latter may happen, if the object is owned by a C++ object which got destroyed itself. + """ + ... + def _is_const_object(self) -> bool: + r""" + @brief Returns a value indicating whether the reference is a const reference + This method returns true, if self is a const reference. + In that case, only const methods may be called on self. + """ + ... + def _manage(self) -> None: + r""" + @brief Marks the object as managed by the script side. + After calling this method on an object, the script side will be responsible for the management of the object. This method may be called if an object is returned from a C++ function and the object is known not to be owned by any C++ instance. If necessary, the script side may delete the object if the script's reference is no longer required. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def _unmanage(self) -> None: + r""" + @brief Marks the object as no longer owned by the script side. + Calling this method will make this object no longer owned by the script's memory management. Instead, the object must be managed in some other way. Usually this method may be called if it is known that some C++ object holds and manages this object. Technically speaking, this method will turn the script's reference into a weak reference. After the script engine decides to delete the reference, the object itself will still exist. If the object is not managed otherwise, memory leaks will occur. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def assign(self, other: DoubleValue) -> None: + r""" + @brief Assigns another object to self + """ + ... + def create(self) -> None: + r""" + @brief Ensures the C++ object is created + Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. + """ + ... + def destroy(self) -> None: + r""" + @brief Explicitly destroys the object + Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. + If the object is not owned by the script, this method will do nothing. + """ + ... + def destroyed(self) -> bool: + r""" + @brief Returns a value indicating whether the object was already destroyed + This method returns true, if the object was destroyed, either explicitly or by the C++ side. + The latter may happen, if the object is owned by a C++ object which got destroyed itself. + """ + ... + def dup(self) -> DoubleValue: + r""" + @brief Creates a copy of self + """ + ... + def has_value(self) -> bool: + r""" + @brief True, if a value is present + """ + ... + def is_const_object(self) -> bool: + r""" + @brief Returns a value indicating whether the reference is a const reference + This method returns true, if self is a const reference. + In that case, only const methods may be called on self. + """ + ... + def to_f(self) -> float: + r""" + @brief Get the actual value (a synonym for \value) + """ + ... + def value(self) -> float: + r""" + @brief Get the actual value + """ + ... + ... class EditorHooks: r""" @@ -2667,38 +3698,45 @@ class EditorHooks: @brief sets the name of the technology the hooks are associated with This will clear all technology associations and associate the hooks with that technology only. """ + ... @classmethod def new(cls) -> EditorHooks: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -2706,6 +3744,7 @@ class EditorHooks: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -2713,53 +3752,63 @@ class EditorHooks: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def add_technology(self, tech: str) -> None: r""" @brief Additionally associates the hooks with the given technology. See also \clear_technologies. """ + ... def clear_technologies(self) -> None: r""" @brief Clears the list of technologies the hooks are associated with. See also \add_technology. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def for_technologies(self) -> bool: r""" @brief Returns a value indicating whether the hooks are associated with any technology. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_for_technology(self, tech: str) -> bool: r""" @brief Returns a value indicating whether the hooks are associated with the given technology. The method is equivalent to checking whether the \technologies list is empty. """ + ... def name(self) -> str: r""" @brief Gets the name of the hooks object. This is the name, the object was registered under in the system. """ + ... def register(self, name: str) -> None: r""" @brief Registers the hooks in the system. @@ -2767,10 +3816,444 @@ class EditorHooks: The name is arbitary, but should be unique. Upon registration, this hooks object will replace others with the same name already registered in the system. This will simplify debugging as you can re-run the same code, without accumulating hooks. """ + ... def technologies(self) -> List[str]: r""" @brief Gets the list of technologies these hooks are associated with. """ + ... + ... + +class FileDialog: + r""" + @brief Various methods to request a file name + + This class provides some basic dialogs to select a file or directory. This functionality is provided through the static (class) methods ask_... + + Here are some examples: + + @code + # get an existing directory: + v = RBA::FileDialog::ask_existing_dir("Dialog Title", ".") + # get multiple files: + v = RBA::FileDialog::ask_open_file_names("Title", ".", "All files (*)") + # ask for one file name to save a file: + v = RBA::FileDialog::ask_save_file_name("Title", ".", "All files (*)") + @/code + + All these examples return the "nil" value if "Cancel" is pressed. + + If you have enabled the Qt binding, you can use \QFileDialog directly. + """ + @classmethod + def ask_existing_dir(cls, title: str, dir: str) -> Any: + r""" + @brief Open a dialog to select a directory + + @param title The title of the dialog + @param dir The directory selected initially + @return The directory path selected or "nil" if "Cancel" was pressed + + This method has been introduced in version 0.23. It is somewhat easier to use than the get_... equivalent. + """ + ... + @classmethod + def ask_open_file_name(cls, title: str, dir: str, filter: str) -> Any: + r""" + @brief Select one file for opening + + @param title The title of the dialog + @param dir The directory selected initially + @param filter The filters available, for example "Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)" + @return The path of the file selected or "nil" if "Cancel" was pressed + + This method has been introduced in version 0.23. It is somewhat easier to use than the get_... equivalent. + """ + ... + @classmethod + def ask_open_file_names(cls, title: str, dir: str, filter: str) -> Any: + r""" + @brief Select one or multiple files for opening + + @param title The title of the dialog + @param dir The directory selected initially + @param filter The filters available, for example "Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)" + @return An array with the file paths selected or "nil" if "Cancel" was pressed + + This method has been introduced in version 0.23. It is somewhat easier to use than the get_... equivalent. + """ + ... + @classmethod + def ask_save_file_name(cls, title: str, dir: str, filter: str) -> Any: + r""" + @brief Select one file for writing + + @param title The title of the dialog + @param dir The directory selected initially + @param filter The filters available, for example "Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)" + @return The path of the file chosen or "nil" if "Cancel" was pressed + + This method has been introduced in version 0.23. It is somewhat easier to use than the get_... equivalent. + """ + ... + @classmethod + def ask_save_file_name_with_filter(cls, title: str, dir: str, filter: str) -> Any: + r""" + @brief Select one file for writing + + @param title The title of the dialog + @param dir The directory selected initially + @param filter The filters available, for example "Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)" + @return "nil" if "Cancel" was pressed, otherwise a pair: The path of the file chosen and the index selected file type (-1 if no specific type was selected) + + This method has been introduced in version 0.28.11. + """ + ... + @classmethod + def get_existing_dir(cls, title: str, dir: str) -> StringValue: + r""" + @brief Open a dialog to select a directory + + @param title The title of the dialog + @param dir The directory selected initially + @return A \StringValue object that contains the directory path selected or with has_value? = false if "Cancel" was pressed + + Starting with version 0.23 this method is deprecated. Use \ask_existing_dir instead. + """ + ... + @classmethod + def get_open_file_name(cls, title: str, dir: str, filter: str) -> StringValue: + r""" + @brief Select one file for opening + + @param title The title of the dialog + @param dir The directory selected initially + @param filter The filters available, for example "Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)" + @return A \StringValue object that contains the files selected or with has_value? = false if "Cancel" was pressed + + Starting with version 0.23 this method is deprecated. Use \ask_open_file_name instead. + """ + ... + @classmethod + def get_open_file_names(cls, title: str, dir: str, filter: str) -> StringListValue: + r""" + @brief Select one or multiple files for opening + + @param title The title of the dialog + @param dir The directory selected initially + @param filter The filters available, for example "Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)" + @return A \StringListValue object that contains the files selected or with has_value? = false if "Cancel" was pressed + + Starting with version 0.23 this method is deprecated. Use \ask_open_file_names instead. + """ + ... + @classmethod + def get_save_file_name(cls, title: str, dir: str, filter: str) -> StringValue: + r""" + @brief Select one file for writing + + @param title The title of the dialog + @param dir The directory selected initially + @param filter The filters available, for example "Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)" + @return A \StringValue object that contains the files selected or with has_value? = false if "Cancel" was pressed + + Starting with version 0.23 this method is deprecated. Use \ask_save_file_name instead. + """ + ... + @classmethod + def new(cls) -> FileDialog: + r""" + @brief Creates a new object of this class + """ + ... + def __copy__(self) -> FileDialog: + r""" + @brief Creates a copy of self + """ + ... + def __deepcopy__(self) -> FileDialog: + r""" + @brief Creates a copy of self + """ + ... + def __init__(self) -> None: + r""" + @brief Creates a new object of this class + """ + ... + def _create(self) -> None: + r""" + @brief Ensures the C++ object is created + Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. + """ + ... + def _destroy(self) -> None: + r""" + @brief Explicitly destroys the object + Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. + If the object is not owned by the script, this method will do nothing. + """ + ... + def _destroyed(self) -> bool: + r""" + @brief Returns a value indicating whether the object was already destroyed + This method returns true, if the object was destroyed, either explicitly or by the C++ side. + The latter may happen, if the object is owned by a C++ object which got destroyed itself. + """ + ... + def _is_const_object(self) -> bool: + r""" + @brief Returns a value indicating whether the reference is a const reference + This method returns true, if self is a const reference. + In that case, only const methods may be called on self. + """ + ... + def _manage(self) -> None: + r""" + @brief Marks the object as managed by the script side. + After calling this method on an object, the script side will be responsible for the management of the object. This method may be called if an object is returned from a C++ function and the object is known not to be owned by any C++ instance. If necessary, the script side may delete the object if the script's reference is no longer required. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def _unmanage(self) -> None: + r""" + @brief Marks the object as no longer owned by the script side. + Calling this method will make this object no longer owned by the script's memory management. Instead, the object must be managed in some other way. Usually this method may be called if it is known that some C++ object holds and manages this object. Technically speaking, this method will turn the script's reference into a weak reference. After the script engine decides to delete the reference, the object itself will still exist. If the object is not managed otherwise, memory leaks will occur. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def assign(self, other: FileDialog) -> None: + r""" + @brief Assigns another object to self + """ + ... + def create(self) -> None: + r""" + @brief Ensures the C++ object is created + Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. + """ + ... + def destroy(self) -> None: + r""" + @brief Explicitly destroys the object + Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. + If the object is not owned by the script, this method will do nothing. + """ + ... + def destroyed(self) -> bool: + r""" + @brief Returns a value indicating whether the object was already destroyed + This method returns true, if the object was destroyed, either explicitly or by the C++ side. + The latter may happen, if the object is owned by a C++ object which got destroyed itself. + """ + ... + def dup(self) -> FileDialog: + r""" + @brief Creates a copy of self + """ + ... + def is_const_object(self) -> bool: + r""" + @brief Returns a value indicating whether the reference is a const reference + This method returns true, if self is a const reference. + In that case, only const methods may be called on self. + """ + ... + ... + +class HelpDialog(QDialog_Native): + r""" + @brief The help dialog + + This class makes the help dialog available as an individual object. + + This class has been added in version 0.25. + """ + @overload + @classmethod + def new(cls, modal: bool) -> HelpDialog: + r""" + @brief Creates a new help dialog + If the modal flag is true, the dialog will be shown as a modal window. + """ + ... + @overload + @classmethod + def new(cls, parent: QtWidgets.QWidget_Native, modal: bool) -> HelpDialog: + r""" + @brief Creates a new help dialog + If the modal flag is true, the dialog will be shown as a modal window. + """ + ... + def _create(self) -> None: + r""" + @brief Ensures the C++ object is created + Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. + """ + ... + def _destroy(self) -> None: + r""" + @brief Explicitly destroys the object + Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. + If the object is not owned by the script, this method will do nothing. + """ + ... + def _destroyed(self) -> bool: + r""" + @brief Returns a value indicating whether the object was already destroyed + This method returns true, if the object was destroyed, either explicitly or by the C++ side. + The latter may happen, if the object is owned by a C++ object which got destroyed itself. + """ + ... + def _is_const_object(self) -> bool: + r""" + @brief Returns a value indicating whether the reference is a const reference + This method returns true, if self is a const reference. + In that case, only const methods may be called on self. + """ + ... + def _manage(self) -> None: + r""" + @brief Marks the object as managed by the script side. + After calling this method on an object, the script side will be responsible for the management of the object. This method may be called if an object is returned from a C++ function and the object is known not to be owned by any C++ instance. If necessary, the script side may delete the object if the script's reference is no longer required. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def _unmanage(self) -> None: + r""" + @brief Marks the object as no longer owned by the script side. + Calling this method will make this object no longer owned by the script's memory management. Instead, the object must be managed in some other way. Usually this method may be called if it is known that some C++ object holds and manages this object. Technically speaking, this method will turn the script's reference into a weak reference. After the script engine decides to delete the reference, the object itself will still exist. If the object is not managed otherwise, memory leaks will occur. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def load(self, url: str) -> None: + r""" + @brief Loads the specified URL + This method will call the page with the given URL. + """ + ... + def search(self, topic: str) -> None: + r""" + @brief Issues a search on the specified topic + This method will call the search page with the given topic. + """ + ... + ... + +class HelpSource(BrowserSource_Native): + r""" + @brief A BrowserSource implementation delivering the help text for the help dialog + This class can be used together with a \BrowserPanel or \BrowserDialog object to implement custom help systems. + + The basic URL's served by this class are: "int:/index.xml" for the index page and "int:/search.xml?string=..." for the search topic retrieval. + + This class has been added in version 0.25. + """ + @classmethod + def create_index_file(cls, path: str) -> None: + r""" + @brief Reserved internal use + """ + ... + @classmethod + def plain(cls) -> HelpSource: + r""" + @brief Reserved for internal use + """ + ... + def _assign(self, other: BrowserSource_Native) -> None: + r""" + @brief Assigns another object to self + """ + ... + def _create(self) -> None: + r""" + @brief Ensures the C++ object is created + Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. + """ + ... + def _destroy(self) -> None: + r""" + @brief Explicitly destroys the object + Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. + If the object is not owned by the script, this method will do nothing. + """ + ... + def _destroyed(self) -> bool: + r""" + @brief Returns a value indicating whether the object was already destroyed + This method returns true, if the object was destroyed, either explicitly or by the C++ side. + The latter may happen, if the object is owned by a C++ object which got destroyed itself. + """ + ... + def _dup(self) -> HelpSource: + r""" + @brief Creates a copy of self + """ + ... + def _is_const_object(self) -> bool: + r""" + @brief Returns a value indicating whether the reference is a const reference + This method returns true, if self is a const reference. + In that case, only const methods may be called on self. + """ + ... + def _manage(self) -> None: + r""" + @brief Marks the object as managed by the script side. + After calling this method on an object, the script side will be responsible for the management of the object. This method may be called if an object is returned from a C++ function and the object is known not to be owned by any C++ instance. If necessary, the script side may delete the object if the script's reference is no longer required. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def _unmanage(self) -> None: + r""" + @brief Marks the object as no longer owned by the script side. + Calling this method will make this object no longer owned by the script's memory management. Instead, the object must be managed in some other way. Usually this method may be called if it is known that some C++ object holds and manages this object. Technically speaking, this method will turn the script's reference into a weak reference. After the script engine decides to delete the reference, the object itself will still exist. If the object is not managed otherwise, memory leaks will occur. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def get_dom(self, path: str) -> QtXml.QDomDocument: + r""" + @brief Reserved for internal use + """ + ... + def get_option(self, key: str) -> Any: + r""" + @brief Reserved for internal use + """ + ... + def parent_of(self, path: str) -> str: + r""" + @brief Reserved internal use + """ + ... + def scan(self) -> None: + r""" + @brief Reserved internal use + """ + ... + def set_option(self, key: str, value: Any) -> None: + r""" + @brief Reserved for internal use + """ + ... + def title_for(self, path: str) -> str: + r""" + @brief Reserved internal use + """ + ... + def urls(self) -> List[str]: + r""" + @brief Reserved for internal use + """ + ... + ... class Image(BasicImage): r""" @@ -2955,6 +4438,7 @@ class Image(BasicImage): @brief Creates an image from the string returned by \to_s. This method has been introduced in version 0.27. """ + ... @overload @classmethod def new(cls) -> Image: @@ -2963,6 +4447,7 @@ class Image(BasicImage): This will create an empty image without data and no particular pixel width or related. Use the \read_file or \set_data methods to set image properties and pixel values. """ + ... @overload @classmethod def new(cls, filename: str, trans: Optional[db.DCplxTrans] = ...) -> Image: @@ -2976,6 +4461,22 @@ class Image(BasicImage): @param filename The path to the image file to load. @param trans The transformation to apply to the image when displaying it. """ + ... + @overload + @classmethod + def new(cls, image: QtGui.QImage_Native, trans: Optional[db.DCplxTrans] = ...) -> Image: + r""" + @brief Constructor from a image pixel buffer + + This constructor creates an image object from a pixel QImage object and uses RGB or mono image data to generate the image. + + The image will originally be put to position 0,0 (lower left corner) and each pixel + will have a size of 1. The transformation describes how to transform this image into micron space. + + @param filename The path to the image file to load. + @param trans The transformation to apply to the image when displaying it. + """ + ... @overload @classmethod def new(cls, pixels: PixelBuffer, trans: Optional[db.DCplxTrans] = ...) -> Image: @@ -2990,6 +4491,7 @@ class Image(BasicImage): @param filename The path to the image file to load. @param trans The transformation to apply to the image when displaying it. """ + ... @overload @classmethod def new(cls, w: int, h: int, data: Sequence[float]) -> Image: @@ -3007,6 +4509,7 @@ class Image(BasicImage): @param h The height of the image @param d The data (see method description) """ + ... @overload @classmethod def new(cls, w: int, h: int, red: Sequence[float], green: Sequence[float], blue: Sequence[float]) -> Image: @@ -3026,6 +4529,7 @@ class Image(BasicImage): @param green The green channel data set which will become owned by the image @param blue The blue channel data set which will become owned by the image """ + ... @overload @classmethod def new(cls, w: int, h: int, trans: db.DCplxTrans, data: Sequence[float]) -> Image: @@ -3044,6 +4548,7 @@ class Image(BasicImage): @param trans The transformation from pixel space to micron space @param d The data (see method description) """ + ... @overload @classmethod def new(cls, w: int, h: int, trans: db.DCplxTrans, red: Sequence[float], green: Sequence[float], blue: Sequence[float]) -> Image: @@ -3064,6 +4569,7 @@ class Image(BasicImage): @param green The green channel data set which will become owned by the image @param blue The blue channel data set which will become owned by the image """ + ... @classmethod def read(cls, path: str) -> Image: r""" @@ -3073,6 +4579,7 @@ class Image(BasicImage): This method has been introduced in version 0.27. """ + ... @overload def __init__(self) -> None: r""" @@ -3080,6 +4587,7 @@ class Image(BasicImage): This will create an empty image without data and no particular pixel width or related. Use the \read_file or \set_data methods to set image properties and pixel values. """ + ... @overload def __init__(self, filename: str, trans: Optional[db.DCplxTrans] = ...) -> None: r""" @@ -3092,6 +4600,21 @@ class Image(BasicImage): @param filename The path to the image file to load. @param trans The transformation to apply to the image when displaying it. """ + ... + @overload + def __init__(self, image: QtGui.QImage_Native, trans: Optional[db.DCplxTrans] = ...) -> None: + r""" + @brief Constructor from a image pixel buffer + + This constructor creates an image object from a pixel QImage object and uses RGB or mono image data to generate the image. + + The image will originally be put to position 0,0 (lower left corner) and each pixel + will have a size of 1. The transformation describes how to transform this image into micron space. + + @param filename The path to the image file to load. + @param trans The transformation to apply to the image when displaying it. + """ + ... @overload def __init__(self, pixels: PixelBuffer, trans: Optional[db.DCplxTrans] = ...) -> None: r""" @@ -3105,6 +4628,7 @@ class Image(BasicImage): @param filename The path to the image file to load. @param trans The transformation to apply to the image when displaying it. """ + ... @overload def __init__(self, w: int, h: int, data: Sequence[float]) -> None: r""" @@ -3121,6 +4645,7 @@ class Image(BasicImage): @param h The height of the image @param d The data (see method description) """ + ... @overload def __init__(self, w: int, h: int, red: Sequence[float], green: Sequence[float], blue: Sequence[float]) -> None: r""" @@ -3139,6 +4664,7 @@ class Image(BasicImage): @param green The green channel data set which will become owned by the image @param blue The blue channel data set which will become owned by the image """ + ... @overload def __init__(self, w: int, h: int, trans: db.DCplxTrans, data: Sequence[float]) -> None: r""" @@ -3156,6 +4682,7 @@ class Image(BasicImage): @param trans The transformation from pixel space to micron space @param d The data (see method description) """ + ... @overload def __init__(self, w: int, h: int, trans: db.DCplxTrans, red: Sequence[float], green: Sequence[float], blue: Sequence[float]) -> None: r""" @@ -3175,49 +4702,51 @@ class Image(BasicImage): @param green The green channel data set which will become owned by the image @param blue The blue channel data set which will become owned by the image """ - def __repr__(self) -> str: - r""" - @brief Converts the image to a string - The string returned can be used to create an image object using \from_s. - @return The string - """ + ... def __str__(self) -> str: r""" @brief Converts the image to a string The string returned can be used to create an image object using \from_s. @return The string """ + ... def _assign(self, other: BasicImage) -> None: r""" @brief Assigns another object to self """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _dup(self) -> Image: r""" @brief Creates a copy of self """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -3225,6 +4754,7 @@ class Image(BasicImage): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -3232,16 +4762,19 @@ class Image(BasicImage): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def box(self) -> db.DBox: r""" @brief Gets the bounding box of the image @return The bounding box """ + ... def clear(self) -> None: r""" @brief Clears the image data (sets to 0 or black). This method has been introduced in version 0.27. """ + ... def data(self, channel: Optional[int] = ...) -> List[float]: r""" @brief Gets the data array for a specific color channel @@ -3251,12 +4784,14 @@ class Image(BasicImage): This method has been introduced in version 0.27. """ + ... def delete(self) -> None: r""" @brief Deletes this image from the view If the image is an "active" one, this method will remove it from the view. This object will become detached and can still be manipulated, but without having an effect on the view. This method has been introduced in version 0.25. """ + ... def detach(self) -> None: r""" @brief Detaches the image object from the view @@ -3264,11 +4799,13 @@ class Image(BasicImage): This method has been introduced in version 0.25. """ + ... def filename(self) -> str: r""" @brief Gets the name of the file loaded of an empty string if not file is loaded @return The file name (path) """ + ... @overload def get_pixel(self, x: int, y: int) -> float: r""" @@ -3281,6 +4818,7 @@ class Image(BasicImage): returns 0.0. This method is valid for monochrome images only. For color images it will return 0.0 always. Use \is_color? to decide whether the image is a color image or monochrome one. """ + ... @overload def get_pixel(self, x: int, y: int, component: int) -> float: r""" @@ -3293,11 +4831,13 @@ class Image(BasicImage): If the component index, x or y value exceeds the image bounds, this method returns 0.0. For monochrome images, the component index is ignored. """ + ... def height(self) -> int: r""" @brief Gets the height of the image in pixels @return The height in pixels """ + ... def id(self) -> int: r""" @brief Gets the Id @@ -3306,16 +4846,19 @@ class Image(BasicImage): image object. The Id is not changed when the object is edited. On initialization, a unique Id is given to the object. The Id cannot be changed. This behaviour has been modified in version 0.20. """ + ... def is_color(self) -> bool: r""" @brief Returns true, if the image is a color image @return True, if the image is a color image """ + ... def is_empty(self) -> bool: r""" @brief Returns true, if the image does not contain any data (i.e. is default constructed) @return True, if the image is empty """ + ... def is_valid(self) -> bool: r""" @brief Returns a value indicating whether the object is a valid reference. @@ -3323,6 +4866,7 @@ class Image(BasicImage): This method was introduced in version 0.25. """ + ... def is_visible(self) -> bool: r""" @brief Gets a flag indicating whether the image object is visible @@ -3331,6 +4875,7 @@ class Image(BasicImage): This method has been introduced in version 0.20. """ + ... def mask(self, x: int, y: int) -> bool: r""" @brief Gets the mask for one pixel @@ -3343,6 +4888,7 @@ class Image(BasicImage): This method has been introduced in version 0.23. """ + ... @overload def set_data(self, w: int, h: int, d: Sequence[float]) -> None: r""" @@ -3353,6 +4899,7 @@ class Image(BasicImage): See the constructor description for the data organisation in that field. """ + ... @overload def set_data(self, w: int, h: int, r: Sequence[float], g: Sequence[float], b: Sequence[float]) -> None: r""" @@ -3365,6 +4912,7 @@ class Image(BasicImage): See the constructor description for the data organisation in that field. """ + ... def set_mask(self, x: int, y: int, m: bool) -> None: r""" @brief Sets the mask for a pixel @@ -3377,6 +4925,7 @@ class Image(BasicImage): This method has been introduced in version 0.23. """ + ... @overload def set_pixel(self, x: int, y: int, r: float, g: float, b: float) -> None: r""" @@ -3391,6 +4940,7 @@ class Image(BasicImage): If the component index, x or y value exceeds the image bounds of the image is not a color image, this method does nothing. """ + ... @overload def set_pixel(self, x: int, y: int, v: float) -> None: r""" @@ -3403,12 +4953,14 @@ class Image(BasicImage): If the component index, x or y value exceeds the image bounds of the image is a color image, this method does nothing. """ + ... def to_s(self) -> str: r""" @brief Converts the image to a string The string returned can be used to create an image object using \from_s. @return The string """ + ... @overload def transformed(self, t: db.DCplxTrans) -> Image: r""" @@ -3416,6 +4968,7 @@ class Image(BasicImage): @param t The magnifying transformation to apply @return The transformed object """ + ... @overload def transformed(self, t: db.DTrans) -> Image: r""" @@ -3423,6 +4976,7 @@ class Image(BasicImage): @param t The transformation to apply @return The transformed object """ + ... @overload def transformed(self, t: db.Matrix3d) -> Image: r""" @@ -3431,12 +4985,14 @@ class Image(BasicImage): @return The transformed object This method has been introduced in version 0.22. """ + ... def transformed_cplx(self, t: db.DCplxTrans) -> Image: r""" @brief Transforms the image with the given complex transformation @param t The magnifying transformation to apply @return The transformed object """ + ... def transformed_matrix(self, t: db.Matrix3d) -> Image: r""" @brief Transforms the image with the given matrix transformation @@ -3444,6 +5000,7 @@ class Image(BasicImage): @return The transformed object This method has been introduced in version 0.22. """ + ... def update(self) -> None: r""" @brief Forces an update of the view @@ -3451,16 +5008,20 @@ class Image(BasicImage): This method has been introduced in version 0.25. """ + ... def width(self) -> int: r""" @brief Gets the width of the image in pixels @return The width in pixels """ + ... def write(self, path: str) -> None: r""" @brief Saves the image to KLayout's image format (.lyimg) This method has been introduced in version 0.27. """ + ... + ... class ImageDataMapping: r""" @@ -3559,41 +5120,49 @@ class ImageDataMapping: r""" @brief Create a new data mapping object with default settings """ + ... def __copy__(self) -> ImageDataMapping: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> ImageDataMapping: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Create a new data mapping object with default settings """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -3601,6 +5170,7 @@ class ImageDataMapping: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -3608,6 +5178,7 @@ class ImageDataMapping: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... @overload def add_colormap_entry(self, value: float, color: int) -> None: r""" @@ -3617,6 +5188,7 @@ class ImageDataMapping: This settings establishes a color mapping for a given value in the monochrome channel. The color must be given as a 32 bit integer, where the lowest order byte describes the blue component (0 to 255), the second byte the green component and the third byte the red component, i.e. 0xff0000 is red and 0x0000ff is blue. """ + ... @overload def add_colormap_entry(self, value: float, lcolor: int, rcolor: int) -> None: r""" @@ -3631,14 +5203,17 @@ class ImageDataMapping: This variant has been introduced in version 0.27. """ + ... def assign(self, other: ImageDataMapping) -> None: r""" @brief Assigns another object to self """ + ... def clear_colormap(self) -> None: r""" @brief The the color map of this data mapping object. """ + ... def colormap_color(self, n: int) -> int: r""" @brief Returns the color for a given color map entry. @@ -3647,6 +5222,7 @@ class ImageDataMapping: NOTE: this version is deprecated and provided for backward compatibility. For discontinuous nodes this method delivers the left-sided color. """ + ... def colormap_lcolor(self, n: int) -> int: r""" @brief Returns the left-side color for a given color map entry. @@ -3655,6 +5231,7 @@ class ImageDataMapping: This method has been introduced in version 0.27. """ + ... def colormap_rcolor(self, n: int) -> int: r""" @brief Returns the right-side color for a given color map entry. @@ -3663,44 +5240,477 @@ class ImageDataMapping: This method has been introduced in version 0.27. """ + ... def colormap_value(self, n: int) -> float: r""" @brief Returns the value for a given color map entry. @param n The index of the entry (0..\num_colormap_entries-1) @return The value (see \add_colormap_entry for a description). """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> ImageDataMapping: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def num_colormap_entries(self) -> int: r""" @brief Returns the current number of color map entries. @return The number of entries. """ + ... + ... + +class InputDialog: + r""" + @brief Various methods to open a dialog requesting data entry + This class provides some basic dialogs to enter a single value. Values can be strings floating-point values, integer values or an item from a list. + This functionality is provided through the static (class) methods ask_... + + Here are some examples: + + @code + # get a double value between -10 and 10 (initial value is 0): + v = RBA::InputDialog::ask_double_ex("Dialog Title", "Enter the value here:", 0, -10, 10, 1) + # get an item from a list: + v = RBA::InputDialog::ask_item("Dialog Title", "Select one:", [ "item 1", "item 2", "item 3" ], 1) + @/code + + All these examples return the "nil" value if "Cancel" is pressed. + + If you have enabled the Qt binding, you can use \QInputDialog directly. + """ + @classmethod + def ask_double(cls, title: str, label: str, value: float, digits: int) -> Any: + r""" + @brief Open an input dialog requesting a floating-point value + @param title The title to display for the dialog + @param label The label text to display for the dialog + @param value The initial value for the input field + @param digits The number of digits allowed + @return The value entered if "Ok" was pressed or nil if "Cancel" was pressed + This method has been introduced in 0.22 and is somewhat easier to use than the get_.. equivalent. + """ + ... + @classmethod + def ask_double_ex(cls, title: str, label: str, value: float, min: float, max: float, digits: int) -> Any: + r""" + @brief Open an input dialog requesting a floating-point value with enhanced capabilities + @param title The title to display for the dialog + @param label The label text to display for the dialog + @param value The initial value for the input field + @param min The minimum value allowed + @param max The maximum value allowed + @param digits The number of digits allowed + @return The value entered if "Ok" was pressed or nil if "Cancel" was pressed + This method has been introduced in 0.22 and is somewhat easier to use than the get_.. equivalent. + """ + ... + @classmethod + def ask_int(cls, title: str, label: str, value: int) -> Any: + r""" + @brief Open an input dialog requesting an integer value + @param title The title to display for the dialog + @param label The label text to display for the dialog + @param value The initial value for the input field + @return The value entered if "Ok" was pressed or nil if "Cancel" was pressed + This method has been introduced in 0.22 and is somewhat easier to use than the get_.. equivalent. + """ + ... + @classmethod + def ask_int_ex(cls, title: str, label: str, value: int, min: int, max: int, step: int) -> Any: + r""" + @brief Open an input dialog requesting an integer value with enhanced capabilities + @param title The title to display for the dialog + @param label The label text to display for the dialog + @param value The initial value for the input field + @param min The minimum value allowed + @param max The maximum value allowed + @param step The step size for the spin buttons + @return The value entered if "Ok" was pressed or nil if "Cancel" was pressed + This method has been introduced in 0.22 and is somewhat easier to use than the get_.. equivalent. + """ + ... + @classmethod + def ask_item(cls, title: str, label: str, items: Sequence[str], value: int) -> Any: + r""" + @brief Open an input dialog requesting an item from a list + @param title The title to display for the dialog + @param label The label text to display for the dialog + @param items The list of items to show in the selection element + @param selection The initial selection (index of the element selected initially) + @return The string of the item selected if "Ok" was pressed or nil if "Cancel" was pressed + This method has been introduced in 0.22 and is somewhat easier to use than the get_.. equivalent. + """ + ... + @classmethod + def ask_string(cls, title: str, label: str, value: str) -> Any: + r""" + @brief Open an input dialog requesting a string + @param title The title to display for the dialog + @param label The label text to display for the dialog + @param value The initial value for the input field + @return The string entered if "Ok" was pressed or nil if "Cancel" was pressed + This method has been introduced in 0.22 and is somewhat easier to use than the get_.. equivalent. + """ + ... + @classmethod + def ask_string_password(cls, title: str, label: str, value: str) -> Any: + r""" + @brief Open an input dialog requesting a string without showing the actual characters entered + @param title The title to display for the dialog + @param label The label text to display for the dialog + @param value The initial value for the input field + @return The string entered if "Ok" was pressed or nil if "Cancel" was pressed + This method has been introduced in 0.22 and is somewhat easier to use than the get_.. equivalent. + """ + ... + @classmethod + def get_double(cls, title: str, label: str, value: float, digits: int) -> DoubleValue: + r""" + @brief Open an input dialog requesting a floating-point value + @param title The title to display for the dialog + @param label The label text to display for the dialog + @param value The initial value for the input field + @param digits The number of digits allowed + @return A \DoubleValue object with has_value? set to true, if "Ok" was pressed and the value given in its value attribute + Starting from 0.22, this method is deprecated and it is recommended to use the ask_... equivalent. + """ + ... + @classmethod + def get_double_ex(cls, title: str, label: str, value: float, min: float, max: float, digits: int) -> DoubleValue: + r""" + @brief Open an input dialog requesting a floating-point value with enhanced capabilities + @param title The title to display for the dialog + @param label The label text to display for the dialog + @param value The initial value for the input field + @param min The minimum value allowed + @param max The maximum value allowed + @param digits The number of digits allowed + @return A \DoubleValue object with has_value? set to true, if "Ok" was pressed and the value given in its value attribute + Starting from 0.22, this method is deprecated and it is recommended to use the ask_... equivalent. + """ + ... + @classmethod + def get_int(cls, title: str, label: str, value: int) -> IntValue: + r""" + @brief Open an input dialog requesting an integer value + @param title The title to display for the dialog + @param label The label text to display for the dialog + @param value The initial value for the input field + @return A \IntValue object with has_value? set to true, if "Ok" was pressed and the value given in its value attribute + Starting from 0.22, this method is deprecated and it is recommended to use the ask_... equivalent. + """ + ... + @classmethod + def get_int_ex(cls, title: str, label: str, value: int, min: int, max: int, step: int) -> IntValue: + r""" + @brief Open an input dialog requesting an integer value with enhanced capabilities + @param title The title to display for the dialog + @param label The label text to display for the dialog + @param value The initial value for the input field + @param min The minimum value allowed + @param max The maximum value allowed + @param step The step size for the spin buttons + @return A \IntValue object with has_value? set to true, if "Ok" was pressed and the value given in its value attribute + Starting from 0.22, this method is deprecated and it is recommended to use the ask_... equivalent. + """ + ... + @classmethod + def get_item(cls, title: str, label: str, items: Sequence[str], value: int) -> StringValue: + r""" + @brief Open an input dialog requesting an item from a list + @param title The title to display for the dialog + @param label The label text to display for the dialog + @param items The list of items to show in the selection element + @param selection The initial selection (index of the element selected initially) + @return A \StringValue object with has_value? set to true, if "Ok" was pressed and the value given in its value attribute + Starting from 0.22, this method is deprecated and it is recommended to use the ask_... equivalent. + """ + ... + @classmethod + def get_string(cls, title: str, label: str, value: str) -> StringValue: + r""" + @brief Open an input dialog requesting a string + @param title The title to display for the dialog + @param label The label text to display for the dialog + @param value The initial value for the input field + @return A \StringValue object with has_value? set to true, if "Ok" was pressed and the value given in its value attribute + Starting from 0.22, this method is deprecated and it is recommended to use the ask_... equivalent. + """ + ... + @classmethod + def get_string_password(cls, title: str, label: str, value: str) -> StringValue: + r""" + @brief Open an input dialog requesting a string without showing the actual characters entered + @param title The title to display for the dialog + @param label The label text to display for the dialog + @param value The initial value for the input field + @return A \StringValue object with has_value? set to true, if "Ok" was pressed and the value given in its value attribute + Starting from 0.22, this method is deprecated and it is recommended to use the ask_... equivalent. + """ + ... + @classmethod + def new(cls) -> InputDialog: + r""" + @brief Creates a new object of this class + """ + ... + def __copy__(self) -> InputDialog: + r""" + @brief Creates a copy of self + """ + ... + def __deepcopy__(self) -> InputDialog: + r""" + @brief Creates a copy of self + """ + ... + def __init__(self) -> None: + r""" + @brief Creates a new object of this class + """ + ... + def _create(self) -> None: + r""" + @brief Ensures the C++ object is created + Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. + """ + ... + def _destroy(self) -> None: + r""" + @brief Explicitly destroys the object + Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. + If the object is not owned by the script, this method will do nothing. + """ + ... + def _destroyed(self) -> bool: + r""" + @brief Returns a value indicating whether the object was already destroyed + This method returns true, if the object was destroyed, either explicitly or by the C++ side. + The latter may happen, if the object is owned by a C++ object which got destroyed itself. + """ + ... + def _is_const_object(self) -> bool: + r""" + @brief Returns a value indicating whether the reference is a const reference + This method returns true, if self is a const reference. + In that case, only const methods may be called on self. + """ + ... + def _manage(self) -> None: + r""" + @brief Marks the object as managed by the script side. + After calling this method on an object, the script side will be responsible for the management of the object. This method may be called if an object is returned from a C++ function and the object is known not to be owned by any C++ instance. If necessary, the script side may delete the object if the script's reference is no longer required. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def _unmanage(self) -> None: + r""" + @brief Marks the object as no longer owned by the script side. + Calling this method will make this object no longer owned by the script's memory management. Instead, the object must be managed in some other way. Usually this method may be called if it is known that some C++ object holds and manages this object. Technically speaking, this method will turn the script's reference into a weak reference. After the script engine decides to delete the reference, the object itself will still exist. If the object is not managed otherwise, memory leaks will occur. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def assign(self, other: InputDialog) -> None: + r""" + @brief Assigns another object to self + """ + ... + def create(self) -> None: + r""" + @brief Ensures the C++ object is created + Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. + """ + ... + def destroy(self) -> None: + r""" + @brief Explicitly destroys the object + Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. + If the object is not owned by the script, this method will do nothing. + """ + ... + def destroyed(self) -> bool: + r""" + @brief Returns a value indicating whether the object was already destroyed + This method returns true, if the object was destroyed, either explicitly or by the C++ side. + The latter may happen, if the object is owned by a C++ object which got destroyed itself. + """ + ... + def dup(self) -> InputDialog: + r""" + @brief Creates a copy of self + """ + ... + def is_const_object(self) -> bool: + r""" + @brief Returns a value indicating whether the reference is a const reference + This method returns true, if self is a const reference. + In that case, only const methods may be called on self. + """ + ... + ... + +class IntValue: + r""" + @brief Encapsulate an integer value + @hide + This class is provided as a return value of \InputDialog::get_int. + By using an object rather than a pure value, an object with \has_value? = false can be returned indicating that + the "Cancel" button was pressed. Starting with version 0.22, the InputDialog class offers new method which do no + longer requires to use this class. + """ + @classmethod + def new(cls) -> IntValue: + r""" + @brief Creates a new object of this class + """ + ... + def __copy__(self) -> IntValue: + r""" + @brief Creates a copy of self + """ + ... + def __deepcopy__(self) -> IntValue: + r""" + @brief Creates a copy of self + """ + ... + def __init__(self) -> None: + r""" + @brief Creates a new object of this class + """ + ... + def __int__(self) -> int: + r""" + @brief Get the actual value (a synonym for \value) + """ + ... + def _create(self) -> None: + r""" + @brief Ensures the C++ object is created + Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. + """ + ... + def _destroy(self) -> None: + r""" + @brief Explicitly destroys the object + Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. + If the object is not owned by the script, this method will do nothing. + """ + ... + def _destroyed(self) -> bool: + r""" + @brief Returns a value indicating whether the object was already destroyed + This method returns true, if the object was destroyed, either explicitly or by the C++ side. + The latter may happen, if the object is owned by a C++ object which got destroyed itself. + """ + ... + def _is_const_object(self) -> bool: + r""" + @brief Returns a value indicating whether the reference is a const reference + This method returns true, if self is a const reference. + In that case, only const methods may be called on self. + """ + ... + def _manage(self) -> None: + r""" + @brief Marks the object as managed by the script side. + After calling this method on an object, the script side will be responsible for the management of the object. This method may be called if an object is returned from a C++ function and the object is known not to be owned by any C++ instance. If necessary, the script side may delete the object if the script's reference is no longer required. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def _unmanage(self) -> None: + r""" + @brief Marks the object as no longer owned by the script side. + Calling this method will make this object no longer owned by the script's memory management. Instead, the object must be managed in some other way. Usually this method may be called if it is known that some C++ object holds and manages this object. Technically speaking, this method will turn the script's reference into a weak reference. After the script engine decides to delete the reference, the object itself will still exist. If the object is not managed otherwise, memory leaks will occur. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def assign(self, other: IntValue) -> None: + r""" + @brief Assigns another object to self + """ + ... + def create(self) -> None: + r""" + @brief Ensures the C++ object is created + Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. + """ + ... + def destroy(self) -> None: + r""" + @brief Explicitly destroys the object + Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. + If the object is not owned by the script, this method will do nothing. + """ + ... + def destroyed(self) -> bool: + r""" + @brief Returns a value indicating whether the object was already destroyed + This method returns true, if the object was destroyed, either explicitly or by the C++ side. + The latter may happen, if the object is owned by a C++ object which got destroyed itself. + """ + ... + def dup(self) -> IntValue: + r""" + @brief Creates a copy of self + """ + ... + def has_value(self) -> bool: + r""" + @brief True, if a value is present + """ + ... + def is_const_object(self) -> bool: + r""" + @brief Returns a value indicating whether the reference is a const reference + This method returns true, if self is a const reference. + In that case, only const methods may be called on self. + """ + ... + def to_i(self) -> int: + r""" + @brief Get the actual value (a synonym for \value) + """ + ... + def value(self) -> int: + r""" + @brief Get the actual value + """ + ... + ... class KeyCode: r""" @@ -3779,41 +5789,49 @@ class KeyCode: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> KeyCode: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> KeyCode: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -3821,6 +5839,7 @@ class KeyCode: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -3828,37 +5847,45 @@ class KeyCode: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: KeyCode) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> KeyCode: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... + ... class LayerProperties: r""" @@ -4179,53 +6206,63 @@ class LayerProperties: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> LayerProperties: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> LayerProperties: r""" @brief Creates a copy of self """ + ... def __eq__(self, other: object) -> bool: r""" @brief Equality @param other The other object to compare against """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def __ne__(self, other: object) -> bool: r""" @brief Inequality @param other The other object to compare against """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -4233,6 +6270,7 @@ class LayerProperties: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -4240,71 +6278,85 @@ class LayerProperties: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: LayerProperties) -> None: r""" @brief Assigns another object to self """ + ... def cellview(self) -> int: r""" @brief Gets the the cellview index This is the index of the actual cellview to use. Basically, this method returns \source_cellview in "real" mode. The result may be different, if the cellview is not valid for example. In this case, a negative value is returned. """ + ... def clear_dither_pattern(self) -> None: r""" @brief Clears the dither pattern """ + ... def clear_fill_color(self) -> None: r""" @brief Resets the fill color """ + ... def clear_frame_color(self) -> None: r""" @brief Resets the frame color """ + ... def clear_line_style(self) -> None: r""" @brief Clears the line style This method has been introduced in version 0.25. """ + ... def clear_lower_hier_level(self) -> None: r""" @brief Clears the lower hierarchy level specification See \has_lower_hier_level for a description of this property """ + ... def clear_source_name(self) -> None: r""" @brief Removes any stream layer name specification from this layer """ + ... def clear_upper_hier_level(self) -> None: r""" @brief Clears the upper hierarchy level specification See \has_upper_hier_level for a description of this property """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> LayerProperties: r""" @brief Creates a copy of self """ + ... @overload def eff_dither_pattern(self) -> int: r""" @@ -4314,6 +6366,7 @@ class LayerProperties: This method has been introduced in version 0.22. """ + ... @overload def eff_dither_pattern(self, real: bool) -> int: r""" @@ -4322,6 +6375,7 @@ class LayerProperties: The effective dither pattern index is always a valid index, even if no dither pattern is set. @param real Set to true to return the real instead of local value """ + ... @overload def eff_fill_color(self) -> int: r""" @@ -4331,6 +6385,7 @@ class LayerProperties: This method has been introduced in version 0.22. """ + ... @overload def eff_fill_color(self, real: bool) -> int: r""" @@ -4341,6 +6396,7 @@ class LayerProperties: @param real Set to true to return the real instead of local value """ + ... @overload def eff_frame_color(self) -> int: r""" @@ -4350,6 +6406,7 @@ class LayerProperties: This method has been introduced in version 0.22. """ + ... @overload def eff_frame_color(self, real: bool) -> int: r""" @@ -4360,6 +6417,7 @@ class LayerProperties: @param real Set to true to return the real instead of local value """ + ... @overload def eff_line_style(self) -> int: r""" @@ -4369,6 +6427,7 @@ class LayerProperties: This method has been introduced in version 0.25. """ + ... @overload def eff_line_style(self, real: bool) -> int: r""" @@ -4380,6 +6439,7 @@ class LayerProperties: This method has been introduced in version 0.25. """ + ... def flat(self) -> LayerProperties: r""" @brief Returns the "flattened" (effective) layer properties entry for this node @@ -4388,6 +6448,7 @@ class LayerProperties: This object represents the effective layer properties for the given node. In particular, all 'local' properties are identical to the 'real' properties. Such an object can be used as a basis for manipulations. This method has been introduced in version 0.22. """ + ... @overload def has_dither_pattern(self) -> bool: r""" @@ -4397,11 +6458,13 @@ class LayerProperties: This method has been introduced in version 0.22. """ + ... @overload def has_dither_pattern(self, real: bool) -> bool: r""" @brief True, if the dither pattern is set """ + ... @overload def has_fill_color(self) -> bool: r""" @@ -4411,11 +6474,13 @@ class LayerProperties: This method has been introduced in version 0.22. """ + ... @overload def has_fill_color(self, real: bool) -> bool: r""" @brief True, if the fill color is set """ + ... @overload def has_frame_color(self) -> bool: r""" @@ -4425,11 +6490,13 @@ class LayerProperties: This method has been introduced in version 0.22. """ + ... @overload def has_frame_color(self, real: bool) -> bool: r""" @brief True, if the frame color is set """ + ... @overload def has_line_style(self) -> bool: r""" @@ -4439,6 +6506,7 @@ class LayerProperties: This method has been introduced in version 0.25. """ + ... @overload def has_line_style(self, real: bool) -> bool: r""" @@ -4446,6 +6514,7 @@ class LayerProperties: This method has been introduced in version 0.25. """ + ... @overload def has_lower_hier_level(self) -> bool: r""" @@ -4455,6 +6524,7 @@ class LayerProperties: This method has been introduced in version 0.22. """ + ... @overload def has_lower_hier_level(self, real: bool) -> bool: r""" @@ -4462,6 +6532,7 @@ class LayerProperties: If "real" is true, the effective value is returned. """ + ... @overload def has_source_name(self) -> bool: r""" @@ -4471,6 +6542,7 @@ class LayerProperties: This method has been introduced in version 0.22. """ + ... @overload def has_source_name(self, real: bool) -> bool: r""" @@ -4478,6 +6550,7 @@ class LayerProperties: If "real" is true, the effective value is returned. """ + ... @overload def has_upper_hier_level(self) -> bool: r""" @@ -4487,6 +6560,7 @@ class LayerProperties: This method has been introduced in version 0.22. """ + ... @overload def has_upper_hier_level(self, real: bool) -> bool: r""" @@ -4494,18 +6568,21 @@ class LayerProperties: If "real" is true, the effective value is returned. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def layer_index(self) -> int: r""" @brief Gets the the layer index This is the index of the actual layer used. The source specification given by \source_layer, \source_datatype, \source_name is evaluated and the corresponding layer is looked up in the layout object. If a \source_layer_index is specified, this layer index is taken as the layer index to use. """ + ... @overload def lower_hier_level_mode(self) -> int: r""" @@ -4515,6 +6592,7 @@ class LayerProperties: This method has been introduced in version 0.22. """ + ... @overload def lower_hier_level_mode(self, real: bool) -> int: r""" @@ -4525,6 +6603,7 @@ class LayerProperties: This method has been introduced in version 0.20. """ + ... @overload def lower_hier_level_relative(self) -> bool: r""" @@ -4534,6 +6613,7 @@ class LayerProperties: This method has been introduced in version 0.22. """ + ... @overload def lower_hier_level_relative(self, real: bool) -> bool: r""" @@ -4543,6 +6623,7 @@ class LayerProperties: This method has been introduced in version 0.19. """ + ... @overload def set_lower_hier_level(self, level: int, relative: bool) -> None: r""" @@ -4552,6 +6633,7 @@ class LayerProperties: This method has been introduced in version 0.19. """ + ... @overload def set_lower_hier_level(self, level: int, relative: bool, mode: int) -> None: r""" @@ -4561,6 +6643,7 @@ class LayerProperties: This method has been introduced in version 0.20. """ + ... @overload def set_upper_hier_level(self, level: int, relative: bool) -> None: r""" @@ -4570,6 +6653,7 @@ class LayerProperties: This method has been introduced in version 0.19. """ + ... @overload def set_upper_hier_level(self, level: int, relative: bool, mode: int) -> None: r""" @@ -4579,6 +6663,7 @@ class LayerProperties: This method has been introduced in version 0.20. """ + ... @overload def upper_hier_level_mode(self) -> int: r""" @@ -4588,6 +6673,7 @@ class LayerProperties: This method has been introduced in version 0.22. """ + ... @overload def upper_hier_level_mode(self, real: bool) -> int: r""" @@ -4598,6 +6684,7 @@ class LayerProperties: This method has been introduced in version 0.20. """ + ... @overload def upper_hier_level_relative(self) -> bool: r""" @@ -4607,6 +6694,7 @@ class LayerProperties: This method has been introduced in version 0.22. """ + ... @overload def upper_hier_level_relative(self, real: bool) -> bool: r""" @@ -4616,6 +6704,8 @@ class LayerProperties: This method has been introduced in version 0.19. """ + ... + ... class LayerPropertiesIterator: r""" @@ -4632,14 +6722,17 @@ class LayerPropertiesIterator: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> LayerPropertiesIterator: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> LayerPropertiesIterator: r""" @brief Creates a copy of self """ + ... def __eq__(self, other: object) -> bool: r""" @brief Equality @@ -4647,10 +6740,12 @@ class LayerPropertiesIterator: @param other The other object to compare against Returns true, if self and other point to the same layer properties node. Caution: this does not imply that both layer properties nodes sit in the same tab. Just their position in the tree is compared. """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def __lt__(self, other: LayerPropertiesIterator) -> bool: r""" @brief Comparison @@ -4659,35 +6754,41 @@ class LayerPropertiesIterator: @return true, if self points to an object that comes before other """ + ... def __ne__(self, other: object) -> bool: r""" @brief Inequality @param other The other object to compare against """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -4695,6 +6796,7 @@ class LayerPropertiesIterator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -4702,10 +6804,12 @@ class LayerPropertiesIterator: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: LayerPropertiesIterator) -> None: r""" @brief Assigns another object to self """ + ... def at_end(self) -> bool: r""" @brief At-the-end property @@ -4713,12 +6817,14 @@ class LayerPropertiesIterator: This predicate is true if the iterator is at the end of either all elements or at the end of the child list (if \down_last_child or \down_first_child is used to iterate). """ + ... def at_top(self) -> bool: r""" @brief At-the-top property This predicate is true if there is no parent node above the node addressed by self. """ + ... def child_index(self) -> int: r""" @brief Returns the index of the child within the parent @@ -4727,29 +6833,34 @@ class LayerPropertiesIterator: of children of its parent. If the element does not have a parent, the index of the element in the global list is returned. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def current(self) -> LayerPropertiesNodeRef: r""" @brief Returns a reference to the layer properties node that the iterator points to Starting with version 0.25, the returned object can be manipulated and the changes will be reflected in the view immediately. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def down_first_child(self) -> LayerPropertiesIterator: r""" @brief Move to the first child @@ -4758,6 +6869,7 @@ class LayerPropertiesIterator: no child, \at_end? will be true. Even then, the iterator is sitting at the the child level and \up can be used to move back. """ + ... def down_last_child(self) -> LayerPropertiesIterator: r""" @brief Move to the last child @@ -4768,10 +6880,12 @@ class LayerPropertiesIterator: Despite the name, the iterator does not address the last child, but the position after that child. To actually get the iterator for the last child, use down_last_child and next_sibling(-1). """ + ... def dup(self) -> LayerPropertiesIterator: r""" @brief Creates a copy of self """ + ... def first_child(self) -> LayerPropertiesIterator: r""" @brief Returns the iterator pointing to the first child @@ -4779,12 +6893,14 @@ class LayerPropertiesIterator: If there is no children, the iterator will be a valid insert point but not point to any valid element. It will report \at_end? = true. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_null(self) -> bool: r""" @brief "is null" predicate @@ -4792,6 +6908,7 @@ class LayerPropertiesIterator: This predicate is true if the iterator is "null". Such an iterator can be created with the default constructor or by moving a top-level iterator up. """ + ... def last_child(self) -> LayerPropertiesIterator: r""" @brief Returns the iterator pointing behind the last child @@ -4801,12 +6918,14 @@ class LayerPropertiesIterator: Despite the name, the iterator does not address the last child, but the position after that child. To actually get the iterator for the last child, use last_child and call next_sibling(-1) on that iterator. """ + ... def next(self) -> LayerPropertiesIterator: r""" @brief Increment operator The iterator will be incremented to point to the next layer entry. It will descend into the hierarchy to address child nodes if there are any. """ + ... def next_sibling(self, n: int) -> LayerPropertiesIterator: r""" @brief Move to the next sibling by a given distance @@ -4814,12 +6933,14 @@ class LayerPropertiesIterator: The iterator is moved to the nth next sibling of the current element. Use negative distances to move backward. """ + ... def num_siblings(self) -> int: r""" @brief Return the number of siblings The count includes the current element. More precisely, this property delivers the number of children of the current node's parent. """ + ... def parent(self) -> LayerPropertiesIterator: r""" @brief Returns the iterator pointing to the parent node @@ -4827,6 +6948,7 @@ class LayerPropertiesIterator: This method will return an iterator pointing to the parent element. If there is no parent, the returned iterator will be a null iterator. """ + ... def to_sibling(self, n: int) -> LayerPropertiesIterator: r""" @brief Move to the sibling with the given index @@ -4834,6 +6956,7 @@ class LayerPropertiesIterator: The iterator is moved to the nth sibling by selecting the nth child in the current node's parent. """ + ... def up(self) -> LayerPropertiesIterator: r""" @brief Move up @@ -4842,6 +6965,8 @@ class LayerPropertiesIterator: If the current element does not have a parent, the iterator will become a null iterator. """ + ... + ... class LayerPropertiesNode(LayerProperties): r""" @@ -4868,43 +6993,51 @@ class LayerPropertiesNode(LayerProperties): @param other The other object to compare against """ + ... def __ne__(self, other: object) -> bool: r""" @brief Inequality @param other The other object to compare against """ + ... def _assign(self, other: LayerProperties) -> None: r""" @brief Assigns another object to self """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _dup(self) -> LayerPropertiesNode: r""" @brief Creates a copy of self """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -4912,6 +7045,7 @@ class LayerPropertiesNode(LayerProperties): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -4919,6 +7053,7 @@ class LayerPropertiesNode(LayerProperties): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... @overload def add_child(self) -> LayerPropertiesNodeRef: r""" @@ -4928,6 +7063,7 @@ class LayerPropertiesNode(LayerProperties): The parameterless version of this method was introduced in version 0.25. """ + ... @overload def add_child(self, child: LayerProperties) -> LayerPropertiesNodeRef: r""" @@ -4937,6 +7073,7 @@ class LayerPropertiesNode(LayerProperties): This method was introduced in version 0.22. """ + ... def bbox(self) -> db.DBox: r""" @brief Compute the bbox of this layer @@ -4948,11 +7085,13 @@ class LayerPropertiesNode(LayerProperties): @return A bbox in micron units """ + ... def clear_children(self) -> None: r""" @brief Clears all children This method was introduced in version 0.22. """ + ... def flat(self) -> LayerPropertiesNode: r""" @brief return the "flattened" (effective) layer properties node for this node @@ -4962,10 +7101,12 @@ class LayerPropertiesNode(LayerProperties): Unlike the name suggests, this node will still contain a hierarchy of nodes below if the original node did so. """ + ... def has_children(self) -> bool: r""" @brief Test, if there are children """ + ... def id(self) -> int: r""" @brief Obtain the unique ID @@ -4975,21 +7116,26 @@ class LayerPropertiesNode(LayerProperties): copied when the object is copied. The ID can be used to identify the object irregardless of its content. """ + ... def is_expanded(self) -> bool: r""" @brief Gets a value indicating whether the layer tree node is expanded. This predicate has been introduced in version 0.28.6. """ + ... def list_index(self) -> int: r""" @brief Gets the index of the layer properties list that the node lives in """ + ... def view(self) -> LayoutView: r""" @brief Gets the view this node lives in This reference can be nil if the node is a orphan node that lives outside a view. """ + ... + ... class LayerPropertiesNodeRef(LayerPropertiesNode): r""" @@ -5015,42 +7161,50 @@ class LayerPropertiesNodeRef(LayerPropertiesNode): @brief Creates a \LayerPropertiesNode object as a copy of the content of this node. This method is mainly provided for backward compatibility with 0.24 and before. """ + ... def __deepcopy__(self) -> LayerPropertiesNode: r""" @brief Creates a \LayerPropertiesNode object as a copy of the content of this node. This method is mainly provided for backward compatibility with 0.24 and before. """ + ... def _assign(self, other: LayerProperties) -> None: r""" @brief Assigns another object to self """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _dup(self) -> LayerPropertiesNodeRef: r""" @brief Creates a copy of self """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -5058,6 +7212,7 @@ class LayerPropertiesNodeRef(LayerPropertiesNode): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -5065,6 +7220,7 @@ class LayerPropertiesNodeRef(LayerPropertiesNode): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... @overload def assign(self, other: LayerProperties) -> None: r""" @@ -5072,6 +7228,7 @@ class LayerPropertiesNodeRef(LayerPropertiesNode): This version accepts a \LayerProperties object. Assignment will change the properties of the layer in the view. """ + ... @overload def assign(self, other: LayerProperties) -> None: r""" @@ -5079,23 +7236,28 @@ class LayerPropertiesNodeRef(LayerPropertiesNode): This version accepts a \LayerPropertiesNode object and allows modification of the layer node's hierarchy. Assignment will reconfigure the layer node in the view. """ + ... def delete(self) -> None: r""" @brief Erases the current node and all child nodes After erasing the node, the reference will become invalid. """ + ... def dup(self) -> LayerPropertiesNode: r""" @brief Creates a \LayerPropertiesNode object as a copy of the content of this node. This method is mainly provided for backward compatibility with 0.24 and before. """ + ... def is_valid(self) -> bool: r""" @brief Returns true, if the reference points to a valid layer properties node Invalid references behave like ordinary \LayerPropertiesNode objects but without the ability to update the view upon changes of attributes. """ + ... + ... class LayoutView(LayoutViewBase): r""" @@ -5103,41 +7265,52 @@ class LayoutView(LayoutViewBase): The visual part of the view is the tab panel in the main window. The non-visual part are the redraw thread, the layout handles, cell lists, layer view lists etc. This object controls these aspects of the view and controls the appearance of the data. """ - current: ClassVar[LayoutView] - r""" - @brief Returns the current view - The current view is the one that is made current by using \current=. - - This variation has been introduced for the non-Qt case in version 0.28. - """ - on_drawing_finished_event: None + on_close: None r""" Getter: - @brief An event indicating that the image is fully drawn + @brief A event indicating that the view is about to close - This event is triggered when calling \timer. Before this event is issue, a final \on_image_updated_event may be issued. + This event is triggered when the view is going to be closed entirely. - This event has been introduced in version 0.28. + It has been added in version 0.25. Setter: - @brief An event indicating that the image is fully drawn + @brief A event indicating that the view is about to close - This event is triggered when calling \timer. Before this event is issue, a final \on_image_updated_event may be issued. + This event is triggered when the view is going to be closed entirely. - This event has been introduced in version 0.28. + It has been added in version 0.25. """ - on_image_updated_event: None + on_hide: None r""" Getter: - @brief An event indicating that the image ("screenshot") was updated + @brief A event indicating that the view is going to become invisible - This event is triggered when calling \timer. - This event has been introduced in version 0.28. + It has been added in version 0.25. Setter: - @brief An event indicating that the image ("screenshot") was updated + @brief A event indicating that the view is going to become invisible - This event is triggered when calling \timer. - This event has been introduced in version 0.28. + It has been added in version 0.25. """ + on_show: None + r""" + Getter: + @brief A event indicating that the view is going to become visible + + It has been added in version 0.25. + Setter: + @brief A event indicating that the view is going to become visible + + It has been added in version 0.25. + """ + @classmethod + def current(cls) -> LayoutView: + r""" + @brief Returns the current view + The current view is the one that is shown in the current tab. Returns nil if no layout is loaded. + + This method has been introduced in version 0.23. + """ + ... @classmethod def new(cls, editable: Optional[bool] = ..., manager: Optional[db.Manager] = ..., options: Optional[int] = ...) -> LayoutView: r""" @@ -5147,11 +7320,12 @@ class LayoutView(LayoutViewBase): @param editable True to make the view editable @param manager The \Manager object to enable undo/redo - @param options A combination of the values in the LV_... constants + @param options A combination of the values in the LV_... constants from \LayoutViewBase This constructor has been introduced in version 0.25. It has been enhanced with the arguments in version 0.27. """ + ... def __init__(self, editable: Optional[bool] = ..., manager: Optional[db.Manager] = ..., options: Optional[int] = ...) -> None: r""" @brief Creates a standalone view @@ -5160,34 +7334,39 @@ class LayoutView(LayoutViewBase): @param editable True to make the view editable @param manager The \Manager object to enable undo/redo - @param options A combination of the values in the LV_... constants + @param options A combination of the values in the LV_... constants from \LayoutViewBase This constructor has been introduced in version 0.25. It has been enhanced with the arguments in version 0.27. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -5195,6 +7374,7 @@ class LayoutView(LayoutViewBase): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -5202,15 +7382,47 @@ class LayoutView(LayoutViewBase): Usually it's not required to call this method. It has been introduced in version 0.24. """ - def timer(self) -> None: + ... + def bookmark_view(self, name: str) -> None: r""" - @brief A callback required to be called regularily in the non-Qt case. + @brief Bookmarks the current view under the given name - This callback eventually implements the event loop in the non-Qt case. The main task is to indicate new versions of the layout image while it is drawn. When a new image has arrived, this method will issue an \on_image_updated_event. In the implementation of the latter, "screenshot" may be called to retrieve the current image. - When drawing has finished, the \on_drawing_finished_event will be triggered. - - This method has been introduced in version 0.28. + @param name The name under which to bookmark the current state """ + ... + def close(self) -> None: + r""" + @brief Closes the view + + This method has been added in version 0.27. + """ + ... + def show_l2ndb(self, l2ndb_index: int, cv_index: int) -> None: + r""" + @brief Shows a netlist database in the marker browser on a certain layout + The netlist browser is opened showing the netlist database with the index given by "l2ndb_index". + It will be attached (i.e. navigate to) the layout with the given cellview index in "cv_index". + + This method has been added in version 0.26. + """ + ... + def show_lvsdb(self, lvsdb_index: int, cv_index: int) -> None: + r""" + @brief Shows a netlist database in the marker browser on a certain layout + The netlist browser is opened showing the netlist database with the index given by "lvsdb_index". + It will be attached (i.e. navigate to) the layout with the given cellview index in "cv_index". + + This method has been added in version 0.26. + """ + ... + def show_rdb(self, rdb_index: int, cv_index: int) -> None: + r""" + @brief Shows a report database in the marker browser on a certain layout + The marker browser is opened showing the report database with the index given by "rdb_index". + It will be attached (i.e. navigate to) the layout with the given cellview index in "cv_index". + """ + ... + ... class LayoutViewBase: r""" @@ -5245,84 +7457,103 @@ class LayoutViewBase: r""" @brief Creates an enum from an integer value """ + ... @overload @classmethod def new(cls, s: str) -> LayoutViewBase.SelectionMode: r""" @brief Creates an enum from a string value """ + ... @overload - def __eq__(self, other: object) -> bool: + def __eq__(self, other: int) -> bool: r""" @brief Compares an enum with an integer value """ + ... @overload def __eq__(self, other: object) -> bool: r""" @brief Compares two enums """ + ... def __hash__(self) -> int: r""" @brief Gets the hash value from the enum """ + ... @overload def __init__(self, i: int) -> None: r""" @brief Creates an enum from an integer value """ + ... @overload def __init__(self, s: str) -> None: r""" @brief Creates an enum from a string value """ + ... def __int__(self) -> int: r""" @brief Gets the integer value from the enum """ + ... @overload def __lt__(self, other: LayoutViewBase.SelectionMode) -> bool: r""" @brief Returns true if the first enum is less (in the enum symbol order) than the second """ + ... @overload def __lt__(self, other: int) -> bool: r""" @brief Returns true if the enum is less (in the enum symbol order) than the integer value """ + ... + @overload + def __ne__(self, other: int) -> bool: + r""" + @brief Compares an enum with an integer for inequality + """ + ... @overload def __ne__(self, other: object) -> bool: r""" @brief Compares two enums for inequality """ - @overload - def __ne__(self, other: object) -> bool: - r""" - @brief Compares an enum with an integer for inequality - """ + ... def __repr__(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def __str__(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... def hash(self) -> int: r""" @brief Gets the hash value from the enum """ + ... def inspect(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def to_i(self) -> int: r""" @brief Gets the integer value from the enum """ + ... def to_s(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... + ... Add: ClassVar[LayoutViewBase.SelectionMode] r""" @brief Adds to any existing selection @@ -5474,6 +7705,7 @@ class LayoutViewBase: This method has been renamed from set_active_cellview_index to active_cellview_index= in version 0.25. The original name is still available, but is deprecated. """ + ... max_hier_levels: int r""" Getter: @@ -5864,38 +8096,45 @@ class LayoutViewBase: This method has been introduced in version 0.27. """ + ... @classmethod def new(cls) -> LayoutViewBase: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -5903,6 +8142,7 @@ class LayoutViewBase: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -5910,6 +8150,7 @@ class LayoutViewBase: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def active_cellview(self) -> CellView: r""" @brief Gets the active cellview (shown in hierarchy browser) @@ -5919,10 +8160,12 @@ class LayoutViewBase: This method has been introduced in version 0.19. Starting from version 0.25, the returned object can be manipulated which will have an immediate effect on the display. """ + ... def active_cellview_index(self) -> int: r""" @brief Gets the index of the active cellview (shown in hierarchy browser) """ + ... def add_l2ndb(self, db: db.LayoutToNetlist) -> int: r""" @brief Adds the given netlist database to the view @@ -5934,6 +8177,7 @@ class LayoutViewBase: This method has been added in version 0.26. """ + ... @overload def add_line_style(self, name: str, data: int, bits: int) -> int: r""" @@ -5945,6 +8189,7 @@ class LayoutViewBase: @return The index of the newly created style, which can be used as the line style index of \LayerProperties. This method has been introduced in version 0.25. """ + ... @overload def add_line_style(self, name: str, string: str) -> int: r""" @@ -5955,6 +8200,7 @@ class LayoutViewBase: @return The index of the newly created style, which can be used as the line style index of \LayerProperties. This method has been introduced in version 0.25. """ + ... def add_lvsdb(self, db: db.LayoutVsSchematic) -> int: r""" @brief Adds the given database to the view @@ -5966,11 +8212,13 @@ class LayoutViewBase: This method has been added in version 0.26. """ + ... def add_missing_layers(self) -> None: r""" @brief Adds new layers to layer list This method was introduced in version 0.19. """ + ... def add_rdb(self, db: rdb.ReportDatabase) -> int: r""" @brief Adds the given report database to the view @@ -5982,6 +8230,7 @@ class LayoutViewBase: This method has been added in version 0.26. """ + ... @overload def add_stipple(self, name: str, data: Sequence[int], bits: int) -> int: r""" @@ -5994,6 +8243,7 @@ class LayoutViewBase: @param bits See above @return The index of the newly created stipple pattern, which can be used as the dither pattern index of \LayerProperties. """ + ... @overload def add_stipple(self, name: str, string: str) -> int: r""" @@ -6006,6 +8256,7 @@ class LayoutViewBase: @return The index of the newly created stipple pattern, which can be used as the dither pattern index of \LayerProperties. This method has been introduced in version 0.25. """ + ... def annotation(self, id: int) -> Annotation: r""" @brief Gets the annotation given by an ID @@ -6016,6 +8267,7 @@ class LayoutViewBase: This method has been introduced in version 0.25. """ + ... def annotation_templates(self) -> List[List[Any]]: r""" @brief Gets a list of \Annotation objects representing the annotation templates. @@ -6026,12 +8278,14 @@ class LayoutViewBase: This method has been introduced in version 0.28. """ + ... def ascend(self, index: int) -> db.InstElement: r""" @brief Ascends upwards in the hierarchy. Removes one element from the specific path of the cellview with the given index. Returns the element removed. """ + ... @overload def begin_layers(self) -> LayerPropertiesIterator: r""" @@ -6044,6 +8298,7 @@ class LayoutViewBase: Starting from version 0.25, an alternative solution is provided with 'each_layer' which is based on the \LayerPropertiesNodeRef class. """ + ... @overload def begin_layers(self, index: int) -> LayerPropertiesIterator: r""" @@ -6055,10 +8310,12 @@ class LayoutViewBase: against a current iterator to check, if there are no further elements. This version addresses a specific list in a multi-tab layer properties arrangement with the "index" parameter. This method has been introduced in version 0.21. """ + ... def box(self) -> db.DBox: r""" @brief Returns the displayed box in micron space """ + ... def call_menu(self, symbol: str) -> None: r""" @brief Calls the menu item with the provided symbol. @@ -6066,12 +8323,14 @@ class LayoutViewBase: This method has been introduced in version 0.27. """ + ... def cancel(self) -> None: r""" @brief Cancels all edit operations This method will stop all pending edit operations (i.e. drag and drop) and cancel the current selection. Calling this method is useful to ensure there are no potential interactions with the script's functionality. """ + ... def cellview(self, cv_index: int) -> CellView: r""" @brief Gets the cellview object for a given index @@ -6080,41 +8339,49 @@ class LayoutViewBase: Starting with version 0.25, this method returns a \CellView object that can be manipulated to directly reflect any changes in the display. """ + ... def cellviews(self) -> int: r""" @brief Gets the number of cellviews """ + ... def clear_annotations(self) -> None: r""" @brief Clears all annotations on this view """ + ... def clear_config(self) -> None: r""" @brief Clears the local configuration parameters See \set_config for a description of the local configuration parameters. """ + ... def clear_images(self) -> None: r""" @brief Clear all images on this view """ + ... @overload def clear_layers(self) -> None: r""" @brief Clears all layers """ + ... @overload def clear_layers(self, index: int) -> None: r""" @brief Clears all layers for the given layer properties list This version addresses a specific list in a multi-tab layer properties arrangement with the "index" parameter. This method has been introduced in version 0.21. """ + ... def clear_line_styles(self) -> None: r""" @brief Removes all custom line styles All line styles except the fixed ones are removed. If any of the custom styles is still used by the layers displayed, the results will be undefined. This method has been introduced in version 0.25. """ + ... def clear_object_selection(self) -> None: r""" @brief Clears the selection of geometrical objects (shapes or cell instances) @@ -6122,17 +8389,20 @@ class LayoutViewBase: This method has been introduced in version 0.24 """ + ... def clear_selection(self) -> None: r""" @brief Clears the selection of all objects (shapes, annotations, images ...) This method has been introduced in version 0.26.2 """ + ... def clear_stipples(self) -> None: r""" @brief Removes all custom line styles All stipple pattern except the fixed ones are removed. If any of the custom stipple pattern is still used by the layers displayed, the results will be undefined. """ + ... def clear_transactions(self) -> None: r""" @brief Clears all transactions @@ -6140,12 +8410,14 @@ class LayoutViewBase: Discard all actions in the undo buffer. After clearing that buffer, no undo is available. It is important to clear the buffer when making database modifications outside transactions, i.e after that modifications have been done. If failing to do so, 'undo' operations are likely to produce invalid results. This method was introduced in version 0.16. """ + ... def clear_transient_selection(self) -> None: r""" @brief Clears the transient selection (mouse-over hightlights) of all objects (shapes, annotations, images ...) This method has been introduced in version 0.26.2 """ + ... def commit(self) -> None: r""" @brief Ends a transaction @@ -6153,6 +8425,7 @@ class LayoutViewBase: See \transaction for a detailed description of transactions. This method was introduced in version 0.16. """ + ... def commit_config(self) -> None: r""" @brief Commits the configuration settings @@ -6161,11 +8434,13 @@ class LayoutViewBase: This method has been introduced in version 0.25. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def create_l2ndb(self, name: str) -> int: r""" @brief Creates a new netlist database and returns the index of the new database @@ -6176,6 +8451,7 @@ class LayoutViewBase: This method has been added in version 0.26. """ + ... @overload def create_layout(self, add_cellview: bool) -> int: r""" @@ -6188,6 +8464,7 @@ class LayoutViewBase: @return The index of the cellview created. """ + ... @overload def create_layout(self, tech: str, add_cellview: bool) -> int: r""" @@ -6200,6 +8477,7 @@ class LayoutViewBase: This variant has been introduced in version 0.22. """ + ... @overload def create_layout(self, tech: str, add_cellview: bool, init_layers: bool) -> int: r""" @@ -6213,6 +8491,7 @@ class LayoutViewBase: This variant has been introduced in version 0.22. """ + ... def create_lvsdb(self, name: str) -> int: r""" @brief Creates a new netlist database and returns the index of the new database @@ -6223,6 +8502,7 @@ class LayoutViewBase: This method has been added in version 0.26. """ + ... def create_measure_ruler(self, point: db.DPoint, ac: Optional[int] = ...) -> Annotation: r""" @brief Createas an auto-measure ruler at the given point. @@ -6242,6 +8522,7 @@ class LayoutViewBase: This method was introduced in version 0.26. """ + ... def create_rdb(self, name: str) -> int: r""" @brief Creates a new report database and returns the index of the new database @@ -6250,6 +8531,7 @@ class LayoutViewBase: This method returns an index of the new report database. Use \rdb to get the actual object. If a report database with the given name already exists, a unique name will be created. The name will be replaced by the file name when a file is loaded into the report database. """ + ... @overload def delete_layer(self, index: int, iter: LayerPropertiesIterator) -> None: r""" @@ -6259,6 +8541,7 @@ class LayoutViewBase: the iterator since the object that the iterator points to is no longer valid. This version addresses a specific list in a multi-tab layer properties arrangement with the "index" parameter. This method has been introduced in version 0.21. """ + ... @overload def delete_layer(self, iter: LayerPropertiesIterator) -> None: r""" @@ -6267,12 +8550,14 @@ class LayoutViewBase: This method deletes the object that the iterator points to and invalidates the iterator since the object that the iterator points to is no longer valid. """ + ... def delete_layer_list(self, index: int) -> None: r""" @brief Deletes the given properties list At least one layer properties list must remain. This method may change the current properties list. This method has been introduced in version 0.21. """ + ... @overload def delete_layers(self, index: int, iterators: Sequence[LayerPropertiesIterator]) -> None: r""" @@ -6281,6 +8566,7 @@ class LayoutViewBase: This method deletes the nodes specifies by the iterators. This method is the most convenient way to delete multiple entries. This version addresses a specific list in a multi-tab layer properties arrangement with the "index" parameter. This method has been introduced in version 0.22. """ + ... @overload def delete_layers(self, iterators: Sequence[LayerPropertiesIterator]) -> None: r""" @@ -6290,6 +8576,7 @@ class LayoutViewBase: This method has been added in version 0.22. """ + ... def descend(self, path: Sequence[db.InstElement], index: int) -> None: r""" @brief Descends further into the hierarchy. @@ -6297,38 +8584,45 @@ class LayoutViewBase: Adds the given path (given as an array of InstElement objects) to the specific path of the cellview with the given index. In effect, the cell addressed by the terminal of the new path components can be shown in the context of the upper cells, if the minimum hierarchy level is set to a negative value. The path is assumed to originate from the current cell and contain specific instances sorted from top to bottom. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def each_annotation(self) -> Iterator[Annotation]: r""" @brief Iterates over all annotations attached to this view """ + ... def each_annotation_selected(self) -> Iterator[Annotation]: r""" @brief Iterate over each selected annotation objects, yielding a \Annotation object for each of them This method was introduced in version 0.19. """ + ... def each_image(self) -> Iterator[Image]: r""" @brief Iterate over all images attached to this view With version 0.25, the objects returned by the iterator are references and can be manipulated to change their appearance. """ + ... def each_image_selected(self) -> Iterator[Image]: r""" @brief Iterate over each selected image object, yielding a \Image object for each of them This method was introduced in version 0.19. """ + ... @overload def each_layer(self) -> Iterator[LayerPropertiesNodeRef]: r""" @@ -6345,6 +8639,7 @@ class LayoutViewBase: This method was introduced in version 0.25. """ + ... @overload def each_layer(self, layer_list: int) -> Iterator[LayerPropertiesNodeRef]: r""" @@ -6354,6 +8649,7 @@ class LayoutViewBase: This method was introduced in version 0.25. """ + ... def each_object_selected(self) -> Iterator[ObjectInstPath]: r""" @brief Iterates over each selected geometrical object, yielding a \ObjectInstPath object for each of them @@ -6362,12 +8658,14 @@ class LayoutViewBase: Another way of obtaining the selection is \object_selection, which returns an array of \ObjectInstPath objects. """ + ... def each_object_selected_transient(self) -> Iterator[ObjectInstPath]: r""" @brief Iterates over each geometrical objects in the transient selection, yielding a \ObjectInstPath object for each of them This method was introduced in version 0.18. """ + ... def enable_edits(self, enable: bool) -> None: r""" @brief Enables or disables edits @@ -6377,12 +8675,14 @@ class LayoutViewBase: This method allows putting the view into read-only mode by disabling all edit functions. For doing so, this method has to be called with a 'false' argument. Calling it with a 'true' parameter enables all edits again. This method must not be confused with the edit/viewer mode. The LayoutView's enable_edits method is intended to temporarily disable all menu entries and functions which could allow the user to alter the database. In 0.25, this method has been moved from MainWindow to LayoutView. """ + ... @overload def end_layers(self) -> LayerPropertiesIterator: r""" @brief End iterator for the layers See \begin_layers for a description about this iterator """ + ... @overload def end_layers(self, index: int) -> LayerPropertiesIterator: r""" @@ -6390,6 +8690,7 @@ class LayoutViewBase: See \begin_layers for a description about this iterator This version addresses a specific list in a multi-tab layer properties arrangement with the "index" parameter. This method has been introduced in version 0.21. """ + ... def erase_annotation(self, id: int) -> None: r""" @brief Erases the annotation given by the id @@ -6398,12 +8699,14 @@ class LayoutViewBase: This method has been introduced in version 0.24. Starting with version 0.25, the annotation's \Annotation#delete method can also be used to delete an annotation. """ + ... def erase_cellview(self, index: int) -> None: r""" @brief Erases the cellview with the given index This closes the given cellview and unloads the layout associated with it, unless referred to by another cellview. """ + ... def erase_image(self, id: int) -> None: r""" @brief Erase the given image @@ -6415,6 +8718,7 @@ class LayoutViewBase: With version 0.25, \Image#delete can be used to achieve the same results. """ + ... @overload def expand_layer_properties(self) -> None: r""" @@ -6424,6 +8728,7 @@ class LayoutViewBase: This method was introduced in version 0.21. """ + ... @overload def expand_layer_properties(self, index: int) -> None: r""" @@ -6433,6 +8738,7 @@ class LayoutViewBase: This method was introduced in version 0.21. """ + ... def get_config(self, name: str) -> str: r""" @brief Gets the value of a local configuration parameter @@ -6443,6 +8749,7 @@ class LayoutViewBase: See \set_config for a description of the local configuration parameters. """ + ... def get_config_names(self) -> List[str]: r""" @brief Gets the configuration parameter names @@ -6453,6 +8760,7 @@ class LayoutViewBase: This method was introduced in version 0.25. """ + ... def get_current_cell_path(self, cv_index: int) -> List[int]: r""" @brief Gets the cell path of the current cell @@ -6464,6 +8772,36 @@ class LayoutViewBase: @param cv_index The cellview index for which to get the current path from (usually this will be the active cellview index) This method is was deprecated in version 0.25 since from then, the \CellView object can be used to obtain an manipulate the selected cell. """ + ... + def get_image(self, width: int, height: int) -> QtGui.QImage_Native: + r""" + @brief Gets the layout image as a \QImage + + @param width The width of the image to render in pixel. + @param height The height of the image to render in pixel. + + The image contains the current scene (layout, annotations etc.). + The image is drawn synchronously with the given width and height. Drawing may take some time. + """ + ... + def get_image_with_options(self, width: int, height: int, linewidth: Optional[int] = ..., oversampling: Optional[int] = ..., resolution: Optional[float] = ..., target: Optional[db.DBox] = ..., monochrome: Optional[bool] = ...) -> QtGui.QImage_Native: + r""" + @brief Gets the layout image as a \QImage (with options) + + @param width The width of the image to render in pixel. + @param height The height of the image to render in pixel. + @param linewidth The width of a line in pixels (usually 1) or 0 for default. + @param oversampling The oversampling factor (1..3) or 0 for default. + @param resolution The resolution (pixel size compared to a screen pixel size, i.e 1/oversampling) or 0 for default. + @param target_box The box to draw or an empty box for default. + @param monochrome If true, monochrome images will be produced. + + The image contains the current scene (layout, annotations etc.). + The image is drawn synchronously with the given width and height. Drawing may take some time. Monochrome images don't have background or annotation objects currently. + + This method has been introduced in version 0.23.10. + """ + ... def get_line_style(self, index: int) -> str: r""" @brief Gets the line style string for the style with the given index @@ -6474,6 +8812,7 @@ class LayoutViewBase: This method has been introduced in version 0.25. """ + ... def get_pixels(self, width: int, height: int) -> PixelBuffer: r""" @brief Gets the layout image as a \PixelBuffer @@ -6485,6 +8824,7 @@ class LayoutViewBase: The image is drawn synchronously with the given width and height. Drawing may take some time. This method has been introduced in 0.28. """ + ... def get_pixels_with_options(self, width: int, height: int, linewidth: Optional[int] = ..., oversampling: Optional[int] = ..., resolution: Optional[float] = ..., target: Optional[db.DBox] = ...) -> PixelBuffer: r""" @brief Gets the layout image as a \PixelBuffer (with options) @@ -6500,6 +8840,7 @@ class LayoutViewBase: The image is drawn synchronously with the given width and height. Drawing may take some time. This method has been introduced in 0.28. """ + ... def get_pixels_with_options_mono(self, width: int, height: int, linewidth: Optional[int] = ..., target: Optional[db.DBox] = ...) -> BitmapBuffer: r""" @brief Gets the layout image as a \PixelBuffer (with options) @@ -6514,6 +8855,14 @@ class LayoutViewBase: This method has been introduced in 0.28. """ + ... + def get_screenshot(self) -> QtGui.QImage_Native: + r""" + @brief Gets a screenshot as a \QImage + + Getting the image requires the drawing to be complete. Ideally, synchronous mode is switched on for the application to guarantee this condition. The image will have the size of the viewport showing the current layout. + """ + ... def get_screenshot_pixels(self) -> PixelBuffer: r""" @brief Gets a screenshot as a \PixelBuffer @@ -6521,6 +8870,7 @@ class LayoutViewBase: Getting the image requires the drawing to be complete. Ideally, synchronous mode is switched on for the application to guarantee this condition. The image will have the size of the viewport showing the current layout. This method has been introduced in 0.28. """ + ... def get_stipple(self, index: int) -> str: r""" @brief Gets the stipple pattern string for the pattern with the given index @@ -6530,26 +8880,31 @@ class LayoutViewBase: This method has been introduced in version 0.25. """ + ... def has_annotation_selection(self) -> bool: r""" @brief Returns true, if annotations (rulers) are selected in this view This method was introduced in version 0.19. """ + ... def has_image_selection(self) -> bool: r""" @brief Returns true, if images are selected in this view This method was introduced in version 0.19. """ + ... def has_object_selection(self) -> bool: r""" @brief Returns true, if geometrical objects (shapes or cell instances) are selected in this view """ + ... def has_selection(self) -> bool: r""" @brief Indicates whether any objects are selected This method has been introduced in version 0.27 """ + ... def has_transient_object_selection(self) -> bool: r""" @brief Returns true, if geometrical objects (shapes or cell instances) are selected in this view in the transient selection @@ -6558,10 +8913,12 @@ class LayoutViewBase: This method was introduced in version 0.18. """ + ... def hide_cell(self, cell_index: int, cv_index: int) -> None: r""" @brief Hides the given cell for the given cellview """ + ... def icon_for_layer(self, iter: LayerPropertiesIterator, w: int, h: int, dpr: float, di_off: Optional[int] = ..., no_state: Optional[bool] = ...) -> PixelBuffer: r""" @brief Creates an icon pixmap for the given layer. @@ -6572,6 +8929,7 @@ class LayoutViewBase: This method has been introduced in version 0.28. """ + ... def image(self, id: int) -> Image: r""" @brief Gets the image given by an ID @@ -6582,6 +8940,7 @@ class LayoutViewBase: This method has been introduced in version 0.25. """ + ... def init_layer_properties(self, props: LayerProperties) -> None: r""" @brief Fills the layer properties for a new layer @@ -6592,12 +8951,14 @@ class LayoutViewBase: @param props The layer properties object to initialize. """ + ... def insert_annotation(self, obj: Annotation) -> None: r""" @brief Inserts an annotation object into the given view Inserts a new annotation into the view. Existing annotation will remain. Use \clear_annotations to delete them before inserting new ones. Use \replace_annotation to replace an existing one with a new one. Starting with version 0.25 this method modifies self's ID to reflect the ID of the ruler created. After an annotation is inserted into the view, it can be modified and the changes of properties will become reflected immediately in the view. """ + ... def insert_image(self, obj: Image) -> None: r""" @brief Insert an image object into the given view @@ -6605,6 +8966,7 @@ class LayoutViewBase: With version 0.25, this method will attach the image object to the view and the image object will become a 'live' object - i.e. changes to the object will change the appearance of the image on the screen. """ + ... @overload def insert_layer(self, index: int, iter: LayerPropertiesIterator, node: Optional[LayerProperties] = ...) -> LayerPropertiesNodeRef: r""" @@ -6615,6 +8977,7 @@ class LayoutViewBase: Since version 0.22, this method accepts LayerProperties and LayerPropertiesNode objects. A LayerPropertiesNode object can contain a hierarchy of further nodes. Since version 0.26 the node parameter is optional and the reference returned by this method can be used to set the properties of the new node. """ + ... @overload def insert_layer(self, iter: LayerPropertiesIterator, node: Optional[LayerProperties] = ...) -> LayerPropertiesNodeRef: r""" @@ -6625,24 +8988,28 @@ class LayoutViewBase: Since version 0.22, this method accepts LayerProperties and LayerPropertiesNode objects. A LayerPropertiesNode object can contain a hierarchy of further nodes. Since version 0.26 the node parameter is optional and the reference returned by this method can be used to set the properties of the new node. """ + ... def insert_layer_list(self, index: int) -> None: r""" @brief Inserts a new layer properties list at the given index This method inserts a new tab at the given position. The current layer properties list will be changed to the new list. This method has been introduced in version 0.21. """ + ... def is_cell_hidden(self, cell_index: int, cv_index: int) -> bool: r""" @brief Returns true, if the cell is hidden @return True, if the cell with "cell_index" is hidden for the cellview "cv_index" """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_dirty(self) -> bool: r""" @brief Gets a flag indicating whether one of the layouts displayed needs saving @@ -6650,12 +9017,14 @@ class LayoutViewBase: This method has been introduced in version 0.29. """ + ... def is_editable(self) -> bool: r""" @brief Returns true if the view is in editable mode This read-only attribute has been added in version 0.27.5. """ + ... def is_transacting(self) -> bool: r""" @brief Indicates if a transaction is ongoing @@ -6663,12 +9032,14 @@ class LayoutViewBase: See \transaction for a detailed description of transactions. This method was introduced in version 0.16. """ + ... def l2ndb(self, index: int) -> db.LayoutToNetlist: r""" @brief Gets the netlist database with the given index @return The \LayoutToNetlist object or nil if the index is not valid This method has been added in version 0.26. """ + ... @overload def load_layer_props(self, fn: str) -> None: r""" @@ -6678,6 +9049,7 @@ class LayoutViewBase: Load the layer properties from the file given in "fn" """ + ... @overload def load_layer_props(self, fn: str, add_default: bool) -> None: r""" @@ -6691,6 +9063,7 @@ class LayoutViewBase: This variant has been added on version 0.21. """ + ... @overload def load_layer_props(self, fn: str, cv_index: int, add_default: bool) -> None: r""" @@ -6707,6 +9080,7 @@ class LayoutViewBase: This variant has been added on version 0.21. """ + ... @overload def load_layout(self, filename: str, add_cellview: Optional[bool] = ...) -> int: r""" @@ -6718,6 +9092,7 @@ class LayoutViewBase: @return The index of the cellview loaded. The 'add_cellview' argument has been made optional in version 0.28. """ + ... @overload def load_layout(self, filename: str, options: db.LoadLayoutOptions, add_cellview: Optional[bool] = ...) -> int: r""" @@ -6732,6 +9107,7 @@ class LayoutViewBase: This method has been introduced in version 0.18. The 'add_cellview' argument has been made optional in version 0.28. """ + ... @overload def load_layout(self, filename: str, options: db.LoadLayoutOptions, technology: str, add_cellview: Optional[bool] = ...) -> int: r""" @@ -6746,6 +9122,7 @@ class LayoutViewBase: This version has been introduced in version 0.22. The 'add_cellview' argument has been made optional in version 0.28. """ + ... @overload def load_layout(self, filename: str, technology: str, add_cellview: Optional[bool] = ...) -> int: r""" @@ -6759,18 +9136,21 @@ class LayoutViewBase: This version has been introduced in version 0.22. The 'add_cellview' argument has been made optional in version 0.28. """ + ... def lvsdb(self, index: int) -> db.LayoutVsSchematic: r""" @brief Gets the netlist database with the given index @return The \LayoutVsSchematic object or nil if the index is not valid This method has been added in version 0.26. """ + ... def max_hier(self) -> None: r""" @brief Selects all hierarchy levels available Show the layout in full depth down to the deepest level of hierarchy. This method may cause a redraw. """ + ... def menu(self) -> AbstractMenu: r""" @brief Gets the \AbstractMenu associated with this view. @@ -6779,6 +9159,7 @@ class LayoutViewBase: This method has been introduced in version 0.28. """ + ... def mode_name(self) -> str: r""" @brief Gets the name of the current mode. @@ -6787,6 +9168,7 @@ class LayoutViewBase: This method has been introduced in version 0.28. """ + ... def mode_names(self) -> List[str]: r""" @brief Gets the names of the available modes. @@ -6795,6 +9177,15 @@ class LayoutViewBase: This method has been introduced in version 0.28. """ + ... + def netlist_browser(self) -> NetlistBrowserDialog: + r""" + @brief Gets the netlist browser object for the given layout view + + + This method has been added in version 0.27. + """ + ... def num_l2ndbs(self) -> int: r""" @brief Gets the number of netlist databases loaded into this view @@ -6802,43 +9193,52 @@ class LayoutViewBase: This method has been added in version 0.26. """ + ... def num_layer_lists(self) -> int: r""" @brief Gets the number of layer properties tabs present This method has been introduced in version 0.23. """ + ... def num_rdbs(self) -> int: r""" @brief Gets the number of report databases loaded into this view @return The number of \ReportDatabase objects present in this view """ + ... def pan_center(self, p: db.DPoint) -> None: r""" @brief Pans to the given point The window is positioned such that "p" becomes the new center """ + ... def pan_down(self) -> None: r""" @brief Pans down """ + ... def pan_left(self) -> None: r""" @brief Pans to the left """ + ... def pan_right(self) -> None: r""" @brief Pans to the right """ + ... def pan_up(self) -> None: r""" @brief Pans upward """ + ... def rdb(self, index: int) -> rdb.ReportDatabase: r""" @brief Gets the report database with the given index @return The \ReportDatabase object or nil if the index is not valid """ + ... def register_annotation_template(self, annotation: BasicAnnotation, title: str, mode: Optional[int] = ...) -> None: r""" @brief Registers the given annotation as a template for this particular view @@ -6850,18 +9250,21 @@ class LayoutViewBase: This method has been added in version 0.28. """ + ... def reload_layout(self, cv: int) -> None: r""" @brief Reloads the given cellview @param cv The index of the cellview to reload """ + ... def remove_l2ndb(self, index: int) -> None: r""" @brief Removes a netlist database with the given index @param The index of the netlist database to remove from this view This method has been added in version 0.26. """ + ... def remove_line_style(self, index: int) -> None: r""" @brief Removes the line style with the given index @@ -6869,21 +9272,25 @@ class LayoutViewBase: This method has been introduced in version 0.25. """ + ... def remove_rdb(self, index: int) -> None: r""" @brief Removes a report database with the given index @param The index of the report database to remove from this view """ + ... def remove_stipple(self, index: int) -> None: r""" @brief Removes the stipple pattern with the given index The pattern with an index less than the first custom pattern cannot be removed. If a stipple pattern is removed that is still used, the results are undefined. """ + ... def remove_unused_layers(self) -> None: r""" @brief Removes unused layers from layer list This method was introduced in version 0.19. """ + ... def rename_cellview(self, name: str, index: int) -> None: r""" @brief Renames the cellview with the given index @@ -6893,11 +9300,13 @@ class LayoutViewBase: If a layout is shared between multiple cellviews (which may happen due to a clone of the layout view for example), all cellviews are renamed. """ + ... def rename_layer_list(self, index: int, name: str) -> None: r""" @brief Sets the title of the given layer properties tab This method has been introduced in version 0.21. """ + ... def replace_annotation(self, id: int, obj: Annotation) -> None: r""" @brief Replaces the annotation given by the id with the new one @@ -6905,6 +9314,7 @@ class LayoutViewBase: This method has been introduced in version 0.24. """ + ... def replace_image(self, id: int, new_obj: Image) -> None: r""" @brief Replace an image object with the new image @@ -6916,6 +9326,7 @@ class LayoutViewBase: This method has been introduced in version 0.20. """ + ... def replace_l2ndb(self, db_index: int, db: db.LayoutToNetlist) -> int: r""" @brief Replaces the netlist database with the given index @@ -6926,6 +9337,7 @@ class LayoutViewBase: This method has been added in version 0.26. """ + ... @overload def replace_layer_node(self, index: int, iter: LayerPropertiesIterator, node: LayerProperties) -> None: r""" @@ -6934,6 +9346,7 @@ class LayoutViewBase: This method has been introduced in version 0.21. Since version 0.22, this method accepts LayerProperties and LayerPropertiesNode objects. A LayerPropertiesNode object can contain a hierarchy of further nodes. """ + ... @overload def replace_layer_node(self, iter: LayerPropertiesIterator, node: LayerProperties) -> None: r""" @@ -6941,6 +9354,7 @@ class LayoutViewBase: Since version 0.22, this method accepts LayerProperties and LayerPropertiesNode objects. A LayerPropertiesNode object can contain a hierarchy of further nodes. """ + ... def replace_lvsdb(self, db_index: int, db: db.LayoutVsSchematic) -> int: r""" @brief Replaces the database with the given index @@ -6951,6 +9365,7 @@ class LayoutViewBase: This method has been added in version 0.26. """ + ... def replace_rdb(self, db_index: int, db: rdb.ReportDatabase) -> int: r""" @brief Replaces the report database with the given index @@ -6961,18 +9376,21 @@ class LayoutViewBase: This method has been added in version 0.26. """ + ... def reset_title(self) -> None: r""" @brief Resets the title to the standard title See \set_title and \title for a description about how titles are handled. """ + ... def resize(self, w: int, h: int) -> None: r""" @brief Resizes the layout view to the given dimension This method has been made available in all builds in 0.28. """ + ... @overload def save_as(self, index: int, filename: str, gzip: bool, options: db.SaveLayoutOptions) -> None: r""" @@ -6988,6 +9406,7 @@ class LayoutViewBase: This method is deprecated starting from version 0.23. The compression mode is determined from the file name automatically and the \gzip parameter is ignored. """ + ... @overload def save_as(self, index: int, filename: str, options: db.SaveLayoutOptions) -> None: r""" @@ -7002,6 +9421,7 @@ class LayoutViewBase: If the file name ends with a suffix ".gz" or ".gzip", the file is compressed with the zlib algorithm. """ + ... def save_image(self, filename: str, width: int, height: int) -> None: r""" @brief Saves the layout as an image to the given file @@ -7013,6 +9433,7 @@ class LayoutViewBase: The image contains the current scene (layout, annotations etc.). The image is written as a PNG file to the given file. The image is drawn synchronously with the given width and height. Drawing may take some time. """ + ... def save_image_with_options(self, filename: str, width: int, height: int, linewidth: Optional[int] = ..., oversampling: Optional[int] = ..., resolution: Optional[float] = ..., target: Optional[db.DBox] = ..., monochrome: Optional[bool] = ...) -> None: r""" @brief Saves the layout as an image to the given file (with options) @@ -7050,12 +9471,14 @@ class LayoutViewBase: This method has been introduced in 0.23.10. """ + ... def save_layer_props(self, fn: str) -> None: r""" @brief Saves the layer properties Save the layer properties to the file given in "fn" """ + ... def save_screenshot(self, filename: str) -> None: r""" @brief Saves a screenshot to the given file @@ -7064,12 +9487,14 @@ class LayoutViewBase: The screenshot is written as a PNG file to the given file. This requires the drawing to be complete. Ideally, synchronous mode is switched on for the application to guarantee this condition. The image will have the size of the viewport showing the current layout. """ + ... def select_all(self) -> None: r""" @brief Selects all objects from the view This method has been introduced in version 0.27 """ + ... def select_cell(self, cell_index: int, cv_index: int) -> None: r""" @brief Selects a cell by index for a certain cell view @@ -7078,6 +9503,7 @@ class LayoutViewBase: This method selects the cell to be drawn. In constrast, the \set_current_cell_path method selects the cell that is highlighted in the cell tree (but not necessarily drawn). This method is was deprecated in version 0.25 since from then, the \CellView object can be used to obtain an manipulate the selected cell. """ + ... def select_cell_path(self, cell_index: Sequence[int], cv_index: int) -> None: r""" @brief Selects a cell by cell index for a certain cell view @@ -7086,6 +9512,7 @@ class LayoutViewBase: This method selects the cell to be drawn. In constrast, the \set_current_cell_path method selects the cell that is highlighted in the cell tree (but not necessarily drawn). This method is was deprecated in version 0.25 since from then, the \CellView object can be used to obtain an manipulate the selected cell. """ + ... @overload def select_from(self, box: db.DBox, mode: Optional[LayoutViewBase.SelectionMode] = ...) -> None: r""" @@ -7095,6 +9522,7 @@ class LayoutViewBase: This method has been introduced in version 0.27 """ + ... @overload def select_from(self, point: db.DPoint, mode: Optional[LayoutViewBase.SelectionMode] = ...) -> None: r""" @@ -7104,6 +9532,7 @@ class LayoutViewBase: This method has been introduced in version 0.27 """ + ... def select_object(self, obj: ObjectInstPath) -> None: r""" @brief Adds the given selection to the list of selected objects @@ -7117,6 +9546,7 @@ class LayoutViewBase: This method has been introduced in version 0.24 """ + ... def selected_cells_paths(self, cv_index: int) -> List[List[int]]: r""" @brief Gets the paths of the selected cells @@ -7127,24 +9557,28 @@ class LayoutViewBase: This method has be introduced in version 0.25. """ + ... def selected_layers(self) -> List[LayerPropertiesIterator]: r""" @brief Gets the selected layers Returns an array of \LayerPropertiesIterator objects pointing to the currently selected layers. If no layer view is selected currently, an empty array is returned. """ + ... def selection_bbox(self) -> db.DBox: r""" @brief Returns the bounding box of the current selection This method has been introduced in version 0.26.2 """ + ... def selection_size(self) -> int: r""" @brief Returns the number of selected objects This method has been introduced in version 0.27 """ + ... def send_enter_event(self) -> None: r""" @brief Sends a mouse window leave event @@ -7152,6 +9586,7 @@ class LayoutViewBase: This method is intended to emulate the mouse mouse window leave events sent by Qt normally in environments where Qt is not present. This method was introduced in version 0.28. """ + ... def send_key_press_event(self, key: int, buttons: int) -> None: r""" @brief Sends a key press event @@ -7160,6 +9595,7 @@ class LayoutViewBase: This method was introduced in version 0.28. """ + ... def send_leave_event(self) -> None: r""" @brief Sends a mouse window leave event @@ -7167,6 +9603,7 @@ class LayoutViewBase: This method is intended to emulate the mouse mouse window leave events sent by Qt normally in environments where Qt is not present. This method was introduced in version 0.28. """ + ... def send_mouse_double_clicked_event(self, pt: db.DPoint, buttons: int) -> None: r""" @brief Sends a mouse button double-click event @@ -7175,6 +9612,7 @@ class LayoutViewBase: This method was introduced in version 0.28. """ + ... def send_mouse_move_event(self, pt: db.DPoint, buttons: int) -> None: r""" @brief Sends a mouse move event @@ -7183,6 +9621,7 @@ class LayoutViewBase: This method was introduced in version 0.28. """ + ... def send_mouse_press_event(self, pt: db.DPoint, buttons: int) -> None: r""" @brief Sends a mouse button press event @@ -7191,6 +9630,7 @@ class LayoutViewBase: This method was introduced in version 0.28. """ + ... def send_mouse_release_event(self, pt: db.DPoint, buttons: int) -> None: r""" @brief Sends a mouse button release event @@ -7199,6 +9639,7 @@ class LayoutViewBase: This method was introduced in version 0.28. """ + ... def send_wheel_event(self, delta: int, horizontal: bool, pt: db.DPoint, buttons: int) -> None: r""" @brief Sends a mouse wheel event @@ -7207,6 +9648,7 @@ class LayoutViewBase: This method was introduced in version 0.28. """ + ... def set_active_cellview_index(self, index: int) -> None: r""" @brief Makes the cellview with the given index the active one (shown in hierarchy browser) @@ -7214,6 +9656,7 @@ class LayoutViewBase: This method has been renamed from set_active_cellview_index to active_cellview_index= in version 0.25. The original name is still available, but is deprecated. """ + ... def set_config(self, name: str, value: str) -> None: r""" @brief Sets a local configuration parameter with the given name to the given value @@ -7223,6 +9666,7 @@ class LayoutViewBase: This method sets a local configuration parameter with the given name to the given value. Values can only be strings. Numerical values have to be converted into strings first. Local configuration parameters override global configurations for this specific view. This allows for example to override global settings of background colors. Any local settings are not written to the configuration file. """ + ... def set_current_cell_path(self, cv_index: int, cell_path: Sequence[int]) -> None: r""" @brief Sets the path to the current cell @@ -7236,11 +9680,13 @@ class LayoutViewBase: This method is was deprecated in version 0.25 since from then, the \CellView object can be used to obtain an manipulate the selected cell. """ + ... def set_current_layer_list(self, index: int) -> None: r""" @brief Sets the index of the currently selected layer properties tab This method has been introduced in version 0.21. """ + ... @overload def set_layer_properties(self, index: int, iter: LayerPropertiesIterator, props: LayerProperties) -> None: r""" @@ -7248,6 +9694,7 @@ class LayoutViewBase: This method replaces the layer properties of the element pointed to by "iter" by the properties given by "props" in the tab given by "index". It will not change the hierarchy but just the properties of the given node.This version addresses a specific list in a multi-tab layer properties arrangement with the "index" parameter. This method has been introduced in version 0.21. """ + ... @overload def set_layer_properties(self, iter: LayerPropertiesIterator, props: LayerProperties) -> None: r""" @@ -7255,6 +9702,7 @@ class LayoutViewBase: This method replaces the layer properties of the element pointed to by "iter" by the properties given by "props". It will not change the hierarchy but just the properties of the given node. """ + ... def set_title(self, title: str) -> None: r""" @brief Sets the title of the view @@ -7263,11 +9711,13 @@ class LayoutViewBase: Override the standard title of the view indicating the file names loaded by the specified title string. The title string can be reset with \reset_title to the standard title again. """ + ... @overload def show_all_cells(self) -> None: r""" @brief Makes all cells shown (cancel effects of \hide_cell) """ + ... @overload def show_all_cells(self, cv_index: int) -> None: r""" @@ -7276,10 +9726,12 @@ class LayoutViewBase: This variant has been added in version 0.25. """ + ... def show_cell(self, cell_index: int, cv_index: int) -> None: r""" @brief Shows the given cell for the given cellview (cancel effect of \hide_cell) """ + ... def show_image(self, id: int, visible: bool) -> None: r""" @brief Shows or hides the given image @@ -7292,6 +9744,7 @@ class LayoutViewBase: With version 0.25, \Image#visible= can be used to achieve the same results. """ + ... @overload def show_layout(self, layout: db.Layout, add_cellview: bool) -> int: r""" @@ -7305,6 +9758,7 @@ class LayoutViewBase: This method has been introduced in version 0.22. """ + ... @overload def show_layout(self, layout: db.Layout, tech: str, add_cellview: bool) -> int: r""" @@ -7320,6 +9774,7 @@ class LayoutViewBase: This method has been introduced in version 0.22. """ + ... @overload def show_layout(self, layout: db.Layout, tech: str, add_cellview: bool, init_layers: bool) -> int: r""" @@ -7337,17 +9792,20 @@ class LayoutViewBase: This method has been introduced in version 0.22. """ + ... def stop(self) -> None: r""" @brief Stops redraw thread and close any browsers This method usually does not need to be called explicitly. The redraw thread is stopped automatically. """ + ... def stop_redraw(self) -> None: r""" @brief Stops the redraw thread It is very important to stop the redraw thread before applying changes to the layout or the cell views and the LayoutView configuration. This is usually done automatically. For rare cases, where this is not the case, this method is provided. """ + ... def switch_mode(self, mode: str) -> None: r""" @brief Switches the mode. @@ -7356,6 +9814,7 @@ class LayoutViewBase: This method has been introduced in version 0.28. """ + ... def transaction(self, description: str) -> None: r""" @brief Begins a transaction @@ -7367,6 +9826,7 @@ class LayoutViewBase: This method was introduced in version 0.16. """ + ... def transient_to_selection(self) -> None: r""" @brief Turns the transient selection into the actual selection @@ -7375,6 +9835,7 @@ class LayoutViewBase: This method has been introduced in version 0.26.2 """ + ... def unregister_annotation_templates(self, category: str) -> None: r""" @brief Unregisters the template or templates with the given category string on this particular view @@ -7383,6 +9844,7 @@ class LayoutViewBase: This method has been added in version 0.28. """ + ... def unselect_object(self, obj: ObjectInstPath) -> None: r""" @brief Removes the given selection from the list of selected objects @@ -7393,6 +9855,7 @@ class LayoutViewBase: This method has been introduced in version 0.24 """ + ... def update_content(self) -> None: r""" @brief Updates the layout view to the current state @@ -7401,46 +9864,191 @@ class LayoutViewBase: Currently, this method should be called however, after the layer view tree has been changed by the \insert_layer, \replace_layer_node or \delete_layer methods. """ + ... def viewport_height(self) -> int: r""" @brief Return the viewport height in pixels This method was introduced in version 0.18. """ + ... def viewport_trans(self) -> db.DCplxTrans: r""" @brief Returns the transformation that converts micron coordinates to pixels Hint: the transformation returned will convert any point in micron coordinate space into a pixel coordinate. Contrary to usual convention, the y pixel coordinate is given in a mathematically oriented space - which means the bottom coordinate is 0. This method was introduced in version 0.18. """ + ... def viewport_width(self) -> int: r""" @brief Returns the viewport width in pixels This method was introduced in version 0.18. """ + ... + def widget(self) -> QtWidgets.QWidget_Native: + r""" + @brief Gets the QWidget object of the view + + This method has been introduced in version 0.28.7. + """ + ... def zoom_box(self, box: db.DBox) -> None: r""" @brief Sets the viewport to the given box @param box The box to which to set the view in micron coordinates """ + ... def zoom_fit(self) -> None: r""" @brief Fits the contents of the current view into the window """ + ... def zoom_fit_sel(self) -> None: r""" @brief Fits the contents of the current selection into the window This method has been introduced in version 0.25. """ + ... def zoom_in(self) -> None: r""" @brief Zooms in somewhat """ + ... def zoom_out(self) -> None: r""" @brief Zooms out somewhat """ + ... + ... + +class LayoutViewWidget(QFrame_Native): + r""" + This object produces a widget which embeds a LayoutView. This widget can be used inside Qt widget hierarchies. + To access the \LayoutView object within, use \view. + + This class has been introduced in version 0.28. + """ + @classmethod + def new(cls, parent: QtWidgets.QWidget_Native, editable: Optional[bool] = ..., manager: Optional[db.Manager] = ..., options: Optional[int] = ...) -> LayoutViewWidget: + r""" + @brief Creates a standalone view widget + + @param parent The parent widget in which to embed the view + @param editable True to make the view editable + @param manager The \Manager object to enable undo/redo + @param options A combination of the values in the LV_... constants from \LayoutViewBase + + This constructor has been introduced in version 0.25. + It has been enhanced with the arguments in version 0.27. + """ + ... + def __init__(self, parent: QtWidgets.QWidget_Native, editable: Optional[bool] = ..., manager: Optional[db.Manager] = ..., options: Optional[int] = ...) -> None: + r""" + @brief Creates a standalone view widget + + @param parent The parent widget in which to embed the view + @param editable True to make the view editable + @param manager The \Manager object to enable undo/redo + @param options A combination of the values in the LV_... constants from \LayoutViewBase + + This constructor has been introduced in version 0.25. + It has been enhanced with the arguments in version 0.27. + """ + ... + def _create(self) -> None: + r""" + @brief Ensures the C++ object is created + Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. + """ + ... + def _destroy(self) -> None: + r""" + @brief Explicitly destroys the object + Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. + If the object is not owned by the script, this method will do nothing. + """ + ... + def _destroyed(self) -> bool: + r""" + @brief Returns a value indicating whether the object was already destroyed + This method returns true, if the object was destroyed, either explicitly or by the C++ side. + The latter may happen, if the object is owned by a C++ object which got destroyed itself. + """ + ... + def _is_const_object(self) -> bool: + r""" + @brief Returns a value indicating whether the reference is a const reference + This method returns true, if self is a const reference. + In that case, only const methods may be called on self. + """ + ... + def _manage(self) -> None: + r""" + @brief Marks the object as managed by the script side. + After calling this method on an object, the script side will be responsible for the management of the object. This method may be called if an object is returned from a C++ function and the object is known not to be owned by any C++ instance. If necessary, the script side may delete the object if the script's reference is no longer required. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def _unmanage(self) -> None: + r""" + @brief Marks the object as no longer owned by the script side. + Calling this method will make this object no longer owned by the script's memory management. Instead, the object must be managed in some other way. Usually this method may be called if it is known that some C++ object holds and manages this object. Technically speaking, this method will turn the script's reference into a weak reference. After the script engine decides to delete the reference, the object itself will still exist. If the object is not managed otherwise, memory leaks will occur. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def bookmarks_frame(self) -> QtWidgets.QWidget_Native: + r""" + @brief Gets the bookmarks side widget + For details about side widgets see \layer_control_frame. + + This method has been introduced in version 0.27 + """ + ... + def hierarchy_control_frame(self) -> QtWidgets.QWidget_Native: + r""" + @brief Gets the cell view (hierarchy view) side widget + For details about side widgets see \layer_control_frame. + + This method has been introduced in version 0.27 + """ + ... + def layer_control_frame(self) -> QtWidgets.QWidget_Native: + r""" + @brief Gets the layer control side widget + A 'side widget' is a widget attached to the view. It does not have a parent, so you can embed it into a different context. Please note that with embedding through 'setParent' it will be destroyed when your parent widget gets destroyed. It will be lost then to the view. + + The side widget can be configured through the views configuration interface. + + This method has been introduced in version 0.27 + """ + ... + def layer_toolbox_frame(self) -> QtWidgets.QWidget_Native: + r""" + @brief Gets the layer toolbox side widget + A 'side widget' is a widget attached to the view. It does not have a parent, so you can embed it into a different context. Please note that with embedding through 'setParent' it will be destroyed when your parent widget gets destroyed. It will be lost then to the view. + + The side widget can be configured through the views configuration interface. + + This method has been introduced in version 0.28 + """ + ... + def libraries_frame(self) -> QtWidgets.QWidget_Native: + r""" + @brief Gets the library view side widget + For details about side widgets see \layer_control_frame. + + This method has been introduced in version 0.27 + """ + ... + def view(self) -> LayoutView: + r""" + @brief Gets the embedded view object. + """ + ... + ... class Macro: r""" @@ -7481,84 +10089,103 @@ class Macro: r""" @brief Creates an enum from an integer value """ + ... @overload @classmethod def new(cls, s: str) -> Macro.Format: r""" @brief Creates an enum from a string value """ + ... @overload - def __eq__(self, other: object) -> bool: + def __eq__(self, other: int) -> bool: r""" @brief Compares an enum with an integer value """ + ... @overload def __eq__(self, other: object) -> bool: r""" @brief Compares two enums """ + ... def __hash__(self) -> int: r""" @brief Gets the hash value from the enum """ + ... @overload def __init__(self, i: int) -> None: r""" @brief Creates an enum from an integer value """ + ... @overload def __init__(self, s: str) -> None: r""" @brief Creates an enum from a string value """ + ... def __int__(self) -> int: r""" @brief Gets the integer value from the enum """ + ... @overload def __lt__(self, other: Macro.Format) -> bool: r""" @brief Returns true if the first enum is less (in the enum symbol order) than the second """ + ... @overload def __lt__(self, other: int) -> bool: r""" @brief Returns true if the enum is less (in the enum symbol order) than the integer value """ + ... @overload - def __ne__(self, other: object) -> bool: + def __ne__(self, other: int) -> bool: r""" @brief Compares an enum with an integer for inequality """ + ... @overload def __ne__(self, other: object) -> bool: r""" @brief Compares two enums for inequality """ + ... def __repr__(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def __str__(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... def hash(self) -> int: r""" @brief Gets the hash value from the enum """ + ... def inspect(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def to_i(self) -> int: r""" @brief Gets the integer value from the enum """ + ... def to_s(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... + ... class Interpreter: r""" @brief Specifies the interpreter used for executing a macro @@ -7590,84 +10217,103 @@ class Macro: r""" @brief Creates an enum from an integer value """ + ... @overload @classmethod def new(cls, s: str) -> Macro.Interpreter: r""" @brief Creates an enum from a string value """ + ... @overload - def __eq__(self, other: object) -> bool: + def __eq__(self, other: int) -> bool: r""" @brief Compares an enum with an integer value """ + ... @overload def __eq__(self, other: object) -> bool: r""" @brief Compares two enums """ + ... def __hash__(self) -> int: r""" @brief Gets the hash value from the enum """ + ... @overload def __init__(self, i: int) -> None: r""" @brief Creates an enum from an integer value """ + ... @overload def __init__(self, s: str) -> None: r""" @brief Creates an enum from a string value """ + ... def __int__(self) -> int: r""" @brief Gets the integer value from the enum """ + ... @overload def __lt__(self, other: Macro.Interpreter) -> bool: r""" @brief Returns true if the first enum is less (in the enum symbol order) than the second """ + ... @overload def __lt__(self, other: int) -> bool: r""" @brief Returns true if the enum is less (in the enum symbol order) than the integer value """ + ... + @overload + def __ne__(self, other: int) -> bool: + r""" + @brief Compares an enum with an integer for inequality + """ + ... @overload def __ne__(self, other: object) -> bool: r""" @brief Compares two enums for inequality """ - @overload - def __ne__(self, other: object) -> bool: - r""" - @brief Compares an enum with an integer for inequality - """ + ... def __repr__(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def __str__(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... def hash(self) -> int: r""" @brief Gets the hash value from the enum """ + ... def inspect(self) -> str: r""" @brief Converts an enum to a visual string """ + ... def to_i(self) -> int: r""" @brief Gets the integer value from the enum """ + ... def to_s(self) -> str: r""" @brief Gets the symbolic string from an enum """ + ... + ... DSLInterpreter: ClassVar[Macro.Interpreter] r""" @brief A domain-specific interpreter (DSL) @@ -7884,6 +10530,7 @@ class Macro: This method has been added in version 0.26. """ + ... @classmethod def new(cls, path: str) -> Macro: r""" @@ -7891,6 +10538,7 @@ class Macro: This constructor has been introduced in version 0.27.5. """ + ... @classmethod def real_line(cls, path: str, line: int) -> int: r""" @@ -7917,6 +10565,7 @@ class Macro: This feature has been introduced in version 0.27. """ + ... @classmethod def real_path(cls, path: str, line: int) -> str: r""" @@ -7940,35 +10589,41 @@ class Macro: This feature has been introduced in version 0.27. """ + ... def __init__(self, path: str) -> None: r""" @brief Loads the macro from the given file path This constructor has been introduced in version 0.27.5. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -7976,6 +10631,7 @@ class Macro: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -7983,23 +10639,27 @@ class Macro: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def interpreter_name(self) -> str: r""" @brief Gets the macro interpreter name @@ -8007,36 +10667,42 @@ class Macro: This method has been introduced in version 0.27.5. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def name(self) -> str: r""" @brief Gets the name of the macro This attribute has been added in version 0.25. """ + ... def path(self) -> str: r""" @brief Gets the path of the macro The path is the path where the macro is stored, starting with an abstract group identifier. The path is used to identify the macro in the debugger for example. """ + ... def run(self) -> int: r""" @brief Executes the macro This method has been introduced in version 0.27.5. """ + ... def save_to(self, path: str) -> None: r""" @brief Saves the macro to the given file This method has been introduced in version 0.27.5. """ + ... def sync_properties_with_text(self) -> None: r""" @brief Synchronizes the macro properties with the text @@ -8045,6 +10711,7 @@ class Macro: This method has been introduced in version 0.27.5. """ + ... def sync_text_with_properties(self) -> None: r""" @brief Synchronizes the macro text with the properties @@ -8053,6 +10720,8 @@ class Macro: This method has been introduced in version 0.27.5. """ + ... + ... class MacroExecutionContext: r""" @@ -8066,57 +10735,68 @@ class MacroExecutionContext: @brief Ignores the next exception in the debugger The next exception thrown will be ignored in the debugger. That feature is useful when re-raising exceptions if those new exception shall not appear in the debugger. """ + ... @classmethod def new(cls) -> MacroExecutionContext: r""" @brief Creates a new object of this class """ + ... @classmethod def remove_debugger_scope(cls) -> None: r""" @brief Removes a debugger scope previously set with \set_debugger_scope """ + ... @classmethod def set_debugger_scope(cls, filename: str) -> None: r""" @brief Sets a debugger scope (file level which shall appear in the debugger) If a debugger scope is set, back traces will be produced starting from that scope. Setting a scope is useful for implementing DSL interpreters and giving a proper hint about the original location of an error. """ + ... def __copy__(self) -> MacroExecutionContext: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> MacroExecutionContext: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -8124,6 +10804,7 @@ class MacroExecutionContext: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -8131,37 +10812,45 @@ class MacroExecutionContext: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: MacroExecutionContext) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> MacroExecutionContext: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... + ... class MacroInterpreter: r""" @@ -8265,6 +10954,7 @@ class MacroInterpreter: Before version 0.25 this attribute was a re-implementable method. It has been turned into an attribute for performance reasons in version 0.25. """ + ... @property def description(self) -> None: r""" @@ -8276,6 +10966,7 @@ class MacroInterpreter: Before version 0.25 this attribute was a re-implementable method. It has been turned into an attribute for performance reasons in version 0.25. """ + ... @property def storage_scheme(self) -> None: r""" @@ -8288,6 +10979,7 @@ class MacroInterpreter: Before version 0.25 this attribute was a re-implementable method. It has been turned into an attribute for performance reasons in version 0.25. """ + ... @property def suffix(self) -> None: r""" @@ -8299,6 +10991,7 @@ class MacroInterpreter: Before version 0.25 this attribute was a re-implementable method. It has been turned into an attribute for performance reasons in version 0.25. """ + ... @property def supports_include_expansion(self) -> None: r""" @@ -8309,6 +11002,7 @@ class MacroInterpreter: This attribute has been introduced in version 0.27. """ + ... @property def syntax_scheme(self) -> None: r""" @@ -8321,46 +11015,55 @@ class MacroInterpreter: Before version 0.25 this attribute was a re-implementable method. It has been turned into an attribute for performance reasons in version 0.25. """ + ... @classmethod def new(cls) -> MacroInterpreter: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> MacroInterpreter: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> MacroInterpreter: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -8368,6 +11071,7 @@ class MacroInterpreter: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -8375,15 +11079,18 @@ class MacroInterpreter: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: MacroInterpreter) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def create_template(self, url: str) -> Macro: r""" @brief Creates a new macro template @@ -8393,22 +11100,26 @@ class MacroInterpreter: This method must be called after \register has called. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> MacroInterpreter: r""" @brief Creates a copy of self """ + ... def include_expansion(self, macro: Macro) -> List[str]: r""" @brief Provides include expansion as defined by the interpreter @@ -8416,12 +11127,14 @@ class MacroInterpreter: This method has been introduced in version 0.28.12. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def register(self, name: str) -> None: r""" @brief Registers the macro interpreter @@ -8429,6 +11142,1484 @@ class MacroInterpreter: Registration of the interpreter makes the object known to the system. After registration, macros whose interpreter is set to 'dsl' can use this object to run the script. For executing a script, the system will call the interpreter's \execute method. """ + ... + ... + +class MainWindow(QMainWindow_Native): + r""" + @brief The main application window and central controller object + + This object first is the main window but also the main controller. The main controller is the port by which access can be gained to all the data objects, view and other aspects of the program. + """ + current_view_index: int + r""" + Getter: + @brief Returns the current view's index + + @return The index of the current view + + This method will return the index of the current view. + Setter: + @brief Selects the view with the given index + + @param index The index of the view to select (0 is the first) + + This method will make the view with the given index the current (front) view. + + This method was renamed from select_view to current_view_index= in version 0.25. The old name is still available, but deprecated. + """ + initial_technology: str + r""" + Getter: + @brief Gets the technology used for creating or loading layouts (unless explicitly specified) + + @return The current initial technology + This method was added in version 0.22. + Setter: + @brief Sets the technology used for creating or loading layouts (unless explicitly specified) + + Setting the technology will have an effect on the next load_layout or create_layout operation which does not explicitly specify the technology but might not be reflected correctly in the reader options dialog and changes will be reset when the application is restarted. + @param tech The new initial technology + + This method was added in version 0.22. + """ + on_current_view_changed: None + r""" + Getter: + @brief An event indicating that the current view has changed + + This event is triggered after the current view has changed. This happens, if the user switches the layout tab. + + Before version 0.25 this event was based on the observer pattern obsolete now. The corresponding methods (add_current_view_observer/remove_current_view_observer) have been removed in 0.25. + + Setter: + @brief An event indicating that the current view has changed + + This event is triggered after the current view has changed. This happens, if the user switches the layout tab. + + Before version 0.25 this event was based on the observer pattern obsolete now. The corresponding methods (add_current_view_observer/remove_current_view_observer) have been removed in 0.25. + """ + on_session_about_to_be_restored: None + r""" + Getter: + @brief An event indicating that a session is about to be restored + + This event has been added in version 0.28.8. + + Setter: + @brief An event indicating that a session is about to be restored + + This event has been added in version 0.28.8. + """ + on_session_restored: None + r""" + Getter: + @brief An event indicating that a session was restored + + This event has been added in version 0.28.8. + + Setter: + @brief An event indicating that a session was restored + + This event has been added in version 0.28.8. + """ + on_view_closed: None + r""" + Getter: + @brief An event indicating that a view was closed + @param index The index of the view that was closed + + This event is triggered after a view was closed. For example, because the tab was closed. + + This event has been added in version 0.25. + + Setter: + @brief An event indicating that a view was closed + @param index The index of the view that was closed + + This event is triggered after a view was closed. For example, because the tab was closed. + + This event has been added in version 0.25. + """ + on_view_created: None + r""" + Getter: + @brief An event indicating that a new view was created + @param index The index of the view that was created + + This event is triggered after a new view was created. For example, if a layout is loaded into a new panel. + + Before version 0.25 this event was based on the observer pattern obsolete now. The corresponding methods (add_new_view_observer/remove_new_view_observer) have been removed in 0.25. + + Setter: + @brief An event indicating that a new view was created + @param index The index of the view that was created + + This event is triggered after a new view was created. For example, if a layout is loaded into a new panel. + + Before version 0.25 this event was based on the observer pattern obsolete now. The corresponding methods (add_new_view_observer/remove_new_view_observer) have been removed in 0.25. + """ + synchronous: bool + r""" + Getter: + @brief Gets a value indicating whether synchronous mode is activated + See \synchronous= for details about this attribute + + This property getter was introduced in version 0.29. + Setter: + @brief Puts the main window into synchronous mode + + @param sync_mode 'true' if the application should behave synchronously + + In synchronous mode, an application is allowed to block on redraw. While redrawing, no user interactions are possible. Although this is not desirable for smooth operation, it can be beneficial for test or automation purposes, i.e. if a screenshot needs to be produced once the application has finished drawing. + """ + title: str + r""" + Getter: + @brief Gets the window title + See \title= for a description of this property. + This property was introduced in version 0.29. + Setter: + @brief Sets the window title + If the window title is not empty, it will be used for the application window's title. Otherwise the default title is used. The title string is subject to expression interpolation. So it is possible to implement the default scheme of adding the current view using the following code: + + @code + add_view_info = "$(var view=LayoutView.current; view ? ' - ' + (view.is_dirty ? '[+] ' : '') + view.title : '')" + RBA::MainWindow.instance.title = "Custom Title" + add_view_info + @/code + + This property was introduced in version 0.29. + """ + @classmethod + def instance(cls) -> MainWindow: + r""" + @brief Gets application's main window instance + + This method has been added in version 0.24. + """ + ... + @classmethod + def menu_symbols(cls) -> List[str]: + r""" + @brief Gets all available menu symbols (see \call_menu). + NOTE: currently this method delivers a superset of all available symbols. Depending on the context, no all symbols may trigger actual functionality. + + This method has been introduced in version 0.27. + """ + ... + def _create(self) -> None: + r""" + @brief Ensures the C++ object is created + Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. + """ + ... + def _destroy(self) -> None: + r""" + @brief Explicitly destroys the object + Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. + If the object is not owned by the script, this method will do nothing. + """ + ... + def _destroyed(self) -> bool: + r""" + @brief Returns a value indicating whether the object was already destroyed + This method returns true, if the object was destroyed, either explicitly or by the C++ side. + The latter may happen, if the object is owned by a C++ object which got destroyed itself. + """ + ... + def _is_const_object(self) -> bool: + r""" + @brief Returns a value indicating whether the reference is a const reference + This method returns true, if self is a const reference. + In that case, only const methods may be called on self. + """ + ... + def _manage(self) -> None: + r""" + @brief Marks the object as managed by the script side. + After calling this method on an object, the script side will be responsible for the management of the object. This method may be called if an object is returned from a C++ function and the object is known not to be owned by any C++ instance. If necessary, the script side may delete the object if the script's reference is no longer required. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def _unmanage(self) -> None: + r""" + @brief Marks the object as no longer owned by the script side. + Calling this method will make this object no longer owned by the script's memory management. Instead, the object must be managed in some other way. Usually this method may be called if it is known that some C++ object holds and manages this object. Technically speaking, this method will turn the script's reference into a weak reference. After the script engine decides to delete the reference, the object itself will still exist. If the object is not managed otherwise, memory leaks will occur. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def call_menu(self, symbol: str) -> None: + r""" + @brief Calls the menu item with the provided symbol. + To obtain all symbols, use menu_symbols. + + This method has been introduced in version 0.27 and replaces the previous cm_... methods. Instead of calling a specific cm_... method, use LayoutView#call_menu with 'cm_...' as the symbol. + """ + ... + def cancel(self) -> None: + r""" + @brief Cancels current editing operations + + This method call cancels all current editing operations and restores normal mouse mode. + """ + ... + def clear_config(self) -> None: + r""" + @brief Clears the configuration parameters + This method is provided for using MainWindow without an Application object. It's a convience method which is equivalent to 'dispatcher().clear_config()'. See \Dispatcher#clear_config for details. + + This method has been introduced in version 0.27. + """ + ... + def clone_current_view(self) -> None: + r""" + @brief Clones the current view and make it current + """ + ... + def close_all(self) -> None: + r""" + @brief Closes all views + + This method unconditionally closes all views. No dialog will be opened if unsaved edits exist. + + This method was added in version 0.18. + """ + ... + def close_current_view(self) -> None: + r""" + @brief Closes the current view + + This method does not open a dialog to ask which cell view to close if multiple cells are opened in the view, but rather closes all cells. + """ + ... + def cm_adjust_origin(self) -> None: + r""" + @brief 'cm_adjust_origin' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_adjust_origin')" instead. + """ + ... + def cm_bookmark_view(self) -> None: + r""" + @brief 'cm_bookmark_view' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_bookmark_view')" instead. + """ + ... + def cm_cancel(self) -> None: + r""" + @brief 'cm_cancel' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_cancel')" instead. + """ + ... + def cm_cell_copy(self) -> None: + r""" + @brief 'cm_cell_copy' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_cell_copy')" instead. + """ + ... + def cm_cell_cut(self) -> None: + r""" + @brief 'cm_cell_cut' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_cell_cut')" instead. + """ + ... + def cm_cell_delete(self) -> None: + r""" + @brief 'cm_cell_delete' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_cell_delete')" instead. + """ + ... + def cm_cell_flatten(self) -> None: + r""" + @brief 'cm_cell_flatten' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_cell_flatten')" instead. + """ + ... + def cm_cell_hide(self) -> None: + r""" + @brief 'cm_cell_hide' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_cell_hide')" instead. + """ + ... + def cm_cell_paste(self) -> None: + r""" + @brief 'cm_cell_paste' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_cell_paste')" instead. + """ + ... + def cm_cell_rename(self) -> None: + r""" + @brief 'cm_cell_rename' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_cell_rename')" instead. + """ + ... + def cm_cell_select(self) -> None: + r""" + @brief 'cm_cell_select' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_cell_select')" instead. + """ + ... + def cm_cell_show(self) -> None: + r""" + @brief 'cm_cell_show' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_cell_show')" instead. + """ + ... + def cm_cell_show_all(self) -> None: + r""" + @brief 'cm_cell_show_all' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_cell_show_all')" instead. + """ + ... + def cm_clear_layer(self) -> None: + r""" + @brief 'cm_clear_layer' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_clear_layer')" instead. + """ + ... + def cm_clone(self) -> None: + r""" + @brief 'cm_clone' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_clone')" instead. + """ + ... + def cm_close(self) -> None: + r""" + @brief 'cm_close' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_close')" instead. + """ + ... + def cm_close_all(self) -> None: + r""" + @brief 'cm_close_all' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_close_all')" instead. + """ + ... + def cm_copy(self) -> None: + r""" + @brief 'cm_copy' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_copy')" instead. + """ + ... + def cm_copy_layer(self) -> None: + r""" + @brief 'cm_copy_layer' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_copy_layer')" instead. + """ + ... + def cm_cut(self) -> None: + r""" + @brief 'cm_cut' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_cut')" instead. + """ + ... + def cm_dec_max_hier(self) -> None: + r""" + @brief 'cm_dec_max_hier' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_dec_max_hier')" instead. + """ + ... + def cm_delete(self) -> None: + r""" + @brief 'cm_delete' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_delete')" instead. + """ + ... + def cm_delete_layer(self) -> None: + r""" + @brief 'cm_delete_layer' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_delete_layer')" instead. + """ + ... + def cm_edit_layer(self) -> None: + r""" + @brief 'cm_edit_layer' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_edit_layer')" instead. + """ + ... + def cm_exit(self) -> None: + r""" + @brief 'cm_exit' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_exit')" instead. + """ + ... + def cm_goto_position(self) -> None: + r""" + @brief 'cm_goto_position' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_goto_position')" instead. + """ + ... + def cm_help_about(self) -> None: + r""" + @brief 'cm_help_about' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_help_about')" instead. + """ + ... + def cm_inc_max_hier(self) -> None: + r""" + @brief 'cm_inc_max_hier' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_inc_max_hier')" instead. + """ + ... + def cm_last_display_state(self) -> None: + r""" + @brief 'cm_prev_display_state|#cm_last_display_state' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_prev_display_state|#cm_last_display_state')" instead. + """ + ... + def cm_layout_props(self) -> None: + r""" + @brief 'cm_layout_props' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_layout_props')" instead. + """ + ... + def cm_load_bookmarks(self) -> None: + r""" + @brief 'cm_load_bookmarks' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_load_bookmarks')" instead. + """ + ... + def cm_load_layer_props(self) -> None: + r""" + @brief 'cm_load_layer_props' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_load_layer_props')" instead. + """ + ... + def cm_lv_add_missing(self) -> None: + r""" + @brief 'cm_lv_add_missing' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_lv_add_missing')" instead. + """ + ... + def cm_lv_delete(self) -> None: + r""" + @brief 'cm_lv_delete' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_lv_delete')" instead. + """ + ... + def cm_lv_expand_all(self) -> None: + r""" + @brief 'cm_lv_expand_all' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_lv_expand_all')" instead. + """ + ... + def cm_lv_group(self) -> None: + r""" + @brief 'cm_lv_group' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_lv_group')" instead. + """ + ... + def cm_lv_hide(self) -> None: + r""" + @brief 'cm_lv_hide' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_lv_hide')" instead. + """ + ... + def cm_lv_hide_all(self) -> None: + r""" + @brief 'cm_lv_hide_all' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_lv_hide_all')" instead. + """ + ... + def cm_lv_insert(self) -> None: + r""" + @brief 'cm_lv_insert' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_lv_insert')" instead. + """ + ... + def cm_lv_new_tab(self) -> None: + r""" + @brief 'cm_lv_new_tab' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_lv_new_tab')" instead. + """ + ... + def cm_lv_regroup_by_datatype(self) -> None: + r""" + @brief 'cm_lv_regroup_by_datatype' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_lv_regroup_by_datatype')" instead. + """ + ... + def cm_lv_regroup_by_index(self) -> None: + r""" + @brief 'cm_lv_regroup_by_index' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_lv_regroup_by_index')" instead. + """ + ... + def cm_lv_regroup_by_layer(self) -> None: + r""" + @brief 'cm_lv_regroup_by_layer' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_lv_regroup_by_layer')" instead. + """ + ... + def cm_lv_regroup_flatten(self) -> None: + r""" + @brief 'cm_lv_regroup_flatten' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_lv_regroup_flatten')" instead. + """ + ... + def cm_lv_remove_tab(self) -> None: + r""" + @brief 'cm_lv_remove_tab' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_lv_remove_tab')" instead. + """ + ... + def cm_lv_remove_unused(self) -> None: + r""" + @brief 'cm_lv_remove_unused' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_lv_remove_unused')" instead. + """ + ... + def cm_lv_rename(self) -> None: + r""" + @brief 'cm_lv_rename' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_lv_rename')" instead. + """ + ... + def cm_lv_rename_tab(self) -> None: + r""" + @brief 'cm_lv_rename_tab' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_lv_rename_tab')" instead. + """ + ... + def cm_lv_select_all(self) -> None: + r""" + @brief 'cm_lv_select_all' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_lv_select_all')" instead. + """ + ... + def cm_lv_show(self) -> None: + r""" + @brief 'cm_lv_show' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_lv_show')" instead. + """ + ... + def cm_lv_show_all(self) -> None: + r""" + @brief 'cm_lv_show_all' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_lv_show_all')" instead. + """ + ... + def cm_lv_show_only(self) -> None: + r""" + @brief 'cm_lv_show_only' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_lv_show_only')" instead. + """ + ... + def cm_lv_sort_by_dli(self) -> None: + r""" + @brief 'cm_lv_sort_by_dli' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_lv_sort_by_dli')" instead. + """ + ... + def cm_lv_sort_by_idl(self) -> None: + r""" + @brief 'cm_lv_sort_by_idl' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_lv_sort_by_idl')" instead. + """ + ... + def cm_lv_sort_by_ild(self) -> None: + r""" + @brief 'cm_lv_sort_by_ild' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_lv_sort_by_ild')" instead. + """ + ... + def cm_lv_sort_by_ldi(self) -> None: + r""" + @brief 'cm_lv_sort_by_ldi' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_lv_sort_by_ldi')" instead. + """ + ... + def cm_lv_sort_by_name(self) -> None: + r""" + @brief 'cm_lv_sort_by_name' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_lv_sort_by_name')" instead. + """ + ... + def cm_lv_source(self) -> None: + r""" + @brief 'cm_lv_source' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_lv_source')" instead. + """ + ... + def cm_lv_ungroup(self) -> None: + r""" + @brief 'cm_lv_ungroup' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_lv_ungroup')" instead. + """ + ... + def cm_macro_editor(self) -> None: + r""" + @brief 'cm_macro_editor' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_macro_editor')" instead. + """ + ... + def cm_manage_bookmarks(self) -> None: + r""" + @brief 'cm_manage_bookmarks' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_manage_bookmarks')" instead. + """ + ... + def cm_max_hier(self) -> None: + r""" + @brief 'cm_max_hier' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_max_hier')" instead. + """ + ... + def cm_max_hier_0(self) -> None: + r""" + @brief 'cm_max_hier_0' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_max_hier_0')" instead. + """ + ... + def cm_max_hier_1(self) -> None: + r""" + @brief 'cm_max_hier_1' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_max_hier_1')" instead. + """ + ... + def cm_navigator_close(self) -> None: + r""" + @brief 'cm_navigator_close' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_navigator_close')" instead. + """ + ... + def cm_new_cell(self) -> None: + r""" + @brief 'cm_new_cell' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_new_cell')" instead. + """ + ... + def cm_new_layer(self) -> None: + r""" + @brief 'cm_new_layer' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_new_layer')" instead. + """ + ... + def cm_new_layout(self) -> None: + r""" + @brief 'cm_new_layout' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_new_layout')" instead. + """ + ... + def cm_new_panel(self) -> None: + r""" + @brief 'cm_new_panel' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_new_panel')" instead. + """ + ... + def cm_next_display_state(self) -> None: + r""" + @brief 'cm_next_display_state' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_next_display_state')" instead. + """ + ... + def cm_open(self) -> None: + r""" + @brief 'cm_open' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_open')" instead. + """ + ... + def cm_open_current_cell(self) -> None: + r""" + @brief 'cm_open_current_cell' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_open_current_cell')" instead. + """ + ... + def cm_open_new_view(self) -> None: + r""" + @brief 'cm_open_new_view' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_open_new_view')" instead. + """ + ... + def cm_open_too(self) -> None: + r""" + @brief 'cm_open_too' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_open_too')" instead. + """ + ... + def cm_packages(self) -> None: + r""" + @brief 'cm_packages' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_packages')" instead. + """ + ... + def cm_pan_down(self) -> None: + r""" + @brief 'cm_pan_down' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_pan_down')" instead. + """ + ... + def cm_pan_left(self) -> None: + r""" + @brief 'cm_pan_left' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_pan_left')" instead. + """ + ... + def cm_pan_right(self) -> None: + r""" + @brief 'cm_pan_right' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_pan_right')" instead. + """ + ... + def cm_pan_up(self) -> None: + r""" + @brief 'cm_pan_up' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_pan_up')" instead. + """ + ... + def cm_paste(self) -> None: + r""" + @brief 'cm_paste' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_paste')" instead. + """ + ... + def cm_prev_display_state(self) -> None: + r""" + @brief 'cm_prev_display_state|#cm_last_display_state' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_prev_display_state|#cm_last_display_state')" instead. + """ + ... + def cm_print(self) -> None: + r""" + @brief 'cm_print' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_print')" instead. + """ + ... + def cm_pull_in(self) -> None: + r""" + @brief 'cm_pull_in' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_pull_in')" instead. + """ + ... + def cm_reader_options(self) -> None: + r""" + @brief 'cm_reader_options' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_reader_options')" instead. + """ + ... + def cm_redo(self) -> None: + r""" + @brief 'cm_redo' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_redo')" instead. + """ + ... + def cm_redraw(self) -> None: + r""" + @brief 'cm_redraw' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_redraw')" instead. + """ + ... + def cm_reload(self) -> None: + r""" + @brief 'cm_reload' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_reload')" instead. + """ + ... + def cm_reset_window_state(self) -> None: + r""" + @brief 'cm_reset_window_state' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_reset_window_state')" instead. + """ + ... + def cm_restore_session(self) -> None: + r""" + @brief 'cm_restore_session' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_restore_session')" instead. + """ + ... + def cm_save(self) -> None: + r""" + @brief 'cm_save' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_save')" instead. + """ + ... + def cm_save_all(self) -> None: + r""" + @brief 'cm_save_all' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_save_all')" instead. + """ + ... + def cm_save_as(self) -> None: + r""" + @brief 'cm_save_as' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_save_as')" instead. + """ + ... + def cm_save_bookmarks(self) -> None: + r""" + @brief 'cm_save_bookmarks' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_save_bookmarks')" instead. + """ + ... + def cm_save_current_cell_as(self) -> None: + r""" + @brief 'cm_save_current_cell_as' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_save_current_cell_as')" instead. + """ + ... + def cm_save_layer_props(self) -> None: + r""" + @brief 'cm_save_layer_props' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_save_layer_props')" instead. + """ + ... + def cm_save_session(self) -> None: + r""" + @brief 'cm_save_session' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_save_session')" instead. + """ + ... + def cm_screenshot(self) -> None: + r""" + @brief 'cm_screenshot' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_screenshot')" instead. + """ + ... + def cm_screenshot_to_clipboard(self) -> None: + r""" + @brief 'cm_screenshot_to_clipboard' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_screenshot_to_clipboard')" instead. + """ + ... + def cm_sel_flip_x(self) -> None: + r""" + @brief 'cm_sel_flip_x' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_sel_flip_x')" instead. + """ + ... + def cm_sel_flip_y(self) -> None: + r""" + @brief 'cm_sel_flip_y' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_sel_flip_y')" instead. + """ + ... + def cm_sel_free_rot(self) -> None: + r""" + @brief 'cm_sel_free_rot' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_sel_free_rot')" instead. + """ + ... + def cm_sel_move(self) -> None: + r""" + @brief 'cm_sel_move' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_sel_move')" instead. + """ + ... + def cm_sel_move_to(self) -> None: + r""" + @brief 'cm_sel_move_to' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_sel_move_to')" instead. + """ + ... + def cm_sel_rot_ccw(self) -> None: + r""" + @brief 'cm_sel_rot_ccw' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_sel_rot_ccw')" instead. + """ + ... + def cm_sel_rot_cw(self) -> None: + r""" + @brief 'cm_sel_rot_cw' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_sel_rot_cw')" instead. + """ + ... + def cm_sel_scale(self) -> None: + r""" + @brief 'cm_sel_scale' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_sel_scale')" instead. + """ + ... + def cm_select_all(self) -> None: + r""" + @brief 'cm_select_all' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_select_all')" instead. + """ + ... + def cm_select_cell(self) -> None: + r""" + @brief 'cm_select_cell' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_select_cell')" instead. + """ + ... + def cm_select_current_cell(self) -> None: + r""" + @brief 'cm_select_current_cell' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_select_current_cell')" instead. + """ + ... + def cm_setup(self) -> None: + r""" + @brief 'cm_setup' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_setup')" instead. + """ + ... + def cm_show_properties(self) -> None: + r""" + @brief 'cm_show_properties' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_show_properties')" instead. + """ + ... + def cm_technologies(self) -> None: + r""" + @brief 'cm_technologies' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_technologies')" instead. + """ + ... + def cm_undo(self) -> None: + r""" + @brief 'cm_undo' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_undo')" instead. + """ + ... + def cm_unselect_all(self) -> None: + r""" + @brief 'cm_unselect_all' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_unselect_all')" instead. + """ + ... + def cm_view_log(self) -> None: + r""" + @brief 'cm_view_log' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_view_log')" instead. + """ + ... + def cm_zoom_fit(self) -> None: + r""" + @brief 'cm_zoom_fit' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_zoom_fit')" instead. + """ + ... + def cm_zoom_fit_sel(self) -> None: + r""" + @brief 'cm_zoom_fit_sel' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_zoom_fit_sel')" instead. + """ + ... + def cm_zoom_in(self) -> None: + r""" + @brief 'cm_zoom_in' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_zoom_in')" instead. + """ + ... + def cm_zoom_out(self) -> None: + r""" + @brief 'cm_zoom_out' action. + This method is deprecated in version 0.27. + Use "call_menu('cm_zoom_out')" instead. + """ + ... + def commit_config(self) -> None: + r""" + @brief Commits the configuration settings + This method is provided for using MainWindow without an Application object. It's a convience method which is equivalent to 'dispatcher().commit_config(...)'. See \Dispatcher#commit_config for details. + + This method has been introduced in version 0.27. + """ + ... + @overload + def create_layout(self, mode: int) -> CellView: + r""" + @brief Creates a new, empty layout + + @param mode An integer value of 0, 1 or 2 that determines how the layout is created + @return The cellview of the layout that was created + + Create the layout in the current view, replacing the current layouts (mode 0), in a new view (mode 1) or adding it to the current view (mode 2). + In mode 1, the new view is made the current one. + + This version uses the initial technology and associates it with the new layout. + + Starting with version 0.25, this method returns a cellview object that can be modified to configure the cellview. + """ + ... + @overload + def create_layout(self, tech: str, mode: int) -> CellView: + r""" + @brief Creates a new, empty layout with the given technology + + @param mode An integer value of 0, 1 or 2 that determines how the layout is created + @param tech The name of the technology to use for that layout. + @return The cellview of the layout that was created + + Create the layout in the current view, replacing the current layouts (mode 0), in a new view (mode 1) or adding it to the current view (mode 2). + In mode 1, the new view is made the current one. + + If the technology name is not a valid technology name, the default technology will be used. + + This version was introduced in version 0.22. + Starting with version 0.25, this method returns a cellview object that can be modified to configure the cellview. + """ + ... + def create_view(self) -> int: + r""" + @brief Creates a new, empty view + + @return The index of the view that was created + + Creates an empty view that can be filled with layouts using the load_layout and create_layout methods on the view object. Use the \view method to obtain the view object from the view index. + This method has been added in version 0.22. + """ + ... + def current_view(self) -> LayoutView: + r""" + @brief Returns a reference to the current view's object + + @return A reference to a \LayoutView object representing the current view. + """ + ... + def dispatcher(self) -> Dispatcher: + r""" + @brief Gets the dispatcher interface (the plugin root configuration space) + This method has been introduced in version 0.27. + """ + ... + def enable_edits(self, enable: bool) -> None: + r""" + @brief Enables or disables editing + + @param enable Enable edits if set to true + + Starting from version 0.25, this method enables/disables edits on the current view only. + Use LayoutView#enable_edits instead. + """ + ... + def exit(self) -> None: + r""" + @brief Schedules an exit for the application + + This method does not immediately exit the application but sends an exit request to the application which will cause a clean shutdown of the GUI. + """ + ... + def get_config(self, name: str) -> Any: + r""" + @brief Gets the value of a local configuration parameter + This method is provided for using MainWindow without an Application object. It's a convience method which is equivalent to 'dispatcher().get_config(...)'. See \Dispatcher#get_config for details. + + This method has been introduced in version 0.27. + """ + ... + def get_config_names(self) -> List[str]: + r""" + @brief Gets the configuration parameter names + This method is provided for using MainWindow without an Application object. It's a convience method which is equivalent to 'dispatcher().get_config_names(...)'. See \Dispatcher#get_config_names for details. + + This method has been introduced in version 0.27. + """ + ... + def get_default_key_bindings(self) -> Dict[str, str]: + r""" + @brief Gets the default key bindings + This method returns a hash with the default key binding vs. menu item path. + You can use this hash with \set_key_bindings to reset all key bindings to the default ones. + + This method has been introduced in version 0.27. + """ + ... + def get_default_menu_items_hidden(self) -> Dict[str, bool]: + r""" + @brief Gets the flags indicating whether menu items are hidden by default + You can use this hash with \set_menu_items_hidden to restore the visibility of all menu items. + + This method has been introduced in version 0.27. + """ + ... + def get_key_bindings(self) -> Dict[str, str]: + r""" + @brief Gets the current key bindings + This method returns a hash with the key binding vs. menu item path. + + This method has been introduced in version 0.27. + """ + ... + def get_menu_items_hidden(self) -> Dict[str, bool]: + r""" + @brief Gets the flags indicating whether menu items are hidden + This method returns a hash with the hidden flag vs. menu item path. + You can use this hash with \set_menu_items_hidden. + + This method has been introduced in version 0.27. + """ + ... + def grid_micron(self) -> float: + r""" + @brief Gets the global grid in micron + + @return The global grid in micron + + The global grid is used at various places, i.e. for ruler snapping, for grid display etc. + """ + ... + def index_of(self, view: LayoutView) -> int: + r""" + @brief Gets the index of the given view + + @return The index of the view that was given + + If the given view is not a view object within the main window, a negative value will be returned. + + This method has been added in version 0.25. + """ + ... + @overload + def load_layout(self, filename: str, mode: Optional[int] = ...) -> CellView: + r""" + @brief Loads a new layout + + @param filename The name of the file to load + @param mode An integer value of 0, 1 or 2 that determines how the file is loaded + @return The cellview into which the layout was loaded + + Loads the given file into the current view, replacing the current layouts (mode 0), into a new view (mode 1) or adding the layout to the current view (mode 2). + In mode 1, the new view is made the current one. + + This version will use the initial technology and the default reader options. Others versions are provided which allow specification of technology and reader options explicitly. + + Starting with version 0.25, this method returns a cellview object that can be modified to configure the cellview. The 'mode' argument has been made optional in version 0.28. + """ + ... + @overload + def load_layout(self, filename: str, options: db.LoadLayoutOptions, mode: Optional[int] = ...) -> CellView: + r""" + @brief Loads a new layout with the given options + + @param filename The name of the file to load + @param options The reader options to use. + @param mode An integer value of 0, 1 or 2 that determines how the file is loaded + @return The cellview into which the layout was loaded + + Loads the given file into the current view, replacing the current layouts (mode 0), into a new view (mode 1) or adding the layout to the current view (mode 2). + In mode 1, the new view is made the current one. + + This version was introduced in version 0.22. + Starting with version 0.25, this method returns a cellview object that can be modified to configure the cellview. The 'mode' argument has been made optional in version 0.28. + """ + ... + @overload + def load_layout(self, filename: str, options: db.LoadLayoutOptions, tech: str, mode: Optional[int] = ...) -> CellView: + r""" + @brief Loads a new layout with the given options and associate it with the given technology + + @param filename The name of the file to load + @param options The reader options to use. + @param tech The name of the technology to use for that layout. + @param mode An integer value of 0, 1 or 2 that determines how the file is loaded + @return The cellview into which the layout was loaded + + Loads the given file into the current view, replacing the current layouts (mode 0), into a new view (mode 1) or adding the layout to the current view (mode 2). + In mode 1, the new view is made the current one. + + If the technology name is not a valid technology name, the default technology will be used. + + This version was introduced in version 0.22. + Starting with version 0.25, this method returns a cellview object that can be modified to configure the cellview. The 'mode' argument has been made optional in version 0.28. + """ + ... + @overload + def load_layout(self, filename: str, tech: str, mode: Optional[int] = ...) -> CellView: + r""" + @brief Loads a new layout and associate it with the given technology + + @param filename The name of the file to load + @param tech The name of the technology to use for that layout. + @param mode An integer value of 0, 1 or 2 that determines how the file is loaded + @return The cellview into which the layout was loaded + + Loads the given file into the current view, replacing the current layouts (mode 0), into a new view (mode 1) or adding the layout to the current view (mode 2). + In mode 1, the new view is made the current one. + + If the technology name is not a valid technology name, the default technology will be used. The 'mode' argument has been made optional in version 0.28. + + This version was introduced in version 0.22. + Starting with version 0.25, this method returns a cellview object that can be modified to configure the cellview. + """ + ... + def manager(self) -> db.Manager: + r""" + @brief Gets the \Manager object of this window + + The manager object is responsible to managing the undo/redo stack. Usually this object is not required. It's more convenient and safer to use the related methods provided by \LayoutView (\LayoutView#transaction, \LayoutView#commit) and \MainWindow (such as \MainWindow#cm_undo and \MainWindow#cm_redo). + + This method has been added in version 0.24. + """ + ... + def menu(self) -> AbstractMenu: + r""" + @brief Returns a reference to the abstract menu + + @return A reference to an \AbstractMenu object representing the menu system + """ + ... + def message(self, message: str, time: Optional[int] = ...) -> None: + r""" + @brief Displays a message in the status bar + + @param message The message to display + @param time The time how long to display the message in ms. A negative value means 'infinitely'. + + This given message is shown in the status bar for the given time. + + This method has been added in version 0.18. The 'time' parameter was made optional in version 0.28.10. + """ + ... + def read_config(self, file_name: str) -> bool: + r""" + @brief Reads the configuration from a file + This method is provided for using MainWindow without an Application object. It's a convience method which is equivalent to 'dispatcher().read_config(...)'. See \Dispatcher#read_config for details. + + This method has been introduced in version 0.27. + """ + ... + def redraw(self) -> None: + r""" + @brief Redraws the current view + + Issues a redraw request to the current view. This usually happens automatically, so this method does not need to be called in most relevant cases. + """ + ... + def resize(self, width: int, height: int) -> None: + r""" + @brief Resizes the window + + @param width The new width of the window + @param height The new width of the window + + This method resizes the window to the given target size including decoration such as menu bar and control panels + """ + ... + def restore_session(self, fn: str) -> None: + r""" + @brief Restores a session from the given file + + @param fn The path to the session file + + The session stored in the given session file is restored. All existing views are closed and all layout edits are discarded without notification. + + This method was added in version 0.18. + """ + ... + def save_session(self, fn: str) -> None: + r""" + @brief Saves the session to the given file + + @param fn The path to the session file + + The session is saved to the given session file. Any existing layout edits are not automatically saved together with the session. The session just holds display settings and annotation objects. If layout edits exist, they have to be saved explicitly in a separate step. + + This method was added in version 0.18. + """ + ... + def select_view(self, index: int) -> None: + r""" + @brief Selects the view with the given index + + @param index The index of the view to select (0 is the first) + + This method will make the view with the given index the current (front) view. + + This method was renamed from select_view to current_view_index= in version 0.25. The old name is still available, but deprecated. + """ + ... + def set_config(self, name: str, value: str) -> None: + r""" + @brief Set a local configuration parameter with the given name to the given value + This method is provided for using MainWindow without an Application object. It's a convience method which is equivalent to 'dispatcher().set_config(...)'. See \Dispatcher#set_config for details. + + This method has been introduced in version 0.27. + """ + ... + def set_key_bindings(self, bindings: Dict[str, str]) -> None: + r""" + @brief Sets key bindings. + Sets the given key bindings. Pass a hash listing the key bindings per menu item paths. Key strings follow the usual notation, e.g. 'Ctrl+A', 'Shift+X' or just 'F2'. + Use an empty value to remove a key binding from a menu entry. + + \get_key_bindings will give you the current key bindings, \get_default_key_bindings will give you the default ones. + + Examples: + + @code + # reset all key bindings to default: + mw = RBA::MainWindow.instance() + mw.set_key_bindings(mw.get_default_key_bindings()) + + # disable key binding for 'copy': + RBA::MainWindow.instance.set_key_bindings({ "edit_menu.copy" => "" }) + + # configure 'copy' to use Shift+K and 'cut' to use Ctrl+K: + RBA::MainWindow.instance.set_key_bindings({ "edit_menu.copy" => "Shift+K", "edit_menu.cut" => "Ctrl+K" }) + @/code + + This method has been introduced in version 0.27. + """ + ... + def set_menu_items_hidden(self, flags: Dict[str, bool]) -> None: + r""" + @brief sets the flags indicating whether menu items are hidden + This method allows hiding certain menu items. It takes a hash with hidden flags vs. menu item paths. + Examples: + + @code + # show all menu items: + mw = RBA::MainWindow.instance() + mw.set_menu_items_hidden(mw.get_default_menu_items_hidden()) + + # hide the 'copy' entry from the 'Edit' menu: + RBA::MainWindow.instance().set_menu_items_hidden({ "edit_menu.copy" => true }) + @/code + + This method has been introduced in version 0.27. + """ + ... + def show_macro_editor(self, cat: Optional[str] = ..., add: Optional[bool] = ...) -> None: + r""" + @brief Shows the macro editor + If 'cat' is given, this category will be selected in the category tab. If 'add' is true, the 'new macro' dialog will be opened. + + This method has been introduced in version 0.26. + """ + ... + def view(self, n: int) -> LayoutView: + r""" + @brief Returns a reference to a view object by index + + @return The view object's reference for the view with the given index. + """ + ... + def views(self) -> int: + r""" + @brief Returns the number of views + + @return The number of views available so far. + """ + ... + def write_config(self, file_name: str) -> bool: + r""" + @brief Writes configuration to a file + This method is provided for using MainWindow without an Application object. It's a convience method which is equivalent to 'dispatcher().write_config(...)'. See \Dispatcher#write_config for details. + + This method has been introduced in version 0.27. + """ + ... + ... class Marker: r""" @@ -8523,35 +12714,41 @@ class Marker: A marker is always associated with a view, in which it is shown. The view this marker is associated with must be passed to the constructor. """ + ... def __init__(self, view: LayoutViewBase) -> None: r""" @brief Creates a marker A marker is always associated with a view, in which it is shown. The view this marker is associated with must be passed to the constructor. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -8559,6 +12756,7 @@ class Marker: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -8566,48 +12764,57 @@ class Marker: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def has_color(self) -> bool: r""" @brief Returns a value indicating whether the marker has a specific color """ + ... def has_frame_color(self) -> bool: r""" @brief Returns a value indicating whether the marker has a specific frame color The set method has been added in version 0.20. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def reset_color(self) -> None: r""" @brief Resets the color of the marker See \set_color for a description of the color property of the marker. """ + ... def reset_frame_color(self) -> None: r""" @brief Resets the frame color of the marker See \set_frame_color for a description of the frame color property of the marker.The set method has been added in version 0.20. """ + ... @overload def set(self, box: db.DBox) -> None: r""" @@ -8617,6 +12824,7 @@ class Marker: If the box is empty, no marker is drawn. The set method has been added in version 0.20. """ + ... @overload def set(self, edge: db.DEdge) -> None: r""" @@ -8625,6 +12833,7 @@ class Marker: Makes the marker show a edge. The edge must be given in micron units. The set method has been added in version 0.20. """ + ... @overload def set(self, path: db.DPath) -> None: r""" @@ -8633,6 +12842,7 @@ class Marker: Makes the marker show a path. The path must be given in micron units. The set method has been added in version 0.20. """ + ... @overload def set(self, polygon: db.DPolygon) -> None: r""" @@ -8641,6 +12851,7 @@ class Marker: Makes the marker show a polygon. The polygon must be given in micron units. The set method has been added in version 0.20. """ + ... @overload def set(self, text: db.DText) -> None: r""" @@ -8649,6 +12860,7 @@ class Marker: Makes the marker show a text. The text must be given in micron units. The set method has been added in version 0.20. """ + ... def set_box(self, box: db.DBox) -> None: r""" @brief Sets the box the marker is to display @@ -8657,6 +12869,7 @@ class Marker: If the box is empty, no marker is drawn. The set method has been added in version 0.20. """ + ... def set_edge(self, edge: db.DEdge) -> None: r""" @brief Sets the edge the marker is to display @@ -8664,6 +12877,7 @@ class Marker: Makes the marker show a edge. The edge must be given in micron units. The set method has been added in version 0.20. """ + ... def set_path(self, path: db.DPath) -> None: r""" @brief Sets the path the marker is to display @@ -8671,6 +12885,7 @@ class Marker: Makes the marker show a path. The path must be given in micron units. The set method has been added in version 0.20. """ + ... def set_polygon(self, polygon: db.DPolygon) -> None: r""" @brief Sets the polygon the marker is to display @@ -8678,6 +12893,7 @@ class Marker: Makes the marker show a polygon. The polygon must be given in micron units. The set method has been added in version 0.20. """ + ... def set_text(self, text: db.DText) -> None: r""" @brief Sets the text the marker is to display @@ -8685,6 +12901,626 @@ class Marker: Makes the marker show a text. The text must be given in micron units. The set method has been added in version 0.20. """ + ... + ... + +class MessageBox(QMainWindow_Native): + r""" + @brief Various methods to display message boxes + This class provides some basic message boxes. This functionality is provided through the static (class) methods \warning, \question and so on. + + Here is some example: + + @code + # issue a warning and ask whether to continue: + v = RBA::MessageBox::warning("Dialog Title", "Something happened. Continue?", RBA::MessageBox::Yes + RBA::MessageBox::No) + if v == RBA::MessageBox::Yes + ... continue ... + end + @/code + + If you have enabled the Qt binding, you can use \QMessageBox directly. + """ + Abort: ClassVar[int] + r""" + @brief A constant describing the 'Abort' button + """ + Cancel: ClassVar[int] + r""" + @brief A constant describing the 'Cancel' button + """ + Ignore: ClassVar[int] + r""" + @brief A constant describing the 'Ignore' button + """ + No: ClassVar[int] + r""" + @brief A constant describing the 'No' button + """ + Ok: ClassVar[int] + r""" + @brief A constant describing the 'Ok' button + """ + Retry: ClassVar[int] + r""" + @brief A constant describing the 'Retry' button + """ + Yes: ClassVar[int] + r""" + @brief A constant describing the 'Yes' button + """ + @classmethod + def b_abort(cls) -> int: + r""" + @brief A constant describing the 'Abort' button + """ + ... + @classmethod + def b_cancel(cls) -> int: + r""" + @brief A constant describing the 'Cancel' button + """ + ... + @classmethod + def b_ignore(cls) -> int: + r""" + @brief A constant describing the 'Ignore' button + """ + ... + @classmethod + def b_no(cls) -> int: + r""" + @brief A constant describing the 'No' button + """ + ... + @classmethod + def b_ok(cls) -> int: + r""" + @brief A constant describing the 'Ok' button + """ + ... + @classmethod + def b_retry(cls) -> int: + r""" + @brief A constant describing the 'Retry' button + """ + ... + @classmethod + def b_yes(cls) -> int: + r""" + @brief A constant describing the 'Yes' button + """ + ... + @classmethod + def critical(cls, title: str, text: str, buttons: int) -> int: + r""" + @brief Open a critical (error) message box + @param title The title of the window + @param text The text to show + @param buttons A combination (+) of button constants (\Ok and so on) describing the buttons to show for the message box + @return The button constant describing the button that was pressed + """ + ... + @classmethod + def info(cls, title: str, text: str, buttons: int) -> int: + r""" + @brief Open a information message box + @param title The title of the window + @param text The text to show + @param buttons A combination (+) of button constants (\Ok and so on) describing the buttons to show for the message box + @return The button constant describing the button that was pressed + """ + ... + @classmethod + def question(cls, title: str, text: str, buttons: int) -> int: + r""" + @brief Open a question message box + @param title The title of the window + @param text The text to show + @param buttons A combination (+) of button constants (\Ok and so on) describing the buttons to show for the message box + @return The button constant describing the button that was pressed + """ + ... + @classmethod + def warning(cls, title: str, text: str, buttons: int) -> int: + r""" + @brief Open a warning message box + @param title The title of the window + @param text The text to show + @param buttons A combination (+) of button constants (\Ok and so on) describing the buttons to show for the message box + @return The button constant describing the button that was pressed + """ + ... + def __copy__(self) -> MessageBox: + r""" + @brief Creates a copy of self + """ + ... + def __deepcopy__(self) -> MessageBox: + r""" + @brief Creates a copy of self + """ + ... + def _create(self) -> None: + r""" + @brief Ensures the C++ object is created + Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. + """ + ... + def _destroy(self) -> None: + r""" + @brief Explicitly destroys the object + Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. + If the object is not owned by the script, this method will do nothing. + """ + ... + def _destroyed(self) -> bool: + r""" + @brief Returns a value indicating whether the object was already destroyed + This method returns true, if the object was destroyed, either explicitly or by the C++ side. + The latter may happen, if the object is owned by a C++ object which got destroyed itself. + """ + ... + def _is_const_object(self) -> bool: + r""" + @brief Returns a value indicating whether the reference is a const reference + This method returns true, if self is a const reference. + In that case, only const methods may be called on self. + """ + ... + def _manage(self) -> None: + r""" + @brief Marks the object as managed by the script side. + After calling this method on an object, the script side will be responsible for the management of the object. This method may be called if an object is returned from a C++ function and the object is known not to be owned by any C++ instance. If necessary, the script side may delete the object if the script's reference is no longer required. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def _unmanage(self) -> None: + r""" + @brief Marks the object as no longer owned by the script side. + Calling this method will make this object no longer owned by the script's memory management. Instead, the object must be managed in some other way. Usually this method may be called if it is known that some C++ object holds and manages this object. Technically speaking, this method will turn the script's reference into a weak reference. After the script engine decides to delete the reference, the object itself will still exist. If the object is not managed otherwise, memory leaks will occur. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def assign(self, other: QObject_Native) -> None: + r""" + @brief Assigns another object to self + """ + ... + def dup(self) -> MessageBox: + r""" + @brief Creates a copy of self + """ + ... + ... + +class NetlistBrowserDialog: + r""" + @brief Represents the netlist browser dialog. + This dialog is a part of the \LayoutView class and can be obtained through \LayoutView#netlist_browser. + This interface allows to interact with the browser - mainly to get information about state changes. + + This class has been introduced in version 0.27. + """ + on_current_db_changed: None + r""" + Getter: + @brief This event is triggered when the current database is changed. + The current database can be obtained with \db. + Setter: + @brief This event is triggered when the current database is changed. + The current database can be obtained with \db. + """ + on_probe: None + r""" + Getter: + @brief This event is triggered when a net is probed. + The first path will indicate the location of the probed net in terms of two paths: one describing the instantiation of the net in layout space and one in schematic space. Both objects are \NetlistObjectPath objects which hold the root circuit, the chain of subcircuits leading to the circuit containing the net and the net itself. + Setter: + @brief This event is triggered when a net is probed. + The first path will indicate the location of the probed net in terms of two paths: one describing the instantiation of the net in layout space and one in schematic space. Both objects are \NetlistObjectPath objects which hold the root circuit, the chain of subcircuits leading to the circuit containing the net and the net itself. + """ + on_selection_changed: None + r""" + Getter: + @brief This event is triggered when the selection changed. + The selection can be obtained with \current_path_first, \current_path_second, \selected_nets, \selected_devices, \selected_subcircuits and \selected_circuits. + Setter: + @brief This event is triggered when the selection changed. + The selection can be obtained with \current_path_first, \current_path_second, \selected_nets, \selected_devices, \selected_subcircuits and \selected_circuits. + """ + @classmethod + def new(cls) -> NetlistBrowserDialog: + r""" + @brief Creates a new object of this class + """ + ... + def __init__(self) -> None: + r""" + @brief Creates a new object of this class + """ + ... + def _create(self) -> None: + r""" + @brief Ensures the C++ object is created + Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. + """ + ... + def _destroy(self) -> None: + r""" + @brief Explicitly destroys the object + Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. + If the object is not owned by the script, this method will do nothing. + """ + ... + def _destroyed(self) -> bool: + r""" + @brief Returns a value indicating whether the object was already destroyed + This method returns true, if the object was destroyed, either explicitly or by the C++ side. + The latter may happen, if the object is owned by a C++ object which got destroyed itself. + """ + ... + def _is_const_object(self) -> bool: + r""" + @brief Returns a value indicating whether the reference is a const reference + This method returns true, if self is a const reference. + In that case, only const methods may be called on self. + """ + ... + def _manage(self) -> None: + r""" + @brief Marks the object as managed by the script side. + After calling this method on an object, the script side will be responsible for the management of the object. This method may be called if an object is returned from a C++ function and the object is known not to be owned by any C++ instance. If necessary, the script side may delete the object if the script's reference is no longer required. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def _unmanage(self) -> None: + r""" + @brief Marks the object as no longer owned by the script side. + Calling this method will make this object no longer owned by the script's memory management. Instead, the object must be managed in some other way. Usually this method may be called if it is known that some C++ object holds and manages this object. Technically speaking, this method will turn the script's reference into a weak reference. After the script engine decides to delete the reference, the object itself will still exist. If the object is not managed otherwise, memory leaks will occur. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def create(self) -> None: + r""" + @brief Ensures the C++ object is created + Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. + """ + ... + def current_path(self) -> NetlistObjectsPath: + r""" + @brief Gets the path of the current object as a path pair (combines layout and schematic object paths in case of a LVS database view). + """ + ... + def current_path_first(self) -> NetlistObjectPath: + r""" + @brief Gets the path of the current object on the first (layout in case of LVS database) side. + """ + ... + def current_path_second(self) -> NetlistObjectPath: + r""" + @brief Gets the path of the current object on the second (schematic in case of LVS database) side. + """ + ... + def db(self) -> db.LayoutToNetlist: + r""" + @brief Gets the database the browser is connected to. + """ + ... + def destroy(self) -> None: + r""" + @brief Explicitly destroys the object + Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. + If the object is not owned by the script, this method will do nothing. + """ + ... + def destroyed(self) -> bool: + r""" + @brief Returns a value indicating whether the object was already destroyed + This method returns true, if the object was destroyed, either explicitly or by the C++ side. + The latter may happen, if the object is owned by a C++ object which got destroyed itself. + """ + ... + def is_const_object(self) -> bool: + r""" + @brief Returns a value indicating whether the reference is a const reference + This method returns true, if self is a const reference. + In that case, only const methods may be called on self. + """ + ... + def selected_paths(self) -> List[NetlistObjectsPath]: + r""" + @brief Gets the nets currently selected objects (paths) in the netlist database browser. + The result is an array of path pairs. See \NetlistObjectsPath for details about these pairs. + """ + ... + ... + +class NetlistObjectPath: + r""" + @brief An object describing the instantiation of a netlist object. + This class describes the instantiation of a net or a device or a circuit in terms of a root circuit and a subcircuit chain leading to the indicated object. + + See \net= or \device= for the indicated object, \path= for the subcircuit chain. + + This class has been introduced in version 0.27. + """ + device: db.Device + r""" + Getter: + @brief Gets the device the path points to. + + Setter: + @brief Sets the device the path points to. + If the path describes the location of a device, this member will indicate it. + The other way to describe a final object is \net=. If neither a device nor net is given, the path describes a circuit and how it is referenced from the root. + """ + net: db.Net + r""" + Getter: + @brief Gets the net the path points to. + + Setter: + @brief Sets the net the path points to. + If the path describes the location of a net, this member will indicate it. + The other way to describe a final object is \device=. If neither a device nor net is given, the path describes a circuit and how it is referenced from the root. + """ + path: List[db.SubCircuit] + r""" + Getter: + @brief Gets the path. + + Setter: + @brief Sets the path. + The path is a list of subcircuits leading from the root to the final object. The final (net, device) object is located in the circuit called by the last subcircuit of the subcircuit chain. If the subcircuit list is empty, the final object is located inside the root object. + """ + root: db.Circuit + r""" + Getter: + @brief Gets the root circuit of the path. + + Setter: + @brief Sets the root circuit of the path. + The root circuit is the circuit from which the path starts. + """ + @classmethod + def new(cls) -> NetlistObjectPath: + r""" + @brief Creates a new object of this class + """ + ... + def __copy__(self) -> NetlistObjectPath: + r""" + @brief Creates a copy of self + """ + ... + def __deepcopy__(self) -> NetlistObjectPath: + r""" + @brief Creates a copy of self + """ + ... + def __init__(self) -> None: + r""" + @brief Creates a new object of this class + """ + ... + def _create(self) -> None: + r""" + @brief Ensures the C++ object is created + Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. + """ + ... + def _destroy(self) -> None: + r""" + @brief Explicitly destroys the object + Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. + If the object is not owned by the script, this method will do nothing. + """ + ... + def _destroyed(self) -> bool: + r""" + @brief Returns a value indicating whether the object was already destroyed + This method returns true, if the object was destroyed, either explicitly or by the C++ side. + The latter may happen, if the object is owned by a C++ object which got destroyed itself. + """ + ... + def _is_const_object(self) -> bool: + r""" + @brief Returns a value indicating whether the reference is a const reference + This method returns true, if self is a const reference. + In that case, only const methods may be called on self. + """ + ... + def _manage(self) -> None: + r""" + @brief Marks the object as managed by the script side. + After calling this method on an object, the script side will be responsible for the management of the object. This method may be called if an object is returned from a C++ function and the object is known not to be owned by any C++ instance. If necessary, the script side may delete the object if the script's reference is no longer required. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def _unmanage(self) -> None: + r""" + @brief Marks the object as no longer owned by the script side. + Calling this method will make this object no longer owned by the script's memory management. Instead, the object must be managed in some other way. Usually this method may be called if it is known that some C++ object holds and manages this object. Technically speaking, this method will turn the script's reference into a weak reference. After the script engine decides to delete the reference, the object itself will still exist. If the object is not managed otherwise, memory leaks will occur. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def assign(self, other: NetlistObjectPath) -> None: + r""" + @brief Assigns another object to self + """ + ... + def create(self) -> None: + r""" + @brief Ensures the C++ object is created + Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. + """ + ... + def destroy(self) -> None: + r""" + @brief Explicitly destroys the object + Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. + If the object is not owned by the script, this method will do nothing. + """ + ... + def destroyed(self) -> bool: + r""" + @brief Returns a value indicating whether the object was already destroyed + This method returns true, if the object was destroyed, either explicitly or by the C++ side. + The latter may happen, if the object is owned by a C++ object which got destroyed itself. + """ + ... + def dup(self) -> NetlistObjectPath: + r""" + @brief Creates a copy of self + """ + ... + def is_const_object(self) -> bool: + r""" + @brief Returns a value indicating whether the reference is a const reference + This method returns true, if self is a const reference. + In that case, only const methods may be called on self. + """ + ... + def is_null(self) -> bool: + r""" + @brief Returns a value indicating whether the path is an empty one. + """ + ... + ... + +class NetlistObjectsPath: + r""" + @brief An object describing the instantiation of a single netlist object or a pair of those. + This class is basically a pair of netlist object paths (see \NetlistObjectPath). When derived from a single netlist view, only the first path is valid and will point to the selected object (a net, a device or a circuit). The second path is null. + + If the path is derived from a paired netlist view (a LVS report view), the first path corresponds to the object in the layout netlist, the second one to the object in the schematic netlist. + If the selected object isn't a matched one, either the first or second path may be a null or a partial path without a final net or device object or a partial path. + + This class has been introduced in version 0.27. + """ + @classmethod + def new(cls) -> NetlistObjectsPath: + r""" + @brief Creates a new object of this class + """ + ... + def __copy__(self) -> NetlistObjectsPath: + r""" + @brief Creates a copy of self + """ + ... + def __deepcopy__(self) -> NetlistObjectsPath: + r""" + @brief Creates a copy of self + """ + ... + def __init__(self) -> None: + r""" + @brief Creates a new object of this class + """ + ... + def _create(self) -> None: + r""" + @brief Ensures the C++ object is created + Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. + """ + ... + def _destroy(self) -> None: + r""" + @brief Explicitly destroys the object + Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. + If the object is not owned by the script, this method will do nothing. + """ + ... + def _destroyed(self) -> bool: + r""" + @brief Returns a value indicating whether the object was already destroyed + This method returns true, if the object was destroyed, either explicitly or by the C++ side. + The latter may happen, if the object is owned by a C++ object which got destroyed itself. + """ + ... + def _is_const_object(self) -> bool: + r""" + @brief Returns a value indicating whether the reference is a const reference + This method returns true, if self is a const reference. + In that case, only const methods may be called on self. + """ + ... + def _manage(self) -> None: + r""" + @brief Marks the object as managed by the script side. + After calling this method on an object, the script side will be responsible for the management of the object. This method may be called if an object is returned from a C++ function and the object is known not to be owned by any C++ instance. If necessary, the script side may delete the object if the script's reference is no longer required. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def _unmanage(self) -> None: + r""" + @brief Marks the object as no longer owned by the script side. + Calling this method will make this object no longer owned by the script's memory management. Instead, the object must be managed in some other way. Usually this method may be called if it is known that some C++ object holds and manages this object. Technically speaking, this method will turn the script's reference into a weak reference. After the script engine decides to delete the reference, the object itself will still exist. If the object is not managed otherwise, memory leaks will occur. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def assign(self, other: NetlistObjectsPath) -> None: + r""" + @brief Assigns another object to self + """ + ... + def create(self) -> None: + r""" + @brief Ensures the C++ object is created + Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. + """ + ... + def destroy(self) -> None: + r""" + @brief Explicitly destroys the object + Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. + If the object is not owned by the script, this method will do nothing. + """ + ... + def destroyed(self) -> bool: + r""" + @brief Returns a value indicating whether the object was already destroyed + This method returns true, if the object was destroyed, either explicitly or by the C++ side. + The latter may happen, if the object is owned by a C++ object which got destroyed itself. + """ + ... + def dup(self) -> NetlistObjectsPath: + r""" + @brief Creates a copy of self + """ + ... + def first(self) -> NetlistObjectPath: + r""" + @brief Gets the first object's path. + In cases of paired netlists (LVS database), the first path points to the layout netlist object. + For the single netlist, the first path is the only path supplied. + """ + ... + def is_const_object(self) -> bool: + r""" + @brief Returns a value indicating whether the reference is a const reference + This method returns true, if self is a const reference. + In that case, only const methods may be called on self. + """ + ... + def second(self) -> NetlistObjectPath: + r""" + @brief Gets the second object's path. + In cases of paired netlists (LVS database), the first path points to the schematic netlist object. + For the single netlist, the second path is always a null path. + """ + ... + ... class ObjectInstPath: r""" @@ -8822,14 +13658,17 @@ class ObjectInstPath: @brief Creates a new path object from a \RecursiveShapeIterator Use this constructor to quickly turn a recursive shape iterator delivery into a shape selection. """ + ... def __copy__(self) -> ObjectInstPath: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> ObjectInstPath: r""" @brief Creates a copy of self """ + ... def __eq__(self, b: object) -> bool: r""" @brief Equality of two ObjectInstPath objects @@ -8837,11 +13676,13 @@ class ObjectInstPath: This method has been introduced with version 0.24. """ + ... def __init__(self, si: db.RecursiveShapeIterator, cv_index: int) -> None: r""" @brief Creates a new path object from a \RecursiveShapeIterator Use this constructor to quickly turn a recursive shape iterator delivery into a shape selection. """ + ... def __lt__(self, b: ObjectInstPath) -> bool: r""" @brief Provides an order criterion for two ObjectInstPath objects @@ -8849,6 +13690,7 @@ class ObjectInstPath: This method has been introduced with version 0.24. """ + ... def __ne__(self, b: object) -> bool: r""" @brief Inequality of two ObjectInstPath objects @@ -8856,29 +13698,34 @@ class ObjectInstPath: This method has been introduced with version 0.24. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -8886,6 +13733,7 @@ class ObjectInstPath: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -8893,6 +13741,7 @@ class ObjectInstPath: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def append_path(self, element: db.InstElement) -> None: r""" @brief Appends an element to the instantiation path @@ -8903,10 +13752,12 @@ class ObjectInstPath: This method was introduced in version 0.24. """ + ... def assign(self, other: ObjectInstPath) -> None: r""" @brief Assigns another object to self """ + ... def cell_index(self) -> int: r""" @brief Gets the cell index of the cell that the selection applies to. @@ -8914,29 +13765,34 @@ class ObjectInstPath: This property is set implicitly by setting the top cell and adding elements to the instantiation path. To obtain the index of the container cell, use \source. """ + ... def clear_path(self) -> None: r""" @brief Clears the instantiation path This method was introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dtrans(self) -> db.DCplxTrans: r""" @brief Gets the transformation applicable for the shape in micron space. @@ -8952,10 +13808,12 @@ class ObjectInstPath: The method has been introduced in version 0.25. """ + ... def dup(self) -> ObjectInstPath: r""" @brief Creates a copy of self """ + ... def each_inst(self) -> Iterator[db.InstElement]: r""" @brief Yields the instantiation path @@ -8964,6 +13822,7 @@ class ObjectInstPath: If this object represents an instance, the path will contain the selected instance as the last element. The elements are delivered top down. """ + ... def inst(self) -> db.Instance: r""" @brief Deliver the instance represented by this selection @@ -8975,24 +13834,28 @@ class ObjectInstPath: This method has been added in version 0.16. """ + ... def is_cell_inst(self) -> bool: r""" @brief True, if this selection represents a cell instance If this attribute is true, the shape reference and layer are not valid. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_valid(self, view: LayoutViewBase) -> bool: r""" @brief Gets a value indicating whether the instance path refers to a valid object in the context of the given view This predicate has been introduced in version 0.27.12. """ + ... def layout(self) -> db.Layout: r""" @brief Gets the Layout object the selected object lives in. @@ -9001,12 +13864,14 @@ class ObjectInstPath: This method has been introduced in version 0.25. """ + ... def path_length(self) -> int: r""" @brief Returns the length of the path (number of elements delivered by \each_inst) This method has been added in version 0.16. """ + ... def path_nth(self, n: int) -> db.InstElement: r""" @brief Returns the nth element of the path (similar to \each_inst but with direct access through the index) @@ -9014,6 +13879,7 @@ class ObjectInstPath: @param n The index of the element to retrieve (0..\path_length-1) This method has been added in version 0.16. """ + ... def source(self) -> int: r""" @brief Returns to the cell index of the cell that the selected element resides inside. @@ -9024,6 +13890,7 @@ class ObjectInstPath: This method has been added in version 0.16. """ + ... def source_dtrans(self) -> db.DCplxTrans: r""" @brief Gets the transformation applicable for an instance and shape in micron space. @@ -9037,6 +13904,7 @@ class ObjectInstPath: The method has been introduced in version 0.25. """ + ... def source_trans(self) -> db.ICplxTrans: r""" @brief Gets the transformation applicable for an instance and shape. @@ -9049,6 +13917,7 @@ class ObjectInstPath: This method has been added in version 0.16. """ + ... def trans(self) -> db.ICplxTrans: r""" @brief Gets the transformation applicable for the shape. @@ -9059,6 +13928,8 @@ class ObjectInstPath: This property is set implicitly by setting the top cell and adding elements to the instantiation path. This method is not applicable for instance selections. A more generic attribute is \source_trans. """ + ... + ... class PixelBuffer: r""" @@ -9087,6 +13958,13 @@ class PixelBuffer: @brief Reads the pixel buffer from a PNG byte stream This method may not be available if PNG support is not compiled into KLayout. """ + ... + @classmethod + def from_qimage(cls, qimage: QtGui.QImage_Native) -> PixelBuffer: + r""" + @brief Creates a pixel buffer object from a QImage object + """ + ... @classmethod def new(cls, width: int, height: int) -> PixelBuffer: r""" @@ -9097,24 +13975,29 @@ class PixelBuffer: The pixels are basically uninitialized. You will need to use \fill to initialize them to a certain value. """ + ... @classmethod def read_png(cls, file: str) -> PixelBuffer: r""" @brief Reads the pixel buffer from a PNG file This method may not be available if PNG support is not compiled into KLayout. """ + ... def __copy__(self) -> PixelBuffer: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> PixelBuffer: r""" @brief Creates a copy of self """ + ... def __eq__(self, other: object) -> bool: r""" @brief Returns a value indicating whether self is identical to the other image """ + ... def __init__(self, width: int, height: int) -> None: r""" @brief Creates a pixel buffer object @@ -9124,33 +14007,39 @@ class PixelBuffer: The pixels are basically uninitialized. You will need to use \fill to initialize them to a certain value. """ + ... def __ne__(self, other: object) -> bool: r""" @brief Returns a value indicating whether self is not identical to the other image """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -9158,6 +14047,7 @@ class PixelBuffer: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -9165,83 +14055,113 @@ class PixelBuffer: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: PixelBuffer) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def diff(self, other: PixelBuffer) -> PixelBuffer: r""" @brief Creates a difference image This method is provided to support transfer of image differences - i.e. small updates instead of full images. It works for non-transparent images only and generates an image with transpareny enabled and with the new pixel values for pixels that have changed. The alpha value will be 0 for identical images and 255 for pixels with different values. This way, the difference image can be painted over the original image to generate the new image. """ + ... def dup(self) -> PixelBuffer: r""" @brief Creates a copy of self """ + ... + @overload + def fill(self, color: QtGui.QColor) -> None: + r""" + @brief Fills the pixel buffer with the given QColor + """ + ... + @overload def fill(self, color: int) -> None: r""" @brief Fills the pixel buffer with the given pixel value """ + ... def height(self) -> int: r""" @brief Gets the height of the pixel buffer in pixels """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def patch(self, other: PixelBuffer) -> None: r""" @brief Patches another pixel buffer into this one This method is the inverse of \diff - it will patch the difference image created by diff into this pixel buffer. Note that this method will not do true alpha blending and requires the other pixel buffer to have the same format than self. Self will be modified by this operation. """ + ... def pixel(self, x: int, y: int) -> int: r""" @brief Gets the value of the pixel at position x, y """ + ... def set_pixel(self, x: int, y: int, c: int) -> None: r""" @brief Sets the value of the pixel at position x, y """ + ... def swap(self, other: PixelBuffer) -> None: r""" @brief Swaps data with another PixelBuffer object """ + ... def to_png_data(self) -> bytes: r""" @brief Converts the pixel buffer to a PNG byte stream This method may not be available if PNG support is not compiled into KLayout. """ + ... + def to_qimage(self) -> QtGui.QImage_Native: + r""" + @brief Converts the pixel buffer to a \QImage object + """ + ... def width(self) -> int: r""" @brief Gets the width of the pixel buffer in pixels """ + ... def write_png(self, file: str) -> None: r""" @brief Writes the pixel buffer to a PNG file This method may not be available if PNG support is not compiled into KLayout. """ + ... + ... class Plugin: r""" @@ -9256,33 +14176,39 @@ class Plugin: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -9290,6 +14216,7 @@ class Plugin: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -9297,33 +14224,39 @@ class Plugin: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def grab_mouse(self) -> None: r""" @brief Redirects mouse events to this plugin, even if the plugin is not active. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def set_cursor(self, cursor_type: int) -> None: r""" @brief Sets the cursor in the view area to the given type @@ -9331,10 +14264,13 @@ class Plugin: The cursor type is one of the cursor constants in the \Cursor class, i.e. 'CursorArrow' for the normal cursor. """ + ... def ungrab_mouse(self) -> None: r""" @brief Removes a mouse grab registered with \grab_mouse. """ + ... + ... class PluginFactory: r""" @@ -9412,46 +14348,45 @@ class PluginFactory: @brief Enables or disables the tool bar entry Initially this property is set to true. This means that the plugin will have a visible entry in the toolbar. This property can be set to false to disable this feature. In that case, the title and icon given on registration will be ignored. """ + ... @classmethod def new(cls) -> PluginFactory: r""" @brief Creates a new object of this class """ - def __copy__(self) -> PluginFactory: - r""" - @brief Creates a copy of self - """ - def __deepcopy__(self) -> PluginFactory: - r""" - @brief Creates a copy of self - """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -9459,6 +14394,7 @@ class PluginFactory: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -9466,6 +14402,7 @@ class PluginFactory: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def add_config_menu_item(self, menu_name: str, insert_pos: str, title: str, cname: str, cvalue: str) -> None: r""" @brief Adds a configuration menu item @@ -9474,6 +14411,7 @@ class PluginFactory: This method has been introduced in version 0.27. """ + ... @overload def add_menu_entry(self, menu_name: str, insert_pos: str) -> None: r""" @@ -9481,6 +14419,7 @@ class PluginFactory: Call this method in the factory constructor to build the menu items that this plugin shall create. This specific call inserts a separator at the given position (insert_pos). The position uses abstract menu item paths and "menu_name" names the component that will be created. See \AbstractMenu for a description of the path. """ + ... @overload def add_menu_entry(self, symbol: str, menu_name: str, insert_pos: str, title: str) -> None: r""" @@ -9494,6 +14433,7 @@ class PluginFactory: @param insert_pos The position where to create the entry @param title The title string for the item. The title can contain a keyboard shortcut in round braces after the title text, i.e. "My Menu Item(F12)" """ + ... @overload def add_menu_entry(self, symbol: str, menu_name: str, insert_pos: str, title: str, sub_menu: bool) -> None: r""" @@ -9502,6 +14442,7 @@ class PluginFactory: With version 0.27 it's more convenient to use \add_submenu. """ + ... def add_menu_item_clone(self, symbol: str, menu_name: str, insert_pos: str, copy_from: str) -> None: r""" @brief Specifies a menu item as a clone of another one @@ -9510,6 +14451,7 @@ class PluginFactory: This method has been introduced in version 0.27. """ + ... def add_option(self, name: str, default_value: str) -> None: r""" @brief Specifies configuration variables. @@ -9518,43 +14460,41 @@ class PluginFactory: Once the configuration variables are known, they can be retrieved on demand using "get_config" from \MainWindow or listening to \configure callbacks (either in the factory or the plugin instance). Configuration variables can be set using "set_config" from \MainWindow. This scheme also works without registering the configuration options, but doing so has the advantage that it is guaranteed that a variable with this keys exists and has the given default value initially. """ + ... def add_submenu(self, menu_name: str, insert_pos: str, title: str) -> None: r""" @brief Specifies a menu item or sub-menu This method has been introduced in version 0.27. """ - def assign(self, other: PluginFactory) -> None: - r""" - @brief Assigns another object to self - """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ - def dup(self) -> PluginFactory: - r""" - @brief Creates a copy of self - """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... @overload def register(self, position: int, name: str, title: str) -> None: r""" @@ -9565,6 +14505,7 @@ class PluginFactory: Registration of the plugin factory makes the object known to the system. Registration requires that the menu items have been set already. Hence it is recommended to put the registration at the end of the initialization method of the factory class. """ + ... @overload def register(self, position: int, name: str, title: str, icon: str) -> None: r""" @@ -9578,4 +14519,260 @@ class PluginFactory: Registration of the plugin factory makes the object known to the system. Registration requires that the menu items have been set already. Hence it is recommended to put the registration at the end of the initialization method of the factory class. """ + ... + ... + +class StringListValue: + r""" + @brief Encapsulate a string list + @hide + This class is provided as a return value of \FileDialog. + By using an object rather than a pure string list, an object with \has_value? = false can be returned indicating that + the "Cancel" button was pressed. Starting with version 0.22, the InputDialog class offers new method which do no + longer requires to use this class. + """ + @classmethod + def new(cls) -> StringListValue: + r""" + @brief Creates a new object of this class + """ + ... + def __copy__(self) -> StringListValue: + r""" + @brief Creates a copy of self + """ + ... + def __deepcopy__(self) -> StringListValue: + r""" + @brief Creates a copy of self + """ + ... + def __init__(self) -> None: + r""" + @brief Creates a new object of this class + """ + ... + def _create(self) -> None: + r""" + @brief Ensures the C++ object is created + Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. + """ + ... + def _destroy(self) -> None: + r""" + @brief Explicitly destroys the object + Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. + If the object is not owned by the script, this method will do nothing. + """ + ... + def _destroyed(self) -> bool: + r""" + @brief Returns a value indicating whether the object was already destroyed + This method returns true, if the object was destroyed, either explicitly or by the C++ side. + The latter may happen, if the object is owned by a C++ object which got destroyed itself. + """ + ... + def _is_const_object(self) -> bool: + r""" + @brief Returns a value indicating whether the reference is a const reference + This method returns true, if self is a const reference. + In that case, only const methods may be called on self. + """ + ... + def _manage(self) -> None: + r""" + @brief Marks the object as managed by the script side. + After calling this method on an object, the script side will be responsible for the management of the object. This method may be called if an object is returned from a C++ function and the object is known not to be owned by any C++ instance. If necessary, the script side may delete the object if the script's reference is no longer required. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def _unmanage(self) -> None: + r""" + @brief Marks the object as no longer owned by the script side. + Calling this method will make this object no longer owned by the script's memory management. Instead, the object must be managed in some other way. Usually this method may be called if it is known that some C++ object holds and manages this object. Technically speaking, this method will turn the script's reference into a weak reference. After the script engine decides to delete the reference, the object itself will still exist. If the object is not managed otherwise, memory leaks will occur. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def assign(self, other: StringListValue) -> None: + r""" + @brief Assigns another object to self + """ + ... + def create(self) -> None: + r""" + @brief Ensures the C++ object is created + Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. + """ + ... + def destroy(self) -> None: + r""" + @brief Explicitly destroys the object + Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. + If the object is not owned by the script, this method will do nothing. + """ + ... + def destroyed(self) -> bool: + r""" + @brief Returns a value indicating whether the object was already destroyed + This method returns true, if the object was destroyed, either explicitly or by the C++ side. + The latter may happen, if the object is owned by a C++ object which got destroyed itself. + """ + ... + def dup(self) -> StringListValue: + r""" + @brief Creates a copy of self + """ + ... + def has_value(self) -> bool: + r""" + @brief True, if a value is present + """ + ... + def is_const_object(self) -> bool: + r""" + @brief Returns a value indicating whether the reference is a const reference + This method returns true, if self is a const reference. + In that case, only const methods may be called on self. + """ + ... + def value(self) -> List[str]: + r""" + @brief Get the actual value (a list of strings) + """ + ... + ... + +class StringValue: + r""" + @brief Encapsulate a string value + @hide + This class is provided as a return value of \InputDialog::get_string, \InputDialog::get_item and \FileDialog. + By using an object rather than a pure value, an object with \has_value? = false can be returned indicating that + the "Cancel" button was pressed. Starting with version 0.22, the InputDialog class offers new method which do no + longer requires to use this class. + """ + @classmethod + def new(cls) -> StringValue: + r""" + @brief Creates a new object of this class + """ + ... + def __copy__(self) -> StringValue: + r""" + @brief Creates a copy of self + """ + ... + def __deepcopy__(self) -> StringValue: + r""" + @brief Creates a copy of self + """ + ... + def __init__(self) -> None: + r""" + @brief Creates a new object of this class + """ + ... + def __str__(self) -> str: + r""" + @brief Get the actual value (a synonym for \value) + """ + ... + def _create(self) -> None: + r""" + @brief Ensures the C++ object is created + Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. + """ + ... + def _destroy(self) -> None: + r""" + @brief Explicitly destroys the object + Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. + If the object is not owned by the script, this method will do nothing. + """ + ... + def _destroyed(self) -> bool: + r""" + @brief Returns a value indicating whether the object was already destroyed + This method returns true, if the object was destroyed, either explicitly or by the C++ side. + The latter may happen, if the object is owned by a C++ object which got destroyed itself. + """ + ... + def _is_const_object(self) -> bool: + r""" + @brief Returns a value indicating whether the reference is a const reference + This method returns true, if self is a const reference. + In that case, only const methods may be called on self. + """ + ... + def _manage(self) -> None: + r""" + @brief Marks the object as managed by the script side. + After calling this method on an object, the script side will be responsible for the management of the object. This method may be called if an object is returned from a C++ function and the object is known not to be owned by any C++ instance. If necessary, the script side may delete the object if the script's reference is no longer required. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def _unmanage(self) -> None: + r""" + @brief Marks the object as no longer owned by the script side. + Calling this method will make this object no longer owned by the script's memory management. Instead, the object must be managed in some other way. Usually this method may be called if it is known that some C++ object holds and manages this object. Technically speaking, this method will turn the script's reference into a weak reference. After the script engine decides to delete the reference, the object itself will still exist. If the object is not managed otherwise, memory leaks will occur. + + Usually it's not required to call this method. It has been introduced in version 0.24. + """ + ... + def assign(self, other: StringValue) -> None: + r""" + @brief Assigns another object to self + """ + ... + def create(self) -> None: + r""" + @brief Ensures the C++ object is created + Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. + """ + ... + def destroy(self) -> None: + r""" + @brief Explicitly destroys the object + Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. + If the object is not owned by the script, this method will do nothing. + """ + ... + def destroyed(self) -> bool: + r""" + @brief Returns a value indicating whether the object was already destroyed + This method returns true, if the object was destroyed, either explicitly or by the C++ side. + The latter may happen, if the object is owned by a C++ object which got destroyed itself. + """ + ... + def dup(self) -> StringValue: + r""" + @brief Creates a copy of self + """ + ... + def has_value(self) -> bool: + r""" + @brief True, if a value is present + """ + ... + def is_const_object(self) -> bool: + r""" + @brief Returns a value indicating whether the reference is a const reference + This method returns true, if self is a const reference. + In that case, only const methods may be called on self. + """ + ... + def to_s(self) -> str: + r""" + @brief Get the actual value (a synonym for \value) + """ + ... + def value(self) -> str: + r""" + @brief Get the actual value + """ + ... + ... diff --git a/src/pymod/distutils_src/klayout/libcore.pyi b/src/pymod/distutils_src/klayout/libcore.pyi index 12f4f3fdf..a91d281cb 100644 --- a/src/pymod/distutils_src/klayout/libcore.pyi +++ b/src/pymod/distutils_src/klayout/libcore.pyi @@ -1,4 +1,5 @@ from typing import Any, ClassVar, Dict, Sequence, List, Iterator, Optional from typing import overload +from __future__ import annotations import klayout.tl as tl import klayout.db as db diff --git a/src/pymod/distutils_src/klayout/rdbcore.pyi b/src/pymod/distutils_src/klayout/rdbcore.pyi index d29665e0e..07936205e 100644 --- a/src/pymod/distutils_src/klayout/rdbcore.pyi +++ b/src/pymod/distutils_src/klayout/rdbcore.pyi @@ -1,5 +1,6 @@ from typing import Any, ClassVar, Dict, Sequence, List, Iterator, Optional from typing import overload +from __future__ import annotations import klayout.tl as tl import klayout.db as db class RdbCategory: @@ -22,33 +23,39 @@ class RdbCategory: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -56,6 +63,7 @@ class RdbCategory: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -63,36 +71,34 @@ class RdbCategory: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def database(self) -> ReportDatabase: r""" @brief Gets the database object that category is associated with This method has been introduced in version 0.23. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ - @overload - def each_item(self) -> Iterator[RdbItem]: - r""" - @brief Iterates over all items inside the database which are associated with this category - - This method has been introduced in version 0.23. - """ + ... @overload def each_item(self) -> Iterator[RdbItem]: r""" @@ -100,6 +106,21 @@ class RdbCategory: This method has been introduced in version 0.29. """ + ... + @overload + def each_item(self) -> Iterator[RdbItem]: + r""" + @brief Iterates over all items inside the database which are associated with this category + + This method has been introduced in version 0.23. + """ + ... + @overload + def each_sub_category(self) -> Iterator[RdbCategory]: + r""" + @brief Iterates over all sub-categories (non-const version) + """ + ... @overload def each_sub_category(self) -> Iterator[RdbCategory]: r""" @@ -107,33 +128,33 @@ class RdbCategory: The const version has been added in version 0.29. """ - @overload - def each_sub_category(self) -> Iterator[RdbCategory]: - r""" - @brief Iterates over all sub-categories (non-const version) - """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def name(self) -> str: r""" @brief Gets the category name The category name is an string that identifies the category in the context of a parent category or inside the database when it is a top level category. The name is not the path name which is a path to a child category and incorporates all names of parent categories. @return The category name """ + ... def num_items(self) -> int: r""" @brief Gets the number of items in this category The number of items includes the items in sub-categories of this category. """ + ... def num_items_visited(self) -> int: r""" @brief Gets the number of visited items in this category The number of items includes the items in sub-categories of this category. """ + ... @overload def parent(self) -> RdbCategory: r""" @@ -142,24 +163,28 @@ class RdbCategory: The const version has been added in version 0.29. """ + ... @overload def parent(self) -> RdbCategory: r""" @brief Gets the parent category of this category (non-const version) @return The parent category or nil if this category is a top-level category """ + ... def path(self) -> str: r""" @brief Gets the category path The category path is the category name for top level categories. For child categories, the path contains the names of all parent categories separated by a dot. @return The path for this category """ + ... def rdb_id(self) -> int: r""" @brief Gets the category ID The category ID is an integer that uniquely identifies the category. It is used for referring to a category in \RdbItem for example. @return The category ID """ + ... @overload def scan_collection(self, cell: RdbCell, trans: db.CplxTrans, edge_pairs: db.EdgePairs, flat: Optional[bool] = ..., with_properties: Optional[bool] = ...) -> None: r""" @@ -168,6 +193,7 @@ class RdbCategory: This method has been introduced in version 0.26. The 'with_properties' argument has been added in version 0.28. """ + ... @overload def scan_collection(self, cell: RdbCell, trans: db.CplxTrans, edges: db.Edges, flat: Optional[bool] = ..., with_properties: Optional[bool] = ...) -> None: r""" @@ -176,6 +202,7 @@ class RdbCategory: This method has been introduced in version 0.26. The 'with_properties' argument has been added in version 0.28. """ + ... @overload def scan_collection(self, cell: RdbCell, trans: db.CplxTrans, region: db.Region, flat: Optional[bool] = ..., with_properties: Optional[bool] = ...) -> None: r""" @@ -190,6 +217,7 @@ class RdbCategory: This method has been introduced in version 0.26. The 'with_properties' argument has been added in version 0.28. """ + ... @overload def scan_collection(self, cell: RdbCell, trans: db.CplxTrans, texts: db.Texts, flat: Optional[bool] = ..., with_properties: Optional[bool] = ...) -> None: r""" @@ -198,6 +226,7 @@ class RdbCategory: This method has been introduced in version 0.28. """ + ... def scan_layer(self, layout: db.Layout, layer: int, cell: Optional[db.Cell] = ..., levels: Optional[int] = ..., with_properties: Optional[bool] = ...) -> None: r""" @brief Scans a layer from a layout into this category, starting with a given cell and a depth specification @@ -210,6 +239,7 @@ class RdbCategory: This method has been introduced in version 0.23. The 'with_properties' argument has been added in version 0.28. """ + ... def scan_shapes(self, iter: db.RecursiveShapeIterator, flat: Optional[bool] = ..., with_properties: Optional[bool] = ...) -> None: r""" @brief Scans the polygon or edge shapes from the shape iterator into the category @@ -221,6 +251,8 @@ class RdbCategory: This method has been introduced in version 0.23. The flat mode argument has been added in version 0.26. The 'with_properties' argument has been added in version 0.28. """ + ... + ... class RdbCell: r""" @@ -232,33 +264,39 @@ class RdbCell: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -266,6 +304,7 @@ class RdbCell: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -273,27 +312,24 @@ class RdbCell: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def add_reference(self, ref: RdbReference) -> None: r""" @brief Adds a reference to the references of this cell @param ref The reference to add. """ + ... def clear_references(self) -> None: r""" @brief Removes all references from this cell """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ - @overload - def database(self) -> ReportDatabase: - r""" - @brief Gets the database object that category is associated with (non-const version) - - This method has been introduced in version 0.29. - """ + ... @overload def database(self) -> ReportDatabase: r""" @@ -301,18 +337,29 @@ class RdbCell: This method has been introduced in version 0.23. """ + ... + @overload + def database(self) -> ReportDatabase: + r""" + @brief Gets the database object that category is associated with (non-const version) + + This method has been introduced in version 0.29. + """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... @overload def each_item(self) -> Iterator[RdbItem]: r""" @@ -320,6 +367,7 @@ class RdbCell: This method has been introduced in version 0.23. """ + ... @overload def each_item(self) -> Iterator[RdbItem]: r""" @@ -327,11 +375,13 @@ class RdbCell: This method has been introduced in version 0.29. """ + ... @overload def each_reference(self) -> Iterator[RdbReference]: r""" @brief Iterates over all references """ + ... @overload def each_reference(self) -> Iterator[RdbReference]: r""" @@ -339,12 +389,14 @@ class RdbCell: This method has been introduced in version 0.23. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def layout_name(self) -> str: r""" @brief Gets the name of the layout cell @@ -352,38 +404,46 @@ class RdbCell: @return The layout cell name This read-only attribute has been added in version 0.29.1. """ + ... def name(self) -> str: r""" @brief Gets the cell name The cell name is an string that identifies the category in the database. Additionally, a cell may carry a variant identifier which is a string that uniquely identifies a cell in the context of its variants. The "qualified name" contains both the cell name and the variant name. Cell names are also used to identify report database cells with layout cells. For variants, the layout cell name can be specified explicitly with the \layout_name attribute (see \RdbDatabase#create_cell). The latter is available since version 0.29.1. @return The cell name """ + ... def num_items(self) -> int: r""" @brief Gets the number of items for this cell """ + ... def num_items_visited(self) -> int: r""" @brief Gets the number of visited items for this cell """ + ... def qname(self) -> str: r""" @brief Gets the qualified name of the cell The qualified name is a combination of the cell name and optionally the variant name. It is used to identify the cell by name in a unique way. @return The qualified name """ + ... def rdb_id(self) -> int: r""" @brief Gets the cell ID The cell ID is an integer that uniquely identifies the cell. It is used for referring to a cell in \RdbItem for example. @return The cell ID """ + ... def variant(self) -> str: r""" @brief Gets the cell variant name A variant name additionally identifies the cell when multiple cells with the same name are present. A variant name is either assigned automatically or set when creating a cell. @return The cell variant name """ + ... + ... class RdbItem: r""" @@ -405,14 +465,17 @@ class RdbItem: This attribute has been added in version 0.29.1. """ - @property - def image(self) -> None: - r""" - WARNING: This variable can only be set, not retrieved. - @brief Sets the attached image from a PixelBuffer object + image: QtGui.QImage_Native + r""" + Getter: + @brief Gets the attached image as a QImage object - This method has been added in version 0.28. - """ + This method has been added in version 0.28. + Setter: + @brief Sets the attached image from a PixelBuffer object + + This method has been added in version 0.28. + """ image_str: str r""" Getter: @@ -438,41 +501,49 @@ class RdbItem: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> RdbItem: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> RdbItem: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -480,6 +551,7 @@ class RdbItem: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -487,11 +559,13 @@ class RdbItem: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def add_tag(self, tag_id: int) -> None: r""" @brief Adds a tag with the given id to the item Each tag can be added once to the item. The tags of an item thus form a set. If a tag with that ID already exists, this method does nothing. """ + ... @overload def add_value(self, shape: db.Shape, trans: db.CplxTrans) -> None: r""" @@ -503,12 +577,14 @@ class RdbItem: This method has been introduced in version 0.25.3. """ + ... @overload def add_value(self, value: RdbItemValue) -> None: r""" @brief Adds a value object to the values of this item @param value The value to add. """ + ... @overload def add_value(self, value: db.DBox) -> None: r""" @@ -516,6 +592,7 @@ class RdbItem: @param value The box to add. This method has been introduced in version 0.25 as a convenience method. """ + ... @overload def add_value(self, value: db.DEdge) -> None: r""" @@ -523,6 +600,7 @@ class RdbItem: @param value The edge to add. This method has been introduced in version 0.25 as a convenience method. """ + ... @overload def add_value(self, value: db.DEdgePair) -> None: r""" @@ -530,6 +608,7 @@ class RdbItem: @param value The edge pair to add. This method has been introduced in version 0.25 as a convenience method. """ + ... @overload def add_value(self, value: db.DPolygon) -> None: r""" @@ -537,6 +616,7 @@ class RdbItem: @param value The polygon to add. This method has been introduced in version 0.25 as a convenience method. """ + ... @overload def add_value(self, value: float) -> None: r""" @@ -544,6 +624,7 @@ class RdbItem: @param value The value to add. This method has been introduced in version 0.25 as a convenience method. """ + ... @overload def add_value(self, value: str) -> None: r""" @@ -551,57 +632,68 @@ class RdbItem: @param value The string to add. This method has been introduced in version 0.25 as a convenience method. """ + ... def assign(self, other: RdbItem) -> None: r""" @brief Assigns another object to self """ + ... def category_id(self) -> int: r""" @brief Gets the category ID Returns the ID of the category that this item is associated with. @return The category ID """ + ... def cell_id(self) -> int: r""" @brief Gets the cell ID Returns the ID of the cell that this item is associated with. @return The cell ID """ + ... def clear_values(self) -> None: r""" @brief Removes all values from this item """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def database(self) -> ReportDatabase: r""" @brief Gets the database object that item is associated with This method has been introduced in version 0.23. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> RdbItem: r""" @brief Creates a copy of self """ + ... def each_value(self) -> Iterator[RdbItemValue]: r""" @brief Iterates over all values """ + ... def has_image(self) -> bool: r""" @brief Gets a value indicating that the item has an image attached @@ -609,38 +701,46 @@ class RdbItem: This method has been introduced in version 0.28. """ + ... def has_tag(self, tag_id: int) -> bool: r""" @brief Returns a value indicating whether the item has a tag with the given ID @return True, if the item has a tag with the given ID """ + ... def image_pixels(self) -> lay.PixelBuffer: r""" @brief Gets the attached image as a PixelBuffer object This method has been added in version 0.28. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_visited(self) -> bool: r""" @brief Gets a value indicating whether the item was already visited @return True, if the item has been visited already """ + ... def remove_tag(self, tag_id: int) -> None: r""" @brief Remove the tag with the given id from the item If a tag with that ID does not exists on this item, this method does nothing. """ + ... def remove_tags(self) -> None: r""" @brief Removes all tags from the item This method has been introduced in version 0.29.1. """ + ... + ... class RdbItemValue: r""" @@ -671,24 +771,28 @@ class RdbItemValue: @brief Creates a value object from a string The string format is the same than obtained by the to_s method. """ + ... @overload @classmethod def new(cls, b: db.DBox) -> RdbItemValue: r""" @brief Creates a value representing a DBox object """ + ... @overload @classmethod def new(cls, e: db.DEdge) -> RdbItemValue: r""" @brief Creates a value representing a DEdge object """ + ... @overload @classmethod def new(cls, ee: db.DEdgePair) -> RdbItemValue: r""" @brief Creates a value representing a DEdgePair object """ + ... @overload @classmethod def new(cls, f: float) -> RdbItemValue: @@ -697,6 +801,7 @@ class RdbItemValue: This variant has been introduced in version 0.24 """ + ... @overload @classmethod def new(cls, p: db.DPath) -> RdbItemValue: @@ -705,18 +810,21 @@ class RdbItemValue: This method has been introduced in version 0.22. """ + ... @overload @classmethod def new(cls, p: db.DPolygon) -> RdbItemValue: r""" @brief Creates a value representing a DPolygon object """ + ... @overload @classmethod def new(cls, s: str) -> RdbItemValue: r""" @brief Creates a value representing a string """ + ... @overload @classmethod def new(cls, t: db.DText) -> RdbItemValue: @@ -725,29 +833,35 @@ class RdbItemValue: This method has been introduced in version 0.22. """ + ... def __copy__(self) -> RdbItemValue: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> RdbItemValue: r""" @brief Creates a copy of self """ + ... @overload def __init__(self, b: db.DBox) -> None: r""" @brief Creates a value representing a DBox object """ + ... @overload def __init__(self, e: db.DEdge) -> None: r""" @brief Creates a value representing a DEdge object """ + ... @overload def __init__(self, ee: db.DEdgePair) -> None: r""" @brief Creates a value representing a DEdgePair object """ + ... @overload def __init__(self, f: float) -> None: r""" @@ -755,6 +869,7 @@ class RdbItemValue: This variant has been introduced in version 0.24 """ + ... @overload def __init__(self, p: db.DPath) -> None: r""" @@ -762,16 +877,19 @@ class RdbItemValue: This method has been introduced in version 0.22. """ + ... @overload def __init__(self, p: db.DPolygon) -> None: r""" @brief Creates a value representing a DPolygon object """ + ... @overload def __init__(self, s: str) -> None: r""" @brief Creates a value representing a string """ + ... @overload def __init__(self, t: db.DText) -> None: r""" @@ -779,41 +897,41 @@ class RdbItemValue: This method has been introduced in version 0.22. """ - def __repr__(self) -> str: - r""" - @brief Converts a value to a string - The string can be used by the string constructor to create another object from it. - @return The string - """ + ... def __str__(self) -> str: r""" @brief Converts a value to a string The string can be used by the string constructor to create another object from it. @return The string """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -821,6 +939,7 @@ class RdbItemValue: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -828,123 +947,148 @@ class RdbItemValue: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: RdbItemValue) -> None: r""" @brief Assigns another object to self """ + ... def box(self) -> db.DBox: r""" @brief Gets the box if the value represents one. @return The \DBox object or nil """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> RdbItemValue: r""" @brief Creates a copy of self """ + ... def edge(self) -> db.DEdge: r""" @brief Gets the edge if the value represents one. @return The \DEdge object or nil """ + ... def edge_pair(self) -> db.DEdgePair: r""" @brief Gets the edge pair if the value represents one. @return The \DEdgePair object or nil """ + ... def float(self) -> float: r""" @brief Gets the numeric value. @return The numeric value or 0 This method has been introduced in version 0.24. """ + ... def is_box(self) -> bool: r""" @brief Returns true if the value object represents a box """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_edge(self) -> bool: r""" @brief Returns true if the value object represents an edge """ + ... def is_edge_pair(self) -> bool: r""" @brief Returns true if the value object represents an edge pair """ + ... def is_float(self) -> bool: r""" @brief Returns true if the value object represents a numeric value This method has been introduced in version 0.24. """ + ... def is_path(self) -> bool: r""" @brief Returns true if the value object represents a path This method has been introduced in version 0.22. """ + ... def is_polygon(self) -> bool: r""" @brief Returns true if the value object represents a polygon """ + ... def is_string(self) -> bool: r""" @brief Returns true if the object represents a string value """ + ... def is_text(self) -> bool: r""" @brief Returns true if the value object represents a text This method has been introduced in version 0.22. """ + ... def path(self) -> db.DPath: r""" @brief Gets the path if the value represents one. @return The \DPath object This method has been introduced in version 0.22. """ + ... def polygon(self) -> db.DPolygon: r""" @brief Gets the polygon if the value represents one. @return The \DPolygon object """ + ... def string(self) -> str: r""" @brief Gets the string representation of the value. @return The stringThis method will always deliver a valid string, even if \is_string? is false. The objects stored in the value are converted to a string accordingly. """ + ... def text(self) -> db.DText: r""" @brief Gets the text if the value represents one. @return The \DText object This method has been introduced in version 0.22. """ + ... def to_s(self) -> str: r""" @brief Converts a value to a string The string can be used by the string constructor to create another object from it. @return The string """ + ... + ... class RdbReference: r""" @@ -975,41 +1119,49 @@ class RdbReference: r""" @brief Creates a reference with a given transformation and parent cell ID """ + ... def __copy__(self) -> RdbReference: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> RdbReference: r""" @brief Creates a copy of self """ + ... def __init__(self, trans: db.DCplxTrans, parent_cell_id: int) -> None: r""" @brief Creates a reference with a given transformation and parent cell ID """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -1017,6 +1169,7 @@ class RdbReference: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -1024,15 +1177,18 @@ class RdbReference: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: RdbReference) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... @overload def database(self) -> ReportDatabase: r""" @@ -1040,6 +1196,7 @@ class RdbReference: This method has been introduced in version 0.29. """ + ... @overload def database(self) -> ReportDatabase: r""" @@ -1047,28 +1204,34 @@ class RdbReference: This method has been introduced in version 0.23. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> RdbReference: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... + ... class ReportDatabase: r""" @@ -1127,43 +1290,51 @@ class ReportDatabase: @param name The name of the database The name of the database will be used in the user interface to refer to a certain database. """ + ... def __copy__(self) -> ReportDatabase: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> ReportDatabase: r""" @brief Creates a copy of self """ + ... def __init__(self, name: str) -> None: r""" @brief Creates a report database @param name The name of the database The name of the database will be used in the user interface to refer to a certain database. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -1171,6 +1342,7 @@ class ReportDatabase: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -1178,6 +1350,7 @@ class ReportDatabase: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def apply(self, other: ReportDatabase) -> None: r""" @brief Transfers item attributes from one database to another for identical items @@ -1204,16 +1377,19 @@ class ReportDatabase: This method has been added in version 0.29.1. """ + ... def assign(self, other: ReportDatabase) -> None: r""" @brief Assigns another object to self """ + ... @overload def category_by_id(self, id: int) -> RdbCategory: r""" @brief Gets a category by ID @return The (const) category object or nil if the ID is not valid """ + ... @overload def category_by_id(self, id: int) -> RdbCategory: r""" @@ -1222,6 +1398,7 @@ class ReportDatabase: This non-const variant has been introduced in version 0.29. """ + ... @overload def category_by_path(self, path: str) -> RdbCategory: r""" @@ -1229,6 +1406,7 @@ class ReportDatabase: @param path The full path to the category starting from the top level (subcategories separated by dots) @return The (const) category object or nil if the name is not valid """ + ... @overload def category_by_path(self, path: str) -> RdbCategory: r""" @@ -1238,6 +1416,7 @@ class ReportDatabase: This non-const variant has been introduced in version 0.29. """ + ... @overload def cell_by_id(self, id: int) -> RdbCell: r""" @@ -1245,6 +1424,7 @@ class ReportDatabase: @param id The ID of the cell @return The cell object or nil if no cell with that ID exists """ + ... @overload def cell_by_id(self, id: int) -> RdbCell: r""" @@ -1254,6 +1434,7 @@ class ReportDatabase: This non-const variant has been added version 0.29. """ + ... @overload def cell_by_qname(self, qname: str) -> RdbCell: r""" @@ -1261,6 +1442,7 @@ class ReportDatabase: @param qname The qualified name of the cell (name plus variant name optionally) @return The cell object or nil if no such cell exists """ + ... @overload def cell_by_qname(self, qname: str) -> RdbCell: r""" @@ -1270,17 +1452,20 @@ class ReportDatabase: This non-const variant has been added version 0.29. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... @overload def create_category(self, name: str) -> RdbCategory: r""" @brief Creates a new top level category @param name The name of the category """ + ... @overload def create_category(self, parent: RdbCategory, name: str) -> RdbCategory: r""" @@ -1289,12 +1474,14 @@ class ReportDatabase: @param name The name of the category Since version 0.29.1, 'parent' can be nil. In that case, a top-level category is created. """ + ... @overload def create_cell(self, name: str) -> RdbCell: r""" @brief Creates a new cell @param name The name of the cell """ + ... @overload def create_cell(self, name: str, variant: str, layout_name: Optional[str] = ...) -> RdbCell: r""" @@ -1304,6 +1491,7 @@ class ReportDatabase: @param layout_name For variants, this is the name of the layout cell. If empty, 'name' is used for the layout cell name. The 'layout_name' argument has been added in version 0.29.1. """ + ... @overload def create_item(self, cell: RdbCell, category: RdbCategory) -> RdbItem: r""" @@ -1313,6 +1501,7 @@ class ReportDatabase: This convenience method has been added in version 0.25. """ + ... @overload def create_item(self, cell_id: int, category_id: int) -> RdbItem: r""" @@ -1322,6 +1511,7 @@ class ReportDatabase: A more convenient method that takes cell and category objects instead of ID's is the other version of \create_item. """ + ... @overload def create_item(self, cell_id: int, category_id: int, trans: db.CplxTrans, shape: db.Shape, with_properties: Optional[bool] = ...) -> None: r""" @@ -1337,6 +1527,7 @@ class ReportDatabase: @param trans The transformation to apply @param with_properties If true, user properties will be turned into tagged values as well """ + ... @overload def create_items(self, cell_id: int, category_id: int, iter: db.RecursiveShapeIterator, with_properties: Optional[bool] = ...) -> None: r""" @@ -1351,6 +1542,7 @@ class ReportDatabase: @param iter The iterator (a \RecursiveShapeIterator object) from which to take the items @param with_properties If true, user properties will be turned into tagged values as well """ + ... @overload def create_items(self, cell_id: int, category_id: int, trans: db.CplxTrans, array: Sequence[db.EdgePair]) -> None: r""" @@ -1365,6 +1557,7 @@ class ReportDatabase: @param trans The transformation to apply @param edge_pairs The list of edge_pairs for which the items are created """ + ... @overload def create_items(self, cell_id: int, category_id: int, trans: db.CplxTrans, array: Sequence[db.Edge]) -> None: r""" @@ -1379,6 +1572,7 @@ class ReportDatabase: @param trans The transformation to apply @param edges The list of edges for which the items are created """ + ... @overload def create_items(self, cell_id: int, category_id: int, trans: db.CplxTrans, array: Sequence[db.Polygon]) -> None: r""" @@ -1393,6 +1587,7 @@ class ReportDatabase: @param trans The transformation to apply @param polygons The list of polygons for which the items are created """ + ... @overload def create_items(self, cell_id: int, category_id: int, trans: db.CplxTrans, edge_pairs: db.EdgePairs) -> None: r""" @@ -1409,6 +1604,7 @@ class ReportDatabase: @param trans The transformation to apply @param edges The list of edge pairs (an \EdgePairs object) for which the items are created """ + ... @overload def create_items(self, cell_id: int, category_id: int, trans: db.CplxTrans, edges: db.Edges) -> None: r""" @@ -1425,6 +1621,7 @@ class ReportDatabase: @param trans The transformation to apply @param edges The list of edges (an \Edges object) for which the items are created """ + ... @overload def create_items(self, cell_id: int, category_id: int, trans: db.CplxTrans, region: db.Region) -> None: r""" @@ -1441,6 +1638,7 @@ class ReportDatabase: @param trans The transformation to apply @param region The region (a \Region object) containing the polygons for which to create items """ + ... @overload def create_items(self, cell_id: int, category_id: int, trans: db.CplxTrans, shapes: db.Shapes, with_properties: Optional[bool] = ...) -> None: r""" @@ -1456,27 +1654,32 @@ class ReportDatabase: @param trans The transformation to apply @param with_properties If true, user properties will be turned into tagged values as well """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> ReportDatabase: r""" @brief Creates a copy of self """ + ... @overload def each_category(self) -> Iterator[RdbCategory]: r""" @brief Iterates over all top-level categories """ + ... @overload def each_category(self) -> Iterator[RdbCategory]: r""" @@ -1484,11 +1687,13 @@ class ReportDatabase: The non-const variant has been added in version 0.29. """ + ... @overload def each_cell(self) -> Iterator[RdbCell]: r""" @brief Iterates over all cells """ + ... @overload def each_cell(self) -> Iterator[RdbCell]: r""" @@ -1496,11 +1701,13 @@ class ReportDatabase: This non-const variant has been added version 0.29. """ + ... @overload def each_item(self) -> Iterator[RdbItem]: r""" @brief Iterates over all items inside the database """ + ... @overload def each_item(self) -> Iterator[RdbItem]: r""" @@ -1508,12 +1715,14 @@ class ReportDatabase: This non-const variant has been added in version 0.29. """ + ... @overload def each_item_per_category(self, category_id: int) -> Iterator[RdbItem]: r""" @brief Iterates over all items inside the database which are associated with the given category @param category_id The ID of the category for which all associated items should be retrieved """ + ... @overload def each_item_per_category(self, category_id: int) -> Iterator[RdbItem]: r""" @@ -1522,12 +1731,14 @@ class ReportDatabase: This non-const variant has been added in version 0.29. """ + ... @overload def each_item_per_cell(self, cell_id: int) -> Iterator[RdbItem]: r""" @brief Iterates over all items inside the database which are associated with the given cell @param cell_id The ID of the cell for which all associated items should be retrieved """ + ... @overload def each_item_per_cell(self, cell_id: int) -> Iterator[RdbItem]: r""" @@ -1536,6 +1747,7 @@ class ReportDatabase: This non-const variant has been added in version 0.29. """ + ... @overload def each_item_per_cell_and_category(self, cell_id: int, category_id: int) -> Iterator[RdbItem]: r""" @@ -1543,6 +1755,7 @@ class ReportDatabase: @param cell_id The ID of the cell for which all associated items should be retrieved @param category_id The ID of the category for which all associated items should be retrieved """ + ... @overload def each_item_per_cell_and_category(self, cell_id: int, category_id: int) -> Iterator[RdbItem]: r""" @@ -1552,39 +1765,46 @@ class ReportDatabase: This non-const variant has been added in version 0.29. """ + ... def filename(self) -> str: r""" @brief Gets the file name and path where the report database is stored This property is set when a database is saved or loaded. It cannot be set manually. @return The file name and path """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_modified(self) -> bool: r""" @brief Returns a value indicating whether the database has been modified """ + ... def load(self, filename: str) -> None: r""" @brief Loads the database from the given file @param filename The file from which to load the database The reader recognizes the format automatically and will choose the appropriate decoder. 'gzip' compressed files are uncompressed automatically. """ + ... def name(self) -> str: r""" @brief Gets the database name The name of the database is supposed to identify the database within a layout view context. The name is modified to be unique when a database is entered into a layout view. @return The database name """ + ... @overload def num_items(self) -> int: r""" @brief Returns the number of items inside the database @return The total number of items """ + ... @overload def num_items(self, cell_id: int, category_id: int) -> int: r""" @@ -1593,12 +1813,14 @@ class ReportDatabase: @param category_id The ID of the category for which to retrieve the number @return The total number of items for the given cell and the given category """ + ... @overload def num_items_visited(self) -> int: r""" @brief Returns the number of items already visited inside the database @return The total number of items already visited """ + ... @overload def num_items_visited(self, cell_id: int, category_id: int) -> int: r""" @@ -1607,22 +1829,26 @@ class ReportDatabase: @param category_id The ID of the category for which to retrieve the number @return The total number of items visited for the given cell and the given category """ + ... def reset_modified(self) -> None: r""" @brief Reset the modified flag """ + ... def save(self, filename: str) -> None: r""" @brief Saves the database to the given file @param filename The file to which to save the database The database is always saved in KLayout's XML-based format. """ + ... def set_item_visited(self, item: RdbItem, visited: bool) -> None: r""" @brief Modifies the visited state of an item @param item The item to modify @param visited True to set the item to visited state, false otherwise """ + ... def set_tag_description(self, tag_id: int, description: str) -> None: r""" @brief Sets the tag description for the given tag ID @@ -1630,6 +1856,7 @@ class ReportDatabase: @param description The description string See \tag_id for a details about tags. """ + ... def tag_description(self, tag_id: int) -> str: r""" @brief Gets the tag description for the given tag ID @@ -1637,6 +1864,7 @@ class ReportDatabase: @return The description string See \tag_id for a details about tags. """ + ... def tag_id(self, name: str) -> int: r""" @brief Gets the tag ID for a given tag name @@ -1646,6 +1874,7 @@ class ReportDatabase: \tag_id handles system tags while \user_tag_id handles user tags. """ + ... def tag_name(self, tag_id: int) -> str: r""" @brief Gets the tag name for the given tag ID @@ -1655,6 +1884,7 @@ class ReportDatabase: This method has been introduced in version 0.24.10. """ + ... def user_tag_id(self, name: str) -> int: r""" @brief Gets the tag ID for a given user tag name @@ -1664,10 +1894,13 @@ class ReportDatabase: This method has been added in version 0.24. """ + ... def variants(self, name: str) -> List[int]: r""" @brief Gets the variants for a given cell name @param name The basic name of the cell @return An array of ID's representing cells that are variants for the given base name """ + ... + ... diff --git a/src/pymod/distutils_src/klayout/tlcore.pyi b/src/pymod/distutils_src/klayout/tlcore.pyi index f821e70bf..7f55789d6 100644 --- a/src/pymod/distutils_src/klayout/tlcore.pyi +++ b/src/pymod/distutils_src/klayout/tlcore.pyi @@ -1,5 +1,6 @@ from typing import Any, ClassVar, Dict, Sequence, List, Iterator, Optional from typing import overload +from __future__ import annotations class AbsoluteProgress(Progress): r""" @brief A progress reporter counting progress in absolute units @@ -37,6 +38,7 @@ class AbsoluteProgress(Progress): WARNING: This variable can only be set, not retrieved. @brief sets the output format (sprintf notation) for the progress text """ + ... @property def format_unit(self) -> None: r""" @@ -47,6 +49,7 @@ class AbsoluteProgress(Progress): The current count is divided by the format unit to render the value passed to the format string. """ + ... @property def unit(self) -> None: r""" @@ -55,18 +58,21 @@ class AbsoluteProgress(Progress): Specifies the count value corresponding to 1 percent on the progress bar. By default, the current value divided by the unit is used to create the formatted value from the output string. Another attribute is provided (\format_unit=) to specify a separate unit for that purpose. """ + ... @property def value(self) -> None: r""" WARNING: This variable can only be set, not retrieved. @brief Sets the progress value """ + ... @overload @classmethod def new(cls, desc: str) -> AbsoluteProgress: r""" @brief Creates an absolute progress reporter with the given description """ + ... @overload @classmethod def new(cls, desc: str, yield_interval: int) -> AbsoluteProgress: @@ -75,19 +81,23 @@ class AbsoluteProgress(Progress): The yield interval specifies, how often the event loop will be triggered. When the yield interval is 10 for example, the event loop will be executed every tenth call of \inc or \set. """ + ... def __copy__(self) -> AbsoluteProgress: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> AbsoluteProgress: r""" @brief Creates a copy of self """ + ... @overload def __init__(self, desc: str) -> None: r""" @brief Creates an absolute progress reporter with the given description """ + ... @overload def __init__(self, desc: str, yield_interval: int) -> None: r""" @@ -95,29 +105,34 @@ class AbsoluteProgress(Progress): The yield interval specifies, how often the event loop will be triggered. When the yield interval is 10 for example, the event loop will be executed every tenth call of \inc or \set. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -125,6 +140,7 @@ class AbsoluteProgress(Progress): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -132,18 +148,22 @@ class AbsoluteProgress(Progress): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: Progress) -> None: r""" @brief Assigns another object to self """ + ... def dup(self) -> AbsoluteProgress: r""" @brief Creates a copy of self """ + ... def inc(self) -> AbsoluteProgress: r""" @brief Increments the progress value """ + ... def set(self, value: int, force_yield: bool) -> None: r""" @brief Sets the progress value @@ -151,6 +171,8 @@ class AbsoluteProgress(Progress): This method is equivalent to \value=, but it allows forcing the event loop to be triggered. If "force_yield" is true, the event loop will be triggered always, irregardless of the yield interval specified in the constructor. """ + ... + ... class AbstractProgress(Progress): r""" @@ -167,41 +189,49 @@ class AbstractProgress(Progress): r""" @brief Creates an abstract progress reporter with the given description """ + ... def __copy__(self) -> AbstractProgress: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> AbstractProgress: r""" @brief Creates a copy of self """ + ... def __init__(self, desc: str) -> None: r""" @brief Creates an abstract progress reporter with the given description """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -209,6 +239,7 @@ class AbstractProgress(Progress): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -216,14 +247,18 @@ class AbstractProgress(Progress): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: Progress) -> None: r""" @brief Assigns another object to self """ + ... def dup(self) -> AbstractProgress: r""" @brief Creates a copy of self """ + ... + ... class ArgType: r""" @@ -300,57 +335,64 @@ class ArgType: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> ArgType: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> ArgType: r""" @brief Creates a copy of self """ + ... def __eq__(self, other: object) -> bool: r""" @brief Equality of two types """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def __ne__(self, other: object) -> bool: r""" @brief Inequality of two types """ - def __repr__(self) -> str: - r""" - @brief Convert to a string - """ + ... def __str__(self) -> str: r""" @brief Convert to a string """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -358,6 +400,7 @@ class ArgType: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -365,90 +408,108 @@ class ArgType: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: ArgType) -> None: r""" @brief Assigns another object to self """ + ... def cls(self) -> Class: r""" @brief Specifies the class for t_object.. types """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def default(self) -> Any: r""" @brief Returns the default value or nil is there is no default value Applies to arguments only. This method has been introduced in version 0.24. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> ArgType: r""" @brief Creates a copy of self """ + ... def has_default(self) -> bool: r""" @brief Returns true, if a default value is specified for this argument Applies to arguments only. This method has been introduced in version 0.24. """ + ... def inner(self) -> ArgType: r""" @brief Returns the inner ArgType object (i.e. value of a vector/map) Starting with version 0.22, this method replaces the is_vector method. """ + ... def inner_k(self) -> ArgType: r""" @brief Returns the inner ArgType object (i.e. key of a map) This method has been introduced in version 0.27. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_cptr(self) -> bool: r""" @brief True, if the type is a const pointer to the given type This property indicates that the argument is a const pointer (in C++: 'const X *'). """ + ... def is_cref(self) -> bool: r""" @brief True, if the type is a const reference to the given type This property indicates that the argument is a const reference (in C++: 'const X &'). """ + ... def is_iter(self) -> bool: r""" @brief (Return value only) True, if the return value is an iterator rendering the given type """ + ... def is_ptr(self) -> bool: r""" @brief True, if the type is a non-const pointer to the given type This property indicates that the argument is a non-const pointer (in C++: 'X *'). """ + ... def is_ref(self) -> bool: r""" @brief True, if the type is a reference to the given type Starting with version 0.22 there are more methods that describe the type of reference and is_ref? only applies to non-const reference (in C++: 'X &'). """ + ... def name(self) -> str: r""" @brief Returns the name for this argument or an empty string if the argument is not named Applies to arguments only. This method has been introduced in version 0.24. """ + ... def pass_obj(self) -> bool: r""" @brief True, if the ownership over an object represented by this type is passed to the receiver @@ -456,14 +517,18 @@ class ArgType: This method has been introduced in version 0.24. """ + ... def to_s(self) -> str: r""" @brief Convert to a string """ + ... def type(self) -> int: r""" @brief Return the basic type (see t_.. constants) """ + ... + ... class Class: r""" @@ -474,38 +539,45 @@ class Class: r""" @brief Iterate over all classes """ + ... @classmethod def new(cls) -> Class: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -513,6 +585,7 @@ class Class: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -520,78 +593,95 @@ class Class: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def base(self) -> Class: r""" @brief The base class or nil if the class does not have a base class This method has been introduced in version 0.22. """ + ... def can_copy(self) -> bool: r""" @brief True if the class offers assignment """ + ... def can_destroy(self) -> bool: r""" @brief True if the class offers a destroy method This method has been introduced in version 0.22. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def doc(self) -> str: r""" @brief The documentation string for this class """ + ... def each_child_class(self) -> Iterator[Class]: r""" @brief Iterate over all child classes defined within this class """ + ... def each_method(self) -> Iterator[Method]: r""" @brief Iterate over all methods of this class """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def module(self) -> str: r""" @brief The name of module where the class lives """ + ... def name(self) -> str: r""" @brief The name of the class """ + ... def parent(self) -> Class: r""" @brief The parent of the class """ + ... def python_methods(self, static: bool) -> List[PythonFunction]: r""" @brief Gets the Python methods (static or non-static) """ + ... def python_properties(self, static: bool) -> List[PythonGetterSetterPair]: r""" @brief Gets the Python properties (static or non-static) as a list of getter/setter pairs Note that if a getter or setter is not available the list of Python functions for this part is empty. """ + ... + ... class EmptyClass: r""" @@ -601,41 +691,49 @@ class EmptyClass: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> EmptyClass: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> EmptyClass: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -643,6 +741,7 @@ class EmptyClass: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -650,37 +749,45 @@ class EmptyClass: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: EmptyClass) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> EmptyClass: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... + ... class Executable(ExecutableBase): r""" @@ -695,33 +802,39 @@ class Executable(ExecutableBase): r""" @brief Assigns another object to self """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _dup(self) -> Executable: r""" @brief Creates a copy of self """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -729,6 +842,7 @@ class Executable(ExecutableBase): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -736,6 +850,8 @@ class Executable(ExecutableBase): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... + ... class ExecutableBase: r""" @@ -747,41 +863,49 @@ class ExecutableBase: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> ExecutableBase: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> ExecutableBase: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -789,6 +913,7 @@ class ExecutableBase: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -796,37 +921,45 @@ class ExecutableBase: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: ExecutableBase) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> ExecutableBase: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... + ... class Expression(ExpressionContext): r""" @@ -844,24 +977,28 @@ class Expression(ExpressionContext): WARNING: This variable can only be set, not retrieved. @brief Sets the given text as the expression. """ + ... @classmethod def _class_eval(cls, expr: str) -> Any: r""" @brief A convience function to evaluate the given expression and directly return the result This is a static method that does not require instantiation of the expression object first. """ + ... @classmethod def eval(cls, expr: str) -> Any: r""" @brief A convience function to evaluate the given expression and directly return the result This is a static method that does not require instantiation of the expression object first. """ + ... @overload @classmethod def new(cls, expr: str) -> Expression: r""" @brief Creates an expression evaluator """ + ... @overload @classmethod def new(cls, expr: str, variables: Dict[str, Any]) -> Expression: @@ -869,44 +1006,52 @@ class Expression(ExpressionContext): @brief Creates an expression evaluator This version of the constructor takes a hash of variables available to the expressions. """ + ... @overload def __init__(self, expr: str) -> None: r""" @brief Creates an expression evaluator """ + ... @overload def __init__(self, expr: str, variables: Dict[str, Any]) -> None: r""" @brief Creates an expression evaluator This version of the constructor takes a hash of variables available to the expressions. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _inst_eval(self) -> Any: r""" @brief Evaluates the current expression and returns the result """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -914,6 +1059,7 @@ class Expression(ExpressionContext): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -921,10 +1067,13 @@ class Expression(ExpressionContext): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def eval(self) -> Any: r""" @brief Evaluates the current expression and returns the result """ + ... + ... class ExpressionContext: r""" @@ -939,46 +1088,55 @@ class ExpressionContext: r""" @brief Defines a global variable with the given name and value """ + ... @classmethod def new(cls) -> ExpressionContext: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> ExpressionContext: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> ExpressionContext: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -986,6 +1144,7 @@ class ExpressionContext: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -993,46 +1152,56 @@ class ExpressionContext: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: ExpressionContext) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> ExpressionContext: r""" @brief Creates a copy of self """ + ... def eval(self, expr: str) -> Any: r""" @brief Compiles and evaluates the given expression in this context This method has been introduced in version 0.26. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def var(self, name: str, value: Any) -> None: r""" @brief Defines a variable with the given name and value """ + ... + ... class GlobPattern: r""" @@ -1062,41 +1231,49 @@ class GlobPattern: r""" @brief Creates a new glob pattern match object """ + ... def __copy__(self) -> GlobPattern: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> GlobPattern: r""" @brief Creates a copy of self """ + ... def __init__(self, pattern: str) -> None: r""" @brief Creates a new glob pattern match object """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -1104,6 +1281,7 @@ class GlobPattern: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -1111,42 +1289,51 @@ class GlobPattern: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: GlobPattern) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> GlobPattern: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def match(self, subject: str) -> Any: r""" @brief Matches the subject string against the pattern. Returns nil if the subject string does not match the pattern. Otherwise returns a list with the substrings captured in round brackets. """ + ... + ... class Interpreter: r""" @@ -1172,43 +1359,51 @@ class Interpreter: r""" @brief Creates a new object of this class """ + ... @classmethod def python_interpreter(cls) -> Interpreter: r""" @brief Gets the instance of the Python interpreter """ + ... @classmethod def ruby_interpreter(cls) -> Interpreter: r""" @brief Gets the instance of the Ruby interpreter """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -1216,6 +1411,7 @@ class Interpreter: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -1223,49 +1419,59 @@ class Interpreter: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def define_variable(self, name: str, value: Any) -> None: r""" @brief Defines a (global) variable with the given name and value You can use the \Value class to provide 'out' or 'inout' parameters which can be modified by code executed inside the interpreter and read back by the caller. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def eval_expr(self, string: str, filename: Optional[str] = ..., line: Optional[int] = ...) -> Any: r""" @brief Executes the expression inside the given string and returns the result value Use 'filename' and 'line' to indicate the original source for the error messages. """ + ... def eval_string(self, string: str, filename: Optional[str] = ..., line: Optional[int] = ...) -> None: r""" @brief Executes the code inside the given string Use 'filename' and 'line' to indicate the original source for the error messages. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def load_file(self, path: str) -> None: r""" @brief Loads the given file into the interpreter This will execute the code inside the file. """ + ... + ... class Logger: r""" @@ -1295,6 +1501,7 @@ class Logger: The error channel is formatted as an error (i.e. red in the logger window) and output unconditionally. """ + ... @classmethod def info(cls, msg: str) -> None: r""" @@ -1302,6 +1509,7 @@ class Logger: The info channel is printed as neutral messages unconditionally. """ + ... @classmethod def log(cls, msg: str) -> None: r""" @@ -1309,11 +1517,13 @@ class Logger: Log messages are printed as neutral messages and are output only if the verbosity is above 0. """ + ... @classmethod def new(cls) -> Logger: r""" @brief Creates a new object of this class """ + ... @classmethod def warn(cls, msg: str) -> None: r""" @@ -1321,41 +1531,49 @@ class Logger: The warning channel is formatted as a warning (i.e. blue in the logger window) and output unconditionally. """ + ... def __copy__(self) -> Logger: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> Logger: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -1363,6 +1581,7 @@ class Logger: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -1370,37 +1589,45 @@ class Logger: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: Logger) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> Logger: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... + ... class Method: r""" @@ -1411,25 +1638,22 @@ class Method: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> Method: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> Method: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ - def __repr__(self) -> str: - r""" - @brief Describes the method - This attribute returns a string description of the method and its signature. - - This method has been introduced in version 0.29. - """ + ... def __str__(self) -> str: r""" @brief Describes the method @@ -1437,29 +1661,34 @@ class Method: This method has been introduced in version 0.29. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -1467,6 +1696,7 @@ class Method: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -1474,83 +1704,99 @@ class Method: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def accepts_num_args(self, n: int) -> bool: r""" @brief True, if this method is compatible with the given number of arguments This method has been introduced in version 0.24. """ + ... def assign(self, other: Method) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def doc(self) -> str: r""" @brief The documentation string for this method """ + ... def dup(self) -> Method: r""" @brief Creates a copy of self """ + ... def each_argument(self) -> Iterator[ArgType]: r""" @brief Iterate over all arguments of this method """ + ... def each_overload(self) -> Iterator[MethodOverload]: r""" @brief This iterator delivers the synonyms (overloads). This method has been introduced in version 0.24. """ + ... def is_const(self) -> bool: r""" @brief True, if this method does not alter the object """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_constructor(self) -> bool: r""" @brief True, if this method is a constructor Static methods that return new objects are constructors. This method has been introduced in version 0.25. """ + ... def is_protected(self) -> bool: r""" @brief True, if this method is protected This method has been introduced in version 0.24. """ + ... def is_signal(self) -> bool: r""" @brief True, if this method is a signal Signals replace events for version 0.25. is_event? is no longer available. """ + ... def is_static(self) -> bool: r""" @brief True, if this method is static (a class method) """ + ... def name(self) -> str: r""" @brief The name string of the method @@ -1568,6 +1814,7 @@ class Method: The preferred method of deriving the overload is to iterate then using \each_overload. """ + ... def primary_name(self) -> str: r""" @brief The primary name of the method @@ -1575,14 +1822,17 @@ class Method: This method has been introduced in version 0.24. """ + ... def python_methods(self) -> str: r""" @brief Gets the Python specific documentation """ + ... def ret_type(self) -> ArgType: r""" @brief The return type of this method """ + ... def to_s(self) -> str: r""" @brief Describes the method @@ -1590,6 +1840,8 @@ class Method: This method has been introduced in version 0.29. """ + ... + ... class MethodOverload: r""" @@ -1600,41 +1852,49 @@ class MethodOverload: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> MethodOverload: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> MethodOverload: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -1642,6 +1902,7 @@ class MethodOverload: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -1649,58 +1910,71 @@ class MethodOverload: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: MethodOverload) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def deprecated(self) -> bool: r""" @brief A value indicating that this overload is deprecated """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> MethodOverload: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_getter(self) -> bool: r""" @brief A value indicating that this overload is a property getter """ + ... def is_predicate(self) -> bool: r""" @brief A value indicating that this overload is a predicate """ + ... def is_setter(self) -> bool: r""" @brief A value indicating that this overload is a property setter """ + ... def name(self) -> str: r""" @brief The name of this overload This is the raw, unadorned name. I.e. no question mark suffix for predicates, no equal character suffix for setters etc. """ + ... + ... class Progress: r""" @@ -1720,6 +1994,7 @@ class Progress: Initially the title is equal to the description. """ + ... desc: str r""" Getter: @@ -1733,33 +2008,39 @@ class Progress: r""" @brief Creates a new object of this class """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -1767,6 +2048,7 @@ class Progress: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -1774,29 +2056,35 @@ class Progress: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... + ... class PythonFunction: r""" @@ -1807,41 +2095,49 @@ class PythonFunction: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> PythonFunction: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> PythonFunction: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -1849,6 +2145,7 @@ class PythonFunction: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -1856,53 +2153,65 @@ class PythonFunction: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: PythonFunction) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> PythonFunction: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def is_protected(self) -> bool: r""" @brief Gets a value indicating whether this function is protected """ + ... def is_static(self) -> bool: r""" @brief Gets the value indicating whether this Python function is 'static' (class function) """ + ... def methods(self) -> List[Method]: r""" @brief Gets the list of methods bound to this Python function """ + ... def name(self) -> str: r""" @brief Gets the name of this Python function """ + ... + ... class PythonGetterSetterPair: r""" @@ -1913,41 +2222,49 @@ class PythonGetterSetterPair: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> PythonGetterSetterPair: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> PythonGetterSetterPair: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -1955,6 +2272,7 @@ class PythonGetterSetterPair: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -1962,45 +2280,55 @@ class PythonGetterSetterPair: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: PythonGetterSetterPair) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> PythonGetterSetterPair: r""" @brief Creates a copy of self """ + ... def getter(self) -> PythonFunction: r""" @brief Gets the getter function """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def setter(self) -> PythonFunction: r""" @brief Gets the setter function """ + ... + ... class Recipe: r""" @@ -2029,38 +2357,45 @@ class Recipe: The generator string is the one delivered with \generator. Additional parameters can be passed in "add_params". They have lower priority than the parameters kept inside the generator string. """ + ... @classmethod def new(cls, name: str, description: Optional[str] = ...) -> Recipe: r""" @brief Creates a new recipe object with the given name and (optional) description """ + ... def __init__(self, name: str, description: Optional[str] = ...) -> None: r""" @brief Creates a new recipe object with the given name and (optional) description """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -2068,6 +2403,7 @@ class Recipe: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -2075,42 +2411,51 @@ class Recipe: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def description(self) -> str: r""" @brief Gets the description of the recipe. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def generator(self, params: Dict[str, Any]) -> str: r""" @brief Delivers the generator string from the given parameters. The generator string can be used with \make to re-run the recipe. """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def name(self) -> str: r""" @brief Gets the name of the recipe. """ + ... + ... class RelativeProgress(Progress): r""" @@ -2142,12 +2487,14 @@ class RelativeProgress(Progress): WARNING: This variable can only be set, not retrieved. @brief sets the output format (sprintf notation) for the progress text """ + ... @property def value(self) -> None: r""" WARNING: This variable can only be set, not retrieved. @brief Sets the progress value """ + ... @overload @classmethod def new(cls, desc: str, max_value: int) -> RelativeProgress: @@ -2157,6 +2504,7 @@ class RelativeProgress(Progress): The reported progress will be 0 to 100% for values between 0 and the maximum value. The values are always integers. Double values cannot be used property. """ + ... @overload @classmethod def new(cls, desc: str, max_value: int, yield_interval: int) -> RelativeProgress: @@ -2168,14 +2516,17 @@ class RelativeProgress(Progress): The yield interval specifies, how often the event loop will be triggered. When the yield interval is 10 for example, the event loop will be executed every tenth call of \inc or \set. """ + ... def __copy__(self) -> RelativeProgress: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> RelativeProgress: r""" @brief Creates a copy of self """ + ... @overload def __init__(self, desc: str, max_value: int) -> None: r""" @@ -2184,6 +2535,7 @@ class RelativeProgress(Progress): The reported progress will be 0 to 100% for values between 0 and the maximum value. The values are always integers. Double values cannot be used property. """ + ... @overload def __init__(self, desc: str, max_value: int, yield_interval: int) -> None: r""" @@ -2194,29 +2546,34 @@ class RelativeProgress(Progress): The yield interval specifies, how often the event loop will be triggered. When the yield interval is 10 for example, the event loop will be executed every tenth call of \inc or \set. """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -2224,6 +2581,7 @@ class RelativeProgress(Progress): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -2231,18 +2589,22 @@ class RelativeProgress(Progress): Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: Progress) -> None: r""" @brief Assigns another object to self """ + ... def dup(self) -> RelativeProgress: r""" @brief Creates a copy of self """ + ... def inc(self) -> RelativeProgress: r""" @brief Increments the progress value """ + ... def set(self, value: int, force_yield: bool) -> None: r""" @brief Sets the progress value @@ -2250,6 +2612,8 @@ class RelativeProgress(Progress): This method is equivalent to \value=, but it allows forcing the event loop to be triggered. If "force_yield" is true, the event loop will be triggered always, irregardless of the yield interval specified in the constructor. """ + ... + ... class Timer: r""" @@ -2276,54 +2640,60 @@ class Timer: This method has been introduced in version 0.27. """ + ... @classmethod def new(cls) -> Timer: r""" @brief Creates a new object of this class """ + ... def __copy__(self) -> Timer: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> Timer: r""" @brief Creates a copy of self """ + ... def __init__(self) -> None: r""" @brief Creates a new object of this class """ - def __repr__(self) -> str: - r""" - @brief Produces a string with the currently elapsed times - """ + ... def __str__(self) -> str: r""" @brief Produces a string with the currently elapsed times """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -2331,6 +2701,7 @@ class Timer: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -2338,62 +2709,76 @@ class Timer: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: Timer) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> Timer: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def start(self) -> None: r""" @brief Starts the timer """ + ... def stop(self) -> None: r""" @brief Stops the timer """ + ... def sys(self) -> float: r""" @brief Returns the elapsed CPU time in kernel mode from start to stop in seconds """ + ... def to_s(self) -> str: r""" @brief Produces a string with the currently elapsed times """ + ... def user(self) -> float: r""" @brief Returns the elapsed CPU time in user mode from start to stop in seconds """ + ... def wall(self) -> float: r""" @brief Returns the elapsed real time from start to stop in seconds This method has been introduced in version 0.26. """ + ... + ... class Value: r""" @@ -2415,6 +2800,7 @@ class Value: r""" @brief Constructs a nil object. """ + ... @overload @classmethod def new(cls, value: Any) -> Value: @@ -2422,56 +2808,62 @@ class Value: @brief Constructs a non-nil object with the given value. This constructor has been introduced in version 0.22. """ + ... def __copy__(self) -> Value: r""" @brief Creates a copy of self """ + ... def __deepcopy__(self) -> Value: r""" @brief Creates a copy of self """ + ... @overload def __init__(self) -> None: r""" @brief Constructs a nil object. """ + ... @overload def __init__(self, value: Any) -> None: r""" @brief Constructs a non-nil object with the given value. This constructor has been introduced in version 0.22. """ - def __repr__(self) -> str: - r""" - @brief Convert this object to a string - """ + ... def __str__(self) -> str: r""" @brief Convert this object to a string """ + ... def _create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def _destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def _destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def _is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def _manage(self) -> None: r""" @brief Marks the object as managed by the script side. @@ -2479,6 +2871,7 @@ class Value: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def _unmanage(self) -> None: r""" @brief Marks the object as no longer owned by the script side. @@ -2486,39 +2879,48 @@ class Value: Usually it's not required to call this method. It has been introduced in version 0.24. """ + ... def assign(self, other: Value) -> None: r""" @brief Assigns another object to self """ + ... def create(self) -> None: r""" @brief Ensures the C++ object is created Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created. """ + ... def destroy(self) -> None: r""" @brief Explicitly destroys the object Explicitly destroys the object on C++ side if it was owned by the script interpreter. Subsequent access to this object will throw an exception. If the object is not owned by the script, this method will do nothing. """ + ... def destroyed(self) -> bool: r""" @brief Returns a value indicating whether the object was already destroyed This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself. """ + ... def dup(self) -> Value: r""" @brief Creates a copy of self """ + ... def is_const_object(self) -> bool: r""" @brief Returns a value indicating whether the reference is a const reference This method returns true, if self is a const reference. In that case, only const methods may be called on self. """ + ... def to_s(self) -> str: r""" @brief Convert this object to a string """ + ... + ...