sofa
sofa copied to clipboard
[Topology] SegFault removing element using mouse manager
Description
Performing mouse picking and removing element using mouse interactor make runSofa crash. Same problem as the one identified in issue #3202
Steps to reproduce Very easy using scene examples/TriangleSurfaceCutting.scn
- use pick handler (shift + mouse left)
- remove element using shift + mouse right
- crash as soon as one vertex is removed, see movie
https://user-images.githubusercontent.com/21199245/194725514-40441983-5fdb-43f1-9bd2-054bdd9aaa5b.mp4
Environment
Context
- System: any, windows or linux
- Version of SOFA: master
Logs
Sofa.Component.Topology.Container.Dynamic.dll!sofa::component::topology::container::dynamic::PointSetTopologyContainer::setPointTopologyToDirty() Line 177 C++
Sofa.Component.Topology.Container.Dynamic.dll!sofa::component::topology::container::dynamic::PointSetTopologyModifier::removePointsWarning(sofa::type::vector<unsigned int,sofa::type::CPUMemoryManager<unsigned int>> & indices, const bool removeDOF) Line 378 C++
Sofa.Component.Topology.Container.Dynamic.dll!sofa::component::topology::container::dynamic::TriangleSetTopologyModifier::removeTrianglesProcess(const sofa::type::vector<unsigned int,sofa::type::CPUMemoryManager<unsigned int>> & indices, const bool removeIsolatedEdges, const bool removeIsolatedPoints) Line 471 C++
Sofa.Component.Topology.Container.Dynamic.dll!sofa::component::topology::container::dynamic::TriangleSetTopologyModifier::removeTriangles(const sofa::type::vector<unsigned int,sofa::type::CPUMemoryManager<unsigned int>> & triangleIds, const bool removeIsolatedEdges, const bool removeIsolatedPoints) Line 332 C++
Sofa.GUI.Component.dll!sofa::gui::component::performer::TopologicalChangeManager::removeItemsFromTriangleModel(sofa::component::collision::geometry::TriangleCollisionModel<sofa::defaulttype::StdVectorTypes<sofa::type::Vec<3,double>,sofa::type::Vec<3,double>,double>> * model, const sofa::type::vector<unsigned int,sofa::type::CPUMemoryManager<unsigned int>> & indices) Line 161 C++
Sofa.GUI.Component.dll!sofa::gui::component::performer::TopologicalChangeManager::removeItemsFromCollisionModel(sofa::core::CollisionModel * model, const sofa::type::vector<unsigned int,sofa::type::CPUMemoryManager<unsigned int>> & indices) Line 422 C++
Sofa.GUI.Component.dll!sofa::gui::component::performer::TopologicalChangeManager::removeItemsFromCollisionModel(sofa::core::CollisionModel * model, const unsigned int & indices) Line 414 C++
Sofa.GUI.Component.dll!sofa::gui::component::performer::RemovePrimitivePerformer<sofa::defaulttype::StdVectorTypes<sofa::type::Vec<3,double>,sofa::type::Vec<3,double>,double>>::execute() Line 83 C++
Sofa.GUI.Component.dll!sofa::gui::component::performer::BaseMouseInteractor::updatePosition(double __formal) Line 86 C++