00001 00002 /************************************************************************/ 00003 /* This file is part of openMask(c) INRIA, CNRS, Universite de Rennes 1 */ 00004 /* 1993-2002, thereinafter the Software */ 00005 /* */ 00006 /* The Software has been developped within the Siames Project. */ 00007 /* INRIA, the University of Rennes 1 and CNRS jointly hold intellectual */ 00008 /* property rights */ 00009 /* */ 00010 /* The Software has been registered with the Agence pour la Protection */ 00011 /* des Programmes (APP) under registration number */ 00012 /* IDDN.FR.001.510008.00.S.P.2001.000.41200 */ 00013 /* */ 00014 /* This file may be distributed under the terms of the Q Public License */ 00015 /* version 1.0 as defined by Trolltech AS of Norway and appearing in */ 00016 /* the file LICENSE.QPL included in the packaging of this file. */ 00017 /* */ 00018 /* Licensees holding valid specific licenses issued by INRIA, CNRS or */ 00019 /* Universite Rennes 1 for the software may use this file in */ 00020 /* acordance with that specific license */ 00021 /************************************************************************/ 00022 00023 #if !defined _OMK_III_CONVERTORS_H_ 00024 #define _OMK_III_CONVERTORS_H_ 00025 00026 #include "OMKIConvertor.h" 00027 #include "OMKTransform.h" 00028 00029 namespace OMK 00030 { 00031 class ConfigurationParameterDescriptor ; 00032 namespace Type { class Transform ; } 00033 namespace Iii 00034 { 00035 00036 //----------------------------------------------------------------------------- 00071 template< typename Type > 00072 class AverageT : public IConvertorT< Type, std::vector< Type > > 00073 { 00074 DECLARE_TEMPLATE_CONVERTOR_FACTORY( AverageT, Type, std::vector< Type > ) ; 00075 } ; 00077 typedef AverageT< float > AverageFloat ; 00079 typedef AverageT< double > AverageDouble ; 00080 00081 //----------------------------------------------------------------------------- 00082 class Barycenter : public IConvertorT< OMK::Type::Transform, std::vector< OMK::Type::Transform > > 00083 { 00084 DECLARE_CONVERTOR_FACTORY( Barycenter, OMK::Type::Transform, std::vector< OMK::Type::Transform > ) ; 00085 } ; 00086 00087 //----------------------------------------------------------------------------- 00123 template< typename Type > 00124 class IntegratorT : public IConvertorT< Type, Type > 00125 { 00126 DECLARE_TEMPLATE_CONVERTOR_FACTORY( IntegratorT, Type, Type ) ; 00127 } ; 00129 typedef IntegratorT< int > IntegratorInt ; 00131 typedef IntegratorT< float > IntegratorFloat ; 00133 typedef IntegratorT< double > IntegratorDouble ; 00134 00135 //----------------------------------------------------------------------------- 00136 #if defined _MSC_VER 00137 REGISTER_TEMPLATE_CONVERTOR_FACTORY( AverageFloat, float , std::vector< float >, "AverageFloat" ) ; 00138 REGISTER_TEMPLATE_CONVERTOR_FACTORY( AverageDouble, double, std::vector< double >, "AverageDouble" ) ; 00139 00140 REGISTER_TEMPLATE_CONVERTOR_FACTORY( IntegratorInt, int , int , "IntegratorInt" ) ; 00141 REGISTER_TEMPLATE_CONVERTOR_FACTORY( IntegratorFloat, float , float , "IntegratorFloat" ) ; 00142 REGISTER_TEMPLATE_CONVERTOR_FACTORY( IntegratorDouble, double, double, "IntegratorDouble" ) ; 00143 #endif // defined _MSC_VER 00144 00145 }// namespace Iii 00146 }// namespace OMK 00147 00148 #endif // defined _OMK_III_CONVERTORS_H_ 00149
Documentation generated on Mon Jun 9 11:45:56 2008 |
Generated with doxygen by Dimitri van Heesch , 1997-2007 |