package nomadgui.Telemetry;

import distinct.rpc.*;

/**
 * This class was automatically generated by Jrpcgen from the RPC/XDR file "telemetryMsgs.x".<br>
 * hiResDerivedState: was struct
 */

public class hiResDerivedState implements XDRType {
  public float pan; // rad
  public float tilt; // rad
  public float FOV; // rad
  public float focalLength; // mm
  public timeStamp time = new timeStamp();

/**
 * Default constructor for objects of class hiResDerivedState.
 */

public hiResDerivedState()
{}

/**
 * Creates an object of class hiResDerivedState.
 * @param     arg_pan The value of the pan component.
 * @param     arg_tilt The value of the tilt component.
 * @param     arg_FOV The value of the FOV component.
 * @param     arg_focalLength The value of the focalLength component.
 * @param     arg_time The value of the time component.
 */

public hiResDerivedState(float arg_pan, float arg_tilt, float arg_FOV, float arg_focalLength, timeStamp arg_time)
{
  pan = arg_pan;
  tilt = arg_tilt;
  FOV = arg_FOV;
  focalLength = arg_focalLength;
  time = arg_time;
}

/**
 * Encodes an object of class hiResDerivedState in compliance to RFC 1832 (XDR).
 * @param     xdrs The XDR output stream.
 */

public void xdr_encode(XDRStream xdrs)
{
  xdrs.xdr_encode_float(pan);
  xdrs.xdr_encode_float(tilt);
  xdrs.xdr_encode_float(FOV);
  xdrs.xdr_encode_float(focalLength);
  time.xdr_encode(xdrs);
}

/**
 * Decodes an object of class hiResDerivedState in compliance to RFC 1832 (XDR).
 * @param     xdrs The XDR input stream.
 * @exception RPCError When the calls fails for any reason.
 */

public void xdr_decode(XDRStream xdrs) throws RPCError
{
  pan = xdrs.xdr_decode_float();
  tilt = xdrs.xdr_decode_float();
  FOV = xdrs.xdr_decode_float();
  focalLength = xdrs.xdr_decode_float();
  time = new timeStamp();
  time.xdr_decode(xdrs);
}
}
