SizeInfo¶
The i3.SizeInfo object stores information about the twodimensional extent of a
geometrical object or a layout object. It can be used to perform further calculations.
object which describes the bounding box of a shape, element or structure. |
Retrieving the size info¶
Every i3.Shape has a property size_info which retrieves a
i3.SizeInfo object.
import ipkiss3.all as i3
circle = i3.ShapeCircle(center=(5.0, 5.0), radius=4.0)
circle_sz = circle.size_info
print("height: {}".format(circle_sz.height))
print("west: {}".format(circle_sz.west))
Elements (like i3.Boundary, i3.Path, …)
and i3.ElementList have a size_info() method which can be called
to retieve their size information.
import ipkiss3.all as i3
circle = i3.Circle(layer=i3.Layer(0), center=(5.0, 5.0), radius=4.0)
circle_sz = circle.size_info()
print("height: {}".format(circle_sz.height))
print("west: {}".format(circle_sz.west))
import ipkiss3.all as i3
rect1 = i3.Rectangle(layer=i3.Layer(0), box_size=(10.0, 5.0))
rect2 = i3.Rectangle(layer=i3.Layer(0), center=(20.0, 0.0), box_size=(10.0, 5.0))
elements = i3.ElementList([rect1, rect2])
elements_sz = elements.size_info()
print(elements_sz)
Operations¶
i3.SizeInfo objects support addition and comparison.
For example, the size information of multiple shapes, elements or layouts
can be added to each other and the result will be the size of the combination.
import ipkiss3.all as i3
rect1 = i3.Rectangle(layer=i3.Layer(0), box_size=(10.0, 5.0))
rect2 = i3.Rectangle(layer=i3.Layer(0), center=(20.0, 0.0), box_size=(10.0, 5.0))
total_sz = rect1.size_info() + rect2.size_info()
print(total_sz)