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.StorageType;
6 import org.djunits.value.ValueException;
7 import org.djunits.value.vdouble.scalar.Position;
8
9
10
11
12
13
14
15
16
17
18
19
20 public class PositionMatrix
21 extends AbstractDoubleMatrixAbs<PositionUnit, LengthUnit, PositionMatrix, LengthMatrix, MutablePositionMatrix, Position>
22 {
23
24 private static final long serialVersionUID = 20151003L;
25
26
27
28
29
30
31
32
33 public PositionMatrix(final double[][] values, final PositionUnit unit, final StorageType storageType) throws ValueException
34 {
35 super(values, unit, storageType);
36 }
37
38
39
40
41
42
43
44 public PositionMatrix(final Position[][] values, final StorageType storageType) throws ValueException
45 {
46 super(values, storageType);
47 }
48
49
50
51
52
53
54 PositionMatrix(final DoubleMatrixData data, final PositionUnit unit)
55 {
56 super(data, unit);
57 }
58
59
60 @Override
61 public final PositionMatrix toDense()
62 {
63 return this.data.isDense() ? this : instantiateTypeAbs(this.data.toDense(), getUnit());
64 }
65
66
67 @Override
68 public final PositionMatrix toSparse()
69 {
70 return this.data.isSparse() ? this : instantiateTypeAbs(this.data.toSparse(), getUnit());
71 }
72
73
74 @Override
75 protected final PositionMatrix instantiateTypeAbs(final DoubleMatrixData dmd, final PositionUnit unit)
76 {
77 return new PositionMatrix(dmd, unit);
78 }
79
80
81 @Override
82 protected final LengthMatrix instantiateTypeRel(final DoubleMatrixData dmd, final LengthUnit unit)
83 {
84 return new LengthMatrix(dmd, unit);
85 }
86
87
88 @Override
89 protected final MutablePositionMatrix instantiateMutableType(final DoubleMatrixData dmd, final PositionUnit unit)
90 {
91 return new MutablePositionMatrix(dmd, unit);
92 }
93
94
95 @Override
96 protected final Position instantiateScalar(final double value, final PositionUnit unit)
97 {
98 return new Position(value, unit);
99 }
100
101 }