FreeCAD C++
Public Member Functions | Public Attributes | Static Protected Member Functions | List of all members
Gui::SoFCCSysDragger Class Reference

#include <Gui/SoFCCSysDragger.h>

Detailed Description

Coordinate System Dragger.

used to transform objects in 3d space. Set initial: translation, rotation, translationIncrement and rotationIncrement. Use IncrementCount multiplied with *Increment for full double precision output.

Dragger can be displayed in 2 modes: static scale and auto scale. For static you can set the field scale and you are done. For autoscale you set the field scale & call setupAutoScale with the viewer camera.

See also
setUpAutoScale
scale.

Public Member Functions

void clearIncrementCounts ()
 used to reset after drag update.
 
void setUpAutoScale (SoCamera *cameraIn)
 used to setup the auto scaling of dragger.
 
Visibility Functions
void showTranslationX ()
 show the x translation dragger.
 
void showTranslationY ()
 show the y translation dragger.
 
void showTranslationZ ()
 show the z translation dragger.
 
void hideTranslationX ()
 hide the x translation dragger.
 
void hideTranslationY ()
 hide the y translation dragger.
 
void hideTranslationZ ()
 hide the z translation dragger.
 
void showRotationX ()
 show the x rotation dragger.
 
void showRotationY ()
 show the y rotation dragger.
 
void showRotationZ ()
 show the z rotation dragger.
 
void hideRotationX ()
 hide the x rotation dragger.
 
void hideRotationY ()
 hide the y rotation dragger.
 
void hideRotationZ ()
 hide the z rotation dragger.
 
bool isShownTranslationX ()
 is x translation dragger shown.
 
bool isShownTranslationY ()
 is y translation dragger shown.
 
bool isShownTranslationZ ()
 is z translation dragger shown.
 
bool isShownRotationX ()
 is x rotation dragger shown.
 
bool isShownRotationY ()
 is x rotation dragger shown.
 
bool isShownRotationZ ()
 is x rotation dragger shown.
 
bool isHiddenTranslationX ()
 is x translation dragger hidden.
 
bool isHiddenTranslationY ()
 is y translation dragger hidden.
 
bool isHiddenTranslationZ ()
 is z translation dragger hidden.
 
bool isHiddenRotationX ()
 is x rotation dragger hidden.
 
bool isHiddenRotationY ()
 is x rotation dragger hidden.
 
bool isHiddenRotationZ ()
 is x rotation dragger hidden.
 

Public Attributes

SoSFVec3f translation
 initial translation and reflects single precision movement.
 
SoSFDouble translationIncrement
 set from outside used for rounding.
 
SoSFInt32 translationIncrementCountX
 used from outside for translation x steps.
 
SoSFInt32 translationIncrementCountY
 used from outside for translation y steps.
 
SoSFInt32 translationIncrementCountZ
 used from outside for translation z steps.
 
SoSFRotation rotation
 initial rotation and reflects single precision movement.
 
SoSFDouble rotationIncrement
 radians set from outside and used for rounding.
 
SoSFInt32 rotationIncrementCountX
 used from outside for rotation x steps.
 
SoSFInt32 rotationIncrementCountY
 used from outside for rotation y steps.
 
SoSFInt32 rotationIncrementCountZ
 used from outside for rotation z steps.
 
SoSFFloat draggerSize
 Overall scale of dragger node. More...
 
SoSFFloat autoScaleResult
 result of autoscale calculation and used by childdraggers. Don't use.
 
SoIdleSensor idleSensor
 might be overkill, but want to make sure of performance.
 

Static Protected Member Functions

static void idleCB (void *data, SoSensor *)
 scheduled from cameraCB to auto scale dragger.
 

Member Data Documentation

◆ draggerSize

SoSFFloat Gui::SoFCCSysDragger::draggerSize

Overall scale of dragger node.

When using autoscale mode, this represents normalized device coordinates (0.0 to 1.0). A value of 0.05 is a good place to start. When NOT using autoscale mode, scale represents a traditional scale and a value of 1.0 is a good place to start.