1
1
"""Primitive classes."""
2
+ from __future__ import annotations
3
+
4
+ from typing import TYPE_CHECKING
5
+
6
+ if TYPE_CHECKING :
7
+ from ansys .edb .core .layout .layout import Layout
8
+ from ansys .edb .core .typing import ValueLike , PointLike
9
+ from ansys .edb .core .geometry .polygon_data import PolygonData
2
10
3
11
from ansys .api .edb .v1 import board_bend_def_pb2 , board_bend_def_pb2_grpc
4
12
@@ -14,16 +22,23 @@ class BoardBendDef(Primitive):
14
22
__stub : board_bend_def_pb2_grpc .BoardBendDefServiceStub = StubAccessor (StubType .board_bend_def )
15
23
16
24
@classmethod
17
- def create (cls , layout , zone_prim , bend_middle , bend_radius , bend_angle ):
25
+ def create (
26
+ cls ,
27
+ layout : Layout ,
28
+ zone_prim : Primitive ,
29
+ bend_middle : PointLike ,
30
+ bend_radius : ValueLike ,
31
+ bend_angle : ValueLike ,
32
+ ) -> BoardBendDef :
18
33
"""Create a board bend definition.
19
34
20
35
Parameters
21
36
----------
22
- layout : :class:` .Layout`
37
+ layout : .Layout
23
38
Layout to create the board bend definition in.
24
- zone_prim : :class:` .Primitive`
39
+ zone_prim : .Primitive
25
40
Zone primitive to create the board bend definition on.
26
- bend_middle : (:term:`Point2DLike`, :term:`Point2DLike`)
41
+ bend_middle : tuple of (:term:`Point2DLike`, :term:`Point2DLike`)
27
42
Tuple containing the starting and ending points of the line that represents
28
43
the middle of the bend.
29
44
bend_radius : :term:`ValueLike`
@@ -49,7 +64,7 @@ def create(cls, layout, zone_prim, bend_middle, bend_radius, bend_angle):
49
64
)
50
65
51
66
@property
52
- def boundary_primitive (self ):
67
+ def boundary_primitive (self ) -> Primitive :
53
68
""":class:`.Primitive`: Zone primitive the board bend is placed on.
54
69
55
70
This property is read-only.
@@ -58,35 +73,35 @@ def boundary_primitive(self):
58
73
59
74
@property
60
75
@parser .to_point_data_pair
61
- def bend_middle (self ):
76
+ def bend_middle (self ) -> tuple [ PointLike , PointLike ] :
62
77
"""(:term:`Point2DLike`, :term:`Point2DLike`): Tuple of the bend middle based on starting and ending points."""
63
78
return self .__stub .GetBendMiddle (self .msg )
64
79
65
80
@bend_middle .setter
66
- def bend_middle (self , bend_middle ):
81
+ def bend_middle (self , bend_middle : tuple [ PointLike , PointLike ] ):
67
82
self .__stub .SetBendMiddle (messages .point_pair_property_message (self , bend_middle ))
68
83
69
84
@property
70
- def radius (self ):
71
- """:term:`ValueLike `: Radius of the bend."""
85
+ def radius (self ) -> Value :
86
+ """:class:`.Value `: Radius of the bend."""
72
87
return Value (self .__stub .GetRadius (self .msg ))
73
88
74
89
@radius .setter
75
- def radius (self , val ):
90
+ def radius (self , val : ValueLike ):
76
91
self .__stub .SetRadius (messages .value_property_message (self , val ))
77
92
78
93
@property
79
- def angle (self ):
80
- """:term:`ValueLike `: Angle of the bend."""
94
+ def angle (self ) -> Value :
95
+ """:class:`.Value `: Angle of the bend."""
81
96
return Value (self .__stub .GetAngle (self .msg ))
82
97
83
98
@angle .setter
84
- def angle (self , val ):
99
+ def angle (self , val : ValueLike ):
85
100
self .__stub .SetAngle (messages .value_property_message (self , val ))
86
101
87
102
@property
88
103
@parser .to_polygon_data_list
89
- def bent_regions (self ):
104
+ def bent_regions (self ) -> list [ PolygonData ] :
90
105
""":obj:`list` of :class:`.PolygonData`: Bent region polygons.
91
106
92
107
This list of a collection of polygon data represents the areas bent by the bend definition.
0 commit comments