Graphite  Version 3
An experimental 3D geometry processing program
OGF::RayPicker Class Reference

Converts a 2D picking in a rendering window into a ray picking event. More...

#include <OGF/scene_graph_gfx/transforms/ray_picker.h>

Inheritance diagram for OGF::RayPicker:
OGF::Object GEO::Counted

Public Member Functions

 RayPicker ()
 RayPicker constructor.
 
 ~RayPicker () override
 RayPicker destructor.
 
void drag (RenderingContext *rendering_context, const vec2 &point_ndc, int button)
 Callback called when the mouse is dragged with a button pressed. More...
 
void release (RenderingContext *rendering_context, const vec2 &point_ndc, int button)
 Callback called when a mouse button is released. More...
 
void ray_drag (RenderingContext *rendering_context, const RayPick &value)
 The signal triggered when the mouse is dragged. More...
 
void ray_release (RenderingContext *rendering_context, const RayPick &value)
 The signal triggered when a mouse button is released. More...
 
- Public Member Functions inherited from OGF::Object
 Object (bool transient=false)
 Object constructor. More...
 
virtual ~Object ()
 Object destructor.
 
virtual MetaClassmeta_class () const
 Gets the meta class. More...
 
virtual void set_meta_class (MetaClass *mclass)
 Sets the meta class. More...
 
unsigned int id () const
 Gets the identifier of this object. More...
 
std::string string_id () const
 Gets the unique string identifier. More...
 
bool has_method (const std::string &method_name) const
 Tests whether a method is defined. More...
 
virtual bool invoke_method (const std::string &method_name, const ArgList &args, Any &ret_val)
 Invokes a method by method name and argument list, and gets the return value. More...
 
bool invoke_method (const std::string &method_name, const ArgList &args)
 Invokes a method by method name and argument list. More...
 
bool invoke_method (const std::string &method_name)
 Invokes a method by method name. More...
 
bool has_property (const std::string &prop_name) const
 Tests whether a property is defined. More...
 
virtual bool get_property (const std::string &prop_name, std::string &prop_value) const
 Gets a property. More...
 
virtual Connectionconnect_signal_to_slot (const std::string &signal_name, Object *to, const std::string &slot_name)
 Connects a signal with a slot of another object. More...
 
virtual void add_connection (Connection *connection)
 Adds a connection to this object. More...
 
virtual void remove_connection (Connection *connection)
 Removes a connection to this object. More...
 
virtual void get_element (index_t i, Any &value) const
 Gets an element by index. More...
 
virtual void set_element (index_t i, const Any &value)
 Sets an element by index. More...
 
virtual void search (const std::string &needle, const std::string &path="")
 Displays the names of all objects that contain a substring. More...
 
bool get_signals_enabled () const
 Tests wheter signals are enabled. More...
 
void set_signals_enabled (bool value)
 Enables or disables signals. More...
 
bool get_slots_enabled () const
 Tests wheter slots are enabled. More...
 
void set_slots_enabled (bool value)
 Enables or disables slots. More...
 
MetaClassget_meta_class () const
 Gets the meta class. More...
 
std::string get_string_id () const
 Gets the unique string identifier. More...
 
virtual std::string get_doc () const
 Gets the documentation. More...
 
virtual Sign compare (const Object *other) const
 Compares this object with another one. More...
 
virtual bool is_a (const MetaType *type) const
 Tests whether this object inherits a given type. More...
 
void disconnect ()
 Removes all connections from signals of this objects. More...
 
void enable_signals ()
 Enables signals.
 
void disable_signals ()
 Disables signals.
 
void enable_slots ()
 Enables slots.
 
void disable_slots ()
 Disables slots.
 
void set_properties (const ArgList &args)
 Sets several properties in a single call. More...
 
virtual bool set_property (const std::string &name, const std::string &value)
 Sets an individual property. More...
 
void help () const
 Displays some help about this object. More...
 
virtual bool set_property (const std::string &name, const Any &value)
 Sets an individual property. More...
 
virtual bool get_property (const std::string &prop_name, Any &prop_value) const
 Gets a property. More...
 
- Public Member Functions inherited from GEO::Counted
void ref () const
 Increments the reference count. More...
 
void unref () const
 Decrements the reference count. More...
 
bool is_shared () const
 Check if the object is shared. More...
 
int nb_refs () const
 Gets the number of references that point to this object. More...
 

Public Attributes

 __pad0__: void grab( RenderingContext* rendering_context
 
const vec2point_ndc
 
const vec2 int button
 
gom_signals __pad1__: void ray_grab( RenderingContext* rendering_context
 
gom_signals const RayPickvalue
 
- Public Attributes inherited from OGF::Object
 __pad0__: virtual index_t get_nb_elements() const
 
 __pad1__: bool equals(const Object* other) const
 

Protected Member Functions

RayPick point_to_ray_pick (RenderingContext *context, const vec2 &p_ndc, int button)
 Converts a mouse pointer location into a RayPick event. More...
 
- Protected Member Functions inherited from OGF::Object
virtual bool emit_signal (const std::string &signal_name, const ArgList &args, bool called_from_slot=false)
 Emits a signal and calls the slots it is connected to. More...
 
- Protected Member Functions inherited from GEO::Counted
 Counted ()
 Creates a reference counted object. More...
 
virtual ~Counted ()
 Destroys a reference counted object. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from OGF::Object
static Objectid_to_object (unsigned int id)
 Gets an object from a unique object id. More...
 
- Static Public Member Functions inherited from GEO::Counted
static void ref (const Counted *counted)
 Increments the reference count. More...
 
static void unref (const Counted *counted)
 Decrements the reference count. More...
 

Detailed Description

Converts a 2D picking in a rendering window into a ray picking event.

For now, just copies the 2D NDC coordinates of the event into the target RayPick. It can be used as a placeholder for more elaborate picking mechanisms.

See also
RayPick

Definition at line 126 of file ray_picker.h.

Member Function Documentation

◆ drag()

void OGF::RayPicker::drag ( RenderingContext rendering_context,
const vec2 point_ndc,
int  button 
)

Callback called when the mouse is dragged with a button pressed.

Parameters
[in]rendering_contexta pointer to the RenderingContext
[in]point_ndcthe point under the mouse pointer, in normalized device coordinates (x and y both in [-1.0, 1.0])
[in]buttonthe button that is pressed

◆ point_to_ray_pick()

RayPick OGF::RayPicker::point_to_ray_pick ( RenderingContext context,
const vec2 p_ndc,
int  button 
)
protected

Converts a mouse pointer location into a RayPick event.

For now, just copies p_ndc and button in the RayPick event. This can be a placeholder for more sophisticated picking mechanisms (e.g., with a stylus that has an orientation sensor).

Parameters
[in]contexta pointer to the RenderingContext
[in]p_ndcthe point under the mouse pointer, in normalized device coordinates (X and Y both in [-1.0, 1.0])
[in]buttonthe button that was pressed/dragged or released
Returns
the RayPick event

◆ ray_drag()

void OGF::RayPicker::ray_drag ( RenderingContext rendering_context,
const RayPick value 
)

The signal triggered when the mouse is dragged.

Parameters
[in]rendering_contexta pointer to the RenderingContext
[in]valuethe RayPick event generated from the mouse pointer location

◆ ray_release()

void OGF::RayPicker::ray_release ( RenderingContext rendering_context,
const RayPick value 
)

The signal triggered when a mouse button is released.

Parameters
[in]rendering_contexta pointer to the RenderingContext
[in]valuethe RayPick event generated from the mouse pointer location

◆ release()

void OGF::RayPicker::release ( RenderingContext rendering_context,
const vec2 point_ndc,
int  button 
)

Callback called when a mouse button is released.

Parameters
[in]rendering_contexta pointer to the RenderingContext
[in]point_ndcthe point under the mouse pointer, in normalized device coordinates (x and y both in [-1.0, 1.0])
[in]buttonthe button that is released

The documentation for this class was generated from the following file: