Brian M. Ames
and 1 contributors

NAME

Rinchi::CIGIPP::ViewDefinition - Perl extension for the Common Image Generator Interface - View Definition data packet. data packet. =head1 SYNOPSIS

  use Rinchi::CIGIPP::ViewDefinition;
  my $view_def = Rinchi::CIGIPP::ViewDefinition->new();

  $packet_type = $view_def->packet_type();
  $packet_size = $view_def->packet_size();
  $view_ident = $view_def->view_ident(6573);
  $group_ident = $view_def->group_ident(45);
  $mirror_mode = $view_def->mirror_mode(Rinchi::CIGIPP->None);
  $bottom_enable = $view_def->bottom_enable(Rinchi::CIGIPP->Disable);
  $top_enable = $view_def->top_enable(Rinchi::CIGIPP->Disable);
  $right_enable = $view_def->right_enable(Rinchi::CIGIPP->Disable);
  $left_enable = $view_def->left_enable(Rinchi::CIGIPP->Disable);
  $far_enable = $view_def->far_enable(Rinchi::CIGIPP->Disable);
  $near_enable = $view_def->near_enable(Rinchi::CIGIPP->Disable);
  $view_type = $view_def->view_type(2);
  $reorder = $view_def->reorder(Rinchi::CIGIPP->NoReorder);
  $projection_type = $view_def->projection_type(Rinchi::CIGIPP->Perspective);
  $pixel_replication_mode = $view_def->pixel_replication_mode(Rinchi::CIGIPP->None);
  $near = $view_def->near(36.544);
  $far = $view_def->far(79.657);
  $left = $view_def->left(8.335);
  $right = $view_def->right(1.447);
  $top = $view_def->top(12.453);
  $bottom = $view_def->bottom(36.497);

DESCRIPTION

The View Definition packet allows the Host to override the IG's default configuration for a view. This packet is used to specify the projection type, to define the size of the viewing volume, and to assign the view to a view group. Refer to Section 3.2 of the CIGI ICD for details on these view characteristics.

EXPORT

None by default.

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

new $view_def = Rinchi::CIGIPP::ViewDefinition->new()

Constructor for Rinchi::ViewDefinition.

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

Data Packet Identifier.

This attribute identifies this data packet as the View Definition packet. The value of this attribute must be 21.

sub packet_size()
 $value = $view_def->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 view_ident([$newValue])
 $value = $view_def->view_ident($newValue);

View ID.

This attribute specifies the view to which the data in this packet will be applied.

sub group_ident([$newValue])
 $value = $view_def->group_ident($newValue);

Group ID.

This attribute specifies the group to which the view is to be assigned. If this value is zero (0), the view is not assigned to a group.

sub mirror_mode([$newValue])
 $value = $view_def->mirror_mode($newValue);

Mirror Mode.

This attribute specifies the mirroring function to be performed on the view. This feature is typically used to replicate the view of a mirrored surface such as a rear view mirror.

    None                    0
    Horizontal              1
    Vertical                2
    HorizontalAndVertical   3
sub bottom_enable([$newValue])
 $value = $view_def->bottom_enable($newValue);

Bottom Enable.

This attribute specifies whether the bottom half-angle of the view frustum will be set according to the value of the Bottom attribute within this packet. If this attribute is set to Disable (0), the Bottom attribute will be ignored.

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

Top Enable.

This attribute specifies whether the top half-angle of the view frustum will be set according to the value of the Top attribute within this packet. If this attribute is set to Disable (0), the Top attribute will be ignored.

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

Right Enable.

This attribute specifies whether the right half-angle of the view frustum will be set according to the value of the Right attribute within this packet. If this attribute is set to Disable (0), the Right attribute will be ignored.

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

Left Enable.

This attribute specifies whether the left half-angle of the view frustum will be set according to the value of the Left attribute within this packet. If this attribute is set to Disable (0), the Left attribute will be ignored.

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

Far Enable.

This attribute specifies whether the far clipping plane will be set to the value of the Far attribute within this packet. If this attribute is set to Disable (0), the Far attribute will be ignored.

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

Near Enable.

This attribute specifies whether the near clipping plane will be set to the value of the Near attribute within this packet. If this attribute is set to Disable (0), the Near attribute will be ignored.

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

View Type.

This attribute specifies an IG-defined type for the indicated view. For example, a Host might switch a view type from out-the-window to IR for a given channel.

sub reorder([$newValue])
 $value = $view_def->reorder($newValue);

Reorder.

This attribute specifies whether the view should be moved to the top of any overlapping views. In cases where multiple overlapping views are moved to the top, the last view specified gets priority.

    NoReorder    0
    BringToTop   1
sub projection_type([$newValue])
 $value = $view_def->projection_type($newValue);

Projection Type.

This attribute specifies whether the view projection should be perspective or orthographic parallel.

    Perspective            0
    OrthographicParallel   1
sub pixel_replication_mode([$newValue])
 $value = $view_def->pixel_replication_mode($newValue);

Pixel Replication Mode.

This attribute specifies the pixel replication function to be performed on the view. This feature is typically used in sensor applications to perform electronic zooming (i.e., pixel and line doubling).

    None           0
    Replicate1x2   1
    Replicate2x1   2
    Replicate2x2   3
sub near([$newValue])
 $value = $view_def->near($newValue);

Near.

This attribute specifies the position of the view's near clipping plane. This distance is measured along the viewing vector from the eyepoint to the plane.

sub far([$newValue])
 $value = $view_def->far($newValue);

Far.

This attribute specifies the position of the view's far clipping plane. This distance is measured along the viewing vector from the eyepoint to the plane.

sub left([$newValue])
 $value = $view_def->left($newValue);

Left.

This attribute specifies the left half-angle of the view frustum. This value is the measure of the angle formed at the view eyepoint between the viewing vector and the frustum side.

sub right([$newValue])
 $value = $view_def->right($newValue);

Right.

This attribute specifies the right half-angle of the view frustum. This value is the measure of the angle formed at the view eyepoint between the viewing vector and the frustum side.

sub top([$newValue])
 $value = $view_def->top($newValue);

Top.

This attribute specifies the top half-angle of the view frustum. This value is the measure of the angle formed at the view eyepoint between the viewing vector and the frustum side.

sub bottom([$newValue])
 $value = $view_def->bottom($newValue);

Bottom.

This attribute specifies the bottom half-angle of the view frustum. This value is the measure of the angle formed at the view eyepoint between the viewing vector and the frustum side.

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

Returns the packed data packet.

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

'=item' outside of any '=over'

Around line 783:

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