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

NAME

Astro::Nova::HMS - Perl representation of a libnova ln_hms (hours, minutes, seconds)

SYNOPSIS

  use Astro::Nova qw(functions ...);
  my $date = Astro::Nova::HMS->new();
  $date->set_year(...);
  # ...
  print $date->as_ascii(), "\n";
  my @members = $date->get_all();

DESCRIPTION

This class represents a libnova ln_hms struct. The struct has the following layout:

  ln_hms {
    unsigned short  hours
    unsigned short  minutes
    double          seconds
  }

METHODS

new

Constructor returns a new Astro::Nova::HMS. Optionally takes key/value pairs for setting the struct members. Extra arguments are ignored. Uninitialized struct members are set to zero.

get_... / set_...

Get or set any of the class attributes. (See list above)

get_all

Returns all members as a list.

set_all

Sets all members. Takes a list of values which must be in the order shown above. Any missing values are ignored, undefs are skipped.

as_ascii

Returns a human-readable ASCII table of the date information.

members

Returns a list of all members in order.

to_degrees / to_radians / to_dms

Convert to degrees or radians (returns a number).

to_dms Converts to Astro::Nova::DMS (degrees, minutes, seconds).

from_degrees / from_radians / from_dms

When called as a class method, creates a new Astro::Nova::HMS object from the given degrees/radians value or Astro::Nova::DMS object.

When called as an object method, sets the current object's state instead.

SEE ALSO

Astro::Nova

libnova website: http://libnova.sourceforge.net/

AUTHOR

Steffen Mueller, <smueller@cpan.org>

COPYRIGHT AND LICENSE

The Astro::Nova wrapper of libnova is copyright (C) 2009-2010 by Steffen Mueller.

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

libnova is maintained by Liam Girdwood and Petr Kubanek.

libnova is released under the GNU LGPL. This may limit the licensing terms of the wrapper code. If in doubt, ask a lawyer.