diff --git a/src/Tearing/BaseTearingEngine.inl b/src/Tearing/BaseTearingEngine.inl index 5925916..4cc665d 100644 --- a/src/Tearing/BaseTearingEngine.inl +++ b/src/Tearing/BaseTearingEngine.inl @@ -741,7 +741,7 @@ void BaseTearingEngine::draw(const core::visual::VisualParams* vparam if (d_showFracturePath.getValue()) { - if (m_maxStressTriangleIndex != InvalidID && m_fracturePath.pathOk) + if (m_maxStressTriangleIndex != InvalidID) { helper::ReadAccessor< Data > x(d_input_positions); @@ -756,8 +756,8 @@ void BaseTearingEngine::draw(const core::visual::VisualParams* vparam points.push_back(Pa); points.push_back(Pc); // Blue == computed fracture path using d_fractureMaxLength - vparams->drawTool()->drawPoints(points, 10, sofa::type::RGBAColor(1, 0.2, 1, 1)); - vparams->drawTool()->drawLines(points, 1, sofa::type::RGBAColor(1, 0.5, 1, 1)); + vparams->drawTool()->drawPoints(points, 10, sofa::type::RGBAColor(0, 1, 0, 1)); + vparams->drawTool()->drawLines(points, 1, sofa::type::RGBAColor(0.2, 1, 0, 1)); //--------------------------------------------------------------------------------------------------- // Green == principal stress direction @@ -765,23 +765,25 @@ void BaseTearingEngine::draw(const core::visual::VisualParams* vparam pointsDir.push_back(Pa); pointsDir.push_back(Pa + 100.0*(principalStressDirection)); - vparams->drawTool()->drawPoints(pointsDir, 10, sofa::type::RGBAColor(0, 1, 0.2, 1)); - vparams->drawTool()->drawLines(pointsDir, 1, sofa::type::RGBAColor(0, 1, 0.5, 1)); + vparams->drawTool()->drawPoints(pointsDir, 10, sofa::type::RGBAColor(0, 1, 0.4, 1)); + vparams->drawTool()->drawLines(pointsDir, 1, sofa::type::RGBAColor(0, 1, 0.8, 1)); - std::vector pointsPath; - for (auto ptA : m_fracturePath.pointsToAdd) + if (m_fracturePath.pathOk) { - sofa::type::Vec3 vecG = sofa::type::Vec3(0.0, 0.0, 0.0); - sofa::Size nbr = ptA->m_ancestors.size(); - for (int i = 0; i < nbr; ++i) + std::vector pointsPath; + for (auto ptA : m_fracturePath.pointsToAdd) { - - vecG += x[ptA->m_ancestors[i]] * ptA->m_coefs[i]; + sofa::type::Vec3 vecG = sofa::type::Vec3(0.0, 0.0, 0.0); + sofa::Size nbr = ptA->m_ancestors.size(); + for (int i = 0; i < nbr; ++i) + { + + vecG += x[ptA->m_ancestors[i]] * ptA->m_coefs[i]; + } + pointsPath.push_back(vecG); } - pointsPath.push_back(vecG); + vparams->drawTool()->drawSpheres(pointsPath, 0.01, sofa::type::RGBAColor::red()); } - vparams->drawTool()->drawSpheres(pointsPath, 0.01, sofa::type::RGBAColor::red()); - } } }