pub struct ScenarioBuilder { /* private fields */ }Expand description
Reusable physical context and limits for named scenario construction.
Implementations§
Source§impl ScenarioBuilder
impl ScenarioBuilder
Sourcepub fn new(
frequency: Hertz,
medium: ScalarMedium,
singularity_radius: PositiveMetres,
limits: ScenarioLimits,
) -> Self
pub fn new( frequency: Hertz, medium: ScalarMedium, singularity_radius: PositiveMetres, limits: ScenarioLimits, ) -> Self
Constructs a builder from checked physical values and explicit limits.
Sourcepub fn two_point(
self,
first: Point3M,
second: Point3M,
amplitude_per_source: FieldAmplitude,
relative_phase: Radians,
) -> Result<NamedScenario, ScenarioError>
pub fn two_point( self, first: Point3M, second: Point3M, amplitude_per_source: FieldAmplitude, relative_phase: Radians, ) -> Result<NamedScenario, ScenarioError>
Builds two equal-amplitude ideal isotropic point sources.
Sourcepub fn counter_propagating_planes(
self,
centre: Point3M,
axis: UnitVector3,
source_separation: PositiveMetres,
amplitude_per_source: FieldAmplitude,
relative_phase: Radians,
) -> Result<NamedScenario, ScenarioError>
pub fn counter_propagating_planes( self, centre: Point3M, axis: UnitVector3, source_separation: PositiveMetres, amplitude_per_source: FieldAmplitude, relative_phase: Radians, ) -> Result<NamedScenario, ScenarioError>
Builds equal plane waves directed into a slab around centre.
Sourcepub fn phased_array(
self,
centre: Point3M,
element_axis: UnitVector3,
elements: usize,
spacing: PositiveMetres,
total_amplitude: FieldAmplitude,
first_phase: Radians,
progressive_phase: Radians,
policy: AperturePolicy,
) -> Result<NamedScenario, ScenarioError>
pub fn phased_array( self, centre: Point3M, element_axis: UnitVector3, elements: usize, spacing: PositiveMetres, total_amplitude: FieldAmplitude, first_phase: Radians, progressive_phase: Radians, policy: AperturePolicy, ) -> Result<NamedScenario, ScenarioError>
Builds a centred line array of ideal point elements.
Sourcepub fn discrete_aperture(
self,
centre: Point3M,
u_axis: UnitVector3,
v_axis: UnitVector3,
rows: usize,
columns: usize,
spacing_u: PositiveMetres,
spacing_v: PositiveMetres,
total_amplitude: FieldAmplitude,
phase: Radians,
policy: AperturePolicy,
) -> Result<NamedScenario, ScenarioError>
pub fn discrete_aperture( self, centre: Point3M, u_axis: UnitVector3, v_axis: UnitVector3, rows: usize, columns: usize, spacing_u: PositiveMetres, spacing_v: PositiveMetres, total_amplitude: FieldAmplitude, phase: Radians, policy: AperturePolicy, ) -> Result<NamedScenario, ScenarioError>
Builds a centred rectangular aperture of equal ideal point elements.
Trait Implementations§
Source§impl Clone for ScenarioBuilder
impl Clone for ScenarioBuilder
Source§fn clone(&self) -> ScenarioBuilder
fn clone(&self) -> ScenarioBuilder
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for ScenarioBuilder
Source§impl Debug for ScenarioBuilder
impl Debug for ScenarioBuilder
Source§impl PartialEq for ScenarioBuilder
impl PartialEq for ScenarioBuilder
impl StructuralPartialEq for ScenarioBuilder
Auto Trait Implementations§
impl Freeze for ScenarioBuilder
impl RefUnwindSafe for ScenarioBuilder
impl Send for ScenarioBuilder
impl Sync for ScenarioBuilder
impl Unpin for ScenarioBuilder
impl UnsafeUnpin for ScenarioBuilder
impl UnwindSafe for ScenarioBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more