35 #ifndef AIMS_MESH_MESHINTERPOLER_H
36 #define AIMS_MESH_MESHINTERPOLER_H
107 template <
typename T>
void
111 template <
typename T>
void
135 const Point3df* destVertex,
uint nDestVertex,
int timestep );
138 uint nDestVertex,
int timestep );
CoordinatesFieldMeshInterpoler(const AimsSurfaceTriangle &source, const AimsSurfaceTriangle &dest, const TimeTexture< float > &srccoord1, const TimeTexture< float > &srccoord2, const TimeTexture< float > &dstcoord1, const TimeTexture< float > &dstcoord2)
virtual ~CoordinatesFieldMeshInterpoler()
Triangular mesh and texture interpolation.
AimsSurfaceTriangle * resampleMesh(const AimsSurfaceTriangle &sourceshape) const
Resample the sourceshape mesh onto the topology of the interpoler destination mesh,...
const TimeTexture< float > & projectedTriCoord2() const
void processCoordinates()
sub-step 2 of project(): calculates projectedTriCoord*
void setDiscontinuityThresholds(float xthresh, float ythresh, float zthresh)
Discontinuities may occur in some meshes, on their vertices coordinates (especially when built from c...
void findNeighbours_timestep(const Point3df *sourceVert, const AimsVector< uint, 3 > *sourcePoly, uint nSourcePolygon, const Point3df *destVertex, uint nDestVertex, int timestep)
void processCoordinates_timestep(const Point3df *sourceVert, const AimsVector< uint, 3 > *sourcePoly, const Point3df *destVertex, uint nDestVertex, int timestep)
MeshInterpoler(const Point3df *sourceVert, const AimsVector< uint, 3 > *sourcePoly, uint nSourcePolygon, const Point3df *destVertex, const AimsVector< uint, 3 > *destPolygon, uint nDestVertex, uint nDestPolygon)
This constructor is used when meshes are low-level raw arrays.
const TimeTexture< float > & projectedTriCoord3() const
const TimeTexture< uint > & projectedTriangles() const
virtual ~MeshInterpoler()
void setMeshes(const AimsSurfaceTriangle &source, const AimsSurfaceTriangle &dest)
MeshInterpoler(const AimsSurfaceTriangle &source, const AimsSurfaceTriangle &dest)
const TimeTexture< float > & projectedTriCoord1() const
TimeTexture< T > * resampleTexture(const TimeTexture< T > &, InterpolationType=Linear) const
void findNeighbours()
sub-step 1 of project(): calculates projectedTriangles
void reloadProjectionParams(const TimeTexture< uint > &projTriangles, const TimeTexture< float > &projTriCoord1, const TimeTexture< float > &projTriCoord2, const TimeTexture< float > &projTriCoord3)
set interpoler internal state (for instance to reload it after saving)
void project()
Main projection function.
AIMSDATA_API AimsTimeSurface< 3, Void > AimsSurfaceTriangle