#include <DefaultCollisionGroupManager.h>


Public Types | |
| typedef std::set < simulation::tree::GNode * > | GroupSet |
Public Member Functions | |
| DefaultCollisionGroupManager () | |
| virtual | ~DefaultCollisionGroupManager () |
| virtual void | createGroups (core::objectmodel::BaseContext *scene, const sofa::helper::vector< core::componentmodel::collision::Contact * > &contacts) |
| Create the integration groups. | |
| virtual void | clearGroups (core::objectmodel::BaseContext *scene) |
| Clear de integration groups. | |
| virtual simulation::tree::GNode * | buildCollisionGroup () |
| Overload this if yo want to design your collision group, e.g. | |
Data Fields | |
| GroupSet | groupSet |
Protected Member Functions | |
| virtual simulation::tree::GNode * | getIntegrationNode (core::CollisionModel *model) |
| virtual void | changeInstance (Instance inst) |
Protected Attributes | |
| std::map< Instance, GroupSet > | storedGroupSet |
Definition at line 43 of file DefaultCollisionGroupManager.h.
| typedef std::set<simulation::tree::GNode*> sofa::component::collision::DefaultCollisionGroupManager::GroupSet |
Definition at line 46 of file DefaultCollisionGroupManager.h.
| sofa::component::collision::DefaultCollisionGroupManager::DefaultCollisionGroupManager | ( | ) |
Definition at line 77 of file DefaultCollisionGroupManager.cpp.
| sofa::component::collision::DefaultCollisionGroupManager::~DefaultCollisionGroupManager | ( | ) | [virtual] |
Definition at line 81 of file DefaultCollisionGroupManager.cpp.
| simulation::tree::GNode * sofa::component::collision::DefaultCollisionGroupManager::buildCollisionGroup | ( | ) | [virtual] |
Overload this if yo want to design your collision group, e.g.
with a MasterSolver. Otherwise, an empty Node is returned. The OdeSolver is added afterwards.
Definition at line 85 of file DefaultCollisionGroupManager.cpp.
Referenced by createGroups().
| virtual void sofa::component::collision::DefaultCollisionGroupManager::changeInstance | ( | Instance | inst | ) | [inline, protected, virtual] |
Reimplemented from sofa::core::componentmodel::collision::CollisionGroupManager.
Definition at line 68 of file DefaultCollisionGroupManager.h.
References groupSet, sofa::core::componentmodel::collision::CollisionAlgorithm::instance, and storedGroupSet.
| void sofa::component::collision::DefaultCollisionGroupManager::clearGroups | ( | core::objectmodel::BaseContext * | scene | ) | [virtual] |
Clear de integration groups.
Implements sofa::core::componentmodel::collision::CollisionGroupManager.
Definition at line 242 of file DefaultCollisionGroupManager.cpp.
References sofa::simulation::tree::GNode::child, sofa::core::componentmodel::collision::CollisionGroupManager::groups, groupSet, sofa::simulation::tree::GNode::moveChild(), sofa::simulation::Node::object, sofa::simulation::tree::GNode::parent, sofa::simulation::tree::GNode::removeChild(), and sofa::simulation::tree::GNode::removeObject().
| void sofa::component::collision::DefaultCollisionGroupManager::createGroups | ( | core::objectmodel::BaseContext * | scene, | |
| const sofa::helper::vector< core::componentmodel::collision::Contact * > & | contacts | |||
| ) | [virtual] |
Create the integration groups.
Implements sofa::core::componentmodel::collision::CollisionGroupManager.
Definition at line 89 of file DefaultCollisionGroupManager.cpp.
References sofa::simulation::tree::GNode::addChild(), buildCollisionGroup(), sofa::core::componentmodel::collision::Contact::createResponse(), sofa::simulation::tree::GNode::endTime(), sofa::core::componentmodel::collision::Contact::getCollisionModels(), sofa::simulation::tree::GNode::getContext(), getIntegrationNode(), sofa::simulation::Node::getLogTime(), sofa::core::objectmodel::BaseNode::getParent(), sofa::simulation::tree::GNode::getParent(), sofa::core::componentmodel::collision::CollisionGroupManager::groups, groupSet, sofa::component::collision::SolverMerger::merge(), sofa::simulation::tree::GNode::moveChild(), sofa::simulation::tree::GNode::parent, sofa::simulation::tree::GNode::removeChild(), sofa::simulation::Node::solver, and sofa::simulation::Node::startTime().
| simulation::tree::GNode * sofa::component::collision::DefaultCollisionGroupManager::getIntegrationNode | ( | core::CollisionModel * | model | ) | [protected, virtual] |
Definition at line 264 of file DefaultCollisionGroupManager.cpp.
References sofa::core::objectmodel::BaseObject::getContext(), sofa::simulation::tree::GNode::parent, and sofa::simulation::Node::solver.
Referenced by createGroups().
Definition at line 47 of file DefaultCollisionGroupManager.h.
Referenced by changeInstance(), clearGroups(), and createGroups().
std::map<Instance,GroupSet> sofa::component::collision::DefaultCollisionGroupManager::storedGroupSet [protected] |
1.5.7.1