Brian M. Ames
and 1 contributors

NAME

Rinchi::CIGIPP::PositionResponse - Perl extension for the Common Image Generator Interface - Position Response data packet. data packet. =head1 SYNOPSIS

  use Rinchi::CIGIPP::PositionResponse;
  my $pos_resp = Rinchi::CIGIPP::PositionResponse->new();

  $packet_type = $pos_resp->packet_type();
  $packet_size = $pos_resp->packet_size();
  $object_ident = $pos_resp->object_ident(8699);
  $articulated_part_ident = $pos_resp->articulated_part_ident(116);
  $coordinate_system = $pos_resp->coordinate_system(Rinchi::CIGIPP->ParentEntityCS);
  $object_class = $pos_resp->object_class(Rinchi::CIGIPP->ArticulatedPartOC);
  $latitude = $pos_resp->latitude(27.645);
  $x_offset = $pos_resp->x_offset(26.409);
  $longitude = $pos_resp->longitude(55.496);
  $y_offset = $pos_resp->y_offset(48.675);
  $altitude = $pos_resp->altitude(24.851);
  $z_offset = $pos_resp->z_offset(47.335);
  $roll = $pos_resp->roll(8.422);
  $pitch = $pos_resp->pitch(84.2);
  $yaw = $pos_resp->yaw(42.084);

DESCRIPTION

The Position Response packet is sent by the IG in response to a Position Request packet. This packet describes the position and orientation of an entity, articulated part, view, view group, or motion tracker.

EXPORT

None by default.

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

new $pos_resp = Rinchi::CIGIPP::PositionResponse->new()

Constructor for Rinchi::PositionResponse.

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

Data Packet Identifier.

This attribute identifies this data packet as the Position Response packet. The value of this attribute must be 108.

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

Data Packet Size.

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

sub object_ident([$newValue])
 $value = $pos_resp->object_ident($newValue);

Object ID.

This attribute identifies the entity, view, view group, or motion tracking device whose position is being reported. If Object Class is set to Articulated Part (1), this attribute indicates the entity whose part is identified by the Articulated Part ID attribute.

sub articulated_part_ident([$newValue])
 $value = $pos_resp->articulated_part_ident($newValue);

Articulated Part ID.

This attribute identifies the articulated part whose position is being reported. The entity to which the part belongs is specified by the Object ID attribute. This attribute is valid only when Object Class is set to Articulated Part (1).

sub coordinate_system([$newValue])
 $value = $pos_resp->coordinate_system($newValue);

Coordinate System.

This attribute indicates the coordinate system in which the position and orientation are specified.

Geodetic – Position is specified as a geodetic latitude, longitude, and altitude. Orientation is given with respect to the reference plane.

Parent Entity – Position and orientation are with respect to the entity to which the specified child entity, articulated part, view, or view group is attached. This value is invalid for top-level entities.

Submodel – Position and orientation are with respect to the articulated part's reference coordinate system. This value is valid only when Object Class is set to Articulated Part (1).

Note: If Object Class is set to Motion Tracker (4), this attribute is ignored and the positional and rotational data are relative to the tracking device boresight state.

    GeodeticCS       0
    ParentEntityCS   1
    SubmodelCS       2
sub object_class([$newValue])
 $value = $pos_resp->object_class($newValue);

Object Class.

This attribute indicates the type of object whose position is being reported.

    EntityOC            0
    ArticulatedPartOC   1
    ViewOC              2
    ViewGroupOC         3
    MotionTrackerOC     4
sub latitude([$newValue])
 $value = $pos_resp->latitude($newValue);

Latitude.

If Coordinate System is set to Geodetic (0), this attribute indicates the geodetic latitude of the entity, articulated part, view, or view group.

sub x_offset([$newValue])
 $value = $pos_resp->x_offset($newValue);

X Offset.

If Coordinate System is set to Parent Entity (1), this attribute indicates the X offset from the parent entity's origin to the child entity, articulated part, view, or view group.

If Coordinate System is set to Submodel (2), this attribute indicates the X offset from the articulated part submodel's reference point.

If Object Class is set to Motion Tracker (4), this attribute indicates the X position reported by the tracking device.

sub longitude([$newValue])
 $value = $pos_resp->longitude($newValue);

Longitude.

If Coordinate System is set to Geodetic (0), this attribute indicates the geodetic longitude of the entity, articulated part, view, or view group.

sub y_offset([$newValue])
 $value = $pos_resp->y_offset($newValue);

Y Offset.

If Coordinate System is set to Parent Entity (1), this attribute indicates the Y offset from the parent entity's origin to the child entity, articulated part, view, or view group.

If Coordinate System is set to Submodel (2), this attribute indicates the Y offset from the articulated part submodel's reference point.

If Object Class is set to Motion Tracker (4), this attribute indicates the Y position reported by the tracking device.

sub altitude([$newValue])
 $value = $pos_resp->altitude($newValue);

Altitude.

If Coordinate System is set to Geodetic (0), this attribute indicates the geodetic altitude of the entity, articulated part, view, or view group.

sub z_offset([$newValue])
 $value = $pos_resp->z_offset($newValue);

Z Offset.

If Coordinate System is set to Parent Entity (1), this attribute indicates the Z offset from the parent entity's origin to the child entity, articulated part, view, or view group.

If Coordinate System is set to Submodel (2), this attribute indicates the Z offset from the articulated part submodel's reference point.

If Object Class is set to Motion Tracker (4), this attribute indicates the Z position reported by the tracking device.

sub roll([$newValue])
 $value = $pos_resp->roll($newValue);

Roll.

This attribute indicates the roll angle of the specified entity, articulated part, view, or view group.

If Object Class is set to Motion Tracker (4), this attribute indicates the roll angle reported by the tracking device.

sub pitch([$newValue])
 $value = $pos_resp->pitch($newValue);

Pitch.

This attribute indicates the pitch angle of the specified entity, articulated part, view, or view group.

If Object Class is set to Motion Tracker (4), this attribute indicates the pitch angle reported by the tracking device.

sub yaw([$newValue])
 $value = $pos_resp->yaw($newValue);

Yaw.

This attribute indicates the yaw angle of the specified entity, articulated part, view, or view group.

If Object Class is set to Motion Tracker (4), this attribute indicates the yaw angle reported by the tracking device.

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

Returns the packed data packet.

sub unpack()
 $value = $pos_resp->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.

3 POD Errors

The following errors were encountered while parsing the POD:

Around line 77:

'=item' outside of any '=over'

Around line 215:

Non-ASCII character seen before =encoding in '–'. Assuming UTF-8

Around line 612:

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