Skip to content
Snippets Groups Projects
Commit c7501303 authored by Ye Han's avatar Ye Han :panda_face:
Browse files

ENH: Add picked node checking

parent 9092898a
No related branches found
No related tags found
No related merge requests found
......@@ -96,11 +96,14 @@ PBDPickingCH::addPickConstraints(std::shared_ptr<PbdObject> pbdObj, std::shared_
const auto& pv = cd.penetrationVector;
const auto& relativePos = -pickSphere->getRadius() * pv.normalized();
lock.lock();
m_pickedPtIdxOffset[cd.nodeIdx] = relativePos;
//model->setFixedPoint(cd.nodeIdx);
model->getCurrentState()->setVertexPosition(cd.nodeIdx, pickSphere->getPosition() + relativePos);
lock.unlock();
if (m_pickedPtIdxOffset.find(cd.nodeIdx) != m_pickedPtIdxOffset.end())
{
lock.lock();
m_pickedPtIdxOffset[cd.nodeIdx] = relativePos;
model->setFixedPoint(cd.nodeIdx);
model->getCurrentState()->setVertexPosition(cd.nodeIdx, pickSphere->getPosition() + relativePos);
lock.unlock();
}
});
}
......@@ -111,9 +114,7 @@ PBDPickingCH::removePickConstraints()
m_isPicking = false;
for (auto iter = m_pickedPtIdxOffset.begin(); iter != m_pickedPtIdxOffset.end(); ++iter)
{
//model->setPointUnfixed(iter->first);
//CHECK(model->getInvMass(iter->first) > 0.0)
// << "PBDPickingCH: unable to set invmasses back";
model->setPointUnfixed(iter->first);
}
m_pickedPtIdxOffset.clear();
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment