VR-Forces 4.1 Class Documentation
List of all members | Classes | Public Types | Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Friends
makVrv::DtWidgetPicker Class Reference

The picker class which allocates and does picking operatings on widgets. More...

Classes

struct  MousePickRecord

Public Types

enum  MousePickType {
  NO_EVENT = 0, LEFT_MOUSE_PRESS, LEFT_MOUSE_RELEASE, LEFT_MOUSE_DOUBLECLICK,
  MIDDLE_MOUSE_PRESS, MIDDLE_MOUSE_RELEASE, MIDDLE_MOUSE_DOUBLECLICK, RIGHT_MOUSE_PRESS,
  RIGHT_MOUSE_RELEASE, RIGHT_MOUSE_DOUBLECLICK, MOUSE_MOVE, MOUSE_WHEEL
}

Public Member Functions

 DtWidgetPicker (DtOverlayResourceProvider &provider)
 ~DtWidgetPicker ()
unsigned int numberOfWidgets () const
 Get the number of widgets.
void releaseResources ()
 Deallocate any resources.
DtPickableQuadallocatePickableQuad ()
 Allocate a widget quad, delete when done.
DtPickableTriangleallocatePickableTriangle ()
 Allocate a widget quad, delete when done.
DtPickableLineallocatePickableLine ()
 Allocate a widget quad, delete when done.
void pick (const MousePickRecord &rec, int w, int h, bool geocentric, double cameraPosition[3]=0, double cameraMatrix[16]=0)
 Pick at (int x, int y); As picking can be slow, start your pick, after updates but before rendering.
const DtPickableWidgetfindWidgetFromLastPick () const
 Attempt to get the widget from the last pick.
bool signalEvents ()
 Done during the update phase.
void clearEvents ()
 Clear any pending events.

Public Attributes

boost::signal< void()> signal_destroyed
 Boost signal sent during widget picker destruction. Called from destructor.

Protected Types

typedef boost::unordered_map
< unsigned int,
DtPickableWidget * > 
WidgetIdMap

Protected Member Functions

DtPickableWidgetcalculateWidgetFromLastPick ()
 Get the widget at last pick.
void debugRender ()
DtQuadallocateQuad ()
 Allocate a widget quad, delete when done.
DtLineSegmentallocateLine ()
 Allocate a widget quad, delete when done.
DtTriangleProxyallocateTriangle ()
 Allocate a triangle.
unsigned int widgetCreated (DtPickableWidget *)
 Called when a widget is created.
void widgetToBeDeleted (DtPickableWidget *)
 Called when a widget is to be deleted.
bool allocateResources ()

Protected Attributes

DtOverlayResourceProvidermyProvider
DtFrameBufferObjectmyFrameBuffer
DtPixelBufferObjectmyPixelBuffer
DtTextureObjectmySampleTexture
DtQuadRenderermyQuadRenderer
DtLineRenderermyLineRenderer
DtTriangleRenderermyTriangleRenderer
int myDesiredWidth
int myDesiredHeight
bool myPendingEventFlag
MousePickRecord myPendingEvent
DtPickableWidgetmyMouseFocusWidget
WidgetIdMap myWidgetIds
unsigned int myFreeId

Friends

class DtPickableWidget
class DtPickableQuad
class DtPickableLine
class DtPickableTriangle

Detailed Description

The picker class which allocates and does picking operatings on widgets.

Member Typedef Documentation

typedef boost::unordered_map<unsigned int, DtPickableWidget*> makVrv::DtWidgetPicker::WidgetIdMap
protected

Member Enumeration Documentation

Enumerator:
NO_EVENT 
LEFT_MOUSE_PRESS 
LEFT_MOUSE_RELEASE 
LEFT_MOUSE_DOUBLECLICK 
MIDDLE_MOUSE_PRESS 
MIDDLE_MOUSE_RELEASE 
MIDDLE_MOUSE_DOUBLECLICK 
RIGHT_MOUSE_PRESS 
RIGHT_MOUSE_RELEASE 
RIGHT_MOUSE_DOUBLECLICK 
MOUSE_MOVE 
MOUSE_WHEEL 

Constructor & Destructor Documentation

makVrv::DtWidgetPicker::DtWidgetPicker ( DtOverlayResourceProvider provider)
makVrv::DtWidgetPicker::~DtWidgetPicker ( )

Member Function Documentation

unsigned int makVrv::DtWidgetPicker::numberOfWidgets ( ) const

Get the number of widgets.

void makVrv::DtWidgetPicker::releaseResources ( )

Deallocate any resources.

DtPickableQuad* makVrv::DtWidgetPicker::allocatePickableQuad ( )

Allocate a widget quad, delete when done.

DtPickableTriangle* makVrv::DtWidgetPicker::allocatePickableTriangle ( )

Allocate a widget quad, delete when done.

DtPickableLine* makVrv::DtWidgetPicker::allocatePickableLine ( )

Allocate a widget quad, delete when done.

void makVrv::DtWidgetPicker::pick ( const MousePickRecord rec,
int  w,
int  h,
bool  geocentric,
double  cameraPosition[3] = 0,
double  cameraMatrix[16] = 0 
)

Pick at (int x, int y); As picking can be slow, start your pick, after updates but before rendering.

const DtPickableWidget* makVrv::DtWidgetPicker::findWidgetFromLastPick ( ) const

Attempt to get the widget from the last pick.

bool makVrv::DtWidgetPicker::signalEvents ( )

Done during the update phase.

void makVrv::DtWidgetPicker::clearEvents ( )

Clear any pending events.

DtPickableWidget* makVrv::DtWidgetPicker::calculateWidgetFromLastPick ( )
protected

Get the widget at last pick.

After rendering process the last pick.

void makVrv::DtWidgetPicker::debugRender ( )
protected
DtQuad* makVrv::DtWidgetPicker::allocateQuad ( )
protected

Allocate a widget quad, delete when done.

DtLineSegment* makVrv::DtWidgetPicker::allocateLine ( )
protected

Allocate a widget quad, delete when done.

DtTriangleProxy* makVrv::DtWidgetPicker::allocateTriangle ( )
protected

Allocate a triangle.

unsigned int makVrv::DtWidgetPicker::widgetCreated ( DtPickableWidget )
protected

Called when a widget is created.

void makVrv::DtWidgetPicker::widgetToBeDeleted ( DtPickableWidget )
protected

Called when a widget is to be deleted.

bool makVrv::DtWidgetPicker::allocateResources ( )
protected

Friends And Related Function Documentation

friend class DtPickableWidget
friend
friend class DtPickableQuad
friend
friend class DtPickableLine
friend
friend class DtPickableTriangle
friend

Member Data Documentation

boost::signal<void ()> makVrv::DtWidgetPicker::signal_destroyed

Boost signal sent during widget picker destruction. Called from destructor.

DtOverlayResourceProvider& makVrv::DtWidgetPicker::myProvider
protected
DtFrameBufferObject* makVrv::DtWidgetPicker::myFrameBuffer
protected
DtPixelBufferObject* makVrv::DtWidgetPicker::myPixelBuffer
protected
DtTextureObject* makVrv::DtWidgetPicker::mySampleTexture
protected
DtQuadRenderer* makVrv::DtWidgetPicker::myQuadRenderer
protected
DtLineRenderer* makVrv::DtWidgetPicker::myLineRenderer
protected
DtTriangleRenderer* makVrv::DtWidgetPicker::myTriangleRenderer
protected
int makVrv::DtWidgetPicker::myDesiredWidth
protected
int makVrv::DtWidgetPicker::myDesiredHeight
protected
bool makVrv::DtWidgetPicker::myPendingEventFlag
protected
MousePickRecord makVrv::DtWidgetPicker::myPendingEvent
protected
DtPickableWidget* makVrv::DtWidgetPicker::myMouseFocusWidget
protected
WidgetIdMap makVrv::DtWidgetPicker::myWidgetIds
protected
unsigned int makVrv::DtWidgetPicker::myFreeId
protected

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

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)