"""Abstract base for classes that define simulation sources."""from__future__importannotationsfromabcimportABC,abstractmethodimportpydantic.v1aspydanticfrom..baseimportTidy3dBaseModelfrom..validatorsimportvalidate_name_strfrom..vizimportPlotParams
[docs]classAbstractSource(Tidy3dBaseModel,ABC):"""Abstract base class for all sources."""name:str=pydantic.Field(None,title="Name",description="Optional name for the source.")
[docs]@abstractmethoddefplot_params(self)->PlotParams:"""Default parameters for plotting a Source object."""