cosmotool/sample/testInterpolate.cpp

32 lines
843 B
C++
Raw Normal View History

2010-09-12 21:36:37 +02:00
#include <iostream>
#include "interpolate3d.hpp"
using namespace std;
using namespace CosmoTool;
int main()
{
2011-06-06 15:43:38 +02:00
VectorField<float,3> *vectors = new VectorField<float,3>[27];
2010-09-12 21:36:37 +02:00
2011-06-06 15:43:38 +02:00
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++)
for (int k = 0; k < 3; k++)
2010-09-12 21:36:37 +02:00
{
2011-06-06 15:43:38 +02:00
int idx = i + 3*(j + 3*k);
2010-09-12 21:36:37 +02:00
vectors[idx].vec[0] = i;
vectors[idx].vec[1] = j;
2011-06-06 15:43:38 +02:00
vectors[idx].vec[2] = k;
2010-09-12 21:36:37 +02:00
}
2011-06-06 15:43:38 +02:00
GridSampler<VectorField<float,3> > sampler(vectors, 3, 3, 3, 1);
Interpolate3D<GridSampler<VectorField<float,3> > > inter(sampler);
2010-09-12 21:36:37 +02:00
2011-06-06 15:43:38 +02:00
VectorField<float,3> v = inter.get(0.5,0.15,0.5);
VectorField<float,3> v2 = inter.get(1.5,1.65,1.5);
2010-09-12 21:36:37 +02:00
2011-06-06 15:43:38 +02:00
cout << v.vec[0] << " " << v.vec[1] << " " << v.vec[2] << endl;
cout << v2.vec[0] << " " << v2.vec[1] << " " << v2.vec[2] << endl;
2010-09-12 21:36:37 +02:00
return 0;
}