mil.navy.nps.dis
Class LinearAcceleration

java.lang.Object
  extended bymil.navy.nps.dis.PduElement
      extended bymil.navy.nps.dis.LinearAcceleration
All Implemented Interfaces:
java.lang.Cloneable, SerializationInterface

public class LinearAcceleration
extends PduElement

Linear acceleration of an entity.

Version:
1.0
Author:
Don McGregor (http://www.npsnet.org/~mcgredo)
Location:
Web: http://www.web3d.org/WorkingGroups/vrtp/mil/navy/nps/dis/LinearAcceleration.java
or locally: ~/mil/navy/nps/dis/LinearAcceleration.java
Hierarchy Diagram:
Summary:
Linerar Acceleration shall be represented as a vector with components in either World Coordinate System or Entities Coordinate System depending on the value in the Dead Recoking Algorithm Field.Each vector component shall represent acceleration in meters per second squared.
Explanation
Acceleration Describes the Acceleration of an object, in x, y, z 32 bit floating point terms expressed in world's coordinate system or entit. In fact DIS uses the vector record where an entity coordinate vector, a linear acceleration or a linear velocity vector stands. We have a particular class for each of those, we provides us with stronger typing, hence improves security.
History:
07Mar97 /Don McGregor /New
16Apr97 /Don McGregor /PrintStream passed to printValues
12Aug97 /Don Brutzman /elaborated printValues
8Dec97 /Ronan Fauglas /changes for documentation templates + complements in documentation
11Dec97 /Ronan Fauglas /changes access methods names from "variable()" to "getVariable()"
References:
DIS Data Dictionary: Linear Acceleration Vector Record
DIS specification : IEEE 1278.1, Section 5.3.33.2
See Also:
PduElement, SerializationInterface, EntityCoordinate, LinearVelocity

Field Summary
 int sizeOf
          Constant value--size of a Linear Acceleration record when written out; here :sizeOf = 12 bytes.
protected  float x
          First coordinate of acceleration along the X axis, in a cartesian coordinate system.
protected  float y
          Second coordinate of acceleration along the Y axis, in a cartesian coordinate system.
protected  float z
          Third coordinate of acceleration along the Z axis, in a cartesian coordinate system.
 
Constructor Summary
LinearAcceleration()
          Constructs an new Acceleration Object, acceleration's value is 0.
LinearAcceleration(float pX, float pY, float pZ)
          Constructs a new Acceleration object whose coordinate values are passed in parameters.
 
Method Summary
 java.lang.Object clone()
          Makes deep copies of all the instance variables, so we don't have two objects pointing to the same data.
 void deSerialize(java.io.DataInputStream pInputStream)
          Deserialize our data from the input stream.
 float getX()
           
 float getY()
           
 float getZ()
           
 int length()
          Returns the length of the object when serialized in a stream.
 void printValues(int indentLevel, java.io.PrintStream printStream)
          Prints the generated serialized object for debugging.
 void serialize(java.io.DataOutputStream outputStream)
          Serialize our data out to the stream.
 void setValues(float pX, float pY, float pZ)
           
 void setX(float pX)
           
 void setY(float pY)
           
 void setZ(float pZ)
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

x

protected float x
First coordinate of acceleration along the X axis, in a cartesian coordinate system.
Value:
In meters by second.


y

protected float y
Second coordinate of acceleration along the Y axis, in a cartesian coordinate system.
Value:
In meters by second.


z

protected float z
Third coordinate of acceleration along the Z axis, in a cartesian coordinate system.
Value:
In meters by second.


sizeOf

public final int sizeOf
Constant value--size of a Linear Acceleration record when written out; here :sizeOf = 12 bytes.

See Also:
Constant Field Values
Constructor Detail

LinearAcceleration

public LinearAcceleration()
Constructs an new Acceleration Object, acceleration's value is 0.


LinearAcceleration

public LinearAcceleration(float pX,
                          float pY,
                          float pZ)
Constructs a new Acceleration object whose coordinate values are passed in parameters.

Parameters:
pX - the first coordinate in the cartesian coordinate system
pY - the second coordinate in the cartesian coordinate system
pZ - the third coordinate in the cartesian coordinate system
Method Detail

clone

public java.lang.Object clone()
Description copied from class: PduElement
Makes deep copies of all the instance variables, so we don't have two objects pointing to the same data. The accessor methods make copies of the objects, rather than returning the objects themselves. The runtime provides the right object type with the call to super.clone(), and we cast it to our type. Subclasses should do the same thing, and all these ivars will be taken care of automatically.

Overrides:
clone in class PduElement
Returns:
a clone of this instance
See Also:
Object

serialize

public void serialize(java.io.DataOutputStream outputStream)
Description copied from class: PduElement
Serialize our data out to the stream. Subclasses of us should call super.Serialize() to make sure the superclasse's data is serialized out. The order in which instance variables are serialized is significant. They must be serialized in the same order they appear in the DIS spec. Prints out some information during execution if debugging flag is set.

Specified by:
serialize in interface SerializationInterface
Specified by:
serialize in class PduElement
Parameters:
outputStream - the stream to which this object is serialized
Throws:
java.lang.RuntimeException - when IO error occurs.

deSerialize

public void deSerialize(java.io.DataInputStream pInputStream)
Description copied from class: PduElement
Deserialize our data from the input stream. Subclasses of us should call super.deSerialize to make sure the superclass's data are properly affected. The order in which instance variables are serialized is significant. They must be deSerialized in the same order as they have been serialized as specified by the DIS spec.

Specified by:
deSerialize in interface SerializationInterface
Specified by:
deSerialize in class PduElement
Parameters:
pInputStream - the stream from which this object is initialized
Throws:
java.lang.RuntimeException - when IO error occurs.

length

public int length()
Description copied from class: PduElement
Returns the length of the object when serialized in a stream.

Specified by:
length in class PduElement
Returns:
the length of the object when serialized in a stream

printValues

public void printValues(int indentLevel,
                        java.io.PrintStream printStream)
Description copied from class: PduElement
Prints the generated serialized object for debugging.

Specified by:
printValues in class PduElement
Parameters:
indentLevel - number of spaces to indent for visibility

setValues

public void setValues(float pX,
                      float pY,
                      float pZ)

getX

public float getX()

setX

public void setX(float pX)

getY

public float getY()

setY

public void setY(float pY)

getZ

public float getZ()

setZ

public void setZ(float pZ)