public final class MutablePoint extends GeomPoint
Modified by: Joseph A. Huwaldt
RESOURCES
Modifier and Type | Method and Description |
---|---|
MutablePoint |
copy()
Returns a copy of this MutablePoint instance
allocated by the calling thread
(possibly on the stack). |
Point |
copyToReal()
Return a copy of this object with any transformations or subranges removed
(applied).
|
boolean |
equals(java.lang.Object obj)
Compares this Point against the specified object for strict equality (same values
and same units).
|
int |
getPhyDimension()
Returns the number of physical dimensions of the geometry element.
|
Unit<Length> |
getUnit()
Returns the unit in which the
values in this point are stated in. |
double |
getValue(int i)
Returns the value of a coordinate in this point as a
double , stated in
this point's unit . |
double |
getValue(int i,
Unit<Length> unit)
Returns the value of a coordinate in this point as a
double , stated in
the specified unit. |
int |
hashCode()
Returns the hash code for this parameter.
|
Point |
immutable()
Return an immutable version of this point.
|
Point |
minus(GeomPoint that)
Returns the difference between this point and the one specified.
|
Point |
minus(Parameter<Length> that)
Subtracts the specified parameter from each component of this point.
|
static MutablePoint |
newInstance(int dim)
Returns a
MutablePoint instance of the specified dimension with zero meters
for each coordinate value. |
static MutablePoint |
newInstance(int dim,
Unit<Length> unit)
Returns a
Point instance of the specified dimension and units with zero for
each coordinate value. |
double |
normSqValue()
Returns the square of the Euclidean norm, magnitude, or length value of the vector
from the origin to this point (the dot product of the origin-to-this-point vector
and itself).
|
Point |
opposite()
Returns the negation of this point (all the values of each dimension negated).
|
Point |
plus(GeomPoint that)
Returns the sum of this point with the one specified.
|
Point |
plus(Parameter<Length> that)
Adds the specified parameter to each component of this point.
|
static void |
recycle(MutablePoint instance)
Recycles a
MutablePoint instance immediately (on the stack when
executing in a StackContext ). |
void |
set(GeomPoint p)
Set the value of elements of this point to the elements of the specified point.
|
void |
set(GeomVector<?> vector)
Set the value of elements of this point to the elements of the specified vector of
Parameter objects.
|
void |
set(int i,
Parameter<Length> value)
Set the value of a point dimension to the specified Parameter.
|
void |
setValue(int i,
double value)
Set the value of a point dimension to the specified double in the current point
units.
|
Point |
times(double k)
Returns the product of this point with the specified coefficient.
|
MutablePoint |
to(Unit<Length> unit)
Returns the equivalent to this point but stated in the specified unit.
|
MutablePoint |
toDimension(int newDim)
Return the equivalent of this point converted to the specified number of physical
dimensions.
|
Float64Vector |
toFloat64Vector()
Returns the values stored in this point, stated in this point's
unit , as a Float64Vector. |
static MutablePoint |
valueOf(Coordinate3D<Length> coord)
Returns a
MutablePoint instance holding the specified
@link jahuwaldt.js.param.Coordinate3D Coordinate3D values. |
static MutablePoint |
valueOf(double... x)
Returns a
MutablePoint instance holding the specified double
value or values stated in meters. |
static MutablePoint |
valueOf(double x,
double y,
double z,
Unit<Length> unit)
Returns a 3D
MutablePoint instance holding the specified
double values stated in the specified units. |
static MutablePoint |
valueOf(double x,
double y,
Unit<Length> unit)
Returns a 2D
MutablePoint instance holding the specified
double value stated in the specified units. |
static MutablePoint |
valueOf(double x,
Unit<Length> unit)
Returns a 1D
MutablePoint instance holding the specified
double values stated in the specified units. |
static MutablePoint |
valueOf(GeomPoint point)
Returns a
MutablePoint instance containing the specified GeomPoint's data. |
static MutablePoint |
valueOf(GeomVector<?> vector)
Returns a
MutablePoint instance that represents the direction elements of
the specified GeomVector given in length or dimensionless units. |
static MutablePoint |
valueOf(java.util.List<Parameter<Length>> values)
Returns a
MutablePoint instance holding the specified
Parameter values. |
static MutablePoint |
valueOf(Parameter<Length>... values)
Returns a
MutablePoint instance holding the specified
Parameter values. |
static MutablePoint |
valueOf(Unit<Length> unit,
double... values)
Returns a
MutablePoint instance holding the specified double
values stated in the specified units. |
static MutablePoint |
valueOf(Vector<Float64> vector,
Unit<Length> unit)
Returns a
MutablePoint instance containing the specified vector of Float64
values stated in the specified units. |
static <Q extends Quantity> |
valueOf(Vector<Parameter<Q>> vector)
Returns a
MutablePoint instance containing the specified vector of
Parameter values with length units. |
distance, distanceSq, distanceSqValue, distanceValue, divide, divide, get, getBoundsMax, getBoundsMin, getLimitPoint, getNumberOfPoints, getParDimension, getTransformed, isApproxEqual, isApproxEqual, isValid, max, min, norm, normSq, normValue, size, times, toArray, toArray, toGeomVector, toParameterVector, toText, toVector3D
addChangeListener, clone, compareTo, getAllUserData, getID, getName, getUserData, putAllUserData, putUserData, removeChangeListener, removeUserData, reset, setName, toString
addChangeListener, getAllUserData, getID, getName, getUserData, putAllUserData, putUserData, removeChangeListener, removeUserData, setName
public static MutablePoint newInstance(int dim)
MutablePoint
instance of the specified dimension with zero meters
for each coordinate value.dim
- the physical dimension of the point to create.public static MutablePoint newInstance(int dim, Unit<Length> unit)
Point
instance of the specified dimension and units with zero for
each coordinate value.dim
- the physical dimension of the point to create.unit
- The unit for the point to create. May not be null.public static MutablePoint valueOf(double... x)
MutablePoint
instance holding the specified double
value or values stated in meters.x
- the coordinate values stated in meters. May not be null.public static MutablePoint valueOf(double x, Unit<Length> unit)
MutablePoint
instance holding the specified
double
values stated in the specified units.x
- the x value stated in the specified unit.unit
- the unit in which the coordinates are stated. May not be null.public static MutablePoint valueOf(double x, double y, Unit<Length> unit)
MutablePoint
instance holding the specified
double
value stated in the specified units.x
- the x value stated in the specified unit.y
- the y value stated in the specified unit.unit
- the unit in which the coordinates are stated. May not be null.public static MutablePoint valueOf(double x, double y, double z, Unit<Length> unit)
MutablePoint
instance holding the specified
double
values stated in the specified units.x
- the x value stated in the specified unit.y
- the y value stated in the specified unit.z
- the z value stated in the specified unit.unit
- the unit in which the coordinates are stated. May not be null.public static MutablePoint valueOf(Unit<Length> unit, double... values)
MutablePoint
instance holding the specified double
values stated in the specified units.unit
- the length unit in which the coordinates are stated. May not be null.values
- the list of values stated in the specified unit. May not be null.public static MutablePoint valueOf(Parameter<Length>... values)
MutablePoint
instance holding the specified
Parameter
values. All the values are converted to the same units as
the 1st value.values
- The list of values to be stored. May not be null.public static MutablePoint valueOf(java.util.List<Parameter<Length>> values)
MutablePoint
instance holding the specified
Parameter
values. All the values are converted to the same units as
the 1st value.values
- The list of values to be stored. May not be null.public static MutablePoint valueOf(Coordinate3D<Length> coord)
MutablePoint
instance holding the specified
@link jahuwaldt.js.param.Coordinate3D Coordinate3D
values.coord
- The Coordinate3D
to be stored.
May not be null.public static MutablePoint valueOf(Vector<Float64> vector, Unit<Length> unit)
MutablePoint
instance containing the specified vector of Float64
values stated in the specified units.vector
- the vector of Float64 values stated in the specified unit. May not be null.unit
- the unit in which the values are stated. May not be null.public static <Q extends Quantity> MutablePoint valueOf(Vector<Parameter<Q>> vector)
MutablePoint
instance containing the specified vector of
Parameter values with length units. All the values are converted to the same units
as the 1st value.Q
- The Quantity (unit type) of this point.vector
- the vector of Parameter values stated in length or dimensionless
units. If in dimensionless units, the values are interpreted as being
in meters. May not be null.ConversionException
- if the input vector is not in length (or Dimensionless)
units.public static MutablePoint valueOf(GeomVector<?> vector)
MutablePoint
instance that represents the direction elements of
the specified GeomVector given in length or dimensionless units. If the user wishes
for the point to represent the end or tip of the vehicle they should use the
following:
MutablePoint p = MutablePoint.valueOf(vector).plus(vector.getOrigin());
vector
- the GeomVector stated in length or dimensionless units. If in
dimensionless units, the values are interpreted as being in meters.
May not be null.ConversionException
- if the input vector is not in length (or Dimensionless)
units.public static MutablePoint valueOf(GeomPoint point)
MutablePoint
instance containing the specified GeomPoint's data.point
- the GeomPoint to be copied into a new Point. May not be null.public static void recycle(MutablePoint instance)
MutablePoint
instance immediately (on the stack when
executing in a StackContext
).instance
- The instance to be recycled.public int getPhyDimension()
public void set(GeomPoint p)
p
- The new point to make this point equal to. May not be null.DimensionException
- (p.getPhyDimension() != getPhyDimension())
public void set(GeomVector<?> vector)
vector
- The new vector to make this point equal to in length or dimensionless
units. If in dimensionless units, the values are interpreted as being
in the same units as this point. May not be null.DimensionException
- (vector.getDimension() != getPhyDimension())
ConversionException
- if the input vector is not in length (or Dimensionless)
units.public void set(int i, Parameter<Length> value)
i
- the dimension index.value
- The new value of the parameter to set at i
. May not be
null.java.lang.IndexOutOfBoundsException
- (i < 0) || (i ≥ getPhyDimension())
public void setValue(int i, double value)
i
- the dimension index.value
- The new value of the parameter to set at i
in the current
units of this point.java.lang.IndexOutOfBoundsException
- (i < 0) || (i ≥ getPhyDimension())
public double getValue(int i)
double
, stated in
this point's unit
.public double getValue(int i, Unit<Length> unit)
double
, stated in
the specified unit.public double normSqValue()
normValue
if the
squared value is all that is needed.normSqValue
in class GeomPoint
this.normSq().getValue()
.GeomPoint.normValue()
public Point plus(GeomPoint that)
plus
in class GeomPoint
that
- the point to be added. May not be null.this + that
.DimensionException
- if point dimensions are different.public Point plus(Parameter<Length> that)
public Point minus(GeomPoint that)
minus
in class GeomPoint
that
- the point to be subtracted from this point. May not be null.this - that
.DimensionException
- if point dimensions are different.public Point minus(Parameter<Length> that)
public Point opposite()
public Point times(double k)
public MutablePoint copy()
allocated
by the calling thread
(possibly on the stack).copy
in interface GeomElement<GeomPoint>
copy
in class GeomPoint
public Point copyToReal()
copyToReal
in interface GeomElement<GeomPoint>
copyToReal
in class GeomPoint
public final Unit<Length> getUnit()
values
in this point are stated in.values
in this point are stated in.public MutablePoint to(Unit<Length> unit) throws ConversionException
unit
- the length unit of the point to be returned. May not be null.ConversionException
- if the the input unit is not a length unit.public MutablePoint toDimension(int newDim)
newDim
- The dimension of the point to return.public final Float64Vector toFloat64Vector()
unit
, as a Float64Vector.toFloat64Vector
in class GeomPoint
public boolean equals(java.lang.Object obj)
equals
in class AbstractGeomElement<GeomPoint>
obj
- the object to compare with.true
if this point is identical to that point;
false
otherwise.public int hashCode()
hashCode
in class AbstractGeomElement<GeomPoint>