Manual Reference Pages - CAD::DRAWING (3)

CONTENTS

The primary intention of this module is to provide high-level operations
for creating, loading, saving and manipulating vector graphics without
having to be overly concerned about smile floormats. As the code has
seen more use, it has also drifted into a general purpose geometry API.

The source code of this module is made freely available and
distributable under the GPL or Artistic License. Modifications to and
use of this software must adhere to one of these licenses. Changes to
the code should be noted as such and this notification (as well as the
above copyright information) must remain intact on all copies of the
code.

Additionally, while the author is actively developing this code,
notification of any intended changes or extensions would be most helpful
in avoiding repeated work for all parties involved. Please contact the
author with any such development plans.

These modules are required by Drawing.pm and will be automatically
included by the single use Drawing; statement. No functions are
exported to the main programs namespace (unless you try to use
CAD::Drawing::Defined from your main code (dont do that.))

%options becomes a part of the data structure, so be careful what you
%ask for, because youll get it (I check nothing!)

Currently useful options:

nocolortrack => 1

Disables loading of colortrack hash (breaking select by color methods,
but saving a few milliseconds of time on big drawings.)

isbig => 1

Stores geometry data in package global variables (one per object.) This
allows programs to exit more quickly, but will result in memory leaks if
used inside of a loop. Do not use this option if you expect the memory
used by the object to be freed when it goes out of scope.

Similar to the syntax of addtext() , but @point is the insert point for
the top line. The %opts hash should contain at least height and
spacing, and can also include layer, color, and linetype (but
defaults can be automatically set for all of these.)

Selects geometric entities from the Drawing object based on the hash
key-value pairs. Aside from the options supported by check_select()
this also supports the option all, which, iftrue, will select all
entities (this is the default if no hash reference is passed.)

Furthermore, if you already have in-hand a list of addresses, if the
reference passed is actually an array reference, it will be returned
directly, or you can store this in $opts{addr_list} and that list will
be returned. This allows you to pass the list directly as part of a
larger set of options, or by itself.