Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

MapMatrixProjectorXML.cxx

Go to the documentation of this file.
00001 
00012 #ifdef HAVE_CONFIG_H
00013 #include "config.h"
00014 #endif
00015 
00016 // for truncation warning
00017 #ifdef _MSC_VER
00018 #include "msdevstudio/MSconfig.h"
00019 #endif
00020 
00021 #include "MapMatrixProjectorXML.h"
00022 
00023 #include "XmlController.h"
00024 #include "XmlDocument.h"
00025 #include "XmlElement.h"
00026 
00027 #include "projectors/MapMatrixProjector.h"
00028 
00029 using namespace hippodraw;
00030 
00031 MapMatrixProjectorXML::MapMatrixProjectorXML ( XmlController * controller )
00032   : BaseXML ( "MapMatrixProjector", controller ),
00033     m_x_bins ( "xbins" ),
00034     m_y_bins ( "ybins" ),
00035     m_x_step ( "xstep" ),
00036     m_y_step ( "ystep" ),
00037     m_x_orig ( "xorig" ),
00038     m_y_orig ( "yorig" )
00039 {
00040 }
00041 
00042 XmlElement *
00043 MapMatrixProjectorXML::
00044 createElement ( const MapMatrixProjector & projector )
00045 {
00046   XmlElement * tag = BaseXML::createElement (); // in base class
00047 
00048   const void * addr = reinterpret_cast < const void * > ( & projector );
00049   int id = m_controller -> getId ( addr );
00050   setId ( *tag, id );
00051 
00052   int number = projector.getNumberOfBins ( Axes::X );
00053   tag -> setAttribute ( m_x_bins, number );
00054   number = projector.getNumberOfBins ( Axes::Y );
00055   tag -> setAttribute ( m_y_bins, number );
00056 
00057   double step = projector.getBinWidth ( Axes::X );
00058   tag->setAttribute ( m_x_step, step );
00059   step = projector.getBinWidth ( Axes::Y );
00060   tag->setAttribute ( m_y_step, step );
00061 
00062   double orig = projector.getOffset ( Axes::X );
00063   tag->setAttribute ( m_x_orig, orig );
00064   orig = projector.getOffset ( Axes::Y );
00065   tag->setAttribute ( m_y_orig, orig );
00066 
00067   return tag;
00068 }
00069 
00070 void
00071 MapMatrixProjectorXML::
00072 setAttributes ( const XmlElement * element, ProjectorBase * projector )
00073 {
00074   int number = 0;
00075   bool ok = element -> attribute ( m_x_bins, number );
00076   projector -> setNumberOfBins ( Axes::X, number );
00077   ok = element -> attribute ( m_y_bins, number );
00078   projector -> setNumberOfBins ( Axes::Y, number );
00079 
00080   double value = 0.;
00081   ok = element -> attribute ( m_x_step, value );
00082   projector -> setBinWidth ( Axes::X, value );
00083   ok = element -> attribute ( m_y_step, value );
00084   projector -> setBinWidth ( Axes::Y, value );
00085 
00086   ok = element -> attribute ( m_x_orig, value );
00087   projector -> setOffset ( Axes::X, value );
00088   ok = element -> attribute ( m_y_orig, value );
00089   projector -> setOffset ( Axes::Y, value );
00090 }

Generated for HippoDraw-1.14.8.5 by doxygen 1.4.3