VR-Forces 4.0.4 Class Documentation
Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Friends
makVrv::DtWidgetPicker Class Reference

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

List of all members.

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.

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


Member Function Documentation

Get the number of widgets.

Deallocate any resources.

Allocate a widget quad, delete when done.

Allocate a widget quad, delete when done.

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.

Attempt to get the widget from the last pick.

Done during the update phase.

Clear any pending events.

Get the widget at last pick.

After rendering process the last pick.

Allocate a widget quad, delete when done.

Allocate a widget quad, delete when done.

Allocate a triangle.

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

Called when a widget is created.

Called when a widget is to be deleted.


Friends And Related Function Documentation

friend class DtPickableWidget [friend]
friend class DtPickableQuad [friend]
friend class DtPickableLine [friend]
friend class DtPickableTriangle [friend]

Member Data Documentation

unsigned int makVrv::DtWidgetPicker::myFreeId [protected]

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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)