#include <TopologicalChangeManager.h>

Definition at line 59 of file TopologicalChangeManager.h.
| sofa::component::collision::TopologicalChangeManager::TopologicalChangeManager | ( | ) |
Definition at line 56 of file TopologicalChangeManager.cpp.
| sofa::component::collision::TopologicalChangeManager::~TopologicalChangeManager | ( | ) |
Definition at line 60 of file TopologicalChangeManager.cpp.
| bool sofa::component::collision::TopologicalChangeManager::incisionCollisionModel | ( | sofa::core::CollisionElementIterator | elem2, | |
| Vector3 & | pos, | |||
| bool | firstInput, | |||
| bool | isCut | |||
| ) |
Handles Cutting (activated only for a triangular topology), using global variables to register the two last input points.
Definition at line 217 of file TopologicalChangeManager.cpp.
References sofa::core::TCollisionElementIterator< TModel >::getCollisionModel(), and incisionTriangleModel().
Referenced by sofa::component::collision::RayPickInteractor::pickBody().
| bool sofa::component::collision::TopologicalChangeManager::incisionTriangleModel | ( | sofa::core::CollisionElementIterator | elem2, | |
| Vector3 & | pos, | |||
| bool | firstInput, | |||
| bool | isCut | |||
| ) | [private] |
Definition at line 228 of file TopologicalChangeManager.cpp.
References sofa::component::collision::TopologicalChangeManager::Incision::a_init, sofa::component::collision::TopologicalChangeManager::Incision::b_init, sofa::core::objectmodel::BaseContext::get(), sofa::core::TCollisionElementIterator< TModel >::getCollisionModel(), sofa::core::objectmodel::BaseObject::getContext(), sofa::core::BaseCollisionElementIterator::getIndex(), sofa::component::topology::EdgeSetTopologyContainer::getNumberConnectedComponents(), incision, incisionTriangleSetTopology(), sofa::component::collision::TopologicalChangeManager::Incision::ind_ta_init, sofa::component::collision::TopologicalChangeManager::Incision::ind_tb_init, sofa::component::collision::TopologicalChangeManager::Incision::is_first_cut, and sofa::simulation::Node::object.
Referenced by incisionCollisionModel().
| bool sofa::component::collision::TopologicalChangeManager::incisionTriangleSetTopology | ( | sofa::core::CollisionElementIterator | , | |
| Vector3 & | , | |||
| bool | , | |||
| bool | , | |||
| sofa::core::componentmodel::topology::BaseMeshTopology * | ||||
| ) | [private] |
| bool sofa::component::collision::TopologicalChangeManager::incisionTriangleSetTopology | ( | sofa::core::componentmodel::topology::BaseMeshTopology * | _topology | ) | [private] |
Intermediate method to handle cutting.
Definition at line 168 of file TopologicalChangeManager.cpp.
References sofa::component::collision::TopologicalChangeManager::Incision::a_i123_last_init, sofa::component::collision::TopologicalChangeManager::Incision::a_init, sofa::component::collision::TopologicalChangeManager::Incision::a_last_init, sofa::component::collision::TopologicalChangeManager::Incision::a_p12_last_init, sofa::component::collision::TopologicalChangeManager::Incision::b_i123_last_init, sofa::component::collision::TopologicalChangeManager::Incision::b_init, sofa::component::collision::TopologicalChangeManager::Incision::b_last_init, sofa::component::collision::TopologicalChangeManager::Incision::b_p12_last_init, sofa::core::objectmodel::BaseContext::get(), sofa::core::objectmodel::BaseObject::getContext(), sofa::component::topology::TriangleSetTopologyAlgorithms< DataTypes >::InciseAlongPointsList(), incision, sofa::component::collision::TopologicalChangeManager::Incision::ind_ta_init, sofa::component::collision::TopologicalChangeManager::Incision::ind_tb_init, sofa::component::collision::TopologicalChangeManager::Incision::is_first_cut, sofa::component::topology::PointSetTopologyModifier::notifyEndingEvent(), and sofa::component::topology::PointSetTopologyModifier::propagateTopologicalChanges().
Referenced by incisionTriangleModel().
| void sofa::component::collision::TopologicalChangeManager::removeItemsFromCollisionModel | ( | sofa::core::CollisionElementIterator | elem2 | ) | const |
Handles Removing of topological element (from any type of topology).
Definition at line 158 of file TopologicalChangeManager.cpp.
References sofa::core::TCollisionElementIterator< TModel >::getCollisionModel(), and removeItemsFromTriangleModel().
Referenced by sofa::component::collision::RayPickInteractor::pickBody().
| void sofa::component::collision::TopologicalChangeManager::removeItemsFromTriangleMeshModel | ( | sofa::core::CollisionElementIterator | ) | const [private] |
| void sofa::component::collision::TopologicalChangeManager::removeItemsFromTriangleModel | ( | sofa::core::CollisionElementIterator | elem2 | ) | const [private] |
Definition at line 64 of file TopologicalChangeManager.cpp.
References sofa::core::objectmodel::BaseContext::get(), sofa::core::TCollisionElementIterator< TModel >::getCollisionModel(), sofa::core::objectmodel::BaseObject::getContext(), sofa::core::componentmodel::topology::TopologicalMapping::getFrom(), sofa::core::componentmodel::topology::TopologicalMapping::getFromIndex(), sofa::core::componentmodel::topology::TopologicalMapping::getGlobIndex(), sofa::core::BaseCollisionElementIterator::getIndex(), sofa::core::objectmodel::BaseContext::getMeshTopology(), sofa::core::componentmodel::topology::TopologyModifier::notifyEndingEvent(), sofa::simulation::Node::object, sofa::core::componentmodel::topology::TopologyModifier::propagateTopologicalChanges(), and sofa::core::componentmodel::topology::TopologyModifier::removeItems().
Referenced by removeItemsFromCollisionModel().
| void sofa::component::collision::TopologicalChangeManager::removeItemsFromTriangleSetModel | ( | sofa::core::CollisionElementIterator | ) | const [private] |
struct sofa::component::collision::TopologicalChangeManager::Incision sofa::component::collision::TopologicalChangeManager::incision [private] |
Global variables to register the two last input points (for incision along one segment in a triangular mesh).
Referenced by incisionTriangleModel(), and incisionTriangleSetTopology().
1.5.7.1