TransformFactory.h

Go to the documentation of this file.
00001 /*  -*- mode: c++ -*-
00002  *
00003  * HippoPlot TransformFactory class interface
00004  *
00005  * Copyright (C) 2000, 2001, 2003   The Board of Trustees of The Leland
00006  * Stanford Junior University.  All Rights Reserved.
00007  *
00008  * $Id: TransformFactory_8h-source.html,v 1.40 2008/03/24 19:27:35 pfkeb Exp $
00009  *
00010  */
00011 
00012 #ifndef _TransformFactory_H_
00013 #define _TransformFactory_H_
00014 
00015 #include "pattern/Factory.h"
00016 
00017 namespace hippodraw {
00018 
00019 class TransformBase;
00020 
00028 class MDL_HIPPOPLOT_API TransformFactory : public Factory < TransformBase >
00029 {
00030 
00031  private:
00032 
00034   static TransformFactory * s_instance;
00035 
00037   TransformFactory( const TransformFactory & );
00038 
00040   TransformFactory();
00041 
00043   void initialize ();
00044 
00047   TransformBase * createXY ( const std::string & x_trans, 
00048                              const std::string & y_trans,
00049                              const std::string & z_trans );
00050 
00051  public:
00052 
00054   static TransformFactory * instance ();
00055 
00072   TransformBase * createTransform ( const std::string & name );
00073 
00076   TransformBase * createXYZ ( const std::string & x_trans, 
00077                               const std::string & y_trans,
00078                               const std::string & z_trans );
00079 
00080 };
00081 
00082 } // namespace hippodraw
00083 
00084 #endif // _TransformFactory_H_

Generated for HippoDraw Class Library by doxygen