View Javadoc
1   package org.djunits.value.vdouble.vector;
2   
3   import org.djunits.unit.AngleUnit;
4   import org.djunits.unit.DirectionUnit;
5   import org.djunits.value.vdouble.scalar.Angle;
6   import org.djunits.value.vdouble.scalar.Direction;
7   import org.djunits.value.vdouble.vector.base.AbstractDoubleVectorAbs;
8   import org.djunits.value.vdouble.vector.data.DoubleVectorData;
9   
10  import jakarta.annotation.Generated;
11  
12  /**
13   * Double DirectionVector, a vector of values with a DirectionUnit.
14   * <p>
15   * Copyright (c) 2013-2023 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved. <br>
16   * BSD-style license. See <a href="https://djunits.org/docs/license.html">DJUNITS License</a>.
17   * </p>
18   * @author <a href="https://www.tudelft.nl/averbraeck">Alexander Verbraeck</a>
19   * @author <a href="https://www.tudelft.nl/staff/p.knoppers/">Peter Knoppers</a>
20   */
21  @Generated(value = "org.djunits.generator.GenerateDJUNIT", date = "2023-04-30T13:59:27.633664900Z")
22  public class DirectionVector
23          extends AbstractDoubleVectorAbs<DirectionUnit, Direction, DirectionVector, AngleUnit, Angle, AngleVector>
24  {
25      /** */
26      private static final long serialVersionUID = 20190905L;
27  
28      /**
29       * Construct an DirectionVector from an internal data object.
30       * @param data DoubleVectorData; the internal data object for the vector data
31       * @param unit DirectionUnit; the display unit of the vector data
32       */
33      public DirectionVector(final DoubleVectorData data, final DirectionUnit unit)
34      {
35          super(data, unit);
36      }
37  
38      /** {@inheritDoc} */
39      @Override
40      public Class<Direction> getScalarClass()
41      {
42          return Direction.class;
43      }
44  
45      /** {@inheritDoc} */
46      @Override
47      public DirectionVector instantiateVector(final DoubleVectorData dvd, final DirectionUnit displayUnit)
48      {
49          return new DirectionVector(dvd, displayUnit);
50      }
51  
52      /** {@inheritDoc} */
53      @Override
54      public Direction instantiateScalarSI(final double valueSI, final DirectionUnit displayUnit)
55      {
56          Direction result = Direction.instantiateSI(valueSI);
57          result.setDisplayUnit(displayUnit);
58          return result;
59      }
60  
61      /** {@inheritDoc} */
62      @Override
63      public AngleVector instantiateVectorRel(final DoubleVectorData dvd, final AngleUnit displayUnit)
64      {
65          return new AngleVector(dvd, displayUnit);
66      }
67  
68      /** {@inheritDoc} */
69      @Override
70      public Angle instantiateScalarRelSI(final double valueSI, final AngleUnit displayUnit)
71      {
72          Angle result = Angle.instantiateSI(valueSI);
73          result.setDisplayUnit(displayUnit);
74          return result;
75      }
76  
77  }