00001 // Integrator.h: interface for the CIntegrator class. 00002 // 00004 #include "Interpolator.h" 00005 #include "VectorField.h" 00006 #include "Defines.h" 00007 00008 #if !defined(AFX_INTEGRATOR_H__4B9E9F44_602D_4607_861B_F1572D65AFE9__INCLUDED_) 00009 #define AFX_INTEGRATOR_H__4B9E9F44_602D_4607_861B_F1572D65AFE9__INCLUDED_ 00010 00011 #if _MSC_VER > 1000 00012 #pragma once 00013 #endif // _MSC_VER > 1000 00014 00016 00019 class CIntegrator 00020 { 00021 public: 00022 00023 CIntegrator(); 00025 CIntegrator(CVectorField *vectorField,CInterpolator *interpolator,float dt); 00026 virtual ~CIntegrator(); 00027 00029 virtual CSamplePoint *ComputeNext(CSamplePoint *lastPoint) = 0; 00031 CSamplePoint *ComputeLast(CSamplePoint *nextPoint); 00033 virtual void SetDt(float dt); 00035 void SetInterpolator(CInterpolator *interpolator); 00037 void SetVectorField(CVectorField *vectorField); 00038 protected: 00039 float m_Dt; 00040 CInterpolator *m_Interpolator; 00041 CVectorField *m_VectorField; 00042 }; 00043 00044 #endif // !defined(AFX_INTEGRATOR_H__4B9E9F44_602D_4607_861B_F1572D65AFE9__INCLUDED_)