SurfaceList

class kgpy.optics.surfaces.SurfaceList(data=<factory>, transform=<factory>, plot_kwargs=<factory>)

Bases: WritableMixin, Plottable, Transformable, DataclassList[Surface]

Parameters:
__init__(data=<factory>, transform=<factory>, plot_kwargs=<factory>)
Parameters:
Return type:

None

Attributes

flat_global

flat_global_iter

flat_local

flat_local_iter

tol_iter

plot_kwargs

transform

data

Methods

__init__([data, transform, plot_kwargs])

append(item)

rtype:

typing.NoReturn

copy()

rtype:

typing.TypeVar(CopyableT, bound= Copyable)

copy_shallow()

rtype:

typing.TypeVar(CopyableT, bound= Copyable)

count(value)

rtype:

int

index(value)

rtype:

int

plot(ax[, component_x, component_y, ...])

rtype:

typing.List[matplotlib.lines.Line2D]

raytrace(ray_function[, surface_last, ...])

rtype:

kgpy.optics.rays.RayFunctionList

reverse()

write_to_dxf(file_writer, unit[, ...])

rtype:

None

Inheritance Diagram

digraph inheritance2c68153e25 { bgcolor=transparent; rankdir=TB; size="8.0, 12.0"; "abc.ABC" [URL="https://docs.python.org/3/library/abc.html#abc.ABC",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Helper class that provides a standard way to create an ABC using"]; "kgpy.io.dxf.WritableMixin" [URL="kgpy.io.dxf.WritableMixin.html#kgpy.io.dxf.WritableMixin",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="WritableMixin()"]; "abc.ABC" -> "kgpy.io.dxf.WritableMixin" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.mixin.Copyable" [URL="kgpy.mixin.Copyable.html#kgpy.mixin.Copyable",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top"]; "abc.ABC" -> "kgpy.mixin.Copyable" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.mixin.DataclassList" [URL="kgpy.mixin.DataclassList.html#kgpy.mixin.DataclassList",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="DataclassList(data: List[~ItemT] = <factory>)"]; "kgpy.mixin.Toleranceable" -> "kgpy.mixin.DataclassList" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.mixin.Copyable" -> "kgpy.mixin.DataclassList" [arrowsize=0.5,style="setlinewidth(0.5)"]; "typing.Generic" -> "kgpy.mixin.DataclassList" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.mixin.Plottable" [URL="kgpy.mixin.Plottable.html#kgpy.mixin.Plottable",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Plottable(plot_kwargs: Dict[str, Any] = <factory>)"]; "kgpy.mixin.Copyable" -> "kgpy.mixin.Plottable" [arrowsize=0.5,style="setlinewidth(0.5)"]; "abc.ABC" -> "kgpy.mixin.Plottable" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.mixin.Toleranceable" [URL="kgpy.mixin.Toleranceable.html#kgpy.mixin.Toleranceable",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top"]; "abc.ABC" -> "kgpy.mixin.Toleranceable" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.optics.surfaces.SurfaceList" [URL="kgpy.optics.surfaces.SurfaceList.html#kgpy.optics.surfaces.SurfaceList",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="SurfaceList(data: List[~ItemT] = <factory>, transform: kgpy.transforms.TransformList = <factory>, plot_kwargs: Dict[str, Any] = <factory>)"]; "kgpy.io.dxf.WritableMixin" -> "kgpy.optics.surfaces.SurfaceList" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.mixin.Plottable" -> "kgpy.optics.surfaces.SurfaceList" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.transforms.Transformable" -> "kgpy.optics.surfaces.SurfaceList" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.mixin.DataclassList" -> "kgpy.optics.surfaces.SurfaceList" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.transforms.Transformable" [URL="kgpy.transforms.Transformable.html#kgpy.transforms.Transformable",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Transformable(transform: kgpy.transforms.TransformList = <factory>)"]; "typing.Generic" [URL="https://docs.python.org/3/library/typing.html#typing.Generic",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Abstract base class for generic types."]; }
append(item)
Return type:

typing.NoReturn

Parameters:

item (ItemT) –

copy()
Return type:

typing.TypeVar(CopyableT, bound= Copyable)

Parameters:

self (CopyableT) –

copy_shallow()
Return type:

typing.TypeVar(CopyableT, bound= Copyable)

Parameters:

self (CopyableT) –

count(value)
Return type:

int

Parameters:

value (ItemT) –

index(value)
Return type:

int

Parameters:

value (ItemT) –

plot(ax, component_x='x', component_y='y', component_z='z', transform_extra=None, to_global=False, plot_annotations=True, annotation_text_y=1.05, **kwargs)
Return type:

typing.List[matplotlib.lines.Line2D]

Parameters:
  • ax (Axes) –

  • component_x (str) –

  • component_y (str) –

  • component_z (str) –

  • transform_extra (TransformList | None) –

  • to_global (bool) –

  • plot_annotations (bool) –

  • annotation_text_y (float) –

raytrace(ray_function, surface_last=None, intercept_error=<Quantity 0.1 nm>)
Return type:

kgpy.optics.rays.RayFunctionList

Parameters:
reverse()
write_to_dxf(file_writer, unit, transform_extra=None)
Return type:

None

Parameters:
  • self (SurfaceListT) –

  • file_writer (R12FastStreamWriter) –

  • unit (Unit) –

  • transform_extra (TransformList | None) –

data: typ.List[ItemT]
property flat_global: SurfaceList
property flat_global_iter: Iterator[Surface]
property flat_local: SurfaceList
property flat_local_iter: Iterator[Surface]
plot_kwargs: typing.Dict[str, typing.Any]
property tol_iter: Iterator[DataclassList]
transform: TransformList