Class AbstractDoubleVectorRelWithAbs<AU extends AbsoluteLinearUnit<AU,​RU>,​A extends AbstractDoubleScalarAbs<AU,​A,​RU,​R>,​AV extends AbstractDoubleVectorAbs<AU,​A,​AV,​RU,​R,​RV>,​RU extends Unit<RU>,​R extends AbstractDoubleScalarRelWithAbs<AU,​A,​RU,​R>,​RV extends AbstractDoubleVectorRelWithAbs<AU,​A,​AV,​RU,​R,​RV>>

java.lang.Object
org.djunits.value.AbstractValue<U,​T>
org.djunits.value.AbstractIndexedValue<U,​S,​V,​DoubleVectorData>
org.djunits.value.vdouble.vector.base.AbstractDoubleVector<U,​S,​RV>
org.djunits.value.vdouble.vector.base.AbstractDoubleVectorRel<RU,​R,​RV>
org.djunits.value.vdouble.vector.base.AbstractDoubleVectorRelWithAbs<AU,​A,​AV,​RU,​R,​RV>
Type Parameters:
AU - the absolute unit belonging to the relative unit
A - the absolute scalar type belonging to the absolute vector type
AV - the (immutable or mutable) absolute vector type
RU - the relative unit belonging to the absolute unit
R - the relative scalar type belonging to the relative vector type
RV - the relative (immutable or mutable) vector type with this unit
All Implemented Interfaces:
Serializable, Cloneable, Iterable<R>, Vector<RU,​R,​RV>, Vector.Rel<RU,​R,​RV>, Vector.RelWithAbs<AU,​A,​AV,​RU,​R,​RV>, ValueFunctions<RU,​RV>, IndexedValue<RU,​R,​RV>, Relative<RU,​RV>, Value<RU,​RV>, DoubleVectorInterface<RU,​R,​RV>
Direct Known Subclasses:
AngleVector, DurationVector, LengthVector, TemperatureVector

public abstract class AbstractDoubleVectorRelWithAbs<AU extends AbsoluteLinearUnit<AU,​RU>,​A extends AbstractDoubleScalarAbs<AU,​A,​RU,​R>,​AV extends AbstractDoubleVectorAbs<AU,​A,​AV,​RU,​R,​RV>,​RU extends Unit<RU>,​R extends AbstractDoubleScalarRelWithAbs<AU,​A,​RU,​R>,​RV extends AbstractDoubleVectorRelWithAbs<AU,​A,​AV,​RU,​R,​RV>>
extends AbstractDoubleVectorRel<RU,​R,​RV>
implements Vector.RelWithAbs<AU,​A,​AV,​RU,​R,​RV>
AbstractMutableDoubleVectorRelWithAbs.java.

Copyright (c) 2019-2019 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See DJUNITS License.

Author:
Alexander Verbraeck
See Also:
Serialized Form
  • Constructor Details

  • Method Details

    • plus

      public AV plus​(AV increment)
      Add an absolute vector to this relative vector. A new vector is returned. When the vector itself needs to be changed, use the increaseBy(V) method instead. The addition is done value by value and the result is stored in a new vector. If both operands are sparse, the result is a sparse vector, otherwise the result is a dense vector.
      Specified by:
      plus in interface Vector.RelWithAbs<AU extends AbsoluteLinearUnit<AU,​RU>,​A extends AbstractDoubleScalarAbs<AU,​A,​RU,​R>,​AV extends AbstractDoubleVectorAbs<AU,​A,​AV,​RU,​R,​RV>,​RU extends Unit<RU>,​R extends AbstractDoubleScalarRelWithAbs<AU,​A,​RU,​R>,​RV extends AbstractDoubleVectorRelWithAbs<AU,​A,​AV,​RU,​R,​RV>>
      Parameters:
      increment - AV; the absolute vector (mutable or immutable, sparse or dense) to add to this relative vector
      Returns:
      AMV; the sum of this vector and the operand as a new absolute, mutable vector
    • instantiateVectorAbs

      public abstract AV instantiateVectorAbs​(DoubleVectorData dvd, AU displayUnit)
      Instantiate a new absolute vector of the class of this relative vector. This can be used instead of the DoubleVector.instiantiate() methods in case another vector of this relative with absolute class is known. The method is faster than DoubleVector.instantiate, and it will also work if the vector is user-defined.
      Parameters:
      dvd - DoubleVectorData; the data used to instantiate the vector
      displayUnit - AU; the display unit of the absolute vector
      Returns:
      AV; an absolute vector of the correct type, belonging to this relative vector type
    • instantiateScalarAbsSI

      public abstract A instantiateScalarAbsSI​(double valueSI, AU displayUnit)
      Instantiate a new absolute scalar for the class of this relative vector. This can be used instead of the DoubleScalar.instiantiate() methods in case a vector of this class is known. The method is faster than DoubleScalar.instantiate, and it will also work if the vector and/or scalar are user-defined.
      Parameters:
      valueSI - double; the SI value of the absolute scalar
      displayUnit - AU; the unit in which the absolute value will be displayed
      Returns:
      A; an absolute scalar of the correct type, belonging to this relative vector type