public class HiResCoord extends Object
The HiResCoord defines a point using a set of three high-resolution coordinates, each of which consists of three two's-complement fixed-point numbers. Each high-resolution number consists of 256 total bits with a binary point at bit 128, or between the integers at index 3 and 4. A high-resolution coordinate of 1.0 is defined to be exactly 1 meter. This coordinate system is sufficient to describe a universe in excess of several billion light years across, yet still define objects smaller than a proton.
Java 3D uses integer arrays of length eight to define or extract a single 256-bit coordinate value. Java 3D interprets the integer at index 0 as the 32 most-significant bits and the integer at index 7 as the 32 least-significant bits.
Constructor and Description |
---|
HiResCoord()
Constructs and initializes a new HiResCoord located at (0, 0, 0).
|
HiResCoord(HiResCoord hc)
Constructs and initializes a new HiResCoord using the values
provided in the argument.
|
HiResCoord(int[] X,
int[] Y,
int[] Z)
Constructs and initializes a new HiResCoord using the values
provided in the argument.
|
Modifier and Type | Method and Description |
---|---|
void |
add(HiResCoord h1,
HiResCoord h2)
Adds two HiResCoords placing the results into this HiResCoord.
|
void |
difference(HiResCoord h1,
Vector3d v)
Subtracts the specified HiResCoord from this HiResCoord
placing the difference vector into the specified
double-precision vector.
|
double |
distance(HiResCoord h1)
The floating point distance between the specified
HiResCoord and this HiResCoord.
|
boolean |
equals(HiResCoord h1)
Compares the specified HiResCoord to this HiResCoord.
|
boolean |
equals(Object o1)
Returns true if the Object o1 is of type HiResCoord and all of the
data members of o1 are equal to the corresponding data members in
this HiResCoord.
|
void |
getHiResCoord(HiResCoord hc)
Retrieves this HiResCoord's location and places it into the hires
argument.
|
void |
getHiResCoord(int[] X,
int[] Y,
int[] Z)
Retrieves this HiResCoord's location and saves the coordinates
in the specified arrays.
|
void |
getHiResCoordX(int[] X)
Retrieves this HiResCoord's X value and stores it in the specified
array.
|
void |
getHiResCoordY(int[] Y)
Retrieves this HiResCoord's Y value and stores it in the specified
array.
|
void |
getHiResCoordZ(int[] Z)
Retrieves this HiResCoord's Z value and stores it in the specified
array.
|
void |
negate()
Negates this HiResCoord
|
void |
negate(HiResCoord h1)
Negates the specified HiResCoords and places the
results into this HiResCoord.
|
void |
scale(int scale)
Scales this HiResCoord by the specified value.
|
void |
scale(int scale,
HiResCoord h1)
Scales the specified HiResCoords by the specified value and
places the results into this HiResCoord.
|
void |
setHiResCoord(HiResCoord hires)
Sets this HiResCoord to the location specified by the
hires provided.
|
void |
setHiResCoord(int[] X,
int[] Y,
int[] Z)
Sets this HiResCoord to the location specified by the
parameters provided.
|
void |
setHiResCoordX(int[] X)
Sets this HiResCoord's X value to that specified by the argument.
|
void |
setHiResCoordY(int[] Y)
Sets this HiResCoord's Y value to that specified by the argument.
|
void |
setHiResCoordZ(int[] Z)
Sets this HiResCoord's Z value to that specified by the argument.
|
void |
sub(HiResCoord h1,
HiResCoord h2)
Subtracts two HiResCoords placing the results into this HiResCoord.
|
public HiResCoord(int[] X, int[] Y, int[] Z)
X
- an eight element array specifying the x positionY
- an eight element array specifying the y positionZ
- an eight element array specifying the z positionpublic HiResCoord(HiResCoord hc)
hc
- the HiResCoord to copypublic HiResCoord()
public void setHiResCoord(int[] X, int[] Y, int[] Z)
X
- an eight-element array specifying the x positionY
- an eight-element array specifying the y positionZ
- an eight-element array specifying the z positionpublic void setHiResCoord(HiResCoord hires)
hires
- the hires coordinate to copypublic void setHiResCoordX(int[] X)
X
- an eight-element array specifying the x positionpublic void setHiResCoordY(int[] Y)
Y
- an eight-element array specifying the y positionpublic void setHiResCoordZ(int[] Z)
Z
- an eight-element array specifying the z positionpublic void getHiResCoord(int[] X, int[] Y, int[] Z)
X
- an eight element array that will receive the x positionY
- an eight element array that will receive the y positionZ
- an eight element array that will receive the z positionpublic void getHiResCoord(HiResCoord hc)
hc
- the hires coordinate that will receive this node's locationpublic void getHiResCoordX(int[] X)
X
- an eight-element array that will receive the x positionpublic void getHiResCoordY(int[] Y)
Y
- an eight-element array that will receive the y positionpublic void getHiResCoordZ(int[] Z)
Z
- an eight-element array that will receive the z positionpublic boolean equals(HiResCoord h1)
h1
- the second HiResCoordpublic boolean equals(Object o1)
public void add(HiResCoord h1, HiResCoord h2)
h1
- the first HiResCoordh2
- the second HiResCoordpublic void sub(HiResCoord h1, HiResCoord h2)
h1
- the first HiResCoordh2
- the second HiResCoordpublic void negate(HiResCoord h1)
h1
- the source HiResCoordpublic void negate()
public void scale(int scale, HiResCoord h1)
scale
- the amount to scale the specified HiResCoordh1
- the source HiResCoordpublic void scale(int scale)
scale
- the amount to scale the specified HiResCoordpublic void difference(HiResCoord h1, Vector3d v)
h1
- the HiResCoord to be subtracted from thisv
- the vector that will receive the resultpublic double distance(HiResCoord h1)
h1
- the second HiResCoordCopyright © 2016–2022 SciJava. All rights reserved.