Ignition Rendering

API Reference

5.1.0
Ogre2SelectionBuffer Class Reference

Generates a selection buffer object for a given camera. The selection buffer is used of entity selection. On setup, a unique color is assigned to each entity. Whenever a selection request is made, the selection buffer camera renders to a 1x1 sized offscreen buffer. The color value of that pixel gives the identity of the entity. More...

#include <Ogre2SelectionBuffer.hh>

Public Member Functions

 Ogre2SelectionBuffer (const std::string &_cameraName, Ogre2ScenePtr _scene)
 Constructor. More...
 
 ~Ogre2SelectionBuffer ()
 Destructor. More...
 
bool ExecuteQuery (const int _x, const int _y, Ogre::Item *&_item, math::Vector3d &_point)
 Perform selection operation and get ogre item and point of intersection. More...
 
Ogre::Item * OnSelectionClick (const int _x, const int _y)
 Handle on mouse click. More...
 
void Update ()
 Call this to update the selection buffer contents. More...
 

Detailed Description

Generates a selection buffer object for a given camera. The selection buffer is used of entity selection. On setup, a unique color is assigned to each entity. Whenever a selection request is made, the selection buffer camera renders to a 1x1 sized offscreen buffer. The color value of that pixel gives the identity of the entity.

Constructor & Destructor Documentation

◆ Ogre2SelectionBuffer()

Ogre2SelectionBuffer ( const std::string _cameraName,
Ogre2ScenePtr  _scene 
)

Constructor.

Parameters
[in]_cameraNameName of the camera to generate a selection buffer for.
[in]_scenePointer to the scene

◆ ~Ogre2SelectionBuffer()

Destructor.

Member Function Documentation

◆ ExecuteQuery()

bool ExecuteQuery ( const int  _x,
const int  _y,
Ogre::Item *&  _item,
math::Vector3d _point 
)

Perform selection operation and get ogre item and point of intersection.

Parameters
[in]_xX coordinate in pixels.
[in]_yY coordinate in pixels.
[out]_itemOgre item at the coordinate.
[out]_point3D point of intersection with the ogre item's mesh.
Returns
True if an ogre item is found, false otherwise

◆ OnSelectionClick()

Ogre::Item* OnSelectionClick ( const int  _x,
const int  _y 
)

Handle on mouse click.

Parameters
[in]_xX coordinate in pixels.
[in]_yY coordinate in pixels.
Returns
Returns the Ogre item at the coordinate.

◆ Update()

void Update ( )

Call this to update the selection buffer contents.


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