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