pub enum Emitter {
Point {
id: String,
position: Point3M,
amplitude_at_reference: FieldAmplitude,
phase: Radians,
},
ForwardPlane {
id: String,
through: Point3M,
direction: UnitVector3,
amplitude: FieldAmplitude,
phase: Radians,
},
}Expand description
A coherent scalar-wave emitter.
Emitters deliberately carry no frequency. One frequency is owned by the complete interference problem so unlike phasors cannot be mixed.
Variants§
Point
An outgoing spherical point source.
Fields
§
amplitude_at_reference: FieldAmplitudeField amplitude stated at
crate::POINT_SOURCE_REFERENCE_DISTANCE_METRES.
ForwardPlane
A plane wave admitted only in its forward half-space.
Fields
§
direction: UnitVector3Forward propagation direction.
§
amplitude: FieldAmplitudeField amplitude on the zero-phase plane.
Implementations§
Trait Implementations§
impl StructuralPartialEq for Emitter
Auto Trait Implementations§
impl Freeze for Emitter
impl RefUnwindSafe for Emitter
impl Send for Emitter
impl Sync for Emitter
impl Unpin for Emitter
impl UnsafeUnpin for Emitter
impl UnwindSafe for Emitter
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