Skip to content

Commit c622c66

Browse files
committed
Update definitions altered in Discregrid
1 parent 612f643 commit c622c66

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
@@ -267,7 +267,7 @@ void PBDWrapper::readScene(const std::string &sceneFileName, const std::vector<
267267
doubleVec[3 * i + j] = vd.getPosition(i)[j];
268268
Discregrid::TriangleMesh sdfMesh(&doubleVec[0], faces.data(), vd.size(), nFaces);
269269
#endif
270-
Discregrid::MeshDistance md(sdfMesh);
270+
Discregrid::TriangleMeshDistance md(sdfMesh);
271271
Eigen::AlignedBox3d domain;
272272
for (auto const& x : sdfMesh.vertices())
273273
{
@@ -279,7 +279,7 @@ void PBDWrapper::readScene(const std::string &sceneFileName, const std::vector<
279279
LOG_INFO << "Set SDF resolution: " << rbd.m_resolutionSDF[0] << ", " << rbd.m_resolutionSDF[1] << ", " << rbd.m_resolutionSDF[2];
280280
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] }));
281281
auto func = Discregrid::DiscreteGrid::ContinuousFunction{};
282-
func = [&md](Eigen::Vector3d const& xi) {return md.signedDistanceCached(xi); };
282+
func = [&md](Eigen::Vector3d const& xi) {return md.signed_distance(xi).distance; };
283283
LOG_INFO << "Generate SDF for " << rbd.m_modelFile;
284284
distanceFields[sdfFileName]->addFunction(func, true);
285285
if (Utilities::FileSystem::makeDir(cachePath) == 0)

Simulator/SimulatorBase.cpp

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

2390-
Discregrid::MeshDistance md(sdfMesh);
2390+
Discregrid::TriangleMeshDistance md(sdfMesh);
23912391
Eigen::AlignedBox3d domain;
23922392
for (auto const& x_ : x)
23932393
{
@@ -2407,7 +2407,7 @@ void SimulatorBase::initDensityMap(std::vector<Vector3r> &x, std::vector<unsigne
24072407
Real sign = 1.0;
24082408
if (boundaryData->mapInvert)
24092409
sign = -1.0;
2410-
func = [&md, &sign, &tolerance](Eigen::Vector3d const& xi) {return sign * (md.signedDistanceCached(xi) - tolerance); };
2410+
func = [&md, &sign, &tolerance](Eigen::Vector3d const& xi) {return sign * (md.signed_distance(xi).distance - tolerance); };
24112411

24122412
LOG_INFO << "Generate SDF";
24132413
START_TIMING("SDF Construction");
@@ -2575,7 +2575,7 @@ void SimulatorBase::initVolumeMap(std::vector<Vector3r> &x, std::vector<unsigned
25752575
Discregrid::TriangleMesh sdfMesh(&doubleVec[0], faces.data(), x.size(), faces.size() / 3);
25762576
#endif
25772577

2578-
Discregrid::MeshDistance md(sdfMesh);
2578+
Discregrid::TriangleMeshDistance md(sdfMesh);
25792579
Eigen::AlignedBox3d domain;
25802580
for (auto const& x_ : x)
25812581
{
@@ -2599,7 +2599,7 @@ void SimulatorBase::initVolumeMap(std::vector<Vector3r> &x, std::vector<unsigned
25992599
sign = -1.0;
26002600
const Real particleRadius = sim->getParticleRadius();
26012601
// subtract 0.5 * particle radius to prevent penetration of particles and the boundary
2602-
func = [&md, &sign, &tolerance, &particleRadius](Eigen::Vector3d const& xi) {return sign * (md.signedDistanceCached(xi) - tolerance ); };
2602+
func = [&md, &sign, &tolerance, &particleRadius](Eigen::Vector3d const& xi) {return sign * (md.signed_distance(xi).distance - tolerance ); };
26032603

26042604
LOG_INFO << "Generate SDF";
26052605
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)