> 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

Reply via email to