1 package org.djunits.value.vfloat.vector;
2
3 import java.util.List;
4 import java.util.SortedMap;
5
6 import org.djunits.unit.LengthUnit;
7 import org.djunits.unit.PositionUnit;
8 import org.djunits.value.StorageType;
9 import org.djunits.value.ValueException;
10 import org.djunits.value.vfloat.scalar.FloatPosition;
11
12
13
14
15
16
17
18
19
20
21
22
23 public class MutableFloatPositionVector extends AbstractMutableFloatVectorAbs<PositionUnit, LengthUnit, FloatPositionVector,
24 FloatLengthVector, MutableFloatPositionVector, FloatPosition>
25 {
26
27 private static final long serialVersionUID = 20151003L;
28
29
30
31
32
33
34
35
36 public MutableFloatPositionVector(final float[] values, final PositionUnit unit, final StorageType storageType)
37 throws ValueException
38 {
39 super(values, unit, storageType);
40 }
41
42
43
44
45
46
47
48
49 public MutableFloatPositionVector(final List<Float> values, final PositionUnit unit, final StorageType storageType)
50 throws ValueException
51 {
52 super(values, unit, storageType);
53 }
54
55
56
57
58
59
60
61 public MutableFloatPositionVector(final FloatPosition[] values, final StorageType storageType) throws ValueException
62 {
63 super(values, storageType);
64 }
65
66
67
68
69
70
71
72 public MutableFloatPositionVector(final List<FloatPosition> values, final StorageType storageType) throws ValueException
73 {
74 super(values, storageType);
75 }
76
77
78
79
80
81
82
83
84
85 public MutableFloatPositionVector(final SortedMap<Integer, FloatPosition> values, final int length,
86 final StorageType storageType) throws ValueException
87 {
88 super(values, length, storageType);
89 }
90
91
92
93
94
95
96
97
98
99 public MutableFloatPositionVector(final SortedMap<Integer, Float> values, final PositionUnit unit, final int length,
100 final StorageType storageType) throws ValueException
101 {
102 super(values, unit, length, storageType);
103 }
104
105
106
107
108
109
110 MutableFloatPositionVector(final FloatVectorData data, final PositionUnit unit)
111 {
112 super(data, unit);
113 }
114
115
116 @Override
117 protected final FloatPositionVector instantiateTypeAbs(final FloatVectorData dvd, final PositionUnit unit)
118 {
119 return new FloatPositionVector(dvd, unit);
120 }
121
122
123 @Override
124 protected final FloatLengthVector instantiateTypeRel(final FloatVectorData dvd, final LengthUnit unit)
125 {
126 return new FloatLengthVector(dvd, unit);
127 }
128
129
130 @Override
131 protected final MutableFloatPositionVector instantiateMutableType(final FloatVectorData dvd, final PositionUnit unit)
132 {
133 return new MutableFloatPositionVector(dvd, unit);
134 }
135
136
137 @Override
138 protected final FloatPosition instantiateScalar(final float value, final PositionUnit unit)
139 {
140 return new FloatPosition(value, unit);
141 }
142
143
144 @Override
145 public final MutableFloatPositionVector toDense()
146 {
147 return this.data.isDense() ? (MutableFloatPositionVector) this : instantiateMutableType(this.data.toDense(), getUnit());
148 }
149
150
151 @Override
152 public final MutableFloatPositionVector toSparse()
153 {
154 return this.data.isSparse() ? (MutableFloatPositionVector) this
155 : instantiateMutableType(this.data.toSparse(), getUnit());
156 }
157
158
159
160
161
162
163 public FloatPosition[] toArray()
164 {
165 FloatPosition[] array = new FloatPosition[size()];
166 for (int i = 0; i < size(); i++)
167 {
168 try
169 {
170 array[i] = get(i);
171 }
172 catch (ValueException exception)
173 {
174 throw new RuntimeException(exception);
175 }
176 }
177 return array;
178 }
179
180 }