Skip to content

Commit 6be64b9

Browse files
committed
Update definitions altered in Discregrid
1 parent c8d5f16 commit 6be64b9

File tree

5 files changed

+13
-13
lines changed

5 files changed

+13
-13
lines changed

SPlisHSPlasH/Utilities/SDFFunctions.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ Discregrid::CubicLagrangeDiscreteGrid* SDFFunctions::generateSDF(const unsigned
6666
Discregrid::TriangleMesh sdfMesh(&doubleVec[0], faces, numVertices, numFaces);
6767
#endif
6868

69-
Discregrid::MeshDistance md(sdfMesh);
69+
Discregrid::TriangleMeshDistance md(sdfMesh);
7070
Eigen::AlignedBox3d domain;
7171
domain.extend(bbox.min().cast<double>());
7272
domain.extend(bbox.max().cast<double>());
@@ -78,7 +78,7 @@ Discregrid::CubicLagrangeDiscreteGrid* SDFFunctions::generateSDF(const unsigned
7878
Real factor = 1.0;
7979
if (invert)
8080
factor = -1.0;
81-
func = [&md,&factor](Eigen::Vector3d const& xi) {return factor * md.signedDistanceCached(xi); };
81+
func = [&md,&factor](Eigen::Vector3d const& xi) {return factor * md.signed_distance(xi).distance; };
8282

8383
distanceField->addFunction(func, false);
8484
STOP_TIMING_PRINT;

Simulator/PositionBasedDynamicsWrapper/PBDWrapper.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@ void PBDWrapper::readScene(const std::string &sceneFileName, const std::vector<
290290
doubleVec[3 * i + j] = vd.getPosition(i)[j];
291291
Discregrid::TriangleMesh sdfMesh(&doubleVec[0], faces.data(), vd.size(), nFaces);
292292
#endif
293-
Discregrid::MeshDistance md(sdfMesh);
293+
Discregrid::TriangleMeshDistance md(sdfMesh);
294294
Eigen::AlignedBox3d domain;
295295
for (auto const& x : sdfMesh.vertices())
296296
{
@@ -302,7 +302,7 @@ void PBDWrapper::readScene(const std::string &sceneFileName, const std::vector<
302302
LOG_INFO << "Set SDF resolution: " << rbd.m_resolutionSDF[0] << ", " << rbd.m_resolutionSDF[1] << ", " << rbd.m_resolutionSDF[2];
303303
distanceFields[sdfFileName] = std::make_shared<PBD::CubicSDFCollisionDetection::Grid>(domain, std::array<unsigned int, 3>({ rbd.m_resolutionSDF[0], rbd.m_resolutionSDF[1], rbd.m_resolutionSDF[2] }));
304304
auto func = Discregrid::DiscreteGrid::ContinuousFunction{};
305-
func = [&md](Eigen::Vector3d const& xi) {return md.signedDistanceCached(xi); };
305+
func = [&md](Eigen::Vector3d const& xi) {return md.signed_distance(xi).distance; };
306306
LOG_INFO << "Generate SDF for " << rbd.m_modelFile;
307307
distanceFields[sdfFileName]->addFunction(func, true);
308308
if (Utilities::FileSystem::makeDir(cachePath) == 0)

Simulator/SimulatorBase.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2374,7 +2374,7 @@ void SimulatorBase::initDensityMap(std::vector<Vector3r> &x, std::vector<unsigne
23742374
Discregrid::TriangleMesh sdfMesh(&doubleVec[0], faces.data(), x.size(), faces.size() / 3);
23752375
#endif
23762376

2377-
Discregrid::MeshDistance md(sdfMesh);
2377+
Discregrid::TriangleMeshDistance md(sdfMesh);
23782378
Eigen::AlignedBox3d domain;
23792379
for (auto const& x_ : x)
23802380
{
@@ -2394,7 +2394,7 @@ void SimulatorBase::initDensityMap(std::vector<Vector3r> &x, std::vector<unsigne
23942394
Real sign = 1.0;
23952395
if (boundaryData->mapInvert)
23962396
sign = -1.0;
2397-
func = [&md, &sign, &tolerance](Eigen::Vector3d const& xi) {return sign * (md.signedDistanceCached(xi) - tolerance); };
2397+
func = [&md, &sign, &tolerance](Eigen::Vector3d const& xi) {return sign * (md.signed_distance(xi).distance - tolerance); };
23982398

23992399
LOG_INFO << "Generate SDF";
24002400
START_TIMING("SDF Construction");
@@ -2562,7 +2562,7 @@ void SimulatorBase::initVolumeMap(std::vector<Vector3r> &x, std::vector<unsigned
25622562
Discregrid::TriangleMesh sdfMesh(&doubleVec[0], faces.data(), x.size(), faces.size() / 3);
25632563
#endif
25642564

2565-
Discregrid::MeshDistance md(sdfMesh);
2565+
Discregrid::TriangleMeshDistance md(sdfMesh);
25662566
Eigen::AlignedBox3d domain;
25672567
for (auto const& x_ : x)
25682568
{
@@ -2586,7 +2586,7 @@ void SimulatorBase::initVolumeMap(std::vector<Vector3r> &x, std::vector<unsigned
25862586
sign = -1.0;
25872587
const Real particleRadius = sim->getParticleRadius();
25882588
// subtract 0.5 * particle radius to prevent penetration of particles and the boundary
2589-
func = [&md, &sign, &tolerance, &particleRadius](Eigen::Vector3d const& xi) {return sign * (md.signedDistanceCached(xi) - tolerance ); };
2589+
func = [&md, &sign, &tolerance, &particleRadius](Eigen::Vector3d const& xi) {return sign * (md.signed_distance(xi).distance - tolerance ); };
25902590

25912591
LOG_INFO << "Generate SDF";
25922592
START_TIMING("SDF Construction");

Tools/VolumeSampling/SamplingBase.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,7 @@ void SamplingBase::generateSDF(SPH::TriangleMesh& mesh)
334334
Discregrid::TriangleMesh sdfMesh(&doubleVec[0], mesh.getFaces().data(), mesh.numVertices(), mesh.numFaces());
335335
#endif
336336

337-
Discregrid::MeshDistance md(sdfMesh);
337+
Discregrid::TriangleMeshDistance md(sdfMesh);
338338
Eigen::AlignedBox3d domain;
339339
domain.extend(m_bbmin.cast<double>());
340340
domain.extend(m_bbmax.cast<double>());
@@ -347,9 +347,9 @@ void SamplingBase::generateSDF(SPH::TriangleMesh& mesh)
347347

348348
// invert the distance field since the particles should stay inside
349349
if (!m_invert)
350-
func = [&md](Eigen::Vector3d const& xi) {return -md.signedDistanceCached(xi); };
350+
func = [&md](Eigen::Vector3d const& xi) {return -md.signed_distance(xi).distance; };
351351
else
352-
func = [&md](Eigen::Vector3d const& xi) {return md.signedDistanceCached(xi); };
352+
func = [&md](Eigen::Vector3d const& xi) {return md.signed_distance(xi).distance; };
353353

354354
LOG_INFO << "Generate SDF";
355355
m_distanceField->addFunction(func, false);

Tools/VolumeSampling/main.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -418,7 +418,7 @@ void generateSDF(SPH::TriangleMesh &mesh)
418418
Discregrid::TriangleMesh sdfMesh(&doubleVec[0], mesh.getFaces().data(), mesh.numVertices(), mesh.numFaces());
419419
#endif
420420

421-
Discregrid::MeshDistance md(sdfMesh);
421+
Discregrid::TriangleMeshDistance md(sdfMesh);
422422
Eigen::AlignedBox3d domain;
423423
domain.extend(bbmin.cast<double>());
424424
domain.extend(bbmax.cast<double>());
@@ -432,7 +432,7 @@ void generateSDF(SPH::TriangleMesh &mesh)
432432
auto func = Discregrid::DiscreteGrid::ContinuousFunction{};
433433

434434
// invert the distance field since the particles should stay inside
435-
func = [&md](Eigen::Vector3d const& xi) {return -md.signedDistanceCached(xi); };
435+
func = [&md](Eigen::Vector3d const& xi) {return -md.signed_distance(xi).distance; };
436436

437437
LOG_INFO << "Generate SDF";
438438
distanceField->addFunction(func, false);

0 commit comments

Comments
 (0)