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;
|
|
|
|
}
|