92 for (gfx_list = cell->
graphic_objs; gfx_list != NULL; gfx_list = gfx_list->next) {
98 for (sub_cell_list = cell->
child_cells; sub_cell_list != NULL;
99 sub_cell_list = sub_cell_list->next) {
Calculation of gds_cell geometrics.
@ GRAPHIC_POLYGON
An arbitrary polygon.
@ GRAPHIC_PATH
Path. Esentially a line.
@ GRAPHIC_BOX
A rectangle.
void calculate_cell_bounding_box(union bounding_box *box, struct gds_cell *cell)
Calculate bounding box of a gds cell.
void bounding_box_prepare_empty(union bounding_box *box)
Prepare an empty bounding box.
void bounding_box_update_with_path(GList *vertices, double thickness, conv_generic_to_vector_2d_t conv_func, union bounding_box *box)
Calculate the bounding box of a path and update the given bounding box.
static void update_box_with_gfx(union bounding_box *box, struct gds_graphics *gfx)
Update the given bounding box with the bounding box of a graphics element.
void(* conv_generic_to_vector_2d_t)(void *, struct vector_2d *)
void bounding_box_apply_transform(double scale, double rotation_deg, bool flip_at_x, union bounding_box *box)
Apply transformations onto bounding box.
void bounding_box_calculate_from_polygon(GList *vertices, conv_generic_to_vector_2d_t conv_func, union bounding_box *box)
Calculate bounding box of polygon.
static void convert_gds_point_to_2d_vector(struct gds_point *pt, struct vector_2d *vector)
void bounding_box_update_with_box(union bounding_box *destination, union bounding_box *update)
Update an exisitng bounding box with another one.
struct vector_2d upper_right
Upper right point of the bounding box.
struct vector_2d lower_left
Lower left point of the bounding box.
This represents an instanc of a cell inside another cell.
int flipped
Mirrored on x-axis before rotation.
double angle
Angle of rotation (counter clockwise) in degrees.
double magnification
magnification
struct gds_cell * cell_ref
Referenced gds_cell structure.
struct gds_point origin
Origin.
A Cell inside a gds_library.
GList * child_cells
List of gds_cell_instance elements.
GList * graphic_objs
List of gds_graphics.
enum graphics_type gfx_type
Type of graphic.
int width_absolute
Width. Not used for objects other than paths.
GList * vertices
List of gds_point.
A point in the 2D plane. Sometimes referred to as vertex.
Union describing a bounding box.
struct bounding_box::_vectors vectors