gdsfactory.cross_section.CrossSection#
- class gdsfactory.cross_section.CrossSection(*, sections=<factory>, components_along_path=<factory>, radius=None, radius_min=None, bbox_layers=None, bbox_offsets=None)[source]#
Waveguide information to extrude a path.
- Parameters:
sections (tuple[Section, ...]) – tuple of Sections(width, offset, layer, ports).
components_along_path (tuple[ComponentAlongPath, ...]) – tuple of ComponentAlongPaths.
radius (float | None) – default bend radius for routing (um).
radius_min (float | None) – minimum acceptable bend radius.
bbox_layers (Sequence[tuple[int, int] | str | int | LayerEnum] | None) – layer to add as bounding box.
bbox_offsets (Sequence[float] | None) – offset to add to the bounding box.
┌────────────────────────────────────────────────────────────┐ │ │ │ │ │ boox_layer │ │ │ │ ┌──────────────────────────────────────┐ │ │ │ ▲ │bbox_offset│ │ │ │ ├──────────►│ │ │ cladding_offset │ │ │ │ │ │ │ │ │ ├─────────────────────────▲──┴─────────┤ │ │ │ │ │ │ ─ ─┤ │ core width │ │ ├─ ─ center │ │ │ │ │ │ ├─────────────────────────▼────────────┤ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └──────────────────────────────────────┘ │ │ │ │ │ │ │ └────────────────────────────────────────────────────────────┘
- __init__(**data)#
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- Parameters:
data (Any)
- Return type:
None
Methods
__init__(**data)Create a new model by parsing and validating input data from keyword arguments.
add_bbox(component[, top, bottom, right, left])Add bounding box layers to a component.
append_sections(sections)Append sections to the cross_section.
construct([_fields_set])copy([width, layer, width_function, ...])Returns copy of the cross_section with new parameters.
dict(*[, include, exclude, by_alias, ...])from_orm(obj)get_xmin_xmax()Returns the min and max extent of the cross_section across all sections.
json(*[, include, exclude, by_alias, ...])mirror()Returns a mirrored copy of the cross_section.
model_construct([_fields_set])Creates a new instance of the Model class with validated data.
model_copy(*[, update, deep])!!! abstract "Usage Documentation"
model_dump(*[, mode, include, exclude, ...])!!! abstract "Usage Documentation"
model_dump_json(*[, indent, ensure_ascii, ...])!!! abstract "Usage Documentation"
model_json_schema([by_alias, ref_template, ...])Generates a JSON schema for a model class.
model_parametrized_name(params)Compute the class name for parametrizations of generic classes.
model_post_init(context, /)This function is meant to behave like a BaseModel method to initialise private attributes.
model_rebuild(*[, force, raise_errors, ...])Try to rebuild the pydantic-core schema for the model.
model_validate(obj, *[, strict, extra, ...])Validate a pydantic model instance.
model_validate_json(json_data, *[, strict, ...])!!! abstract "Usage Documentation"
model_validate_strings(obj, *[, strict, ...])Validate the given object with string data against the Pydantic model.
parse_file(path, *[, content_type, ...])parse_obj(obj)parse_raw(b, *[, content_type, encoding, ...])schema([by_alias, ref_template])schema_json(*[, by_alias, ref_template])update_forward_refs(**localns)validate(value)validate_radius(radius[, error_type])Attributes
hashReturns a hash of the cross_section.
layermodel_computed_fieldsmodel_configConfiguration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
model_extraGet extra fields set during validation.
model_fieldsmodel_fields_setReturns the set of fields that have been explicitly set on this model instance.
namewidthsectionscomponents_along_pathradiusradius_minbbox_layersbbox_offsets