Surface

class kgpy.optics.surface.Surface(name=<factory>, plot_kwargs=<factory>, transform=<factory>, is_stop=False, is_stop_test=False, is_active=True, is_visible=True, sag=None, material=None, aperture=None, aperture_mechanical=None, rulings=None, baffle_loft_ids=<factory>)

Bases: WritableMixin, Broadcastable, Transformable, Plottable, Named, ABC, Generic[SagT, MaterialT, ApertureT, ApertureMechT, RulingsT]

Interface for representing an optical surface.

__init__(name=<factory>, plot_kwargs=<factory>, transform=<factory>, is_stop=False, is_stop_test=False, is_active=True, is_visible=True, sag=None, material=None, aperture=None, aperture_mechanical=None, rulings=None, baffle_loft_ids=<factory>)
Parameters
Return type

None

Attributes

aperture

Aperture of this surface

aperture_mechanical

Mechanical aperture of this surface

broadcasted

dataframe

is_active

Flag to disable the surface

is_stop

is_stop_test

is_visible

Flag to disable plotting this surface

material

Material type for this surface

rulings

Ruling profile of this surface

sag

Sag profile of this surface

shape

tol_iter

plot_kwargs

baffle_loft_ids

Methods

__init__([name, plot_kwargs, transform, ...])

copy()

rtype

typing.TypeVar(CopyableT, bound= Copyable)

copy_shallow()

rtype

typing.TypeVar(CopyableT, bound= Copyable)

histogram(rays, nbins[, weights])

plot(ax[, components, component_z, ...])

rtype

typing.List[matplotlib.lines.Line2D]

propagate_rays(rays[, intercept_error])

rtype

kgpy.optics.rays.Rays

ray_intercept(rays[, intercept_error])

rtype

kgpy.vector.Vector3D

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

rtype

None

Inheritance Diagram

Inheritance diagram of kgpy.optics.surface.Surface

copy()
Return type

typing.TypeVar(CopyableT, bound= Copyable)

Parameters

self (CopyableT) –

copy_shallow()
Return type

typing.TypeVar(CopyableT, bound= Copyable)

Parameters

self (CopyableT) –

histogram(rays, nbins, weights=None)
Parameters
plot(ax, components=('x', 'y'), component_z=None, plot_kwargs=None, transform_extra=None, to_global=False, plot_annotations=True, annotation_text_y=1.05)
Return type

typing.List[matplotlib.lines.Line2D]

Parameters
propagate_rays(rays, intercept_error=<Quantity 0.1 nm>)
Return type

kgpy.optics.rays.Rays

Parameters
ray_intercept(rays, intercept_error=<Quantity 0.1 nm>)
Return type

kgpy.vector.Vector3D

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

None

Parameters
aperture: typing.Optional[typing.TypeVar(ApertureT, bound= kgpy.optics.surface.aperture.Aperture)] = None

Aperture of this surface

aperture_mechanical: typing.Optional[typing.TypeVar(ApertureMechT, bound= kgpy.optics.surface.aperture.Aperture)] = None

Mechanical aperture of this surface

baffle_loft_ids: typing.List[int]
property broadcasted
property dataframe: DataFrame
is_active: bool = True

Flag to disable the surface

is_stop: bool = False
is_stop_test: bool = False
is_visible: bool = True

Flag to disable plotting this surface

material: typing.Optional[typing.TypeVar(MaterialT, bound= kgpy.optics.surface.material.Material)] = None

Material type for this surface

name: Name
plot_kwargs: typing.Optional[typing.Dict[str, typing.Any]]
rulings: typing.Optional[typing.TypeVar(RulingsT, bound= kgpy.optics.surface.rulings.Rulings)] = None

Ruling profile of this surface

sag: typing.Optional[typing.TypeVar(SagT, bound= kgpy.optics.surface.sag.Sag)] = None

Sag profile of this surface

property shape
property tol_iter: Iterator[Transformable]
transform: TransformList