35 #ifndef AIMS_MESH_MESHINTERPOLER_D_H
36 #define AIMS_MESH_MESHINTERPOLER_D_H
49 for( it=stex.begin(); it!=et; ++it )
56 template <
typename T>
void
70 AimsSurfaceTriangle::const_iterator its;
71 its = d->
source->upper_bound( timestep );
73 stimestep = its->first;
76 std::vector<T> & tx = dest.
data();
79 tx.insert( tx.end(), n, T() );
84 template <
typename T>
void
100 AimsSurfaceTriangle::const_iterator its;
101 its = d->
source->upper_bound( timestep );
103 stimestep = its->first;
108 const std::vector<float> & coord1 = d->
projCoord1[stimestep].data();
109 const std::vector<float> & coord2 = d->
projCoord2[stimestep].data();
110 const std::vector<float> & coord3 = d->
projCoord3[stimestep].data();
111 const std::vector<unsigned> & triCorresp
113 size_t i, n = triCorresp.size();
121 const T & v1 = source[ tri[0] ];
122 const T & v2 = source[ tri[1] ];
123 const T & v3 = source[ tri[2] ];
124 float a = coord1[i], b = coord2[i], c = coord3[i];
125 dest[i] = v1 * a + v2 * b + v3 * c;
132 const T & v1 = source[ tri[0] ];
133 const T & v2 = source[ tri[1] ];
134 const T & v3 = source[ tri[2] ];
135 float a = fabs( coord1[i] ), b = fabs( coord2[i] ),
136 c = fabs( coord3[i] );
137 if( a >= b && a >= c )
139 else if( b >= a && b >= c )
const std::vector< AimsVector< uint, D > > & polygon() const
const std::vector< T > & data() const
std::map< int, Texture< T > >::const_iterator const_iterator
TimeTexture< T > * resampleTexture(const TimeTexture< T > &, InterpolationType=Linear) const
TimeTexture< float > projCoord3
TimeTexture< float > projCoord1
TimeTexture< uint > projTriangles
TimeTexture< float > projCoord2
const AimsSurfaceTriangle * source
const Point3df * sourceVert
const AimsVector< uint, 3 > * sourcePoly