VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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)
 
virtual ~DtWidgetPicker ()
 
unsigned int numberOfWidgets () const
 Get the number of widgets. More...
 
void releaseResources (bool renderer)
 Deallocate any resources. More...
 
virtual DtFrameBufferObjectframeBufferObject (void)
 
DtPickableQuadallocatePickableQuad ()
 Allocate a widget quad, delete when done. More...
 
DtPickableTriangleallocatePickableTriangle ()
 Allocate a widget quad, delete when done. More...
 
DtPickableLineallocatePickableLine ()
 Allocate a widget quad, delete when done. More...
 
void pick (const MousePickRecord &rec, int w, int h, bool geocentric, double cameraPosition[3], double cameraMatrix[16])
 Pick at (int x, int y); As picking can be slow, start your pick, after updates but before rendering. More...
 
const DtPickableWidgetfindWidgetFromLastPick () const
 Attempt to get the widget from the last pick. More...
 
bool signalEvents ()
 Done during the update phase. More...
 
void clearEvents ()
 Clear any pending events. More...
 

Public Attributes

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

Protected Types

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

Protected Member Functions

DtPickableWidgetcalculateWidgetFromLastPick ()
 Get the widget at last pick. More...
 
void debugRender ()
 
DtQuadallocateQuad ()
 Allocate a widget quad, delete when done. More...
 
DtLineSegmentallocateLine ()
 Allocate a widget quad, delete when done. More...
 
DtTriangleProxyallocateTriangle ()
 Allocate a triangle. More...
 
unsigned int widgetCreated (DtPickableWidget *)
 Called when a widget is created. More...
 
void widgetToBeDeleted (DtPickableWidget *)
 Called when a widget is to be deleted. More...
 
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)
virtual makVrv::DtWidgetPicker::~DtWidgetPicker ( )
virtual

Member Function Documentation

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

Get the number of widgets.

void makVrv::DtWidgetPicker::releaseResources ( bool  renderer)

Deallocate any resources.

Renderer boolean is part of a hack to get widgets pickable again.

virtual DtFrameBufferObject* makVrv::DtWidgetPicker::frameBufferObject ( void  )
virtual
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],
double  cameraMatrix[16] 
)

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 Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)