Class DirectionVector

All Implemented Interfaces:
Serializable, Cloneable, Iterable<Direction>, Absolute, Vector<DirectionUnit,​Direction,​DirectionVector>, Vector.Abs<DirectionUnit,​Direction,​DirectionVector,​AngleUnit,​Angle,​AngleVector>, ValueFunctions<DirectionUnit,​DirectionVector>, IndexedValue<DirectionUnit,​Direction,​DirectionVector>, Value<DirectionUnit,​DirectionVector>, DoubleVectorInterface<DirectionUnit,​Direction,​DirectionVector>

@Generated(value="org.djunits.generator.GenerateDJUNIT",
           date="2019-10-18T12:12:25.568Z")
public class DirectionVector
extends AbstractDoubleVectorAbs<DirectionUnit,​Direction,​DirectionVector,​AngleUnit,​Angle,​AngleVector>
Double DirectionVector, a vector of values with a DirectionUnit.

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

Author:
Alexander Verbraeck, Peter Knoppers
See Also:
Serialized Form
  • Constructor Details

    • DirectionVector

      public DirectionVector​(DoubleVectorData data, DirectionUnit unit)
      Construct an DirectionVector from an internal data object.
      Parameters:
      data - DoubleVectorData; the internal data object for the vector data
      unit - DirectionUnit; the display unit of the vector data
  • Method Details

    • getScalarClass

      public Class<Direction> getScalarClass()
      Return the class of the corresponding scalar.
      Returns:
      Class<S>; the class of the corresponding scalar
    • instantiateVector

      public DirectionVector instantiateVector​(DoubleVectorData dvd, DirectionUnit displayUnit)
      Instantiate a new vector of the class of this vector. This can be used instead of the DoubleVector.instiantiate() methods in case another vector of this 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 - U; the display unit of the vector
      Returns:
      V; a vector of the correct type
    • instantiateScalarSI

      public Direction instantiateScalarSI​(double valueSI, DirectionUnit displayUnit)
      Instantiate a new scalar for the class of this 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 scalar
      displayUnit - U; the unit in which the value will be displayed
      Returns:
      S; a scalar of the correct type, belonging to the vector type
    • instantiateVectorRel

      public AngleVector instantiateVectorRel​(DoubleVectorData dvd, AngleUnit displayUnit)
      Instantiate a new relative vector of the class of this absolute vector. This can be used instead of the DoubleVector.instiantiate() methods in case another vector of this absolute vector class is known. The method is faster than DoubleVector.instantiate, and it will also work if the vector is user-defined.
      Specified by:
      instantiateVectorRel in class AbstractDoubleVectorAbs<DirectionUnit,​Direction,​DirectionVector,​AngleUnit,​Angle,​AngleVector>
      Parameters:
      dvd - DoubleVectorData; the data used to instantiate the vector
      displayUnit - RU; the display unit of the relative vector
      Returns:
      RV; a relative vector of the correct type, belonging to this absolute vector type
    • instantiateScalarRelSI

      public Angle instantiateScalarRelSI​(double valueSI, AngleUnit displayUnit)
      Instantiate a new relative scalar for the class of this absolute 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.
      Specified by:
      instantiateScalarRelSI in class AbstractDoubleVectorAbs<DirectionUnit,​Direction,​DirectionVector,​AngleUnit,​Angle,​AngleVector>
      Parameters:
      valueSI - double; the SI value of the relative scalar
      displayUnit - RU; the unit in which the relative value will be displayed
      Returns:
      R; a relative scalar of the correct type, belonging to this absolute vector type