The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Rinchi::CIGIPP::HAT_HOTExtendedResponse - Perl extension for the Common Image Generator Interface - HAT/HOTExtended Response data packet. data packet. =head1 SYNOPSIS

  use Rinchi::CIGIPP::HAT_HOTExtendedResponse;
  my $hgt_xresp = Rinchi::CIGIPP::HAT_HOTExtendedResponse->new();

  $packet_type = $hgt_xresp->packet_type();
  $packet_size = $hgt_xresp->packet_size();
  $response_ident = $hgt_xresp->response_ident(56733);
  $host_frame_number_lsn = $hgt_xresp->host_frame_number_lsn(4);
  $valid = $hgt_xresp->valid(Rinchi::CIGIPP->Invalid);
  $height_above_terrain = $hgt_xresp->height_above_terrain(86.966);
  $height_of_terrain = $hgt_xresp->height_of_terrain(74.029);
  $material_code = $hgt_xresp->material_code(53788);
  $normal_vector_azimuth = $hgt_xresp->normal_vector_azimuth(3.08);
  $normal_vector_elevation = $hgt_xresp->normal_vector_elevation(82.952);

DESCRIPTION

The HAT/HOT Extended Response packet is sent by the IG in response to a HAT/HOT Request packet whose Request Type attribute was set to Extended (2). This packet provides the Height Above Terrain (HAT) and Height Of Terrain (HOT) for the test point. This packet also contains the material code and surface-normal unit vector of the terrain.

If the Update Period attribute of the originating HAT/HOT Request packet was set to a value greater than zero, then the Host Frame Number LSN attribute of each corresponding HAT/HOT Response packet must contain the least significant nybble of the Host Frame Number value last received by the IG before the HAT or HOT value is calculated. The Host may correlate this LSN to an eyepoint position or may use the value to determine latency.

The IG can only return the HAT and HOT for a point that is within the bounds of the current database. Likewise, the material code and normal vector can only be calculated within the database bounds. If these data cannot be returned, the Valid attribute will be set to zero (0).

EXPORT

None by default.

#==============================================================================

new $hgt_xresp = Rinchi::CIGIPP::HAT_HOTExtendedResponse->new()

Constructor for Rinchi::HAT_HOTExtendedResponse.

sub packet_type()
 $value = $hgt_xresp->packet_type();

Data Packet Identifier.

This attribute identifies this data packet as the HAT/HOT Extended Response packet. The value of this attribute must be 103.

sub packet_size()
 $value = $hgt_xresp->packet_size();

Data Packet Size.

This attribute indicates the number of bytes in this data packet. The value of this attribute must be 40.

sub response_ident([$newValue])
 $value = $hgt_xresp->response_ident($newValue);

HAT/HOT ID.

This attribute identifies the HAT/HOT response. This value corresponds to the value of the HAT/HOT ID attribute in the associated HAT/HOT Request packet.

sub host_frame_number_lsn([$newValue])
 $value = $hgt_xresp->host_frame_number_lsn($newValue);

Host Frame Number LSN.

This attribute contains the least significant nybble of the Host Frame Number attribute of the last IG Control packet received before the HAT or HOT is calculated.

This attribute is ignored if the Update Period attribute of the corresponding HAT/HOT Request packet was set to zero (0).

sub valid([$newValue])
 $value = $hgt_xresp->valid($newValue);

Valid.

This attribute indicates whether the remaining attributes in this packet contain valid numbers. A value of zero (0) indicates that the test point was beyond the database bounds.

    Invalid   0
    Valid     1
sub height_above_terrain([$newValue])
 $value = $hgt_xresp->height_above_terrain($newValue);

Height Above Terrain (HAT).

This attribute indicates the height of the test point above the terrain. A negative value indicates that the test point is below the terrain.

This attribute is valid only if the Valid attribute is set to one (1).

sub height_of_terrain([$newValue])
 $value = $hgt_xresp->height_of_terrain($newValue);

Height Of Terrain (HOT).

This attribute indicates the height of terrain above or below the test point. This value is relative to the ellipsoid height, or Mean Sea Level.

This attribute is valid only if the Valid attribute is set to one (1).

sub material_code([$newValue])
 $value = $hgt_xresp->material_code($newValue);

Material Code.

This attribute indicates the material code of the terrain surface at the point of intersection with the HAT/HOT test vector.

This attribute is valid only if the Valid attribute is set to one (1).

sub normal_vector_azimuth([$newValue])
 $value = $hgt_xresp->normal_vector_azimuth($newValue);

Normal Vector Azimuth.

This attribute indicates the azimuth of the normal unit vector of the surface intersected by the HAT/HOT test vector. This value is the horizontal angle from True North to the vector.

This attribute is valid only if the Valid attribute is set to one (1).

sub normal_vector_elevation([$newValue])
 $value = $hgt_xresp->normal_vector_elevation($newValue);

Normal Vector Elevation.

This attribute indicates the elevation of the normal unit vector of the surface intersected by the HAT/HOT test vector. This value is the vertical angle from the geodetic reference plane to the vector.

This attribute is valid only if the Valid attribute is set to one (1).

sub pack()
 $value = $hgt_xresp->pack();

Returns the packed data packet.

sub unpack()
 $value = $hgt_xresp->unpack();

Unpacks the packed data packet.

sub byte_swap()
 $obj_name->byte_swap();

Byte swaps the packed data packet.

SEE ALSO

Refer the the Common Image Generator Interface ICD which may be had at this URL: http://cigi.sourceforge.net/specification.php

AUTHOR

Brian M. Ames, <bmames@apk.net>

COPYRIGHT AND LICENSE

Copyright (C) 2009 by Brian M. Ames

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.6 or, at your option, any later version of Perl 5 you may have available.

2 POD Errors

The following errors were encountered while parsing the POD:

Around line 86:

'=item' outside of any '=over'

Around line 458:

You forgot a '=back' before '=head1'