Struct ElectricFieldVector2
A 2D vector whose components represent an electric field, each expressed as an UnitsNet.ElectricField (e.g. volts per metre).
public readonly record struct ElectricFieldVector2 : IEquatable<ElectricFieldVector2>
- Implements
- Inherited Members
- Extension Methods
Examples
var field = new ElectricFieldVector2(ElectricField.FromVoltsPerMeter(100), ElectricField.Zero);
Constructors
ElectricFieldVector2(ElectricField, ElectricField)
Constructs a ElectricFieldVector2 from two UnitsNet.ElectricField components.
public ElectricFieldVector2(ElectricField x, ElectricField y)
Parameters
xElectricFieldThe X component.
yElectricFieldThe Y component.
Properties
Magnitude
Returns the Euclidean magnitude of this vector as a UnitsNet.ElectricField. The result is expressed in the same unit as the X component.
public ElectricField Magnitude { get; }
Property Value
- ElectricField
X
The X component.
public ElectricField X { get; }
Property Value
- ElectricField
Y
The Y component.
public ElectricField Y { get; }
Property Value
- ElectricField
Zero
A ElectricFieldVector2 with both components set to zero.
public static ElectricFieldVector2 Zero { get; }
Property Value
Methods
Abs()
Returns a vector with each component replaced by its absolute value.
public ElectricFieldVector2 Abs()
Returns
- ElectricFieldVector2
A ElectricFieldVector2 with non-negative components.
Add(ElectricFieldVector2)
Adds two vectors component-wise.
public ElectricFieldVector2 Add(ElectricFieldVector2 other)
Parameters
otherElectricFieldVector2The vector to add.
Returns
- ElectricFieldVector2
The component-wise sum.
ApproximatelyEquals(ElectricFieldVector2, ElectricField)
Returns true if each component of this vector is within
tolerance of the corresponding component of other.
public bool ApproximatelyEquals(ElectricFieldVector2 other, ElectricField tolerance)
Parameters
otherElectricFieldVector2The vector to compare against.
toleranceElectricFieldThe maximum allowed difference per component (inclusive).
Returns
As(ElectricFieldUnit)
Projects both components into the requested unit, returning a unit-less DoubleVector2.
public DoubleVector2 As(ElectricFieldUnit unit)
Parameters
unitElectricFieldUnitThe target unit for each component.
Returns
- DoubleVector2
A DoubleVector2 with components expressed in
unit.
AsDefault()
Returns both components expressed in the SI base unit as a DoubleVector2.
public DoubleVector2 AsDefault()
Returns
- DoubleVector2
A DoubleVector2 with components in the default SI unit.
Clamp(ElectricFieldVector2, ElectricFieldVector2)
Returns a vector with each component clamped to the range [min, max].
public ElectricFieldVector2 Clamp(ElectricFieldVector2 min, ElectricFieldVector2 max)
Parameters
minElectricFieldVector2The lower bound vector (inclusive, per component).
maxElectricFieldVector2The upper bound vector (inclusive, per component).
Returns
- ElectricFieldVector2
A ElectricFieldVector2 with each component in [min, max].
Divide(double)
Divides the vector by a scalar divisor.
public ElectricFieldVector2 Divide(double scalar)
Parameters
scalardoubleThe scalar divisor.
Returns
- ElectricFieldVector2
The divided vector.
Equals(ElectricFieldVector2)
Indicates whether the current object is equal to another object of the same type.
public bool Equals(ElectricFieldVector2 other)
Parameters
otherElectricFieldVector2An object to compare with this object.
Returns
FromVoltsPerMeter(double, double)
Creates a ElectricFieldVector2 with both components created via UnitsNet.ElectricField.FromVoltsPerMeter(UnitsNet.QuantityValue).
public static ElectricFieldVector2 FromVoltsPerMeter(double x, double y)
Parameters
Returns
- ElectricFieldVector2
A ElectricFieldVector2 with both components in the corresponding unit.
GetHashCode()
Returns the hash code for this instance.
public override int GetHashCode()
Returns
- int
A 32-bit signed integer that is the hash code for this instance.
Lerp(ElectricFieldVector2, ElectricFieldVector2, double)
Linearly interpolates between two vectors.
The result at t = 0 is a; at t = 1 it is
b. Values of t outside [0, 1] extrapolate beyond the
endpoints — use LerpClamped(ElectricFieldVector2, ElectricFieldVector2, double) if you need the result bounded to the segment
between a and b.
public static ElectricFieldVector2 Lerp(ElectricFieldVector2 a, ElectricFieldVector2 b, double t)
Parameters
aElectricFieldVector2The start vector (
t= 0).bElectricFieldVector2The end vector (
t= 1).tdoubleThe interpolation parameter. Values outside [0, 1] extrapolate.
Returns
- ElectricFieldVector2
The interpolated ElectricFieldVector2.
LerpClamped(ElectricFieldVector2, ElectricFieldVector2, double)
Linearly interpolates between two vectors, with t clamped to [0, 1].
public static ElectricFieldVector2 LerpClamped(ElectricFieldVector2 a, ElectricFieldVector2 b, double t)
Parameters
aElectricFieldVector2The start vector (
t= 0).bElectricFieldVector2The end vector (
t= 1).tdoubleThe interpolation parameter, clamped to [0, 1].
Returns
- ElectricFieldVector2
The interpolated ElectricFieldVector2, always between
aandb.
Multiply(double)
Scales the vector by a scalar factor.
public ElectricFieldVector2 Multiply(double scalar)
Parameters
scalardoubleThe scalar factor.
Returns
- ElectricFieldVector2
The scaled vector.
Negate()
Negates both components.
public ElectricFieldVector2 Negate()
Returns
- ElectricFieldVector2
A vector with all components negated.
Normalize()
Returns a dimensionless unit vector pointing in the same direction. For a zero vector, Zero is returned.
public DoubleVector2 Normalize()
Returns
- DoubleVector2
A unit-length DoubleVector2 in the same direction.
Subtract(ElectricFieldVector2)
Subtracts two vectors component-wise.
public ElectricFieldVector2 Subtract(ElectricFieldVector2 other)
Parameters
otherElectricFieldVector2The vector to subtract.
Returns
- ElectricFieldVector2
The component-wise difference.
Operators
operator +(ElectricFieldVector2, ElectricFieldVector2)
Adds two vectors component-wise.
public static ElectricFieldVector2 operator +(ElectricFieldVector2 left, ElectricFieldVector2 right)
Parameters
leftElectricFieldVector2The left operand.
rightElectricFieldVector2The right operand.
Returns
- ElectricFieldVector2
The component-wise sum.
operator /(ElectricFieldVector2, double)
Divides the vector by a scalar divisor.
public static ElectricFieldVector2 operator /(ElectricFieldVector2 left, double scalar)
Parameters
leftElectricFieldVector2The vector to divide.
scalardoubleThe scalar divisor.
Returns
- ElectricFieldVector2
The divided vector.
operator *(double, ElectricFieldVector2)
Scales the vector by a scalar factor. Operands may be supplied in either order.
public static ElectricFieldVector2 operator *(double scalar, ElectricFieldVector2 right)
Parameters
scalardoubleThe scalar factor.
rightElectricFieldVector2The vector to scale.
Returns
- ElectricFieldVector2
The scaled vector.
operator *(ElectricFieldVector2, double)
Scales the vector by a scalar factor.
public static ElectricFieldVector2 operator *(ElectricFieldVector2 left, double scalar)
Parameters
leftElectricFieldVector2The vector to scale.
scalardoubleThe scalar factor.
Returns
- ElectricFieldVector2
The scaled vector.
operator -(ElectricFieldVector2, ElectricFieldVector2)
Subtracts two vectors component-wise.
public static ElectricFieldVector2 operator -(ElectricFieldVector2 left, ElectricFieldVector2 right)
Parameters
leftElectricFieldVector2The left operand.
rightElectricFieldVector2The right operand.
Returns
- ElectricFieldVector2
The component-wise difference.
operator -(ElectricFieldVector2)
Negates both components.
public static ElectricFieldVector2 operator -(ElectricFieldVector2 value)
Parameters
valueElectricFieldVector2The vector to negate.
Returns
- ElectricFieldVector2
A vector with all components negated.