#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 | |||
) |