> The following was supposedly scribed by
> Fergal Daly
> on Sunday 05 October 2003 11:41 am:
>It's not so much a question of "is it enough?", it's more "is it useful?".
>I'm not sure if this is relevant to your situation (I suspect not as you
> seem to only have 1 class of objects that you work with).
I'm not sure about the immediate usefullness, other than that it creates a
clean way to logically separate the functions into different files without
having to create a huge list of exports and imports.
While the Move(), Copy(), etc methods will really only work when used on a
CAD::Drawing object, this object could conceivably change completely, as long
as Get() and Set() still behave in the same way (which seems logical, since a
line will always have two points, which are most easily represented as two
array refs within an array.) There are other functions in CAD::Drawing which
would be called (e.g. Clone() calls addline() when asked to clone a line,) so
the separation between CAD::Drawing and CAD::Drawing::Manipulate is only a
matter of editing convenience, mental organization, and maintenance.
However, creating a continuity between the organizational structure at this
point will help when I start trying to work out the details of
CAD::Drawing::IO and the modules which lie under this in the filesystem tree.
I've currently got dwg and dxf access working only through the openDWG
consortium's (not gpl compatible) library. There is a python project in the
works to create a gpl library, so I imagine that in the near future, I may
see a need to create CAD::Drawing::IO::Opendwg and CAD::Drawing::IO::GPLdwg
modules which could be installed as options based on which libraries the user
has available.
--Eric
--
"Left to themselves, things tend to go from bad to worse."
--Murphy's Corollary