Baffle¶
- class kgpy.optics.baffles.Baffle(name='', transform=<factory>, plot_kwargs=<factory>, apertures_base=<factory>, apertures_extra=<factory>, obscuration_base=None, margin=<Quantity 1. mm>, min_distance=<Quantity 2. mm>, combined_axes=None, shapely_unit=Unit("mm"), buffer_cap_style=BufferCapStyle.square, buffer_join_style=BufferJoinStyle.mitre)¶
Bases:
Broadcastable,Plottable,Transformable,Named,Generic[ObscurationT]- Parameters:
name (str) –
transform (TransformList) –
apertures_base (List[IrregularPolygon]) –
obscuration_base (ObscurationT | None) –
margin (Quantity) –
min_distance (Quantity) –
shapely_unit (Unit) –
buffer_cap_style (int) –
buffer_join_style (int) –
- __init__(name='', transform=<factory>, plot_kwargs=<factory>, apertures_base=<factory>, apertures_extra=<factory>, obscuration_base=None, margin=<Quantity 1. mm>, min_distance=<Quantity 2. mm>, combined_axes=None, shapely_unit=Unit("mm"), buffer_cap_style=BufferCapStyle.square, buffer_join_style=BufferJoinStyle.mitre)¶
- Parameters:
name (str) –
transform (TransformList) –
apertures_base (List[IrregularPolygon]) –
obscuration_base (ObscurationT | None) –
margin (Quantity) –
min_distance (Quantity) –
shapely_unit (Unit) –
buffer_cap_style (int) –
buffer_join_style (int) –
- Return type:
None
Attributes
Methods
__init__([name, transform, plot_kwargs, ...])concat_apertures(apertures)- rtype:
concat_apertures_from_intercept(intercept, mask)- rtype:
concat_apertures_from_lofts(lofts[, ...])- rtype:
concat_apertures_from_raytrace(raytrace[, ...])- rtype:
copy()- rtype:
typing.TypeVar(CopyableT, bound= Copyable)
- rtype:
typing.TypeVar(CopyableT, bound= Copyable)
plot([ax, component_x, component_y, ...])- rtype:
to_dxf(filename[, dxf_unit])unary_union(other)Inheritance Diagram
digraph inheritance347d8d8dc2 { 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.mixin.Broadcastable" [URL="kgpy.mixin.Broadcastable.html#kgpy.mixin.Broadcastable",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="Class to help with determining the shape of the optical configuration."]; "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.Dataframable" [URL="kgpy.mixin.Dataframable.html#kgpy.mixin.Dataframable",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="This mixin class naively converts a child class to a :class:`pandas.Dataframe`."]; "kgpy.mixin.Named" [URL="kgpy.mixin.Named.html#kgpy.mixin.Named",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="Named(name: str = '')"]; "kgpy.mixin.Copyable" -> "kgpy.mixin.Named" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.mixin.Dataframable" -> "kgpy.mixin.Named" [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.optics.baffles.Baffle" [URL="kgpy.optics.baffles.Baffle.html#kgpy.optics.baffles.Baffle",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="Baffle(name: str = '', transform: kgpy.transforms.TransformList = <factory>, plot_kwargs: Dict[str, Any] = <factory>, apertures_base: List[kgpy.optics.apertures.IrregularPolygon] = <factory>, apertures_extra: List[kgpy.optics.apertures.Aperture] = <factory>, obscuration_base: Optional[~ObscurationT] = None, margin: astropy.units.quantity.Quantity = <Quantity 1. mm>, min_distance: astropy.units.quantity.Quantity = <Quantity 2. mm>, combined_axes: Optional[Sequence[int]] = None, shapely_unit: astropy.units.core.Unit = Unit(\"mm\"), buffer_cap_style: int = <BufferCapStyle.square: 3>, buffer_join_style: int = <BufferJoinStyle.mitre: 2>)"]; "kgpy.mixin.Broadcastable" -> "kgpy.optics.baffles.Baffle" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.mixin.Plottable" -> "kgpy.optics.baffles.Baffle" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.transforms.Transformable" -> "kgpy.optics.baffles.Baffle" [arrowsize=0.5,style="setlinewidth(0.5)"]; "kgpy.mixin.Named" -> "kgpy.optics.baffles.Baffle" [arrowsize=0.5,style="setlinewidth(0.5)"]; "typing.Generic" -> "kgpy.optics.baffles.Baffle" [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."]; }- concat_apertures(apertures)¶
- Return type:
- Parameters:
apertures (List[IrregularPolygon]) –
- concat_apertures_from_global_positions(position_1, position_2, mask=None, hull_axes=None, color='black')¶
- Parameters:
position_1 (Cartesian3D) –
position_2 (Cartesian3D) –
mask (Optional) –
color (str) –
- Return type:
- concat_apertures_from_intercept(intercept, mask, hull_axes=None, color='black')¶
- Return type:
- Parameters:
intercept (Cartesian3D) –
mask (Quantity) –
color (str) –
- concat_apertures_from_lofts(lofts, transform_extra=None, color='black')¶
- Return type:
- Parameters:
- concat_apertures_from_raytrace(raytrace, transform_extra=None, hull_axes=None, color='black')¶
- Return type:
- Parameters:
raytrace (RayFunctionList) –
transform_extra (TransformList | None) –
color (str) –
- copy()¶
- Return type:
typing.TypeVar(CopyableT, bound= Copyable)- Parameters:
self (CopyableT) –
- copy_shallow()¶
- Return type:
typing.TypeVar(CopyableT, bound= Copyable)- Parameters:
self (CopyableT) –
- plot(ax=None, component_x='x', component_y='y', component_z='z', transform_extra=None, to_global=False, plot_apertures_base=False, **kwargs)¶
- Return type:
- Parameters:
- property apertures¶
-
apertures_base:
typing.List[kgpy.optics.apertures.IrregularPolygon]¶
-
apertures_extra:
typing.List[kgpy.optics.apertures.Aperture]¶
- property broadcasted¶
- buffer_resolution = 1¶
-
combined_axes:
typing.Optional[typing.Sequence[int]] = None¶
- property interiors: MultiPolygon¶
-
margin:
astropy.units.quantity.Quantity= <Quantity 1. mm>¶
-
min_distance:
astropy.units.quantity.Quantity= <Quantity 2. mm>¶
- name: str = ''¶
- property obscuration¶
-
obscuration_base:
typing.Optional[typing.TypeVar(ObscurationT, bound=kgpy.optics.apertures.Polygon)] = None¶
- plot_kwargs: typ.Dict[str, typ.Any]¶
- property shape¶
-
shapely_unit:
astropy.units.core.Unit= Unit("mm")¶
- transform: TransformList¶