35 #ifndef AIMS_RESAMPLING_HARMONICCAGERESAMPLER_H
36 #define AIMS_RESAMPLING_HARMONICCAGERESAMPLER_H
52 std::vector<Point3df> &controls,
53 short background=0,
short border=1,
short inside=2);
86 Point3df p2(rint(p[0]), rint(p[1]), rint(p[2]));
87 const std::map<int, float> &w = (*(
_weights.find(p2))).second;
88 std::map<int, float>::const_iterator i, e;
91 for (i = w.begin(), e = w.end(); i != e; ++i)
void computeCoordinates(float threshold=10e-4)
HarmonicCageMeshResampler(const AimsSurfaceTriangle &cage, float spacing)
std::map< Point3df, std::map< int, float >, Point3dfCompare > _weights
Point3df coordinate(const Point3df &p) const
from native coordinate to resample coordinates (point version)
carto::VolumeRef< unsigned int > _cage
const carto::VolumeRef< float > & get_image_coords(int ind) const
~HarmonicCageMeshResampler()
std::vector< Point3df > _controls
std::vector< carto::VolumeRef< float > > _image_coords
void set_keep_image_coords(bool state)
AimsSurfaceTriangle * coordinates(const AimsSurfaceTriangle &mesh) const
from native coordinate to resample coordinates (mesh version)
void moveControl(int ind, const Point3df &p)
HarmonicCageMeshResampler(const carto::rc_ptr< carto::Volume< unsigned int > > &cage, std::vector< Point3df > &controls, short background=0, short border=1, short inside=2)
const Point3df & getControl(int ind) const
AIMSDATA_API AimsTimeSurface< 3, Void > AimsSurfaceTriangle