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