Draft::Protozoa::Eml - CAD drawing-object base class


This class is DEPRECATED, use YAML formatted file instead.

A CAD drawing object that consists of a single file that resembles an rfc822 email message.


If you find yourself using this base-class directly, then you are probably doing something wrong.


Create an object by supplying the 'new' method with a file-path:

    use Draft::Drawing::Eml;
    my $foo = Draft::Drawing::Eml->new ('/path/to/file.eml');

Read/Parse an existing file with the Read method:


Currently the file-format is a simple series of key->value declarations, one per line:

    Pi: 3.1418
    Author: Plato
    Author: Descartes

This might become a perl structure like this:

    '/path/to/file.eml' => bless( {
      'pi' => [ '3.1418' ],
      'author' => [ 'Plato', 'Descartes' ],
      '_path' => '/path/to/file.eml'
    }, 'Draft::Drawing::Eml' )

Objects can be moved in the world-space:

    $foo->Move ([10, 5, 0]);

This edits the file on the filesystem in one atomic operation. This is a permanent operation - If you find that you didn't want to move the object, you might want to investigate using cvs for your data.

Query the type and version of the object like so:

    my $type = $self->Type ($foo);
    my $version = $self->Version ($foo);