Struct MagnetizationVector2
A 2D vector whose components represent magnetization, each expressed as a UnitsNet.Magnetization (e.g. amperes per metre).
public readonly record struct MagnetizationVector2 : IEquatable<MagnetizationVector2>
- Implements
- Inherited Members
- Extension Methods
Examples
var m = new MagnetizationVector2(Magnetization.FromAmperesPerMeter(1000), Magnetization.Zero);
Constructors
MagnetizationVector2(Magnetization, Magnetization)
Constructs a MagnetizationVector2 from two UnitsNet.Magnetization components.
public MagnetizationVector2(Magnetization x, Magnetization y)
Parameters
xMagnetizationThe X component.
yMagnetizationThe Y component.
Properties
Magnitude
Returns the Euclidean magnitude of this vector as a UnitsNet.Magnetization. The result is expressed in the same unit as the X component.
public Magnetization Magnitude { get; }
Property Value
- Magnetization
X
The X component.
public Magnetization X { get; }
Property Value
- Magnetization
Y
The Y component.
public Magnetization Y { get; }
Property Value
- Magnetization
Zero
A MagnetizationVector2 with both components set to zero.
public static MagnetizationVector2 Zero { get; }
Property Value
Methods
Abs()
Returns a vector with each component replaced by its absolute value.
public MagnetizationVector2 Abs()
Returns
- MagnetizationVector2
A MagnetizationVector2 with non-negative components.
Add(MagnetizationVector2)
Adds two vectors component-wise.
public MagnetizationVector2 Add(MagnetizationVector2 other)
Parameters
otherMagnetizationVector2The vector to add.
Returns
- MagnetizationVector2
The component-wise sum.
ApproximatelyEquals(MagnetizationVector2, Magnetization)
Returns true if each component of this vector is within
tolerance of the corresponding component of other.
public bool ApproximatelyEquals(MagnetizationVector2 other, Magnetization tolerance)
Parameters
otherMagnetizationVector2The vector to compare against.
toleranceMagnetizationThe maximum allowed difference per component (inclusive).
Returns
As(MagnetizationUnit)
Projects both components into the requested unit, returning a unit-less DoubleVector2.
public DoubleVector2 As(MagnetizationUnit unit)
Parameters
unitMagnetizationUnitThe 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(MagnetizationVector2, MagnetizationVector2)
Returns a vector with each component clamped to the range [min, max].
public MagnetizationVector2 Clamp(MagnetizationVector2 min, MagnetizationVector2 max)
Parameters
minMagnetizationVector2The lower bound vector (inclusive, per component).
maxMagnetizationVector2The upper bound vector (inclusive, per component).
Returns
- MagnetizationVector2
A MagnetizationVector2 with each component in [min, max].
Divide(double)
Divides the vector by a scalar divisor.
public MagnetizationVector2 Divide(double scalar)
Parameters
scalardoubleThe scalar divisor.
Returns
- MagnetizationVector2
The divided vector.
Equals(MagnetizationVector2)
Indicates whether the current object is equal to another object of the same type.
public bool Equals(MagnetizationVector2 other)
Parameters
otherMagnetizationVector2An object to compare with this object.
Returns
FromAmperesPerMeter(double, double)
Creates a MagnetizationVector2 with both components created via UnitsNet.Magnetization.FromAmperesPerMeter(UnitsNet.QuantityValue).
public static MagnetizationVector2 FromAmperesPerMeter(double x, double y)
Parameters
Returns
- MagnetizationVector2
A MagnetizationVector2 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(MagnetizationVector2, MagnetizationVector2, 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(MagnetizationVector2, MagnetizationVector2, double) if you need the result bounded to the segment
between a and b.
public static MagnetizationVector2 Lerp(MagnetizationVector2 a, MagnetizationVector2 b, double t)
Parameters
aMagnetizationVector2The start vector (
t= 0).bMagnetizationVector2The end vector (
t= 1).tdoubleThe interpolation parameter. Values outside [0, 1] extrapolate.
Returns
- MagnetizationVector2
The interpolated MagnetizationVector2.
LerpClamped(MagnetizationVector2, MagnetizationVector2, double)
Linearly interpolates between two vectors, with t clamped to [0, 1].
public static MagnetizationVector2 LerpClamped(MagnetizationVector2 a, MagnetizationVector2 b, double t)
Parameters
aMagnetizationVector2The start vector (
t= 0).bMagnetizationVector2The end vector (
t= 1).tdoubleThe interpolation parameter, clamped to [0, 1].
Returns
- MagnetizationVector2
The interpolated MagnetizationVector2, always between
aandb.
Multiply(double)
Scales the vector by a scalar factor.
public MagnetizationVector2 Multiply(double scalar)
Parameters
scalardoubleThe scalar factor.
Returns
- MagnetizationVector2
The scaled vector.
Negate()
Negates both components.
public MagnetizationVector2 Negate()
Returns
- MagnetizationVector2
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(MagnetizationVector2)
Subtracts two vectors component-wise.
public MagnetizationVector2 Subtract(MagnetizationVector2 other)
Parameters
otherMagnetizationVector2The vector to subtract.
Returns
- MagnetizationVector2
The component-wise difference.
Operators
operator +(MagnetizationVector2, MagnetizationVector2)
Adds two vectors component-wise.
public static MagnetizationVector2 operator +(MagnetizationVector2 left, MagnetizationVector2 right)
Parameters
leftMagnetizationVector2The left operand.
rightMagnetizationVector2The right operand.
Returns
- MagnetizationVector2
The component-wise sum.
operator /(MagnetizationVector2, double)
Divides the vector by a scalar divisor.
public static MagnetizationVector2 operator /(MagnetizationVector2 left, double scalar)
Parameters
leftMagnetizationVector2The vector to divide.
scalardoubleThe scalar divisor.
Returns
- MagnetizationVector2
The divided vector.
operator *(double, MagnetizationVector2)
Scales the vector by a scalar factor. Operands may be supplied in either order.
public static MagnetizationVector2 operator *(double scalar, MagnetizationVector2 right)
Parameters
scalardoubleThe scalar factor.
rightMagnetizationVector2The vector to scale.
Returns
- MagnetizationVector2
The scaled vector.
operator *(MagnetizationVector2, double)
Scales the vector by a scalar factor.
public static MagnetizationVector2 operator *(MagnetizationVector2 left, double scalar)
Parameters
leftMagnetizationVector2The vector to scale.
scalardoubleThe scalar factor.
Returns
- MagnetizationVector2
The scaled vector.
operator -(MagnetizationVector2, MagnetizationVector2)
Subtracts two vectors component-wise.
public static MagnetizationVector2 operator -(MagnetizationVector2 left, MagnetizationVector2 right)
Parameters
leftMagnetizationVector2The left operand.
rightMagnetizationVector2The right operand.
Returns
- MagnetizationVector2
The component-wise difference.
operator -(MagnetizationVector2)
Negates both components.
public static MagnetizationVector2 operator -(MagnetizationVector2 value)
Parameters
valueMagnetizationVector2The vector to negate.
Returns
- MagnetizationVector2
A vector with all components negated.