SOFA API  1a4bb3e7
Open source framework for multi-physics simuation
sofa::gui::qt::GLPickHandler Class Reference

#include <GLPickHandler.h>

Inheritance diagram for sofa::gui::qt::GLPickHandler:

Protected Attributes

bool _fboAllocated
 
gl::FrameBufferObject _fbo
 
gl::fboParameters _fboParams
 
- Protected Attributes inherited from sofa::gui::common::PickHandler
bool interactorInUse
 
MOUSE_STATUS mouseStatus
 
MOUSE_BUTTON mouseButton
 
sofa::simulation::NodeSPtr mouseNode
 
MouseContainer::SPtr mouseContainer
 
sofa::core::sptr< MouseCollisionModelmouseCollision
 
MousePosition mousePosition
 
ComponentMouseInteractioninteraction
 
std::vector< ComponentMouseInteraction * > instanceComponents
 
BodyPicked lastPicked
 
bool useCollisions
 
type::fixed_array< Operation *, NONEoperations
 
type::vector< CallBackPicker * > callbacks
 
CallBackRenderrenderCallback
 
PickingMethod pickingMethod
 
double m_defaultLength
 Default length of the ray. Set by constructor. More...
 

Public Member Functions

 GLPickHandler (double defaultLength=1000000)
 
virtual ~GLPickHandler () override
 
void allocateSelectionBuffer (int width, int height) override
 
void destroySelectionBuffer () override
 
common::BodyPicked findCollisionUsingColourCoding (const type::Vec3 &origin, const type::Vec3 &direction) override
 
- Public Member Functions inherited from sofa::gui::common::PickHandler
 PickHandler (double defaultLength=1000000)
 
virtual ~PickHandler ()
 
void activateRay (int width, int height, core::objectmodel::BaseNode *root)
 
void deactivateRay ()
 
void setPickingMethod (PickingMethod method)
 
bool useSelectionBufferMethod () const
 
void updateRay (const sofa::type::Vec3 &position, const sofa::type::Vec3 &orientation)
 
void handleMouseEvent (MOUSE_STATUS status, MOUSE_BUTTON button)
 
void init (core::objectmodel::BaseNode *root)
 
void reset ()
 
void unload ()
 
void setColourRenderCallback (CallBackRender *colourRender)
 
void updateMouse2D (MousePosition mouse)
 
OperationgetOperation (MOUSE_BUTTON button)
 
OperationchangeOperation (sofa::component::setting::MouseButtonSetting *setting)
 
OperationchangeOperation (MOUSE_BUTTON button, const std::string &op)
 
void addCallBack (CallBackPicker *c)
 
type::vector< CallBackPicker * > getCallBackPicker ()
 
void clearCallBacks ()
 
ComponentMouseInteractiongetInteraction ()
 
BodyPickedgetLastPicked ()
 

Additional Inherited Members

- Static Public Member Functions inherited from sofa::gui::common::PickHandler
static BodyPicked findCollisionUsingBruteForce (const type::Vec3 &origin, const type::Vec3 &direction, double maxLength, core::objectmodel::BaseNode *root)
 
- Protected Member Functions inherited from sofa::gui::common::PickHandler
virtual BodyPicked findCollision ()
 
BodyPicked findCollisionUsingPipeline ()
 
BodyPicked findCollisionUsingBruteForce ()
 
BodyPicked findCollisionUsingColourCoding ()
 
bool needToCastRay ()
 
void setCompatibleInteractor ()
 

Attribute details

◆ _fbo

gl::FrameBufferObject sofa::gui::qt::GLPickHandler::_fbo
protected

◆ _fboAllocated

bool sofa::gui::qt::GLPickHandler::_fboAllocated
protected

◆ _fboParams

gl::fboParameters sofa::gui::qt::GLPickHandler::_fboParams
protected

Constructor details

◆ GLPickHandler()

sofa::gui::qt::GLPickHandler::GLPickHandler ( double  defaultLength = 1000000)

◆ ~GLPickHandler()

sofa::gui::qt::GLPickHandler::~GLPickHandler ( )
overridevirtual

Function details

◆ allocateSelectionBuffer()

void sofa::gui::qt::GLPickHandler::allocateSelectionBuffer ( int  width,
int  height 
)
overridevirtual

Reimplemented from sofa::gui::common::PickHandler.

◆ destroySelectionBuffer()

void sofa::gui::qt::GLPickHandler::destroySelectionBuffer ( )
overridevirtual

Reimplemented from sofa::gui::common::PickHandler.

◆ findCollisionUsingColourCoding()

BodyPicked sofa::gui::qt::GLPickHandler::findCollisionUsingColourCoding ( const type::Vec3 origin,
const type::Vec3 direction 
)
overridevirtual

Reimplemented from sofa::gui::common::PickHandler.

Enum details

◆ PickingMethod

Enumerator
RAY_CASTING 
SELECTION_BUFFER