#include <RemovePrimitivePerformer.h>
Class to perform removing of topological elements (either one element or a an area) and handling topological mapping
Protected Attributes | |
BodyPicked | picked |
picked structure from mouseInteractor. More... | |
bool | firstClick |
bool: true if first click (when removing zone, first clic show zone, second delete it). More... | |
bool | surfaceOnVolume |
bool: true if a surface zone is going to be removed on a volumique mesh. More... | |
bool | volumeOnSurface |
bool: true if a volumique zone is going to be removed at the surface of a volumique mesh. More... | |
VecIds | selectedElem |
vector of element Id concerned by the operation More... | |
![]() | |
int | topologicalOperation |
bool | volumicMesh |
double | selectorScale |
Public Member Functions | |
RemovePrimitivePerformer (BaseMouseInteractor *i) | |
~RemovePrimitivePerformer () | |
void | start () |
Functions called by TopologicalOperation performer. More... | |
void | execute () |
void | end () |
void | draw (const core::visual::VisualParams *vparams) |
![]() | |
TInteractionPerformer (BaseMouseInteractor *i) | |
![]() | |
InteractionPerformer (BaseMouseInteractor *i) | |
virtual | ~InteractionPerformer () |
virtual void | configure (sofa::component::setting::MouseButtonSetting *) |
virtual void | handleEvent (core::objectmodel::Event *) |
virtual void | setPerformerFreeze () |
![]() | |
RemovePrimitivePerformerConfiguration () | |
void | setTopologicalOperation (int m) |
void | setVolumicMesh (bool v) |
void | setScale (double s) |
Protected Member Functions | |
bool | createElementList () |
VecIds | getNeighboorElements (VecIds &elementsToTest) |
VecIds | getElementInZone (VecIds &elementsToTest) |
Additional Inherited Members | |
![]() | |
BaseMouseInteractor * | m_interactor |
bool | m_freezePerformer |
![]() | |
template<class RealObject > | |
static RealObject * | create (RealObject *, BaseMouseInteractor *interactor) |
![]() | |
template<class RealObject > | |
static RealObject * | create (RealObject *, BaseMouseInteractor *interactor) |
|
protected |
bool: true if first click (when removing zone, first clic show zone, second delete it).
|
protected |
picked structure from mouseInteractor.
|
protected |
vector of element Id concerned by the operation
|
protected |
bool: true if a surface zone is going to be removed on a volumique mesh.
|
protected |
bool: true if a volumique zone is going to be removed at the surface of a volumique mesh.
sofa::gui::component::performer::RemovePrimitivePerformer< DataTypes >::RemovePrimitivePerformer | ( | BaseMouseInteractor * | i | ) |
|
inline |
|
protected |
Function creating a list of elements concerned by the removal operation. This function detect if a volume or a surface or a volume on the surface is going to be removed. Elements are stored in
|
virtual |
Reimplemented from sofa::gui::component::performer::InteractionPerformer.
void sofa::gui::component::performer::RemovePrimitivePerformer< DataTypes >::end |
|
virtual |
|
protected |
Function testing if elements are in the range of a given zone The zone is given by the selectorScale. Test is done on Barycentric point of elements. I.e if this point is in the range of the area. then, element is accepted otherwise, element is rejected.
elementsToTest | vector of element Id to test. |
|
protected |
Function to get all elements directly neighboor of a given list of elements compute the list without redundancy using container xxAroundVertex() (where xx is the type of element).
elementsToTest | vector of element Id to test. |
|
virtual |
Functions called by TopologicalOperation performer.
Functions called in framework of the mouse Interactor.
Implements sofa::gui::component::performer::InteractionPerformer.