contrib/gel/mrc/vpgl/xio/vpgl_xio_calibration_matrix.txx
Go to the documentation of this file.
00001 // This is gel/mrc/vpgl/xio/vpgl_xio_calibration_matrix.txx
00002 #ifndef vpgl_xio_calibration_matrix_txx_
00003 #define vpgl_xio_calibration_matrix_txx_
00004 //:
00005 // \file
00006 
00007 #include "vpgl_xio_calibration_matrix.h"
00008 #include <vpgl/vpgl_calibration_matrix.h>
00009 #include <vgl/vgl_point_2d.h>
00010 #include <vgl/xio/vgl_xio_point_2d.h>
00011 #include <vsl/vsl_basic_xml_element.h>
00012 
00013 //: xml write
00014 template <class T>
00015 void x_write(vcl_ostream &os, vpgl_calibration_matrix<T> p)
00016 {
00017   vsl_basic_xml_element element("vpgl_calibration_matrix");
00018   element.add_attribute("focal_length", (T) p.focal_length());
00019   element.add_attribute("x_scale", p.x_scale());
00020   element.add_attribute("y_scale", p.y_scale());
00021   element.add_attribute("skew", p.skew());
00022   element.x_write_open(os);
00023   vgl_point_2d<T> point = p.principal_point();
00024   x_write(os, point, "principal_point");
00025   element.x_write_close(os);
00026 }
00027 
00028 #define VPGL_XIO_CALIBRATION_MATRIX_INSTANTIATE(T) \
00029 template void x_write(vcl_ostream &, vpgl_calibration_matrix<T >)
00030 
00031 #endif // vpgl_xio_calibration_matrix_txx_