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

SoDepthTabPlaneDragger Class Reference

A TabPlaneDragger where the moving on moves the dragger in z direction (instead of xy as with SoTabPlaneDragger). In addition, there are limits to how small the dragger is allowed to be. More...

List of all members.

Public Types

enum  Key {
  DISABLE, NONE, ANY, SHIFT,
  CONTROL, ALT, SHIFTCONTROL, SHIFTALT,
  CONTROLALT, SHIFTCONTROLALT
}

Public Member Functions

 SoDepthTabPlaneDragger ()

Static Public Member Functions

static void initClass ()

Public Attributes

SoSFVec3f translation
SoSFVec3f scaleFactor
SoSFVec3f minSize
SoSFVec3f maxSize
SoSFVec3f minPos
SoSFVec3f maxPos
SoSFEnum depthKey
SoSFEnum translateKey

Protected Member Functions

 ~SoDepthTabPlaneDragger ()
virtual void GLRender (SoGLRenderAction *)
virtual SbBool setUpConnections (SbBool onoff, SbBool doitalways=false)
virtual void setDefaultOnNonWritingFields ()
void reallyAdjustScaleTabSize (SoGLRenderAction *)
void dragStart (void)
void drag (void)
void dragFinish (void)
bool checkLimits (SbMatrix &) const
bool shouldDrag (const SoEvent *event, Key key) const

Private Types

typedef SoDragger inherited

Private Member Functions

 SO_KIT_HEADER (SoDepthTabPlaneDragger)
 SO_KIT_CATALOG_ENTRY_HEADER (planeSwitch)
 SO_KIT_CATALOG_ENTRY_HEADER (greenTabsHints)
 SO_KIT_CATALOG_ENTRY_HEADER (greenTabsMaterial)
 SO_KIT_CATALOG_ENTRY_HEADER (greenTabsMaterialBinding)
 SO_KIT_CATALOG_ENTRY_HEADER (greenTabsNormal)
 SO_KIT_CATALOG_ENTRY_HEADER (greenTabsNormalBinding)
 SO_KIT_CATALOG_ENTRY_HEADER (greenTabsSep)
 SO_KIT_CATALOG_ENTRY_HEADER (greenTabsOffset)
 SO_KIT_CATALOG_ENTRY_HEADER (greenTabsCoords)
 SO_KIT_CATALOG_ENTRY_HEADER (greenTabs)
 SO_KIT_CATALOG_ENTRY_HEADER (translator)
void createPrivateParts ()
SoNode * getNodeFieldNode (const char *fieldname)

Static Private Member Functions

static void startCB (void *f, SoDragger *d)
static void motionCB (void *f, SoDragger *d)
static void finishCB (void *f, SoDragger *d)
static void fieldSensorCB (void *f, SoSensor *s)
static void valueChangedCB (void *f, SoDragger *d)

Private Attributes

SoFieldSensor * scaleFieldSensor_
SoFieldSensor * translFieldSensor_
SbLineProjector * lineProj_
SbPlaneProjector * planeProj_
int whatkind_
int constraintState_
float prevsizex_
float prevsizey_
SbVec3f scaleCenter_

Detailed Description

A TabPlaneDragger where the moving on moves the dragger in z direction (instead of xy as with SoTabPlaneDragger). In addition, there are limits to how small the dragger is allowed to be.


Member Typedef Documentation

typedef SoDragger SoDepthTabPlaneDragger::inherited [private]

Member Enumeration Documentation

Enumerator:
DISABLE 
NONE 
ANY 
SHIFT 
CONTROL 
ALT 
SHIFTCONTROL 
SHIFTALT 
CONTROLALT 
SHIFTCONTROLALT 

Constructor & Destructor Documentation

SoDepthTabPlaneDragger::SoDepthTabPlaneDragger (  ) 
SoDepthTabPlaneDragger::~SoDepthTabPlaneDragger (  )  [protected]

Member Function Documentation

bool SoDepthTabPlaneDragger::checkLimits ( SbMatrix &   )  const [protected]
Returns:
true if changed matrix.
void SoDepthTabPlaneDragger::createPrivateParts (  )  [private]
void SoDepthTabPlaneDragger::drag ( void   )  [protected]
void SoDepthTabPlaneDragger::dragFinish ( void   )  [protected]
void SoDepthTabPlaneDragger::dragStart ( void   )  [protected]
static void SoDepthTabPlaneDragger::fieldSensorCB ( void *  f,
SoSensor *  s 
) [static, private]
static void SoDepthTabPlaneDragger::finishCB ( void *  f,
SoDragger *  d 
) [static, private]
SoNode* SoDepthTabPlaneDragger::getNodeFieldNode ( const char *  fieldname  )  [private]
virtual void SoDepthTabPlaneDragger::GLRender ( SoGLRenderAction *   )  [protected, virtual]
static void SoDepthTabPlaneDragger::initClass (  )  [static]
static void SoDepthTabPlaneDragger::motionCB ( void *  f,
SoDragger *  d 
) [static, private]
void SoDepthTabPlaneDragger::reallyAdjustScaleTabSize ( SoGLRenderAction *   )  [protected]
virtual void SoDepthTabPlaneDragger::setDefaultOnNonWritingFields (  )  [protected, virtual]
virtual SbBool SoDepthTabPlaneDragger::setUpConnections ( SbBool  onoff,
SbBool  doitalways = false 
) [protected, virtual]
bool SoDepthTabPlaneDragger::shouldDrag ( const SoEvent *  event,
Key  key 
) const [protected]
SoDepthTabPlaneDragger::SO_KIT_CATALOG_ENTRY_HEADER ( planeSwitch   )  [private]
SoDepthTabPlaneDragger::SO_KIT_CATALOG_ENTRY_HEADER ( translator   )  [private]
SoDepthTabPlaneDragger::SO_KIT_CATALOG_ENTRY_HEADER ( greenTabsHints   )  [private]
SoDepthTabPlaneDragger::SO_KIT_CATALOG_ENTRY_HEADER ( greenTabsNormal   )  [private]
SoDepthTabPlaneDragger::SO_KIT_CATALOG_ENTRY_HEADER ( greenTabs   )  [private]
SoDepthTabPlaneDragger::SO_KIT_CATALOG_ENTRY_HEADER ( greenTabsMaterial   )  [private]
SoDepthTabPlaneDragger::SO_KIT_CATALOG_ENTRY_HEADER ( greenTabsOffset   )  [private]
SoDepthTabPlaneDragger::SO_KIT_CATALOG_ENTRY_HEADER ( greenTabsNormalBinding   )  [private]
SoDepthTabPlaneDragger::SO_KIT_CATALOG_ENTRY_HEADER ( greenTabsCoords   )  [private]
SoDepthTabPlaneDragger::SO_KIT_CATALOG_ENTRY_HEADER ( greenTabsMaterialBinding   )  [private]
SoDepthTabPlaneDragger::SO_KIT_CATALOG_ENTRY_HEADER ( greenTabsSep   )  [private]
SoDepthTabPlaneDragger::SO_KIT_HEADER ( SoDepthTabPlaneDragger   )  [private]
static void SoDepthTabPlaneDragger::startCB ( void *  f,
SoDragger *  d 
) [static, private]
static void SoDepthTabPlaneDragger::valueChangedCB ( void *  f,
SoDragger *  d 
) [static, private]

Member Data Documentation

SbLineProjector* SoDepthTabPlaneDragger::lineProj_ [private]
SbPlaneProjector* SoDepthTabPlaneDragger::planeProj_ [private]