Struct MagnetizationVector3
A 3D vector whose components represent magnetization, each expressed as a UnitsNet.Magnetization.
public readonly record struct MagnetizationVector3 : IEquatable<MagnetizationVector3>
- Implements
- Inherited Members
- Extension Methods
Constructors
MagnetizationVector3(Magnetization, Magnetization, Magnetization)
Constructs a MagnetizationVector3 from three UnitsNet.Magnetization components.
public MagnetizationVector3(Magnetization x, Magnetization y, Magnetization z)
Parameters
xMagnetizationThe X component.
yMagnetizationThe Y component.
zMagnetizationThe Z 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
Z
The Z component.
public Magnetization Z { get; }
Property Value
- Magnetization
Zero
A MagnetizationVector3 with all components set to zero.
public static MagnetizationVector3 Zero { get; }
Property Value
Methods
Abs()
Returns a vector with each component replaced by its absolute value.
public MagnetizationVector3 Abs()
Returns
- MagnetizationVector3
A MagnetizationVector3 with non-negative components.
Add(MagnetizationVector3)
Adds two vectors component-wise.
public MagnetizationVector3 Add(MagnetizationVector3 other)
Parameters
otherMagnetizationVector3The vector to add.
Returns
- MagnetizationVector3
The component-wise sum.
ApproximatelyEquals(MagnetizationVector3, Magnetization)
Returns true if each component of this vector is within
tolerance of the corresponding component of other.
public bool ApproximatelyEquals(MagnetizationVector3 other, Magnetization tolerance)
Parameters
otherMagnetizationVector3The vector to compare against.
toleranceMagnetizationThe maximum allowed difference per component (inclusive).
Returns
- bool
true when |X - other.X| <= tolerance, |Y - other.Y| <= tolerance, and |Z - other.Z| <= tolerance.
As(MagnetizationUnit)
Projects all three components into the requested unit, returning a unit-less DoubleVector3.
public DoubleVector3 As(MagnetizationUnit unit)
Parameters
unitMagnetizationUnitThe target unit for each component.
Returns
- DoubleVector3
A DoubleVector3 with components expressed in
unit.
AsDefault()
Returns all three components expressed in the SI base unit as a DoubleVector3.
public DoubleVector3 AsDefault()
Returns
- DoubleVector3
A DoubleVector3 with components in the default SI unit.
Clamp(MagnetizationVector3, MagnetizationVector3)
Returns a vector with each component clamped to the range [min, max].
public MagnetizationVector3 Clamp(MagnetizationVector3 min, MagnetizationVector3 max)
Parameters
minMagnetizationVector3The lower bound vector (inclusive, per component).
maxMagnetizationVector3The upper bound vector (inclusive, per component).
Returns
- MagnetizationVector3
A MagnetizationVector3 with each component in [min, max].
Divide(double)
Divides the vector by a scalar divisor.
public MagnetizationVector3 Divide(double scalar)
Parameters
scalardoubleThe scalar divisor.
Returns
- MagnetizationVector3
The divided vector.
Equals(MagnetizationVector3)
Indicates whether the current object is equal to another object of the same type.
public bool Equals(MagnetizationVector3 other)
Parameters
otherMagnetizationVector3An object to compare with this object.
Returns
FromAmperesPerMeter(double, double, double)
Creates a MagnetizationVector3 with all components created via UnitsNet.Magnetization.FromAmperesPerMeter(UnitsNet.QuantityValue).
public static MagnetizationVector3 FromAmperesPerMeter(double x, double y, double z)
Parameters
Returns
- MagnetizationVector3
A MagnetizationVector3 with all 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(MagnetizationVector3, MagnetizationVector3, 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(MagnetizationVector3, MagnetizationVector3, double) if you need the result bounded to the segment
between a and b.
public static MagnetizationVector3 Lerp(MagnetizationVector3 a, MagnetizationVector3 b, double t)
Parameters
aMagnetizationVector3The start vector (
t= 0).bMagnetizationVector3The end vector (
t= 1).tdoubleThe interpolation parameter. Values outside [0, 1] extrapolate.
Returns
- MagnetizationVector3
The interpolated MagnetizationVector3.
LerpClamped(MagnetizationVector3, MagnetizationVector3, double)
Linearly interpolates between two vectors, with t clamped to [0, 1].
public static MagnetizationVector3 LerpClamped(MagnetizationVector3 a, MagnetizationVector3 b, double t)
Parameters
aMagnetizationVector3The start vector (
t= 0).bMagnetizationVector3The end vector (
t= 1).tdoubleThe interpolation parameter, clamped to [0, 1].
Returns
- MagnetizationVector3
The interpolated MagnetizationVector3, always between
aandb.
Multiply(double)
Scales the vector by a scalar factor.
public MagnetizationVector3 Multiply(double scalar)
Parameters
scalardoubleThe scalar factor.
Returns
- MagnetizationVector3
The scaled vector.
Negate()
Negates all components.
public MagnetizationVector3 Negate()
Returns
- MagnetizationVector3
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 DoubleVector3 Normalize()
Returns
- DoubleVector3
A unit-length DoubleVector3 in the same direction.
Subtract(MagnetizationVector3)
Subtracts two vectors component-wise.
public MagnetizationVector3 Subtract(MagnetizationVector3 other)
Parameters
otherMagnetizationVector3The vector to subtract.
Returns
- MagnetizationVector3
The component-wise difference.
Operators
operator +(MagnetizationVector3, MagnetizationVector3)
Adds two vectors component-wise.
public static MagnetizationVector3 operator +(MagnetizationVector3 left, MagnetizationVector3 right)
Parameters
leftMagnetizationVector3The left operand.
rightMagnetizationVector3The right operand.
Returns
- MagnetizationVector3
The component-wise sum.
operator /(MagnetizationVector3, double)
Divides the vector by a scalar divisor.
public static MagnetizationVector3 operator /(MagnetizationVector3 left, double scalar)
Parameters
leftMagnetizationVector3The vector to divide.
scalardoubleThe scalar divisor.
Returns
- MagnetizationVector3
The divided vector.
operator *(double, MagnetizationVector3)
Scales the vector by a scalar factor. Operands may be supplied in either order.
public static MagnetizationVector3 operator *(double scalar, MagnetizationVector3 right)
Parameters
scalardoubleThe scalar factor.
rightMagnetizationVector3The vector to scale.
Returns
- MagnetizationVector3
The scaled vector.
operator *(MagnetizationVector3, double)
Scales the vector by a scalar factor.
public static MagnetizationVector3 operator *(MagnetizationVector3 left, double scalar)
Parameters
leftMagnetizationVector3The vector to scale.
scalardoubleThe scalar factor.
Returns
- MagnetizationVector3
The scaled vector.
operator -(MagnetizationVector3, MagnetizationVector3)
Subtracts two vectors component-wise.
public static MagnetizationVector3 operator -(MagnetizationVector3 left, MagnetizationVector3 right)
Parameters
leftMagnetizationVector3The left operand.
rightMagnetizationVector3The right operand.
Returns
- MagnetizationVector3
The component-wise difference.
operator -(MagnetizationVector3)
Negates all components.
public static MagnetizationVector3 operator -(MagnetizationVector3 value)
Parameters
valueMagnetizationVector3The vector to negate.
Returns
- MagnetizationVector3
A vector with all components negated.