pyedb 0.49.0__py3-none-any.whl → 0.50.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pyedb might be problematic. Click here for more details.
- pyedb/__init__.py +1 -1
- pyedb/configuration/cfg_modeler.py +42 -11
- pyedb/configuration/cfg_ports_sources.py +9 -1
- pyedb/dotnet/database/cell/hierarchy/component.py +6 -6
- pyedb/dotnet/database/components.py +3 -3
- pyedb/dotnet/database/edb_data/padstacks_data.py +13 -0
- pyedb/dotnet/database/edb_data/primitives_data.py +3 -3
- pyedb/dotnet/database/edb_data/variables.py +3 -3
- pyedb/dotnet/database/materials.py +16 -16
- pyedb/dotnet/database/modeler.py +38 -4
- pyedb/dotnet/database/sim_setup_data/data/settings.py +28 -0
- pyedb/dotnet/database/stackup.py +1 -0
- pyedb/dotnet/database/utilities/hfss_simulation_setup.py +5 -6
- pyedb/dotnet/edb.py +22 -20
- pyedb/extensions/__init__.py +0 -0
- pyedb/extensions/via_design_backend.py +681 -0
- pyedb/grpc/database/components.py +537 -686
- pyedb/grpc/database/control_file.py +458 -149
- pyedb/grpc/database/definition/component_def.py +17 -14
- pyedb/grpc/database/definition/materials.py +60 -60
- pyedb/grpc/database/definition/package_def.py +8 -8
- pyedb/grpc/database/definition/padstack_def.py +31 -33
- pyedb/grpc/database/definitions.py +6 -4
- pyedb/grpc/database/geometry/arc_data.py +5 -5
- pyedb/grpc/database/geometry/point_3d_data.py +3 -3
- pyedb/grpc/database/geometry/polygon_data.py +5 -5
- pyedb/grpc/database/hfss.py +399 -397
- pyedb/grpc/database/hierarchy/component.py +60 -58
- pyedb/grpc/database/hierarchy/pin_pair_model.py +6 -6
- pyedb/grpc/database/hierarchy/pingroup.py +13 -11
- pyedb/grpc/database/hierarchy/s_parameter_model.py +1 -1
- pyedb/grpc/database/hierarchy/spice_model.py +1 -1
- pyedb/grpc/database/layers/layer.py +2 -2
- pyedb/grpc/database/layers/stackup_layer.py +144 -44
- pyedb/grpc/database/layout/layout.py +12 -12
- pyedb/grpc/database/layout/voltage_regulator.py +8 -8
- pyedb/grpc/database/layout_validation.py +5 -5
- pyedb/grpc/database/modeler.py +248 -245
- pyedb/grpc/database/net/differential_pair.py +4 -4
- pyedb/grpc/database/net/extended_net.py +7 -8
- pyedb/grpc/database/net/net.py +57 -46
- pyedb/grpc/database/nets.py +139 -122
- pyedb/grpc/database/padstacks.py +174 -190
- pyedb/grpc/database/ports/ports.py +23 -17
- pyedb/grpc/database/primitive/padstack_instance.py +45 -30
- pyedb/grpc/database/primitive/path.py +7 -7
- pyedb/grpc/database/primitive/polygon.py +9 -9
- pyedb/grpc/database/primitive/primitive.py +21 -21
- pyedb/grpc/database/primitive/rectangle.py +1 -1
- pyedb/grpc/database/simulation_setup/hfss_advanced_settings.py +1 -1
- pyedb/grpc/database/simulation_setup/hfss_general_settings.py +1 -1
- pyedb/grpc/database/simulation_setup/hfss_settings_options.py +1 -1
- pyedb/grpc/database/simulation_setup/hfss_simulation_settings.py +6 -6
- pyedb/grpc/database/simulation_setup/hfss_simulation_setup.py +2 -2
- pyedb/grpc/database/simulation_setup/raptor_x_simulation_settings.py +2 -2
- pyedb/grpc/database/simulation_setup/raptor_x_simulation_setup.py +1 -1
- pyedb/grpc/database/simulation_setup/siwave_simulation_setup.py +3 -3
- pyedb/grpc/database/siwave.py +166 -214
- pyedb/grpc/database/source_excitations.py +156 -0
- pyedb/grpc/database/stackup.py +415 -316
- pyedb/grpc/database/terminal/bundle_terminal.py +12 -12
- pyedb/grpc/database/terminal/edge_terminal.py +6 -5
- pyedb/grpc/database/terminal/padstack_instance_terminal.py +13 -13
- pyedb/grpc/database/terminal/pingroup_terminal.py +12 -12
- pyedb/grpc/database/terminal/point_terminal.py +6 -6
- pyedb/grpc/database/terminal/terminal.py +26 -26
- pyedb/grpc/database/utility/heat_sink.py +5 -5
- pyedb/grpc/database/utility/hfss_extent_info.py +21 -21
- pyedb/grpc/database/utility/layout_statistics.py +13 -13
- pyedb/grpc/database/utility/rlc.py +3 -3
- pyedb/grpc/database/utility/sources.py +1 -1
- pyedb/grpc/database/utility/sweep_data_distribution.py +1 -1
- pyedb/grpc/edb.py +524 -764
- {pyedb-0.49.0.dist-info → pyedb-0.50.1.dist-info}/METADATA +1 -1
- {pyedb-0.49.0.dist-info → pyedb-0.50.1.dist-info}/RECORD +77 -77
- pyedb/extensions/pre_layout_design_toolkit/via_design.py +0 -1151
- pyedb/grpc/database/utility/simulation_configuration.py +0 -3305
- {pyedb-0.49.0.dist-info → pyedb-0.50.1.dist-info}/LICENSE +0 -0
- {pyedb-0.49.0.dist-info → pyedb-0.50.1.dist-info}/WHEEL +0 -0
|
@@ -84,7 +84,7 @@ class PadProperties:
|
|
|
84
84
|
return p_val
|
|
85
85
|
|
|
86
86
|
@property
|
|
87
|
-
def geometry_type(self):
|
|
87
|
+
def geometry_type(self) -> float:
|
|
88
88
|
"""Geometry type.
|
|
89
89
|
|
|
90
90
|
Returns
|
|
@@ -99,7 +99,7 @@ class PadProperties:
|
|
|
99
99
|
return self._pad_parameter_value[0]
|
|
100
100
|
|
|
101
101
|
@property
|
|
102
|
-
def shape(self):
|
|
102
|
+
def shape(self) -> str:
|
|
103
103
|
"""Pad shape.
|
|
104
104
|
|
|
105
105
|
Returns
|
|
@@ -123,6 +123,12 @@ class PadProperties:
|
|
|
123
123
|
except TypeError:
|
|
124
124
|
return []
|
|
125
125
|
|
|
126
|
+
@parameters_values.setter
|
|
127
|
+
def parameters_values(self, value):
|
|
128
|
+
if isinstance(value, (float, str)):
|
|
129
|
+
value = [value]
|
|
130
|
+
self._update_pad_parameters_parameters(params=value)
|
|
131
|
+
|
|
126
132
|
@property
|
|
127
133
|
def parameters_values_string(self):
|
|
128
134
|
"""Parameters value in string format."""
|
|
@@ -132,7 +138,7 @@ class PadProperties:
|
|
|
132
138
|
return []
|
|
133
139
|
|
|
134
140
|
@property
|
|
135
|
-
def polygon_data(self):
|
|
141
|
+
def polygon_data(self) -> GrpcPolygonData:
|
|
136
142
|
"""Parameters.
|
|
137
143
|
|
|
138
144
|
Returns
|
|
@@ -144,7 +150,7 @@ class PadProperties:
|
|
|
144
150
|
return p if isinstance(p, ansys.edb.core.geometry.polygon_data.PolygonData) else None
|
|
145
151
|
|
|
146
152
|
@property
|
|
147
|
-
def offset_x(self):
|
|
153
|
+
def offset_x(self) -> float:
|
|
148
154
|
"""Offset for the X axis.
|
|
149
155
|
|
|
150
156
|
Returns
|
|
@@ -155,7 +161,7 @@ class PadProperties:
|
|
|
155
161
|
return self._pad_parameter_value[2].value
|
|
156
162
|
|
|
157
163
|
@property
|
|
158
|
-
def offset_y(self):
|
|
164
|
+
def offset_y(self) -> float:
|
|
159
165
|
"""Offset for the Y axis.
|
|
160
166
|
|
|
161
167
|
Returns
|
|
@@ -175,7 +181,7 @@ class PadProperties:
|
|
|
175
181
|
self._update_pad_parameters_parameters(offsety=value)
|
|
176
182
|
|
|
177
183
|
@property
|
|
178
|
-
def rotation(self):
|
|
184
|
+
def rotation(self) -> float:
|
|
179
185
|
"""Rotation.
|
|
180
186
|
|
|
181
187
|
Returns
|
|
@@ -190,16 +196,6 @@ class PadProperties:
|
|
|
190
196
|
def rotation(self, value):
|
|
191
197
|
self._update_pad_parameters_parameters(rotation=value)
|
|
192
198
|
|
|
193
|
-
@rotation.setter
|
|
194
|
-
def rotation(self, value):
|
|
195
|
-
self._update_pad_parameters_parameters(rotation=value)
|
|
196
|
-
|
|
197
|
-
@parameters_values.setter
|
|
198
|
-
def parameters_values(self, value):
|
|
199
|
-
if isinstance(value, (float, str)):
|
|
200
|
-
value = [value]
|
|
201
|
-
self._update_pad_parameters_parameters(params=value)
|
|
202
|
-
|
|
203
199
|
def _update_pad_parameters_parameters(
|
|
204
200
|
self,
|
|
205
201
|
layer_name=None,
|
|
@@ -272,7 +268,7 @@ class PadstackDef(GrpcPadstackDef):
|
|
|
272
268
|
self._bounding_box = []
|
|
273
269
|
|
|
274
270
|
@property
|
|
275
|
-
def instances(self):
|
|
271
|
+
def instances(self) -> list[any]:
|
|
276
272
|
"""Definitions Instances.
|
|
277
273
|
|
|
278
274
|
Returns
|
|
@@ -283,7 +279,7 @@ class PadstackDef(GrpcPadstackDef):
|
|
|
283
279
|
return [i for i in list(self._pedb.padstacks.instances.values()) if i.padstack_def.name == self.name]
|
|
284
280
|
|
|
285
281
|
@property
|
|
286
|
-
def layers(self):
|
|
282
|
+
def layers(self) -> list[str]:
|
|
287
283
|
"""Layers.
|
|
288
284
|
|
|
289
285
|
Returns
|
|
@@ -316,7 +312,7 @@ class PadstackDef(GrpcPadstackDef):
|
|
|
316
312
|
return self.layers[-1]
|
|
317
313
|
|
|
318
314
|
@property
|
|
319
|
-
def hole_diameter(self):
|
|
315
|
+
def hole_diameter(self) -> float:
|
|
320
316
|
"""Hole diameter.
|
|
321
317
|
|
|
322
318
|
Returns
|
|
@@ -354,7 +350,7 @@ class PadstackDef(GrpcPadstackDef):
|
|
|
354
350
|
)
|
|
355
351
|
|
|
356
352
|
@property
|
|
357
|
-
def hole_type(self):
|
|
353
|
+
def hole_type(self) -> float:
|
|
358
354
|
"""Holy type.
|
|
359
355
|
|
|
360
356
|
Returns
|
|
@@ -378,7 +374,7 @@ class PadstackDef(GrpcPadstackDef):
|
|
|
378
374
|
return self.data.get_hole_parameters()[0]
|
|
379
375
|
|
|
380
376
|
@property
|
|
381
|
-
def hole_offset_x(self):
|
|
377
|
+
def hole_offset_x(self) -> float:
|
|
382
378
|
"""Hole offset for the X axis.
|
|
383
379
|
|
|
384
380
|
Returns
|
|
@@ -404,7 +400,7 @@ class PadstackDef(GrpcPadstackDef):
|
|
|
404
400
|
)
|
|
405
401
|
|
|
406
402
|
@property
|
|
407
|
-
def hole_offset_y(self):
|
|
403
|
+
def hole_offset_y(self) -> float:
|
|
408
404
|
"""Hole offset for the Y axis.
|
|
409
405
|
|
|
410
406
|
Returns
|
|
@@ -430,7 +426,7 @@ class PadstackDef(GrpcPadstackDef):
|
|
|
430
426
|
)
|
|
431
427
|
|
|
432
428
|
@property
|
|
433
|
-
def hole_rotation(self):
|
|
429
|
+
def hole_rotation(self) -> float:
|
|
434
430
|
"""Hole rotation.
|
|
435
431
|
|
|
436
432
|
Returns
|
|
@@ -456,7 +452,7 @@ class PadstackDef(GrpcPadstackDef):
|
|
|
456
452
|
)
|
|
457
453
|
|
|
458
454
|
@property
|
|
459
|
-
def pad_by_layer(self):
|
|
455
|
+
def pad_by_layer(self) -> dict[str, PadProperties]:
|
|
460
456
|
"""Pad by layer.
|
|
461
457
|
|
|
462
458
|
Returns
|
|
@@ -473,7 +469,7 @@ class PadstackDef(GrpcPadstackDef):
|
|
|
473
469
|
return self._pad_by_layer
|
|
474
470
|
|
|
475
471
|
@property
|
|
476
|
-
def antipad_by_layer(self):
|
|
472
|
+
def antipad_by_layer(self) -> dict[str, PadProperties]:
|
|
477
473
|
"""Antipad by layer.
|
|
478
474
|
|
|
479
475
|
Returns
|
|
@@ -490,7 +486,7 @@ class PadstackDef(GrpcPadstackDef):
|
|
|
490
486
|
return self._antipad_by_layer
|
|
491
487
|
|
|
492
488
|
@property
|
|
493
|
-
def thermalpad_by_layer(self):
|
|
489
|
+
def thermalpad_by_layer(self) -> dict[str, PadProperties]:
|
|
494
490
|
"""Thermal by layer.
|
|
495
491
|
|
|
496
492
|
Returns
|
|
@@ -507,7 +503,7 @@ class PadstackDef(GrpcPadstackDef):
|
|
|
507
503
|
return self._thermalpad_by_layer
|
|
508
504
|
|
|
509
505
|
@property
|
|
510
|
-
def hole_plating_ratio(self):
|
|
506
|
+
def hole_plating_ratio(self) -> float:
|
|
511
507
|
"""Hole plating ratio.
|
|
512
508
|
|
|
513
509
|
Returns
|
|
@@ -522,7 +518,7 @@ class PadstackDef(GrpcPadstackDef):
|
|
|
522
518
|
self.data.plating_percentage = GrpcValue(ratio)
|
|
523
519
|
|
|
524
520
|
@property
|
|
525
|
-
def hole_plating_thickness(self):
|
|
521
|
+
def hole_plating_thickness(self) -> float:
|
|
526
522
|
"""Hole plating thickness.
|
|
527
523
|
|
|
528
524
|
Returns
|
|
@@ -551,7 +547,7 @@ class PadstackDef(GrpcPadstackDef):
|
|
|
551
547
|
self.hole_plating_ratio = hr
|
|
552
548
|
|
|
553
549
|
@property
|
|
554
|
-
def hole_finished_size(self):
|
|
550
|
+
def hole_finished_size(self) -> float:
|
|
555
551
|
"""Finished hole size.
|
|
556
552
|
|
|
557
553
|
Returns
|
|
@@ -568,7 +564,7 @@ class PadstackDef(GrpcPadstackDef):
|
|
|
568
564
|
return 0.0
|
|
569
565
|
|
|
570
566
|
@property
|
|
571
|
-
def hole_range(self):
|
|
567
|
+
def hole_range(self) -> str:
|
|
572
568
|
"""Get hole range value from padstack definition.
|
|
573
569
|
|
|
574
570
|
Returns
|
|
@@ -597,7 +593,7 @@ class PadstackDef(GrpcPadstackDef):
|
|
|
597
593
|
self.data.hole_range = GrpcPadstackHoleRange.UNKNOWN_RANGE
|
|
598
594
|
|
|
599
595
|
@property
|
|
600
|
-
def material(self):
|
|
596
|
+
def material(self) -> str:
|
|
601
597
|
"""Return hole material name."""
|
|
602
598
|
return self.data.material.value
|
|
603
599
|
|
|
@@ -605,7 +601,9 @@ class PadstackDef(GrpcPadstackDef):
|
|
|
605
601
|
def material(self, value):
|
|
606
602
|
self.data.material.value = value
|
|
607
603
|
|
|
608
|
-
def convert_to_3d_microvias(
|
|
604
|
+
def convert_to_3d_microvias(
|
|
605
|
+
self, convert_only_signal_vias=True, hole_wall_angle=15, delete_padstack_def=True
|
|
606
|
+
) -> bool:
|
|
609
607
|
"""Convert actual padstack instance to microvias 3D Objects with a given aspect ratio.
|
|
610
608
|
|
|
611
609
|
Parameters
|
|
@@ -738,7 +736,7 @@ class PadstackDef(GrpcPadstackDef):
|
|
|
738
736
|
self._pedb.logger.info(f"{i} Converted successfully to 3D Objects.")
|
|
739
737
|
return True
|
|
740
738
|
|
|
741
|
-
def split_to_microvias(self):
|
|
739
|
+
def split_to_microvias(self) -> list[any]:
|
|
742
740
|
"""Convert actual padstack definition to multiple microvias definitions.
|
|
743
741
|
|
|
744
742
|
Returns
|
|
@@ -20,6 +20,8 @@
|
|
|
20
20
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
21
|
# SOFTWARE.
|
|
22
22
|
|
|
23
|
+
from typing import Union
|
|
24
|
+
|
|
23
25
|
from ansys.edb.core.geometry.polygon_data import PolygonData as GrpcPolygonData
|
|
24
26
|
|
|
25
27
|
from pyedb.grpc.database.definition.component_def import ComponentDef
|
|
@@ -31,16 +33,16 @@ class Definitions:
|
|
|
31
33
|
self._pedb = pedb
|
|
32
34
|
|
|
33
35
|
@property
|
|
34
|
-
def component(self):
|
|
36
|
+
def component(self) -> dict[str, ComponentDef]:
|
|
35
37
|
"""Component definitions"""
|
|
36
38
|
return {l.name: ComponentDef(self._pedb, l) for l in self._pedb.active_db.component_defs}
|
|
37
39
|
|
|
38
40
|
@property
|
|
39
|
-
def package(self):
|
|
41
|
+
def package(self) -> dict[str, PackageDef]:
|
|
40
42
|
"""Package definitions."""
|
|
41
43
|
return {l.name: PackageDef(self._pedb, l) for l in self._pedb.active_db.package_defs}
|
|
42
44
|
|
|
43
|
-
def add_package_def(self, name, component_part_name=None, boundary_points=None):
|
|
45
|
+
def add_package_def(self, name, component_part_name=None, boundary_points=None) -> Union[PackageDef, bool]:
|
|
44
46
|
"""Add a package definition.
|
|
45
47
|
|
|
46
48
|
Parameters
|
|
@@ -54,7 +56,7 @@ class Definitions:
|
|
|
54
56
|
|
|
55
57
|
Returns
|
|
56
58
|
-------
|
|
57
|
-
|
|
59
|
+
PackageDef object.
|
|
58
60
|
"""
|
|
59
61
|
if not name in self.package:
|
|
60
62
|
package_def = PackageDef.create(self._pedb.active_db, name=name)
|
|
@@ -33,7 +33,7 @@ class ArcData(GrpcArcData):
|
|
|
33
33
|
super.__init__(edb_object.start, edb_object.end, optional)
|
|
34
34
|
|
|
35
35
|
@property
|
|
36
|
-
def center(self):
|
|
36
|
+
def center(self) -> list[float]:
|
|
37
37
|
"""Arc data center.
|
|
38
38
|
|
|
39
39
|
Returns
|
|
@@ -45,7 +45,7 @@ class ArcData(GrpcArcData):
|
|
|
45
45
|
return [self.center.x.value, self.center.y.value]
|
|
46
46
|
|
|
47
47
|
@property
|
|
48
|
-
def start(self):
|
|
48
|
+
def start(self) -> list[float]:
|
|
49
49
|
"""Arc data start point.
|
|
50
50
|
|
|
51
51
|
Returns
|
|
@@ -57,7 +57,7 @@ class ArcData(GrpcArcData):
|
|
|
57
57
|
return [self.start.x.value, self.start.y.value]
|
|
58
58
|
|
|
59
59
|
@property
|
|
60
|
-
def end(self):
|
|
60
|
+
def end(self) -> list[float]:
|
|
61
61
|
"""Arc data end point.
|
|
62
62
|
|
|
63
63
|
Returns
|
|
@@ -69,7 +69,7 @@ class ArcData(GrpcArcData):
|
|
|
69
69
|
return [self.end.x.value, self.end.y.value]
|
|
70
70
|
|
|
71
71
|
@property
|
|
72
|
-
def mid_point(self):
|
|
72
|
+
def mid_point(self) -> list[float]:
|
|
73
73
|
"""Arc data mid point.
|
|
74
74
|
|
|
75
75
|
Returns
|
|
@@ -81,7 +81,7 @@ class ArcData(GrpcArcData):
|
|
|
81
81
|
return [self.midpoint.x.value, self.midpoint.y.value]
|
|
82
82
|
|
|
83
83
|
@property
|
|
84
|
-
def points(self):
|
|
84
|
+
def points(self) -> list[list[float]]:
|
|
85
85
|
"""Arc data points.
|
|
86
86
|
|
|
87
87
|
Returns
|
|
@@ -31,7 +31,7 @@ class Point3DData(GrpcPoint3DData):
|
|
|
31
31
|
super().__init__(x, y, z)
|
|
32
32
|
|
|
33
33
|
@property
|
|
34
|
-
def x(self):
|
|
34
|
+
def x(self) -> float:
|
|
35
35
|
"""X position.
|
|
36
36
|
|
|
37
37
|
Returns
|
|
@@ -47,7 +47,7 @@ class Point3DData(GrpcPoint3DData):
|
|
|
47
47
|
self.x = GrpcValue(value)
|
|
48
48
|
|
|
49
49
|
@property
|
|
50
|
-
def y(self):
|
|
50
|
+
def y(self) -> float:
|
|
51
51
|
"""Y position.
|
|
52
52
|
|
|
53
53
|
Returns
|
|
@@ -63,7 +63,7 @@ class Point3DData(GrpcPoint3DData):
|
|
|
63
63
|
self.y = GrpcValue(value)
|
|
64
64
|
|
|
65
65
|
@property
|
|
66
|
-
def z(self):
|
|
66
|
+
def z(self) -> float:
|
|
67
67
|
"""Z position.
|
|
68
68
|
|
|
69
69
|
Returns
|
|
@@ -54,7 +54,7 @@ class PolygonData(GrpcPolygonData):
|
|
|
54
54
|
self._edb_object = edb_object
|
|
55
55
|
|
|
56
56
|
@property
|
|
57
|
-
def bounding_box(self):
|
|
57
|
+
def bounding_box(self) -> list[float]:
|
|
58
58
|
"""Bounding box.
|
|
59
59
|
|
|
60
60
|
Returns
|
|
@@ -68,7 +68,7 @@ class PolygonData(GrpcPolygonData):
|
|
|
68
68
|
return [bbox[0].x.value, bbox[0].xyvalue, bbox[1].x.value, bbox[1].y.value]
|
|
69
69
|
|
|
70
70
|
@property
|
|
71
|
-
def arcs(self):
|
|
71
|
+
def arcs(self) -> list[ArcData]:
|
|
72
72
|
"""Get the Primitive Arc Data.
|
|
73
73
|
|
|
74
74
|
Returns
|
|
@@ -79,7 +79,7 @@ class PolygonData(GrpcPolygonData):
|
|
|
79
79
|
return arcs
|
|
80
80
|
|
|
81
81
|
@property
|
|
82
|
-
def points(self):
|
|
82
|
+
def points(self) -> list[list[float]]:
|
|
83
83
|
"""Get all points in polygon.
|
|
84
84
|
|
|
85
85
|
Returns
|
|
@@ -95,7 +95,7 @@ class PolygonData(GrpcPolygonData):
|
|
|
95
95
|
return PolygonData.create_from_points(points=list_of_point_data, closed=closed)
|
|
96
96
|
|
|
97
97
|
@staticmethod
|
|
98
|
-
def create_from_bounding_box(points):
|
|
98
|
+
def create_from_bounding_box(points) -> GrpcPolygonData:
|
|
99
99
|
"""Create PolygonData from point list.
|
|
100
100
|
|
|
101
101
|
Returns
|
|
@@ -105,7 +105,7 @@ class PolygonData(GrpcPolygonData):
|
|
|
105
105
|
"""
|
|
106
106
|
return PolygonData.create_from_bounding_box(points=points)
|
|
107
107
|
|
|
108
|
-
def expand(self, offset=0.001, tolerance=1e-12, round_corners=True, maximum_corner_extension=0.001):
|
|
108
|
+
def expand(self, offset=0.001, tolerance=1e-12, round_corners=True, maximum_corner_extension=0.001) -> bool:
|
|
109
109
|
"""Expand the polygon shape by an absolute value in all direction.
|
|
110
110
|
Offset can be negative for negative expansion.
|
|
111
111
|
|