package ONVIF::Device::Types::Appearance;
use strict;
use warnings;


__PACKAGE__->_set_element_form_qualified(1);

sub get_xmlns { 'http://www.onvif.org/ver10/schema' };

our $XML_ATTRIBUTE_CLASS;
undef $XML_ATTRIBUTE_CLASS;

sub __get_attr_class {
    return $XML_ATTRIBUTE_CLASS;
}

use Class::Std::Fast::Storable constructor => 'none';
use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);

Class::Std::initialize();

{ # BLOCK to scope variables

my %Transformation_of :ATTR(:get<Transformation>);
my %Shape_of :ATTR(:get<Shape>);
my %Color_of :ATTR(:get<Color>);
my %Class_of :ATTR(:get<Class>);
my %Extension_of :ATTR(:get<Extension>);

__PACKAGE__->_factory(
    [ qw(        Transformation
        Shape
        Color
        Class
        Extension

    ) ],
    {
        'Transformation' => \%Transformation_of,
        'Shape' => \%Shape_of,
        'Color' => \%Color_of,
        'Class' => \%Class_of,
        'Extension' => \%Extension_of,
    },
    {
        'Transformation' => 'ONVIF::Device::Types::Transformation',
        'Shape' => 'ONVIF::Device::Types::ShapeDescriptor',
        'Color' => 'ONVIF::Device::Types::ColorDescriptor',
        'Class' => 'ONVIF::Device::Types::ClassDescriptor',
        'Extension' => 'ONVIF::Device::Types::AppearanceExtension',
    },
    {

        'Transformation' => 'Transformation',
        'Shape' => 'Shape',
        'Color' => 'Color',
        'Class' => 'Class',
        'Extension' => 'Extension',
    }
);

} # end BLOCK








1;


=pod

=head1 NAME

ONVIF::Device::Types::Appearance

=head1 DESCRIPTION

Perl data type class for the XML Schema defined complexType
Appearance from the namespace http://www.onvif.org/ver10/schema.






=head2 PROPERTIES

The following properties may be accessed using get_PROPERTY / set_PROPERTY
methods:

=over

=item * Transformation


=item * Shape


=item * Color


=item * Class


=item * Extension




=back


=head1 METHODS

=head2 new

Constructor. The following data structure may be passed to new():

 { # ONVIF::Device::Types::Appearance
   Transformation =>  { # ONVIF::Device::Types::Transformation
     Translate => ,
     Scale => ,
     Extension =>  { # ONVIF::Device::Types::TransformationExtension
     },
   },
   Shape =>  { # ONVIF::Device::Types::ShapeDescriptor
     BoundingBox => ,
     CenterOfGravity => ,
     Polygon =>  { # ONVIF::Device::Types::Polygon
       Point => ,
     },
     Extension =>  { # ONVIF::Device::Types::ShapeDescriptorExtension
     },
   },
   Color =>  { # ONVIF::Device::Types::ColorDescriptor
     ColorCluster =>  {
       Color => ,
       Weight =>  $some_value, # float
       Covariance => ,
     },
     Extension =>  { # ONVIF::Device::Types::ColorDescriptorExtension
     },
   },
   Class =>  { # ONVIF::Device::Types::ClassDescriptor
     ClassCandidate =>  {
       Type => $some_value, # ClassType
       Likelihood =>  $some_value, # float
     },
     Extension =>  { # ONVIF::Device::Types::ClassDescriptorExtension
       OtherTypes =>  { # ONVIF::Device::Types::OtherType
         Type =>  $some_value, # string
         Likelihood =>  $some_value, # float
       },
       Extension =>  { # ONVIF::Device::Types::ClassDescriptorExtension2
       },
     },
   },
   Extension =>  { # ONVIF::Device::Types::AppearanceExtension
   },
 },




=head1 AUTHOR

Generated by SOAP::WSDL

=cut

