[GRASS-dev] small patch for lib/vector/transform/
Glynn Clements
glynn at gclements.plus.com
Sat Jun 2 07:35:57 EDT 2007
Dylan Beaudette wrote:
> I needed some functionality to print the transformation matrix, very simple
> patch - it might be useful to others.
>
> It prints out the matrix along with a small note:
>
> Transformation Matrix
> ---------------------
> 28155.882288 0.013530 1.002469
> -5301.399323 0.997547 -0.009172
> ---------------------
>
> the patch is attached.
>
> Perhaps diagnostics like this might be a general use.
>
>
> --
> Dylan Beaudette
> Soils and Biogeochemistry Graduate Group
> University of California at Davis
> 530.754.7341
> Index: lib/vector/transform/transform.c
> ===================================================================
> RCS file: /home/grass/grassrepository/grass6/lib/vector/transform/transform.c,v
> retrieving revision 1.2
> diff -r1.2 transform.c
> 146a147,152
> > printf("Transformation Matrix\n");
> > printf("------------------------------------------\n");
> > printf("%f %f %f \n", B0, B1, B2);
> > printf("%f %f %f \n", B3, B4, B5);
> > printf("------------------------------------------\n");
First, patches should use either unified or context format (preferably
unified). However ...
Library code shouldn't be unconditionally printing diagnostic
information (especially not to stdout); use G_debug() instead.
If you need to print this information in normal use (without debugging
enabled), add a separate get_transformation_matrix() function to that
file.
Alternatively, you can implement it within your module using
transform_b_into_a(), i.e.:
double B0, B1, B2, B3, B4, B5;
transform_b_into_a(0, 0, &B0, &B3);
transform_b_into_a(1, 0, &B1, &B4);
B1 -= B0; B4 -= B3;
transform_b_into_a(0, 1, &B2, &B5);
B2 -= B0; B5 -= B3;
--
Glynn Clements <glynn at gclements.plus.com>
More information about the grass-dev
mailing list