57 const V3f &srcSize,
const V3f &tgtSize)
60 for (
int dim = 0; dim < 3; ++dim) {
63 static_cast<int>(std::floor(tgtP[dim] * tgtSize[dim] / srcSize[dim] -
66 static_cast<int>(std::ceil(tgtP[dim] * tgtSize[dim] / srcSize[dim] +
70 static_cast<int>(std::floor((tgtP[dim] - support) *
71 tgtSize[dim] / srcSize[dim]));
73 static_cast<int>(std::ceil((tgtP[dim] + support) *
74 tgtSize[dim] / srcSize[dim]));
84 const float &srcSize,
const float &tgtSize)
86 std::pair<int, int> srcInterval;
89 static_cast<int>(std::floor(tgtP * tgtSize / srcSize - support));
91 static_cast<int>(std::ceil(tgtP * tgtSize / srcSize + support)) - 1;
94 static_cast<int>(std::floor((tgtP - support) * tgtSize / srcSize));
96 static_cast<int>(std::ceil((tgtP + support) * tgtSize / srcSize));
104 const V3f &srcSize,
const V3f &tgtSize)
107 for (
int dim = 0; dim < 3; ++dim) {
109 const float tgtSrc = tgtP[dim] * tgtSize[dim] / srcSize[dim];
110 dist[dim] = std::abs(tgtSrc - srcP[dim]);
112 const float srcTgt = srcP[dim] * srcSize[dim] / tgtSize[dim];
113 dist[dim] = std::abs(srcTgt - tgtP[dim]);
121 float getDist(
const bool doUpres,
const float &srcP,
const float &tgtP,
122 const float &srcSize,
const float &tgtSize)
125 const float tgtSrc = tgtP * tgtSize / srcSize;
126 return std::abs(tgtSrc - srcP);
128 const float srcTgt = srcP * srcSize / tgtSize;
129 return std::abs(srcTgt - tgtP);
Contains functions for resampling fields.
Box3i srcSupportBBox(const V3f &tgtP, const float support, const V3i &doUpres, const V3f &srcSize, const V3f &tgtSize)
V3f getDist(const V3i &doUpres, const V3f &srcP, const V3f &tgtP, const V3f &srcSize, const V3f &tgtSize)
#define FIELD3D_NAMESPACE_SOURCE_CLOSE