NAME

Rinchi::CIGIPP::ArticulatedPartControl - Perl extension for the Common Image Generator Interface - Articulated Part Control data packet. data packet. =head1 SYNOPSIS

use Rinchi::CIGIPP::ArticulatedPartControl;
my $ap_ctl = Rinchi::CIGIPP::ArticulatedPartControl->new();

$packet_type = $ap_ctl->packet_type();
$packet_size = $ap_ctl->packet_size();
$entity_ident = $ap_ctl->entity_ident(63243);
$articulated_part_ident = $ap_ctl->articulated_part_ident(6);
$yaw_enable = $ap_ctl->yaw_enable(Rinchi::CIGIPP->Disable);
$pitch_enable = $ap_ctl->pitch_enable(Rinchi::CIGIPP->Enable);
$roll_enable = $ap_ctl->roll_enable(Rinchi::CIGIPP->Enable);
$z_offset_enable = $ap_ctl->z_offset_enable(Rinchi::CIGIPP->Disable);
$y_offset_enable = $ap_ctl->y_offset_enable(Rinchi::CIGIPP->Enable);
$x_offset_enable = $ap_ctl->x_offset_enable(Rinchi::CIGIPP->Disable);
$articulated_part_enable = $ap_ctl->articulated_part_enable(Rinchi::CIGIPP->Enable);
$x_offset = $ap_ctl->x_offset(3.419);
$y_offset = $ap_ctl->y_offset(55.33);
$z_offset = $ap_ctl->z_offset(80.089);
$roll = $ap_ctl->roll(2.203);
$pitch = $ap_ctl->pitch(81.151);
$yaw = $ap_ctl->yaw(61.683);

DESCRIPTION

Articulated parts are entity features that can be rotated and/or translated with respect to the entity. These features are submodels of the entity model and possess their own coordinate systems. Examples include wing flaps, landing gear, and tank turrets.

Articulated parts may be manipulated in up to six degrees of freedom. Translation is defined as X, Y, and Z offsets relative to the submodel's reference point. Rotation is defined relative to the submodel coordinate system. Positional and rotational values are not cumulative. They are absolute values relative to the coordinate system defined within the model.

EXPORT

None by default.

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

new $ap_ctl = Rinchi::CIGIPP::ArticulatedPartControl->new()

Constructor for Rinchi::ArticulatedPartControl.

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

Data Packet Identifier.

This attribute identifies this data packet as the Articulated Part Control packet. The value of this attribute must be 6.

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

Data Packet Size.

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

sub entity_ident([$newValue])
$value = $ap_ctl->entity_ident($newValue);

Entity ID.

This attribute specifies the entity to which the articulated part belongs.

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

Articulated Part ID.

This attribute specifies the articulated part to which the data in this packet should be applied. When used with the Entity ID attribute, this attribute uniquely identifies a particular articulated part within the simulation.

sub yaw_enable([$newValue])
$value = $ap_ctl->yaw_enable($newValue);

Yaw Enable.

This attribute determines whether the Yaw attribute of the current packet should be applied to the articulated part. If this attribute is set to Disable (0), Yaw is ignored and the articulated part retains its current yaw angle.

Disable   0
Enable    1
sub pitch_enable([$newValue])
$value = $ap_ctl->pitch_enable($newValue);

Pitch Enable.

This attribute determines whether the Pitch attribute of the current packet should be applied to the articulated part. If this attribute is set to Disable (0), Pitch is ignored and the articulated part retains its current pitch angle.

Disable   0
Enable    1
sub roll_enable([$newValue])
$value = $ap_ctl->roll_enable($newValue);

Roll Enable.

This attribute determines whether the Roll attribute of the current packet should be applied to the articulated part. If this attribute is set to Disable (0), Roll is ignored and the articulated part retains its current roll angle.

Disable   0
Enable    1
sub z_offset_enable([$newValue])
$value = $ap_ctl->z_offset_enable($newValue);

Z Offset Enable.

This attribute determines whether the Z Offset attribute of the current packet should be applied to the articulated part. If this attribute is set to Disable (0), Z Offset is ignored and the articulated part remains at its current location along the submodel's Z axis.

Disable   0
Enable    1
sub y_offset_enable([$newValue])
$value = $ap_ctl->y_offset_enable($newValue);

Y Offset Enable.

This attribute determines whether the Y Offset attribute of the current packet should be applied to the articulated part. If this attribute is set to Disable (0), Y Offset is ignored and the articulated part remains at its current location along the submodel's Y axis.

Disable   0
Enable    1
sub x_offset_enable([$newValue])
$value = $ap_ctl->x_offset_enable($newValue);

X Offset Enable.

This attribute determines whether the X Offset attribute of the current packet should be applied to the articulated part. If this attribute is set to Disable (0), X Offset is ignored and the articulated part remains at its current location along the submodel's X axis.

Disable   0
Enable    1
sub articulated_part_enable([$newValue])
$value = $ap_ctl->articulated_part_enable($newValue);

Articulated Part Enable.

This attribute determines whether the articulated part submodel should be enabled or disabled within the scene graph. If this attribute is set to Disable (0), the part is removed from the scene; if the attribute is set to Enable (1), the part is included in the scene.

Disable   0
Enable    1
sub x_offset([$newValue])
$value = $ap_ctl->x_offset($newValue);

X Offset.

This attribute represents the distance in meters from the submodel reference point to the articulated part along its X axis.

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

Y Offset.

This attribute represents the distance in meters from the submodel reference point to the articulated part along its Y axis.

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

Z Offset.

This attribute represents the distance in meters from the submodel reference point to the articulated part along its Z axis.

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

Roll.

This attribute specifies the angle of rotation measured in degrees relative to the submodel coordinate system of the articulated part submodel about its X axis after yaw and pitch have been applied.

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

Pitch.

This attribute specifies the angle of rotation measured in degrees relative to the submodel coordinate system of the articulated part submodel about its Y axis after yaw has been applied.

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

Yaw.

This attribute specifies the angle of rotation measured in degrees relative to the submodel coordinate system of the articulated part about its Z axis.

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

Returns the packed data packet.

sub unpack()
$value = $ap_ctl->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 87:

'=item' outside of any '=over'

Around line 661:

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