View Javadoc
1   package org.djunits.value.vdouble.matrix;
2   
3   import org.djunits.unit.LengthUnit;
4   import org.djunits.unit.PositionUnit;
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.Length;
8   import org.djunits.value.vdouble.scalar.Position;
9   import org.djunits.value.vdouble.vector.LengthVector;
10  import org.djunits.value.vdouble.vector.PositionVector;
11  import org.djunits.value.vdouble.vector.data.DoubleVectorData;
12  
13  import jakarta.annotation.Generated;
14  
15  /**
16   * Immutable Position 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 PositionMatrix extends AbstractDoubleMatrixAbs<PositionUnit, Position, PositionVector, PositionMatrix, LengthUnit,
26          Length, LengthVector, LengthMatrix>
27  {
28      /** */
29      private static final long serialVersionUID = 20151006L;
30  
31      /**
32       * @param data DoubleMatrixData; an internal data object
33       * @param unit PositionUnit; the unit
34       */
35      public PositionMatrix(final DoubleMatrixData data, final PositionUnit unit)
36      {
37          super(data, unit);
38      }
39  
40      /** {@inheritDoc} */
41      @Override
42      public Class<Position> getScalarClass()
43      {
44          return Position.class;
45      }
46  
47      /** {@inheritDoc} */
48      @Override
49      public Class<PositionVector> getVectorClass()
50      {
51          return PositionVector.class;
52      }
53  
54      /** {@inheritDoc} */
55      @Override
56      public PositionMatrix instantiateMatrix(final DoubleMatrixData dmd, final PositionUnit displayUnit)
57      {
58          return new PositionMatrix(dmd, displayUnit);
59      }
60  
61      /** {@inheritDoc} */
62      @Override
63      public PositionVector instantiateVector(final DoubleVectorData dvd, final PositionUnit displayUnit)
64      {
65          return new PositionVector(dvd, displayUnit);
66      }
67  
68      /** {@inheritDoc} */
69      @Override
70      public Position instantiateScalarSI(final double valueSI, final PositionUnit displayUnit)
71      {
72          Position result = Position.instantiateSI(valueSI);
73          result.setDisplayUnit(displayUnit);
74          return result;
75      }
76  
77      /** {@inheritDoc} */
78      @Override
79      public LengthMatrix instantiateMatrixRel(final DoubleMatrixData dmd, final LengthUnit displayUnit)
80      {
81          return new LengthMatrix(dmd, displayUnit);
82      }
83  
84      /** {@inheritDoc} */
85      @Override
86      public LengthVector instantiateVectorRel(final DoubleVectorData dvd, final LengthUnit displayUnit)
87      {
88          return new LengthVector(dvd, displayUnit);
89      }
90  
91      /** {@inheritDoc} */
92      @Override
93      public Length instantiateScalarRelSI(final double valueSI, final LengthUnit displayUnit)
94      {
95          Length result = Length.instantiateSI(valueSI);
96          result.setDisplayUnit(displayUnit);
97          return result;
98      }
99  
100 }