#include "INTERPKERNEL_defines.hxx"
#include "InterpolationOptions.hxx"
+#include <string>
+
namespace INTERP_KERNEL
{
template<class TrueMainInterpolator>
Interpolation(const InterpolationOptions& io) :InterpolationOptions(io){}
//interpolation of two triangular meshes.
template<class MatrixType, class MyMeshType>
- void interpolateMeshes(const MyMeshType& mesh1, const MyMeshType& mesh2, MatrixType& result)
- { return asLeaf().interpolateMeshes(mesh1,mesh2,result); }
+ void interpolateMeshes(const MyMeshType& mesh1, const MyMeshType& mesh2, MatrixType& result,
+ const std::string& method)
+ { return asLeaf().interpolateMeshes(mesh1,mesh2,result,method); }
protected:
TrueMainInterpolator& asLeaf() { return static_cast<TrueMainInterpolator&>(*this); }
};
Interpolation3D();
Interpolation3D(const InterpolationOptions& io);
template<class MatrixType, class MyMeshType>
- void interpolateMeshes(const MyMeshType& srcMesh, const MyMeshType& targetMesh, MatrixType& result);
+ void interpolateMeshes(const MyMeshType& srcMesh, const MyMeshType& targetMesh, MatrixType& result,
+ const std::string& method);
private:
SplittingPolicy _splitting_policy;
};
// Main function to interpolate triangular and quadratic meshes
template<class MatrixType, class MyMeshType>
- void interpolateMeshes(const MyMeshType& mesh1, const MyMeshType& mesh2, MatrixType& result);
+ void interpolateMeshes(const MyMeshType& mesh1, const MyMeshType& mesh2, MatrixType& result,
+ const std::string& method);
public:
bool doRotate() const { return asLeafInterpPlanar().doRotate(); }
getBarycentricCoordinates<MyMeshType,3>( baryCentre, OTT<ConnType,numPol>::indFC(i_P),
myMesh_P, baryCoords );
if ( nodeCoeff ) { // 1 coeff per target node
- cout << "P elem " << OTT<ConnType,numPol>::indFC(i_P)
- << ", S elem " << OTT<ConnType,numPol>::indFC(i_S)
- << ", surf: " << surf
- << endl;
for ( int n = 0; n < 3; ++n ) {
ConnType node = getGlobalNumberOfNode(n, OTT<ConnType,numPol>::indFC(i_P), myMesh_P);
result[node].insert(make_pair(OTT<ConnType,numPol>::indFC(i_S),surf*baryCoords[n]));
- cout << "node " << node << " baryCoord[" << n << "]=" << baryCoords[n]
- << ", surf*bc = " << surf*baryCoords[n] << endl;
}
}
else { // several coeffs per target node