Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions | Friends

SoPolygonSelect Class Reference

List of all members.

Public Types

enum  Modes { OFF, RECTANGLE, POLYGON }

Public Member Functions

 SoPolygonSelect (void)
const SbList< SbVec2f > & getPolygon () const
SbVec2f projectPoint (const SbVec3f &) const
void clear ()
bool isPainting () const

Static Public Member Functions

static void initClass (void)

Public Attributes

SoSFEnum mode
SoCallbackList paintStart
SoCallbackList paintStop
SoCallbackList polygonChange

Protected Member Functions

 ~SoPolygonSelect ()
void GLRender (SoGLRenderAction *)
void handleEvent (SoHandleEventAction *)
void initRub (const SbVec2f &pt)
void rub (const SbVec2f &pt)

Static Protected Member Functions

static void setTabletPressure (float)

Protected Attributes

SbList< SbVec2f > polygon_
bool mousedown_
bool isgrabbing_
SbViewVolume vv_
SbMatrix modelmatrix_
SoCache * dependencychecker_
SbList< SbVec2f > polybuf_
SbList< SbVec2f > outdir_
SbVec2f prevpos_

Private Member Functions

 SO_NODE_HEADER (SoPolygonSelect)

Friends

class SoTabletEventFilter

Detailed Description

Paints a polygon or a rectangle just in front of near-clipping plane driven by mouse- movement. Once drawn, the polygon can be retrieved in 2D, and any point can be projected onto the 2D space and thus tested if it's inside or outside the polygon.

The polygon is painted witht the current material and linestyle.


Member Enumeration Documentation

Enumerator:
OFF 
RECTANGLE 
POLYGON 

Constructor & Destructor Documentation

SoPolygonSelect::SoPolygonSelect ( void   ) 
SoPolygonSelect::~SoPolygonSelect (  )  [protected]

Member Function Documentation

void SoPolygonSelect::clear (  ) 
const SbList<SbVec2f>& SoPolygonSelect::getPolygon (  )  const [inline]
void SoPolygonSelect::GLRender ( SoGLRenderAction *   )  [protected]
void SoPolygonSelect::handleEvent ( SoHandleEventAction *   )  [protected]
static void SoPolygonSelect::initClass ( void   )  [static]
void SoPolygonSelect::initRub ( const SbVec2f &  pt  )  [protected]
bool SoPolygonSelect::isPainting (  )  const [inline]
SbVec2f SoPolygonSelect::projectPoint ( const SbVec3f &   )  const
void SoPolygonSelect::rub ( const SbVec2f &  pt  )  [protected]
static void SoPolygonSelect::setTabletPressure ( float   )  [static, protected]
SoPolygonSelect::SO_NODE_HEADER ( SoPolygonSelect   )  [private]

Friends And Related Function Documentation

friend class SoTabletEventFilter [friend]

Member Data Documentation

bool SoPolygonSelect::isgrabbing_ [protected]
SbMatrix SoPolygonSelect::modelmatrix_ [protected]
bool SoPolygonSelect::mousedown_ [protected]
SbList<SbVec2f> SoPolygonSelect::outdir_ [protected]
SbList<SbVec2f> SoPolygonSelect::polybuf_ [protected]
SbList<SbVec2f> SoPolygonSelect::polygon_ [protected]
SbVec2f SoPolygonSelect::prevpos_ [protected]
SbViewVolume SoPolygonSelect::vv_ [protected]