public static interface Dimension.Model
base units
and dimensions
. Custom models may allow
conversions not possible using the standard
model.
For example:[code]
public static void main(String[] args) {
Dimension.Model relativistic = new Dimension.Model() {
RationalConverter meterToSecond = new RationalConverter(1, 299792458); // 1/c
public Dimension getDimension(BaseUnit unit) {
if (unit.equals(SI.METER)) return Dimension.TIME;
return Dimension.Model.STANDARD.getDimension(unit);
}
public UnitConverter getTransform(BaseUnit unit) {
if (unit.equals(SI.METER)) return meterToSecond;
return Dimension.Model.STANDARD.getTransform(unit);
}};
Dimension.setModel(relativistic);
// Converts 1.0 GeV (energy) to kg (mass).
System.out.println(Unit.valueOf("GeV").getConverterTo(KILOGRAM).convert(1.0));
}
> 1.7826617302520883E-27[/code]Modifier and Type | Field and Description |
---|---|
static Dimension.Model |
STANDARD
Holds the standard model (default).
|
Modifier and Type | Method and Description |
---|---|
Dimension |
getDimension(BaseUnit<?> unit)
Returns the dimension of the specified base unit (a dimension
particular to the base unit if the base unit is not recognized).
|
UnitConverter |
getTransform(BaseUnit<?> unit)
Returns the normalization transform of the specified base unit
(
IDENTITY if the base unit is
not recognized). |
static final Dimension.Model STANDARD
Dimension getDimension(BaseUnit<?> unit)
unit
- the base unit for which the dimension is returned.UnitConverter getTransform(BaseUnit<?> unit)
IDENTITY
if the base unit is
not recognized).unit
- the base unit for which the transform is returned.