Get PCell information
PCell =
device
Get PCell name
name =
device.name
Get PCell region
region =
fp.get_bounding_box(device)(min_x, min_y), (max_x, max_y) = fp.get_bounding_box(device)
Get ports information
Get the number of ports:
Get total number of ports:
len(device.ports)Get left ports:
gpdk.port_util.get_left_ports(device)Get right ports:
gpdk.port_util.get_right_ports(device)
orientation:
device[”op_0”].orientationwaveguide_type:
device[”op_0”].waveguide_typewaveguide width:
device[”op_0”].waveguide_type.core_widthposition (x, y):
device[”op_0”].position[0],device[”op_0”].position[1]
Get two points relative information
Here we would like to know some information e.g. distance, angle, between two points(points can be acquired by curve_points of a curve or the position of the ports)
Distance of the two points:
fp.distance_between(pointA, pointB)Middle point of the two points:
fp.midpoint_between(pointA, pointB)- Angle between two points:
fp.angle_between(pointA, pointB) This function returns the radian of the angle.
- Angle between two points: