1 package org.djunits.value.vdouble.vector;
2
3 import java.util.List;
4 import java.util.Map;
5
6 import org.djunits.unit.AbsorbedDoseUnit;
7 import org.djunits.unit.AccelerationUnit;
8 import org.djunits.unit.AmountOfSubstanceUnit;
9 import org.djunits.unit.AngleUnit;
10 import org.djunits.unit.AngularAccelerationUnit;
11 import org.djunits.unit.AngularVelocityUnit;
12 import org.djunits.unit.AreaUnit;
13 import org.djunits.unit.CatalyticActivityUnit;
14 import org.djunits.unit.DensityUnit;
15 import org.djunits.unit.DimensionlessUnit;
16 import org.djunits.unit.DurationUnit;
17 import org.djunits.unit.ElectricalCapacitanceUnit;
18 import org.djunits.unit.ElectricalChargeUnit;
19 import org.djunits.unit.ElectricalConductanceUnit;
20 import org.djunits.unit.ElectricalCurrentUnit;
21 import org.djunits.unit.ElectricalInductanceUnit;
22 import org.djunits.unit.ElectricalPotentialUnit;
23 import org.djunits.unit.ElectricalResistanceUnit;
24 import org.djunits.unit.EnergyUnit;
25 import org.djunits.unit.EquivalentDoseUnit;
26 import org.djunits.unit.FlowMassUnit;
27 import org.djunits.unit.FlowVolumeUnit;
28 import org.djunits.unit.ForceUnit;
29 import org.djunits.unit.FrequencyUnit;
30 import org.djunits.unit.IlluminanceUnit;
31 import org.djunits.unit.LengthUnit;
32 import org.djunits.unit.LinearDensityUnit;
33 import org.djunits.unit.LuminousFluxUnit;
34 import org.djunits.unit.LuminousIntensityUnit;
35 import org.djunits.unit.MagneticFluxDensityUnit;
36 import org.djunits.unit.MagneticFluxUnit;
37 import org.djunits.unit.MassUnit;
38 import org.djunits.unit.MomentumUnit;
39 import org.djunits.unit.PowerUnit;
40 import org.djunits.unit.PressureUnit;
41 import org.djunits.unit.RadioActivityUnit;
42 import org.djunits.unit.SIUnit;
43 import org.djunits.unit.SolidAngleUnit;
44 import org.djunits.unit.SpeedUnit;
45 import org.djunits.unit.TemperatureUnit;
46 import org.djunits.unit.TorqueUnit;
47 import org.djunits.unit.Unit;
48 import org.djunits.unit.VolumeUnit;
49 import org.djunits.unit.scale.IdentityScale;
50 import org.djunits.unit.si.SIDimensions;
51 import org.djunits.unit.util.UnitRuntimeException;
52 import org.djunits.value.storage.StorageType;
53 import org.djunits.value.vdouble.scalar.SIScalar;
54 import org.djunits.value.vdouble.vector.base.DoubleVectorRel;
55 import org.djunits.value.vdouble.vector.data.DoubleVectorData;
56 import org.djutils.exceptions.Throw;
57
58 import jakarta.annotation.Generated;
59
60
61
62
63
64
65
66
67
68
69
70 @Generated(value = "org.djunits.generator.GenerateDJUNIT", date = "2023-07-23T14:06:38.224104100Z")
71 public class SIVector extends DoubleVectorRel<SIUnit, SIScalar, SIVector>
72 {
73
74 private static final long serialVersionUID = 20150901L;
75
76
77
78
79
80
81 public SIVector(final DoubleVectorData data, final SIUnit displayUnit)
82 {
83 super(data, displayUnit);
84 }
85
86
87
88
89
90
91
92
93
94
95 public SIVector(final double[] data, final SIUnit displayUnit, final StorageType storageType)
96 {
97 this(DoubleVectorData.instantiate(data, displayUnit.getScale(), storageType), displayUnit);
98 }
99
100
101
102
103
104
105
106 public SIVector(final double[] data, final SIUnit displayUnit)
107 {
108 this(data, displayUnit, StorageType.DENSE);
109 }
110
111
112
113
114
115
116
117
118
119
120 public SIVector(final SIScalar[] data, final SIUnit displayUnit, final StorageType storageType)
121 {
122 this(DoubleVectorData.instantiate(data, storageType), displayUnit);
123 }
124
125
126
127
128
129
130
131
132 public SIVector(final SIScalar[] data, final SIUnit displayUnit)
133 {
134 this(data, displayUnit, StorageType.DENSE);
135 }
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151 public SIVector(final List<? extends Number> data, final SIUnit displayUnit, final StorageType storageType)
152 {
153 this(data.size() == 0 ? DoubleVectorData.instantiate(new double[] {}, IdentityScale.SCALE, storageType)
154 : data.get(0) instanceof SIScalar ? DoubleVectorData.instantiate(data, IdentityScale.SCALE, storageType)
155 : DoubleVectorData.instantiate(data, displayUnit.getScale(), storageType),
156 displayUnit);
157 }
158
159
160
161
162
163
164
165
166
167
168
169
170
171 public SIVector(final List<? extends Number> data, final SIUnit displayUnit)
172 {
173 this(data, displayUnit, StorageType.DENSE);
174 }
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193 public SIVector(final Map<Integer, ? extends Number> data, final int size, final SIUnit displayUnit,
194 final StorageType storageType)
195 {
196 this(data.size() == 0 ? DoubleVectorData.instantiate(data, size, IdentityScale.SCALE, storageType)
197 : data.values().iterator().next() instanceof SIScalar
198 ? DoubleVectorData.instantiate(data, size, IdentityScale.SCALE, storageType)
199 : DoubleVectorData.instantiate(data, size, displayUnit.getScale(), storageType),
200 displayUnit);
201 }
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218 public SIVector(final Map<Integer, ? extends Number> data, final int size, final SIUnit displayUnit)
219 {
220 this(data, size, displayUnit, StorageType.SPARSE);
221 }
222
223
224
225
226 @Override
227 public Class<SIScalar> getScalarClass()
228 {
229 return SIScalar.class;
230 }
231
232
233
234
235
236
237
238
239
240
241 public static SIVector of(final double[] value, final String unitString, final StorageType storageType)
242 {
243 Throw.whenNull(value, "Error parsing SIVector: value is null");
244 Throw.whenNull(unitString, "Error parsing SIVector: unitString is null");
245 Throw.whenNull(storageType, "Error parsing SIVector: storageType is null");
246 try
247 {
248 SIUnit unit = Unit.lookupOrCreateUnitWithSIDimensions(SIDimensions.of(unitString));
249 if (unit != null)
250 {
251 return new SIVector(value, unit, storageType);
252 }
253 }
254 catch (Exception exception)
255 {
256 throw new IllegalArgumentException("Error parsing SIUnit from " + unitString, exception);
257 }
258 throw new IllegalArgumentException("Error parsing SIVector with unit " + unitString);
259 }
260
261
262
263
264
265
266
267
268
269
270 public static SIVector of(final List<Double> valueList, final String unitString, final StorageType storageType)
271 {
272 Throw.whenNull(valueList, "Error parsing SIVector: valueList is null");
273 Throw.whenNull(unitString, "Error parsing SIVector: unitString is null");
274 Throw.whenNull(storageType, "Error parsing SIVector: storageType is null");
275 try
276 {
277 SIUnit unit = Unit.lookupOrCreateUnitWithSIDimensions(SIDimensions.of(unitString));
278 if (unit != null)
279 {
280 return new SIVector(valueList, unit, storageType);
281 }
282 }
283 catch (Exception exception)
284 {
285 throw new IllegalArgumentException("Error parsing SIUnit from " + unitString, exception);
286 }
287 throw new IllegalArgumentException("Error parsing SIVector with unit " + unitString);
288 }
289
290
291
292
293
294
295
296
297
298
299
300 public static SIVector of(final Map<Integer, Double> valueMap, final String unitString, final int length,
301 final StorageType storageType)
302 {
303 Throw.whenNull(valueMap, "Error parsing SIVector: valueMap is null");
304 Throw.whenNull(unitString, "Error parsing SIVector: unitString is null");
305 Throw.whenNull(storageType, "Error parsing SIVector: storageType is null");
306 try
307 {
308 SIUnit unit = Unit.lookupOrCreateUnitWithSIDimensions(SIDimensions.of(unitString));
309 if (unit != null)
310 {
311 return new SIVector(valueMap, length, unit, storageType);
312 }
313 }
314 catch (Exception exception)
315 {
316 throw new IllegalArgumentException("Error parsing SIUnit from " + unitString, exception);
317 }
318 throw new IllegalArgumentException("Error parsing SIVector with unit " + unitString);
319 }
320
321
322 @Override
323 public SIVector instantiateVector(final DoubleVectorData dvd, final SIUnit unit)
324 {
325 return new SIVector(dvd, unit);
326 }
327
328
329 @Override
330 public SIScalar instantiateScalarSI(final double valueSI, final SIUnit unit)
331 {
332 return new SIScalar(valueSI, unit);
333 }
334
335
336 @Override
337 public String toString(final SIUnit displayUnit, final boolean verbose, final boolean withUnit)
338 {
339 return super.toString(displayUnit, verbose, withUnit).replaceAll("!", "");
340 }
341
342
343
344
345
346
347
348
349
350 public final AbsorbedDoseVector asAbsorbedDose()
351 {
352 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AbsorbedDoseUnit.BASE.getSiDimensions())),
353 UnitRuntimeException.class, "cannot cast %s to AbsorbedDoseVector", this.toString());
354 return new AbsorbedDoseVector(this.data, AbsorbedDoseUnit.SI);
355 }
356
357
358
359
360
361
362 public final AbsorbedDoseVector asAbsorbedDose(final AbsorbedDoseUnit displayUnit)
363 {
364 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AbsorbedDoseUnit.BASE.getSiDimensions())),
365 UnitRuntimeException.class, "cannot cast %s to AbsorbedDoseVector", this.toString());
366 AbsorbedDoseVector result = new AbsorbedDoseVector(this.data, displayUnit.getStandardUnit());
367 result.setDisplayUnit(displayUnit);
368 return result;
369 }
370
371
372
373
374
375 public final AccelerationVector asAcceleration()
376 {
377 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AccelerationUnit.BASE.getSiDimensions())),
378 UnitRuntimeException.class, "cannot cast %s to AccelerationVector", this.toString());
379 return new AccelerationVector(this.data, AccelerationUnit.SI);
380 }
381
382
383
384
385
386
387 public final AccelerationVector asAcceleration(final AccelerationUnit displayUnit)
388 {
389 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AccelerationUnit.BASE.getSiDimensions())),
390 UnitRuntimeException.class, "cannot cast %s to AccelerationVector", this.toString());
391 AccelerationVector result = new AccelerationVector(this.data, displayUnit.getStandardUnit());
392 result.setDisplayUnit(displayUnit);
393 return result;
394 }
395
396
397
398
399
400 public final AmountOfSubstanceVector asAmountOfSubstance()
401 {
402 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AmountOfSubstanceUnit.BASE.getSiDimensions())),
403 UnitRuntimeException.class, "cannot cast %s to AmountOfSubstanceVector", this.toString());
404 return new AmountOfSubstanceVector(this.data, AmountOfSubstanceUnit.SI);
405 }
406
407
408
409
410
411
412 public final AmountOfSubstanceVector asAmountOfSubstance(final AmountOfSubstanceUnit displayUnit)
413 {
414 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AmountOfSubstanceUnit.BASE.getSiDimensions())),
415 UnitRuntimeException.class, "cannot cast %s to AmountOfSubstanceVector", this.toString());
416 AmountOfSubstanceVector result = new AmountOfSubstanceVector(this.data, displayUnit.getStandardUnit());
417 result.setDisplayUnit(displayUnit);
418 return result;
419 }
420
421
422
423
424
425 public final AngularAccelerationVector asAngularAcceleration()
426 {
427 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AngularAccelerationUnit.BASE.getSiDimensions())),
428 UnitRuntimeException.class, "cannot cast %s to AngularAccelerationVector", this.toString());
429 return new AngularAccelerationVector(this.data, AngularAccelerationUnit.SI);
430 }
431
432
433
434
435
436
437 public final AngularAccelerationVector asAngularAcceleration(final AngularAccelerationUnit displayUnit)
438 {
439 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AngularAccelerationUnit.BASE.getSiDimensions())),
440 UnitRuntimeException.class, "cannot cast %s to AngularAccelerationVector", this.toString());
441 AngularAccelerationVector result = new AngularAccelerationVector(this.data, displayUnit.getStandardUnit());
442 result.setDisplayUnit(displayUnit);
443 return result;
444 }
445
446
447
448
449
450 public final AngularVelocityVector asAngularVelocity()
451 {
452 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AngularVelocityUnit.BASE.getSiDimensions())),
453 UnitRuntimeException.class, "cannot cast %s to AngularVelocityVector", this.toString());
454 return new AngularVelocityVector(this.data, AngularVelocityUnit.SI);
455 }
456
457
458
459
460
461
462 public final AngularVelocityVector asAngularVelocity(final AngularVelocityUnit displayUnit)
463 {
464 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AngularVelocityUnit.BASE.getSiDimensions())),
465 UnitRuntimeException.class, "cannot cast %s to AngularVelocityVector", this.toString());
466 AngularVelocityVector result = new AngularVelocityVector(this.data, displayUnit.getStandardUnit());
467 result.setDisplayUnit(displayUnit);
468 return result;
469 }
470
471
472
473
474
475 public final AreaVector asArea()
476 {
477 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AreaUnit.BASE.getSiDimensions())),
478 UnitRuntimeException.class, "cannot cast %s to AreaVector", this.toString());
479 return new AreaVector(this.data, AreaUnit.SI);
480 }
481
482
483
484
485
486
487 public final AreaVector asArea(final AreaUnit displayUnit)
488 {
489 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AreaUnit.BASE.getSiDimensions())),
490 UnitRuntimeException.class, "cannot cast %s to AreaVector", this.toString());
491 AreaVector result = new AreaVector(this.data, displayUnit.getStandardUnit());
492 result.setDisplayUnit(displayUnit);
493 return result;
494 }
495
496
497
498
499
500 public final CatalyticActivityVector asCatalyticActivity()
501 {
502 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(CatalyticActivityUnit.BASE.getSiDimensions())),
503 UnitRuntimeException.class, "cannot cast %s to CatalyticActivityVector", this.toString());
504 return new CatalyticActivityVector(this.data, CatalyticActivityUnit.SI);
505 }
506
507
508
509
510
511
512 public final CatalyticActivityVector asCatalyticActivity(final CatalyticActivityUnit displayUnit)
513 {
514 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(CatalyticActivityUnit.BASE.getSiDimensions())),
515 UnitRuntimeException.class, "cannot cast %s to CatalyticActivityVector", this.toString());
516 CatalyticActivityVector result = new CatalyticActivityVector(this.data, displayUnit.getStandardUnit());
517 result.setDisplayUnit(displayUnit);
518 return result;
519 }
520
521
522
523
524
525 public final DensityVector asDensity()
526 {
527 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(DensityUnit.BASE.getSiDimensions())),
528 UnitRuntimeException.class, "cannot cast %s to DensityVector", this.toString());
529 return new DensityVector(this.data, DensityUnit.SI);
530 }
531
532
533
534
535
536
537 public final DensityVector asDensity(final DensityUnit displayUnit)
538 {
539 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(DensityUnit.BASE.getSiDimensions())),
540 UnitRuntimeException.class, "cannot cast %s to DensityVector", this.toString());
541 DensityVector result = new DensityVector(this.data, displayUnit.getStandardUnit());
542 result.setDisplayUnit(displayUnit);
543 return result;
544 }
545
546
547
548
549
550 public final DimensionlessVector asDimensionless()
551 {
552 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(DimensionlessUnit.BASE.getSiDimensions())),
553 UnitRuntimeException.class, "cannot cast %s to DimensionlessVector", this.toString());
554 return new DimensionlessVector(this.data, DimensionlessUnit.SI);
555 }
556
557
558
559
560
561
562 public final DimensionlessVector asDimensionless(final DimensionlessUnit displayUnit)
563 {
564 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(DimensionlessUnit.BASE.getSiDimensions())),
565 UnitRuntimeException.class, "cannot cast %s to DimensionlessVector", this.toString());
566 DimensionlessVector result = new DimensionlessVector(this.data, displayUnit.getStandardUnit());
567 result.setDisplayUnit(displayUnit);
568 return result;
569 }
570
571
572
573
574
575 public final ElectricalCapacitanceVector asElectricalCapacitance()
576 {
577 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalCapacitanceUnit.BASE.getSiDimensions())),
578 UnitRuntimeException.class, "cannot cast %s to ElectricalCapacitanceVector", this.toString());
579 return new ElectricalCapacitanceVector(this.data, ElectricalCapacitanceUnit.SI);
580 }
581
582
583
584
585
586
587 public final ElectricalCapacitanceVector asElectricalCapacitance(final ElectricalCapacitanceUnit displayUnit)
588 {
589 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalCapacitanceUnit.BASE.getSiDimensions())),
590 UnitRuntimeException.class, "cannot cast %s to ElectricalCapacitanceVector", this.toString());
591 ElectricalCapacitanceVector result = new ElectricalCapacitanceVector(this.data, displayUnit.getStandardUnit());
592 result.setDisplayUnit(displayUnit);
593 return result;
594 }
595
596
597
598
599
600 public final ElectricalChargeVector asElectricalCharge()
601 {
602 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalChargeUnit.BASE.getSiDimensions())),
603 UnitRuntimeException.class, "cannot cast %s to ElectricalChargeVector", this.toString());
604 return new ElectricalChargeVector(this.data, ElectricalChargeUnit.SI);
605 }
606
607
608
609
610
611
612 public final ElectricalChargeVector asElectricalCharge(final ElectricalChargeUnit displayUnit)
613 {
614 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalChargeUnit.BASE.getSiDimensions())),
615 UnitRuntimeException.class, "cannot cast %s to ElectricalChargeVector", this.toString());
616 ElectricalChargeVector result = new ElectricalChargeVector(this.data, displayUnit.getStandardUnit());
617 result.setDisplayUnit(displayUnit);
618 return result;
619 }
620
621
622
623
624
625 public final ElectricalConductanceVector asElectricalConductance()
626 {
627 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalConductanceUnit.BASE.getSiDimensions())),
628 UnitRuntimeException.class, "cannot cast %s to ElectricalConductanceVector", this.toString());
629 return new ElectricalConductanceVector(this.data, ElectricalConductanceUnit.SI);
630 }
631
632
633
634
635
636
637 public final ElectricalConductanceVector asElectricalConductance(final ElectricalConductanceUnit displayUnit)
638 {
639 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalConductanceUnit.BASE.getSiDimensions())),
640 UnitRuntimeException.class, "cannot cast %s to ElectricalConductanceVector", this.toString());
641 ElectricalConductanceVector result = new ElectricalConductanceVector(this.data, displayUnit.getStandardUnit());
642 result.setDisplayUnit(displayUnit);
643 return result;
644 }
645
646
647
648
649
650 public final ElectricalCurrentVector asElectricalCurrent()
651 {
652 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalCurrentUnit.BASE.getSiDimensions())),
653 UnitRuntimeException.class, "cannot cast %s to ElectricalCurrentVector", this.toString());
654 return new ElectricalCurrentVector(this.data, ElectricalCurrentUnit.SI);
655 }
656
657
658
659
660
661
662 public final ElectricalCurrentVector asElectricalCurrent(final ElectricalCurrentUnit displayUnit)
663 {
664 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalCurrentUnit.BASE.getSiDimensions())),
665 UnitRuntimeException.class, "cannot cast %s to ElectricalCurrentVector", this.toString());
666 ElectricalCurrentVector result = new ElectricalCurrentVector(this.data, displayUnit.getStandardUnit());
667 result.setDisplayUnit(displayUnit);
668 return result;
669 }
670
671
672
673
674
675 public final ElectricalInductanceVector asElectricalInductance()
676 {
677 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalInductanceUnit.BASE.getSiDimensions())),
678 UnitRuntimeException.class, "cannot cast %s to ElectricalInductanceVector", this.toString());
679 return new ElectricalInductanceVector(this.data, ElectricalInductanceUnit.SI);
680 }
681
682
683
684
685
686
687 public final ElectricalInductanceVector asElectricalInductance(final ElectricalInductanceUnit displayUnit)
688 {
689 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalInductanceUnit.BASE.getSiDimensions())),
690 UnitRuntimeException.class, "cannot cast %s to ElectricalInductanceVector", this.toString());
691 ElectricalInductanceVector result = new ElectricalInductanceVector(this.data, displayUnit.getStandardUnit());
692 result.setDisplayUnit(displayUnit);
693 return result;
694 }
695
696
697
698
699
700 public final ElectricalPotentialVector asElectricalPotential()
701 {
702 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalPotentialUnit.BASE.getSiDimensions())),
703 UnitRuntimeException.class, "cannot cast %s to ElectricalPotentialVector", this.toString());
704 return new ElectricalPotentialVector(this.data, ElectricalPotentialUnit.SI);
705 }
706
707
708
709
710
711
712 public final ElectricalPotentialVector asElectricalPotential(final ElectricalPotentialUnit displayUnit)
713 {
714 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalPotentialUnit.BASE.getSiDimensions())),
715 UnitRuntimeException.class, "cannot cast %s to ElectricalPotentialVector", this.toString());
716 ElectricalPotentialVector result = new ElectricalPotentialVector(this.data, displayUnit.getStandardUnit());
717 result.setDisplayUnit(displayUnit);
718 return result;
719 }
720
721
722
723
724
725 public final ElectricalResistanceVector asElectricalResistance()
726 {
727 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalResistanceUnit.BASE.getSiDimensions())),
728 UnitRuntimeException.class, "cannot cast %s to ElectricalResistanceVector", this.toString());
729 return new ElectricalResistanceVector(this.data, ElectricalResistanceUnit.SI);
730 }
731
732
733
734
735
736
737 public final ElectricalResistanceVector asElectricalResistance(final ElectricalResistanceUnit displayUnit)
738 {
739 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ElectricalResistanceUnit.BASE.getSiDimensions())),
740 UnitRuntimeException.class, "cannot cast %s to ElectricalResistanceVector", this.toString());
741 ElectricalResistanceVector result = new ElectricalResistanceVector(this.data, displayUnit.getStandardUnit());
742 result.setDisplayUnit(displayUnit);
743 return result;
744 }
745
746
747
748
749
750 public final EnergyVector asEnergy()
751 {
752 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(EnergyUnit.BASE.getSiDimensions())),
753 UnitRuntimeException.class, "cannot cast %s to EnergyVector", this.toString());
754 return new EnergyVector(this.data, EnergyUnit.SI);
755 }
756
757
758
759
760
761
762 public final EnergyVector asEnergy(final EnergyUnit displayUnit)
763 {
764 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(EnergyUnit.BASE.getSiDimensions())),
765 UnitRuntimeException.class, "cannot cast %s to EnergyVector", this.toString());
766 EnergyVector result = new EnergyVector(this.data, displayUnit.getStandardUnit());
767 result.setDisplayUnit(displayUnit);
768 return result;
769 }
770
771
772
773
774
775 public final EquivalentDoseVector asEquivalentDose()
776 {
777 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(EquivalentDoseUnit.BASE.getSiDimensions())),
778 UnitRuntimeException.class, "cannot cast %s to EquivalentDoseVector", this.toString());
779 return new EquivalentDoseVector(this.data, EquivalentDoseUnit.SI);
780 }
781
782
783
784
785
786
787 public final EquivalentDoseVector asEquivalentDose(final EquivalentDoseUnit displayUnit)
788 {
789 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(EquivalentDoseUnit.BASE.getSiDimensions())),
790 UnitRuntimeException.class, "cannot cast %s to EquivalentDoseVector", this.toString());
791 EquivalentDoseVector result = new EquivalentDoseVector(this.data, displayUnit.getStandardUnit());
792 result.setDisplayUnit(displayUnit);
793 return result;
794 }
795
796
797
798
799
800 public final FlowMassVector asFlowMass()
801 {
802 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(FlowMassUnit.BASE.getSiDimensions())),
803 UnitRuntimeException.class, "cannot cast %s to FlowMassVector", this.toString());
804 return new FlowMassVector(this.data, FlowMassUnit.SI);
805 }
806
807
808
809
810
811
812 public final FlowMassVector asFlowMass(final FlowMassUnit displayUnit)
813 {
814 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(FlowMassUnit.BASE.getSiDimensions())),
815 UnitRuntimeException.class, "cannot cast %s to FlowMassVector", this.toString());
816 FlowMassVector result = new FlowMassVector(this.data, displayUnit.getStandardUnit());
817 result.setDisplayUnit(displayUnit);
818 return result;
819 }
820
821
822
823
824
825 public final FlowVolumeVector asFlowVolume()
826 {
827 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(FlowVolumeUnit.BASE.getSiDimensions())),
828 UnitRuntimeException.class, "cannot cast %s to FlowVolumeVector", this.toString());
829 return new FlowVolumeVector(this.data, FlowVolumeUnit.SI);
830 }
831
832
833
834
835
836
837 public final FlowVolumeVector asFlowVolume(final FlowVolumeUnit displayUnit)
838 {
839 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(FlowVolumeUnit.BASE.getSiDimensions())),
840 UnitRuntimeException.class, "cannot cast %s to FlowVolumeVector", this.toString());
841 FlowVolumeVector result = new FlowVolumeVector(this.data, displayUnit.getStandardUnit());
842 result.setDisplayUnit(displayUnit);
843 return result;
844 }
845
846
847
848
849
850 public final ForceVector asForce()
851 {
852 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ForceUnit.BASE.getSiDimensions())),
853 UnitRuntimeException.class, "cannot cast %s to ForceVector", this.toString());
854 return new ForceVector(this.data, ForceUnit.SI);
855 }
856
857
858
859
860
861
862 public final ForceVector asForce(final ForceUnit displayUnit)
863 {
864 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(ForceUnit.BASE.getSiDimensions())),
865 UnitRuntimeException.class, "cannot cast %s to ForceVector", this.toString());
866 ForceVector result = new ForceVector(this.data, displayUnit.getStandardUnit());
867 result.setDisplayUnit(displayUnit);
868 return result;
869 }
870
871
872
873
874
875 public final FrequencyVector asFrequency()
876 {
877 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(FrequencyUnit.BASE.getSiDimensions())),
878 UnitRuntimeException.class, "cannot cast %s to FrequencyVector", this.toString());
879 return new FrequencyVector(this.data, FrequencyUnit.SI);
880 }
881
882
883
884
885
886
887 public final FrequencyVector asFrequency(final FrequencyUnit displayUnit)
888 {
889 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(FrequencyUnit.BASE.getSiDimensions())),
890 UnitRuntimeException.class, "cannot cast %s to FrequencyVector", this.toString());
891 FrequencyVector result = new FrequencyVector(this.data, displayUnit.getStandardUnit());
892 result.setDisplayUnit(displayUnit);
893 return result;
894 }
895
896
897
898
899
900 public final IlluminanceVector asIlluminance()
901 {
902 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(IlluminanceUnit.BASE.getSiDimensions())),
903 UnitRuntimeException.class, "cannot cast %s to IlluminanceVector", this.toString());
904 return new IlluminanceVector(this.data, IlluminanceUnit.SI);
905 }
906
907
908
909
910
911
912 public final IlluminanceVector asIlluminance(final IlluminanceUnit displayUnit)
913 {
914 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(IlluminanceUnit.BASE.getSiDimensions())),
915 UnitRuntimeException.class, "cannot cast %s to IlluminanceVector", this.toString());
916 IlluminanceVector result = new IlluminanceVector(this.data, displayUnit.getStandardUnit());
917 result.setDisplayUnit(displayUnit);
918 return result;
919 }
920
921
922
923
924
925 public final LinearDensityVector asLinearDensity()
926 {
927 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LinearDensityUnit.BASE.getSiDimensions())),
928 UnitRuntimeException.class, "cannot cast %s to LinearDensityVector", this.toString());
929 return new LinearDensityVector(this.data, LinearDensityUnit.SI);
930 }
931
932
933
934
935
936
937 public final LinearDensityVector asLinearDensity(final LinearDensityUnit displayUnit)
938 {
939 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LinearDensityUnit.BASE.getSiDimensions())),
940 UnitRuntimeException.class, "cannot cast %s to LinearDensityVector", this.toString());
941 LinearDensityVector result = new LinearDensityVector(this.data, displayUnit.getStandardUnit());
942 result.setDisplayUnit(displayUnit);
943 return result;
944 }
945
946
947
948
949
950 public final LuminousFluxVector asLuminousFlux()
951 {
952 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LuminousFluxUnit.BASE.getSiDimensions())),
953 UnitRuntimeException.class, "cannot cast %s to LuminousFluxVector", this.toString());
954 return new LuminousFluxVector(this.data, LuminousFluxUnit.SI);
955 }
956
957
958
959
960
961
962 public final LuminousFluxVector asLuminousFlux(final LuminousFluxUnit displayUnit)
963 {
964 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LuminousFluxUnit.BASE.getSiDimensions())),
965 UnitRuntimeException.class, "cannot cast %s to LuminousFluxVector", this.toString());
966 LuminousFluxVector result = new LuminousFluxVector(this.data, displayUnit.getStandardUnit());
967 result.setDisplayUnit(displayUnit);
968 return result;
969 }
970
971
972
973
974
975 public final LuminousIntensityVector asLuminousIntensity()
976 {
977 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LuminousIntensityUnit.BASE.getSiDimensions())),
978 UnitRuntimeException.class, "cannot cast %s to LuminousIntensityVector", this.toString());
979 return new LuminousIntensityVector(this.data, LuminousIntensityUnit.SI);
980 }
981
982
983
984
985
986
987 public final LuminousIntensityVector asLuminousIntensity(final LuminousIntensityUnit displayUnit)
988 {
989 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LuminousIntensityUnit.BASE.getSiDimensions())),
990 UnitRuntimeException.class, "cannot cast %s to LuminousIntensityVector", this.toString());
991 LuminousIntensityVector result = new LuminousIntensityVector(this.data, displayUnit.getStandardUnit());
992 result.setDisplayUnit(displayUnit);
993 return result;
994 }
995
996
997
998
999
1000 public final MagneticFluxDensityVector asMagneticFluxDensity()
1001 {
1002 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(MagneticFluxDensityUnit.BASE.getSiDimensions())),
1003 UnitRuntimeException.class, "cannot cast %s to MagneticFluxDensityVector", this.toString());
1004 return new MagneticFluxDensityVector(this.data, MagneticFluxDensityUnit.SI);
1005 }
1006
1007
1008
1009
1010
1011
1012 public final MagneticFluxDensityVector asMagneticFluxDensity(final MagneticFluxDensityUnit displayUnit)
1013 {
1014 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(MagneticFluxDensityUnit.BASE.getSiDimensions())),
1015 UnitRuntimeException.class, "cannot cast %s to MagneticFluxDensityVector", this.toString());
1016 MagneticFluxDensityVector result = new MagneticFluxDensityVector(this.data, displayUnit.getStandardUnit());
1017 result.setDisplayUnit(displayUnit);
1018 return result;
1019 }
1020
1021
1022
1023
1024
1025 public final MagneticFluxVector asMagneticFlux()
1026 {
1027 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(MagneticFluxUnit.BASE.getSiDimensions())),
1028 UnitRuntimeException.class, "cannot cast %s to MagneticFluxVector", this.toString());
1029 return new MagneticFluxVector(this.data, MagneticFluxUnit.SI);
1030 }
1031
1032
1033
1034
1035
1036
1037 public final MagneticFluxVector asMagneticFlux(final MagneticFluxUnit displayUnit)
1038 {
1039 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(MagneticFluxUnit.BASE.getSiDimensions())),
1040 UnitRuntimeException.class, "cannot cast %s to MagneticFluxVector", this.toString());
1041 MagneticFluxVector result = new MagneticFluxVector(this.data, displayUnit.getStandardUnit());
1042 result.setDisplayUnit(displayUnit);
1043 return result;
1044 }
1045
1046
1047
1048
1049
1050 public final MassVector asMass()
1051 {
1052 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(MassUnit.BASE.getSiDimensions())),
1053 UnitRuntimeException.class, "cannot cast %s to MassVector", this.toString());
1054 return new MassVector(this.data, MassUnit.SI);
1055 }
1056
1057
1058
1059
1060
1061
1062 public final MassVector asMass(final MassUnit displayUnit)
1063 {
1064 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(MassUnit.BASE.getSiDimensions())),
1065 UnitRuntimeException.class, "cannot cast %s to MassVector", this.toString());
1066 MassVector result = new MassVector(this.data, displayUnit.getStandardUnit());
1067 result.setDisplayUnit(displayUnit);
1068 return result;
1069 }
1070
1071
1072
1073
1074
1075 public final MomentumVector asMomentum()
1076 {
1077 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(MomentumUnit.BASE.getSiDimensions())),
1078 UnitRuntimeException.class, "cannot cast %s to MomentumVector", this.toString());
1079 return new MomentumVector(this.data, MomentumUnit.SI);
1080 }
1081
1082
1083
1084
1085
1086
1087 public final MomentumVector asMomentum(final MomentumUnit displayUnit)
1088 {
1089 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(MomentumUnit.BASE.getSiDimensions())),
1090 UnitRuntimeException.class, "cannot cast %s to MomentumVector", this.toString());
1091 MomentumVector result = new MomentumVector(this.data, displayUnit.getStandardUnit());
1092 result.setDisplayUnit(displayUnit);
1093 return result;
1094 }
1095
1096
1097
1098
1099
1100 public final PowerVector asPower()
1101 {
1102 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(PowerUnit.BASE.getSiDimensions())),
1103 UnitRuntimeException.class, "cannot cast %s to PowerVector", this.toString());
1104 return new PowerVector(this.data, PowerUnit.SI);
1105 }
1106
1107
1108
1109
1110
1111
1112 public final PowerVector asPower(final PowerUnit displayUnit)
1113 {
1114 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(PowerUnit.BASE.getSiDimensions())),
1115 UnitRuntimeException.class, "cannot cast %s to PowerVector", this.toString());
1116 PowerVector result = new PowerVector(this.data, displayUnit.getStandardUnit());
1117 result.setDisplayUnit(displayUnit);
1118 return result;
1119 }
1120
1121
1122
1123
1124
1125 public final PressureVector asPressure()
1126 {
1127 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(PressureUnit.BASE.getSiDimensions())),
1128 UnitRuntimeException.class, "cannot cast %s to PressureVector", this.toString());
1129 return new PressureVector(this.data, PressureUnit.SI);
1130 }
1131
1132
1133
1134
1135
1136
1137 public final PressureVector asPressure(final PressureUnit displayUnit)
1138 {
1139 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(PressureUnit.BASE.getSiDimensions())),
1140 UnitRuntimeException.class, "cannot cast %s to PressureVector", this.toString());
1141 PressureVector result = new PressureVector(this.data, displayUnit.getStandardUnit());
1142 result.setDisplayUnit(displayUnit);
1143 return result;
1144 }
1145
1146
1147
1148
1149
1150 public final RadioActivityVector asRadioActivity()
1151 {
1152 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(RadioActivityUnit.BASE.getSiDimensions())),
1153 UnitRuntimeException.class, "cannot cast %s to RadioActivityVector", this.toString());
1154 return new RadioActivityVector(this.data, RadioActivityUnit.SI);
1155 }
1156
1157
1158
1159
1160
1161
1162 public final RadioActivityVector asRadioActivity(final RadioActivityUnit displayUnit)
1163 {
1164 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(RadioActivityUnit.BASE.getSiDimensions())),
1165 UnitRuntimeException.class, "cannot cast %s to RadioActivityVector", this.toString());
1166 RadioActivityVector result = new RadioActivityVector(this.data, displayUnit.getStandardUnit());
1167 result.setDisplayUnit(displayUnit);
1168 return result;
1169 }
1170
1171
1172
1173
1174
1175 public final SolidAngleVector asSolidAngle()
1176 {
1177 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(SolidAngleUnit.BASE.getSiDimensions())),
1178 UnitRuntimeException.class, "cannot cast %s to SolidAngleVector", this.toString());
1179 return new SolidAngleVector(this.data, SolidAngleUnit.SI);
1180 }
1181
1182
1183
1184
1185
1186
1187 public final SolidAngleVector asSolidAngle(final SolidAngleUnit displayUnit)
1188 {
1189 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(SolidAngleUnit.BASE.getSiDimensions())),
1190 UnitRuntimeException.class, "cannot cast %s to SolidAngleVector", this.toString());
1191 SolidAngleVector result = new SolidAngleVector(this.data, displayUnit.getStandardUnit());
1192 result.setDisplayUnit(displayUnit);
1193 return result;
1194 }
1195
1196
1197
1198
1199
1200 public final SpeedVector asSpeed()
1201 {
1202 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(SpeedUnit.BASE.getSiDimensions())),
1203 UnitRuntimeException.class, "cannot cast %s to SpeedVector", this.toString());
1204 return new SpeedVector(this.data, SpeedUnit.SI);
1205 }
1206
1207
1208
1209
1210
1211
1212 public final SpeedVector asSpeed(final SpeedUnit displayUnit)
1213 {
1214 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(SpeedUnit.BASE.getSiDimensions())),
1215 UnitRuntimeException.class, "cannot cast %s to SpeedVector", this.toString());
1216 SpeedVector result = new SpeedVector(this.data, displayUnit.getStandardUnit());
1217 result.setDisplayUnit(displayUnit);
1218 return result;
1219 }
1220
1221
1222
1223
1224
1225 public final TorqueVector asTorque()
1226 {
1227 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(TorqueUnit.BASE.getSiDimensions())),
1228 UnitRuntimeException.class, "cannot cast %s to TorqueVector", this.toString());
1229 return new TorqueVector(this.data, TorqueUnit.SI);
1230 }
1231
1232
1233
1234
1235
1236
1237 public final TorqueVector asTorque(final TorqueUnit displayUnit)
1238 {
1239 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(TorqueUnit.BASE.getSiDimensions())),
1240 UnitRuntimeException.class, "cannot cast %s to TorqueVector", this.toString());
1241 TorqueVector result = new TorqueVector(this.data, displayUnit.getStandardUnit());
1242 result.setDisplayUnit(displayUnit);
1243 return result;
1244 }
1245
1246
1247
1248
1249
1250 public final VolumeVector asVolume()
1251 {
1252 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(VolumeUnit.BASE.getSiDimensions())),
1253 UnitRuntimeException.class, "cannot cast %s to VolumeVector", this.toString());
1254 return new VolumeVector(this.data, VolumeUnit.SI);
1255 }
1256
1257
1258
1259
1260
1261
1262 public final VolumeVector asVolume(final VolumeUnit displayUnit)
1263 {
1264 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(VolumeUnit.BASE.getSiDimensions())),
1265 UnitRuntimeException.class, "cannot cast %s to VolumeVector", this.toString());
1266 VolumeVector result = new VolumeVector(this.data, displayUnit.getStandardUnit());
1267 result.setDisplayUnit(displayUnit);
1268 return result;
1269 }
1270
1271
1272
1273
1274
1275 public final AngleVector asAngle()
1276 {
1277 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AngleUnit.BASE.getSiDimensions())),
1278 UnitRuntimeException.class, "cannot cast %s to AngleVector", this.toString());
1279 return new AngleVector(this.data, AngleUnit.SI);
1280 }
1281
1282
1283
1284
1285
1286
1287 public final AngleVector asAngle(final AngleUnit displayUnit)
1288 {
1289 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(AngleUnit.BASE.getSiDimensions())),
1290 UnitRuntimeException.class, "cannot cast %s to AngleVector", this.toString());
1291 AngleVector result = new AngleVector(this.data, displayUnit.getStandardUnit());
1292 result.setDisplayUnit(displayUnit);
1293 return result;
1294 }
1295
1296
1297
1298
1299
1300 public final LengthVector asLength()
1301 {
1302 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LengthUnit.BASE.getSiDimensions())),
1303 UnitRuntimeException.class, "cannot cast %s to LengthVector", this.toString());
1304 return new LengthVector(this.data, LengthUnit.SI);
1305 }
1306
1307
1308
1309
1310
1311
1312 public final LengthVector asLength(final LengthUnit displayUnit)
1313 {
1314 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(LengthUnit.BASE.getSiDimensions())),
1315 UnitRuntimeException.class, "cannot cast %s to LengthVector", this.toString());
1316 LengthVector result = new LengthVector(this.data, displayUnit.getStandardUnit());
1317 result.setDisplayUnit(displayUnit);
1318 return result;
1319 }
1320
1321
1322
1323
1324
1325 public final TemperatureVector asTemperature()
1326 {
1327 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(TemperatureUnit.BASE.getSiDimensions())),
1328 UnitRuntimeException.class, "cannot cast %s to TemperatureVector", this.toString());
1329 return new TemperatureVector(this.data, TemperatureUnit.SI);
1330 }
1331
1332
1333
1334
1335
1336
1337 public final TemperatureVector asTemperature(final TemperatureUnit displayUnit)
1338 {
1339 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(TemperatureUnit.BASE.getSiDimensions())),
1340 UnitRuntimeException.class, "cannot cast %s to TemperatureVector", this.toString());
1341 TemperatureVector result = new TemperatureVector(this.data, displayUnit.getStandardUnit());
1342 result.setDisplayUnit(displayUnit);
1343 return result;
1344 }
1345
1346
1347
1348
1349
1350 public final DurationVector asDuration()
1351 {
1352 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(DurationUnit.BASE.getSiDimensions())),
1353 UnitRuntimeException.class, "cannot cast %s to DurationVector", this.toString());
1354 return new DurationVector(this.data, DurationUnit.SI);
1355 }
1356
1357
1358
1359
1360
1361
1362 public final DurationVector asDuration(final DurationUnit displayUnit)
1363 {
1364 Throw.when(!(getDisplayUnit().getQuantity().getSiDimensions().equals(DurationUnit.BASE.getSiDimensions())),
1365 UnitRuntimeException.class, "cannot cast %s to DurationVector", this.toString());
1366 DurationVector result = new DurationVector(this.data, displayUnit.getStandardUnit());
1367 result.setDisplayUnit(displayUnit);
1368 return result;
1369 }
1370
1371 }