50#ifndef _SO_TAB_PLANE_DRAGGER_
51#define _SO_TAB_PLANE_DRAGGER_
374 static void initClass();
376 static void exitClass();
378 int getCurrentState();
380 void notify( SoNotList* list );
396 static void lightingSensorCB(
void *,
SoSensor * );
397 static void lineWidthSensorCB(
void *,
SoSensor * );
399 static void startCB(
void *,
SoDragger *);
400 static void motionCB(
void *,
SoDragger *);
401 static void finishCB(
void *,
SoDragger *);
402 static void metaKeyChangeCB(
void *,
SoDragger *);
409 static void fieldSensorCB(
void *,
SoSensor * );
410 static void valueChangedCB(
void *,
SoDragger * );
419 void translateStart();
420 void translateDrag();
422 void edgeScaleStart();
423 void edgeScaleDrag();
425 void cornerScaleStart();
426 void cornerScaleDrag();
428 void scaleUniformStart();
429 void scaleUniformDrag();
432 int currentScalePatch;
435 INACTIVE, TRANSLATING, EDGE_SCALING, CORNER_SCALING, UNIFORM_SCALING
453 virtual void setDefaultOnNonWritingFields();
458 static const char geomBuffer[];
459 static bool s_resizeOnInactiveOnly;
461 static const float s_tabHighlightScaleCoef;
#define FALSE
Possible value of SbBool.
#define SO_KIT_CATALOG_ENTRY_HEADER(partName)
#define SO_KIT_HEADER(className)
Base class for nodekits that move in response to click-drag-release mouse events.
Sensor class that can be attached to Open Inventor fields.
Renders a scene graph using Open Inventor's Render Engine.
Abstract base class for all database nodes.
Intersects objects with a ray cast into scene.
Field containing a single Boolean value.
Field containing a floating-point value.
Field containing a int32_t integer.
Field containing a three-dimensional vector.
Abstract base class for Open Inventor sensors.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Shader program p...
Group node that traverses one chosen child.
Object you can translate or scale within a plane by dragging with the mouse.
SoSFBool resizeHandles
If set to TRUE, handles will be resized automatically when the view matrix (camera) changes.
SoSFInt32 tabPixelSize
Specifies the size of the green tabs in pixels.
SoSFBool twoSidedLighting
If set to TRUE, OpenGL two sided lighting will be enabled.
SoSFVec3f translation
Position of the dragger.
SoSFVec3f scaleFactor
Scale factor affecting the dragger.
SoSFFloat lineWidth
Specifies the line width for the outline box.
void showEdgeScales(const SbBool show)
show or hide edges
void adjustScaleTabSize()
Causes the scale tab sizes to be adjusted so that they remain a near constant screen space size.
SoTabPlaneDragger()
Constructor.
SoSFBool scaleUniform
If set to TRUE, scaling will always be uniform.
void showCornerScales(const SbBool show)
show or hide corners