Esempio n. 1
0
 /// <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);
     }
 }
Esempio n. 2
0
 public MeasuredValue(MeasuredValue mValue)
 {
     InitValue();
     if (ToBaseUnitConversionFactor == mValue.ToBaseUnitConversionFactor)
     {
         // Fall: Einheiten gleich
         if (OrderOfMagnitude == mValue.OrderOfMagnitude)
         {
             // Fall: Größenordnungen gleich
             Value = mValue.Value;
         }
         else
         {
             // Fall: Größenordnungen verschieden
             Value = Mag.FromTo(mValue.Value, mValue.OrderOfMagnitude, OrderOfMagnitude);
         }
     }
     else
     {
         // Fall: Einheiten verschieden
         Value = Mag.FromTo(mValue.ValueInBaseUnit * (1 / ToBaseUnitConversionFactor), Mag.OrderOfMagnitudeEnum.One, OrderOfMagnitude);
     }
 }