Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __TIMEINTERPOLATOR_HXX__
00021 #define __TIMEINTERPOLATOR_HXX__
00022
00023 #include "ProcessorGroup.hxx"
00024
00025 #include <map>
00026 #include <iostream>
00027
00028 namespace ParaMEDMEM
00029 {
00030 class TimeInterpolator
00031 {
00032 public:
00033 TimeInterpolator( double InterpPrecision, int nStepBefore=1, int nStepAfter=1 );
00034 virtual ~TimeInterpolator();
00035
00036 void setInterpParams( double InterpPrecision, int nStepBefore=1, int nStepAfter=1 ) { _interp_precision=InterpPrecision; _n_step_before=nStepBefore; _n_step_after=nStepAfter; }
00037 void steps( int &nStepBefore, int &nStepAfter ) { nStepBefore=_n_step_before; nStepAfter=_n_step_after ; }
00038 virtual void doInterp( double time0, double time1, double time, int recvcount ,
00039 int nbuff0, int nbuff1,
00040 int **recvbuff0, int **recvbuff1, int *result ) = 0;
00041 virtual void doInterp( double time0, double time1, double time, int recvcount ,
00042 int nbuff0, int nbuff1,
00043 double **recvbuff0, double **recvbuff1, double *result ) = 0;
00044 protected :
00045 double _interp_precision;
00046 int _n_step_before;
00047 int _n_step_after;
00048 };
00049 }
00050
00051 #endif