#include <CarvingManager.h>

The CarvingManager class will perform topological resection on a triangle surface (could be on top of tetrahedron topology) The tool performing the carving need to be represented by a collision model
Public Attributes | |
| SingleLink< CarvingManager, core::CollisionModel, BaseLink::FLAG_STOREPATH|BaseLink::FLAG_STRONGLINK > | l_toolModel |
| Tool model path. More... | |
| SingleLink< CarvingManager, core::collision::NarrowPhaseDetection, BaseLink::FLAG_STOREPATH|BaseLink::FLAG_STRONGLINK > | l_detectionNP |
| Data< std::string > | d_surfaceModelPath |
| TriangleSetModel or SphereCollisionModel<sofa::defaulttype::Vec3Types> path. More... | |
| Data< SReal > | d_carvingDistance |
| Collision distance at which carving will start. Equal to contactDistance by default. More... | |
| Data< bool > | d_active |
| key to press to activate this object until the key is released More... | |
| Data< char > | d_keyEvent |
| key to activate this object until the key is pressed again More... | |
| Data< char > | d_keySwitchEvent |
| Activate carving with middle mouse button. More... | |
| Data< bool > | d_mouseEvent |
| Activate carving with omni button. More... | |
| Data< bool > | d_omniEvent |
| Activate carving with string Event, the activator name has to be inside the script event. Will look for 'pressed' or 'release' keyword. For example: 'button1_pressed'. More... | |
| Data< std::string > | d_activatorName |
Protected Attributes | |
| std::vector< core::CollisionModel * > | m_surfaceCollisionModels |
Public Member Functions | |
| SOFA_CLASS (CarvingManager, sofa::core::behavior::BaseController) | |
| void | init () override |
| Sofa API init method of the component. More... | |
| void | handleEvent (sofa::core::objectmodel::Event *event) override |
| Method to handle various event like keyboard or omni. More... | |
| virtual void | doCarve () |
| Impl method that will compute the intersection and check if some element have to be removed. More... | |
Protected Member Functions | |
| CarvingManager () | |
| Default constructor. More... | |
| ~CarvingManager () override | |
| Default destructor. More... | |
| Data< std::string > sofacarving::CarvingManager::d_activatorName |
| Data< bool > sofacarving::CarvingManager::d_active |
key to press to activate this object until the key is released
| Data< SReal > sofacarving::CarvingManager::d_carvingDistance |
Collision distance at which carving will start. Equal to contactDistance by default.
Activate this object. Note that this can be dynamically controlled by using a key
| Data< char > sofacarving::CarvingManager::d_keyEvent |
key to activate this object until the key is pressed again
| Data< char > sofacarving::CarvingManager::d_keySwitchEvent |
Activate carving with middle mouse button.
| Data< bool > sofacarving::CarvingManager::d_mouseEvent |
Activate carving with omni button.
| Data< bool > sofacarving::CarvingManager::d_omniEvent |
Activate carving with string Event, the activator name has to be inside the script event. Will look for 'pressed' or 'release' keyword. For example: 'button1_pressed'.
| Data< std::string > sofacarving::CarvingManager::d_surfaceModelPath |
TriangleSetModel or SphereCollisionModel<sofa::defaulttype::Vec3Types> path.
| SingleLink<CarvingManager, core::collision::NarrowPhaseDetection, BaseLink::FLAG_STOREPATH | BaseLink::FLAG_STRONGLINK> sofacarving::CarvingManager::l_detectionNP |
| SingleLink<CarvingManager, core::CollisionModel, BaseLink::FLAG_STOREPATH | BaseLink::FLAG_STRONGLINK> sofacarving::CarvingManager::l_toolModel |
Tool model path.
|
protected |
|
protected |
Default constructor.
|
inlineoverrideprotected |
Default destructor.
|
virtual |
Impl method that will compute the intersection and check if some element have to be removed.
|
override |
Method to handle various event like keyboard or omni.
|
override |
Sofa API init method of the component.
| sofacarving::CarvingManager::SOFA_CLASS | ( | CarvingManager | , |
| sofa::core::behavior::BaseController | |||
| ) |