On 20-Aug-2013 08:59, Martin Owens wrote:
Could somebody please summarize what 12471 does?
Because if we are still doing things like
p0[X] = Inkscape::convert_unit(p0[X], "px", "in");
or
p0[X] = Quantity::convert(p0[X], "px", "in");
then it seems that whatever else 12471 implements, coordinates are still dimensionless. So all of this mucking around with syntax is in the end still only specifying a single multiplicative factor, albeit one that maybe now can be changed while the program is running. In other words, bottom line, 95% (or more) of the files modified in this revision did not need to be touched if the appropriate modifications had been made to the include file, so that PX_PER_IN and friends used the new methods. Moreover, if the syntax is changed again, at some point, then the same hundreds of lines will need to be reedited. Functionally though, all of those lines will _still_ be doing the same thing. That is why defines are used, so that massive code reediting is not required when these sorts of underlying changes occur.
I just don't understand the rationale for getting rid of the defines and needlessly modifying so many lines of code. Is there a programming movement in vogue now that holds that "# define" is evil, and that the more double colons on a line, the better???
David Mathog mathog@...1176... Manager, Sequence Analysis Facility, Biology Division, Caltech