JScience v4.3

javax.measure
Class VectorMeasure<Q extends Quantity>

java.lang.Object
  extended by javax.measure.Measure<double[],Q>
      extended by javax.measure.VectorMeasure<Q>
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable<Measurable<Q>>, Measurable<Q>

public abstract class VectorMeasure<Q extends Quantity>
extends Measure<double[],Q>

This class represents a measurement vector of two or more dimensions. For example:

         VectorMeasure<Length> dimension = VectorMeasure.valueOf(12.0, 30.0, 40.0, MILLIMETER);
         VectorMeasure<Velocity> v2d = VectorMeasure.valueOf(-2.2, -3.0, KNOTS);
         VectorMeasure<ElectricCurrent> c2d = VectorMeasure.valueOf(-7.3, 3.5, NANOAMPERE);
     

Subclasses may provide fixed dimensions specializations:

         class Velocity2D extends VectorMeasure<Velocity> {
              public Velocity2D(double x, double y, Unit<Velocity> unit) {
                  ...
              }
         }
     

Measurement vectors may use compound units:

     VectorMeasure<Angle> latLong = VectorMeasure.valueOf(12.345, 22.23, DEGREE_ANGLE);
     Unit<Angle> HOUR_MINUTE_SECOND_ANGLE = DEGREE_ANGLE.compound(MINUTE_ANGLE).compound(SECOND_ANGLE);
     System.out.println(latLong.to(HOUR_MINUTE_SECOND_ANGLE));
     
     > [12°19'42", 22°12'48"] 

Instances of this class (and sub-classes) are immutable.

Version:
4.3, October 3, 2007
Author:
Jean-Marie Dautelle
See Also:
Serialized Form

Constructor Summary
protected VectorMeasure()
          Default constructor (for sub-classes).
 
Method Summary
abstract  double doubleValue(Unit<Q> unit)
          Returns the norm of this measurement vector stated in the specified unit.
abstract  VectorMeasure<Q> to(Unit<Q> unit)
          Returns the measurement vector equivalent to this one but stated in the specified unit.
 java.lang.String toString()
          Returns the String representation of this measurement vector (for example [2.3 m/s, 5.6 m/s]).
static
<Q extends Quantity>
VectorMeasure<Q>
valueOf(double[] components, Unit<Q> unit)
          Returns a multi-dimensional measurement vector.
static
<Q extends Quantity>
VectorMeasure<Q>
valueOf(double x, double y, double z, Unit<Q> unit)
          Returns a 3-dimensional measurement vector.
static
<Q extends Quantity>
VectorMeasure<Q>
valueOf(double x, double y, Unit<Q> unit)
          Returns a 2-dimensional measurement vector.
 
Methods inherited from class javax.measure.Measure
compareTo, equals, floatValue, getUnit, getValue, hashCode, intValue, longValue, valueOf, valueOf, valueOf, valueOf, valueOf, valueOf
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

VectorMeasure

protected VectorMeasure()
Default constructor (for sub-classes).

Method Detail

valueOf

public static <Q extends Quantity> VectorMeasure<Q> valueOf(double x,
                                                            double y,
                                                            Unit<Q> unit)
Returns a 2-dimensional measurement vector.

Parameters:
x - the first vector component value.
y - the second vector component value.
unit - the measurement unit.

valueOf

public static <Q extends Quantity> VectorMeasure<Q> valueOf(double x,
                                                            double y,
                                                            double z,
                                                            Unit<Q> unit)
Returns a 3-dimensional measurement vector.

Parameters:
x - the first vector component value.
y - the second vector component value.
z - the third vector component value.
unit - the measurement unit.

valueOf

public static <Q extends Quantity> VectorMeasure<Q> valueOf(double[] components,
                                                            Unit<Q> unit)
Returns a multi-dimensional measurement vector.

Parameters:
components - the vector component values.
unit - the measurement unit.

to

public abstract VectorMeasure<Q> to(Unit<Q> unit)
Returns the measurement vector equivalent to this one but stated in the specified unit.

Specified by:
to in class Measure<double[],Q extends Quantity>
Parameters:
unit - the new measurement unit.
Returns:
the vector measure stated in the specified unit.

doubleValue

public abstract double doubleValue(Unit<Q> unit)
Returns the norm of this measurement vector stated in the specified unit.

Specified by:
doubleValue in interface Measurable<Q extends Quantity>
Specified by:
doubleValue in class Measure<double[],Q extends Quantity>
Parameters:
unit - the unit in which the norm is stated.
Returns:
|this|

toString

public java.lang.String toString()
Returns the String representation of this measurement vector (for example [2.3 m/s, 5.6 m/s]).

Overrides:
toString in class Measure<double[],Q extends Quantity>
Returns:
the textual representation of the measurement vector.

JScience v4.3

Copyright © 2006 JScience.