|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.nps.moves.dismobile.Vector3Double
public class Vector3Double
Section 5.3.34. Three double precision floating point values, x, y, and z Copyright (c) 2008-2010, MOVES Institute, Naval Postgraduate School. All rights reserved. This work is licensed under the BSD open source license, available at https://www.movesinstitute.org/licenses/bsd.html
Field Summary | |
---|---|
protected double |
x
X value |
protected double |
y
Y value |
protected double |
z
Z value |
Constructor Summary | |
---|---|
Vector3Double()
Constructor |
Method Summary | |
---|---|
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)
|
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected double x
protected double y
protected double z
Constructor Detail |
---|
public Vector3Double()
Method Detail |
---|
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 writing
java.nio.BufferOverflowException
- if buff is too small
java.nio.ReadOnlyBufferException
- if buff is read onlyByteBuffer
public void unmarshal(java.nio.ByteBuffer buff)
buff
- The ByteBuffer at the position to begin reading
java.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 object
obj
- the object to compare to
public 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()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |