public class Vector3Double
extends java.lang.Object
implements java.io.Serializable
Modifier and Type | Field and Description |
---|---|
protected double |
x
X value
|
protected double |
y
Y value
|
protected double |
z
Z value
|
Constructor and Description |
---|
Vector3Double()
Constructor
|
Modifier and Type | Method and Description |
---|---|
void |
convertDisToLatitudeLongitudeAltitude()
Assuming that the Vector3Double contains DIS coordinate system values, converts
them in place to latitude in the x value, longitude in the y value, (in degrees)
and altitude in meters for the z value.
|
void |
convertLatitudeLongitudeAltitudeToDis()
Assuming that the x,y,z values of this Vector3Double are x=latitude,
y=longitude, (in degrees) and z=altitude (in meters), converts them
to DIS coordinates
|
boolean |
equals(java.lang.Object obj) |
boolean |
equalsImpl(java.lang.Object obj)
Compare all fields that contribute to the state, ignoring
transient and static fields, for
this and the supplied object |
int |
getMarshalledSize() |
double |
getX() |
double |
getY() |
double |
getZ() |
void |
marshal(java.nio.ByteBuffer buff)
Packs a Pdu into the ByteBuffer.
|
void |
marshal(java.io.DataOutputStream dos) |
void |
setX(double pX) |
void |
setY(double pY) |
void |
setZ(double pZ) |
void |
unmarshal(java.nio.ByteBuffer buff)
Unpacks a Pdu from the underlying data.
|
void |
unmarshal(java.io.DataInputStream dis) |
public int getMarshalledSize()
public void setX(double pX)
public double getX()
public void setY(double pY)
public double getY()
public void setZ(double pZ)
public double getZ()
public void marshal(java.io.DataOutputStream dos)
public void unmarshal(java.io.DataInputStream dis)
public void marshal(java.nio.ByteBuffer buff)
buff
- The ByteBuffer at the position to begin writingjava.nio.BufferOverflowException
- if buff is too smalljava.nio.ReadOnlyBufferException
- if buff is read onlyByteBuffer
public void unmarshal(java.nio.ByteBuffer buff)
buff
- The ByteBuffer at the position to begin readingjava.nio.BufferUnderflowException
- if buff is too smallByteBuffer
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public boolean equalsImpl(java.lang.Object obj)
this
and the supplied objectobj
- the object to compare topublic void convertLatitudeLongitudeAltitudeToDis()
Vector3Double is very often ued for setting the entity position. This is a convienience method that allows the programmer to set a latitude, longitude, and altitude, and have it converted to the DIS coordiinate system
The DIS standard uses an earth-centered, rectilinear coordinate system with the Z axis pointing through the north pole, the X axis pointing out at the intersection of the equator and prime meridian, and the Y axis pointing out at the equator and 90 deg east. Since pretty much no one else uses this, it can make finding the "DIS standard" x,y,z difficult if you have only latitude, longitude, and altitude. This method does the converstion from those three values to the DIS coordinate system.
The conversion is always somewhat problematic, depending on what model of the earth's surface you use. This uses the WGS84 elipsoid model, and may not be accurate around the poles.
public void convertDisToLatitudeLongitudeAltitude()