/// <summary> /// Konvertierungskonstruktor: Erzeugt aus den Daten einer Klasse, die zur gleichen physikalischen Größe gehört wie z.B. Länge /// eine neue Instanz dieser Klasse. /// Hinweis: In den Ableitungen dieser abstrakten Basisklasse werden z.B. ToBaseUnitConversionFactor und OrderOfMagnitude /// festgelegt. Z.B. gibt es eine Klasse für Centimeter und eine zweite für Kilometer. /// </summary> /// <param name="mVector"></param> public MeasuredVector(MeasuredVector mVector) { try { if (ToBaseUnitConversionFactor == mVector.ToBaseUnitConversionFactor) { // Fall: Einheiten gleich if (OrderOfMagnitude == mVector.OrderOfMagnitude) { // Fall: Größenordnungen gleich CreateVector(mVector.Vector.coordinates); } else { // Fall: Größenordnungen verschieden CreateVector(Mag.FromTo(mVector.Vector, mVector.OrderOfMagnitude, OrderOfMagnitude).coordinates); } } else { // Fall: Einheiten verschieden CreateVector(Mag.FromTo(mVector.VectorInBaseUnit * (1 / ToBaseUnitConversionFactor), Mag.OrderOfMagnitudeEnum.One, OrderOfMagnitude).coordinates); } } catch (Exception ex) { throw new MeasuredVectorException("Konstruktor MeasuredVector(MeasuredVector mVector)", ex); } }
public override MeasuredVector Create(MeasuredVector mVector) { return(new LengthInInch((Length)mVector)); }
public override MeasuredVector Create(MeasuredVector Value) { return(new AngleInDegree((Angle)Value)); }
public override MeasuredVector Create(MeasuredVector mVector) { return(new LengthInLightYear((Length)mVector)); }
public abstract MeasuredVector Create(MeasuredVector Value);
public override MeasuredVector Create(MeasuredVector Value) { return(new VelocityInMilesPerHour((Velocity)Value)); }
public override MeasuredVector Create(MeasuredVector Value) { return(new LengthInMiles((Length)Value)); }
public override MeasuredVector Create(MeasuredVector mVector) { return(new LengthInMeter <TOrderOfMagnitude>((Length)mVector)); }
public override MeasuredVector Create(MeasuredVector Value) { return(new VelocityInMeterPerSec <TOrderOfMagnitude>((Velocity)Value)); }
public override MeasuredVector Create(MeasuredVector Value) { return(new VelocityInKnots((Velocity)Value)); }
public override MeasuredVector Create(MeasuredVector Value) { return(new ForceInNewton <TOrderOfMagnitude>((Force)Value)); }
public override MeasuredVector Create(MeasuredVector Value) { return(new AccelerationInMeterPerSec <TOrderOfMagnitude>((Acceleration)Value)); }