logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

SoTransformerManip — transform node with 3D interface for changing scaling, rotation, and translation

Description

       This is a new manipulator with some improvements over the older inventor manips.  It  has  the  following
       features:  [1]  full  interface  for  rotate,  translate,  and  scale,  [2]  better  feedback, [3] locate
       highlighting.

       SoTransformerManip is derived from SoTransform (by way of  SoTransformManip).  When  its  fields  change,
       nodes following it in the scene graph rotate, scale, and/or translate.

       As  a  subclass of SoTransformManip, this manipulator also has a 3D interface to edit some of its fields.
       In this case, the interface edits the scaleFactor, rotation and translation fields.

       A manipulator differs from a dragger. When you move a dragger, no other nodes are affected. When you move
       an SoTransformManip, other nodes move along with it. (See the reference page for SoTransformManip).

       The interface for an SoTransformerManip is exactly the same as that of the SoTransformerDragger. To  find
       out  more  about  the  interface,  see  the  reference page for SoTransformerDragger. To find out how the
       manipulator uses a dragger to provide its interface, see the reference page for SoTransformManip.

       On screen, this manipulator will surround the objects influenced by its motion. This is because it  turns
       on the surroundScale part of the dragger (See the reference page for SoSurroundScale)

File Format/Defaults

TransformerManip{translation000rotation0010scaleFactor111scaleOrientation0010center000}

Inherits From

       SoBase   >   SoFieldContainer   >   SoNode   >   SoTransformation  >  SoTransform  >  SoTransformManip  >
       SoTransformerManip

Methods

SoTransformerManip()
          Constructor.

     staticSoTypegetClassTypeId()
          Returns type identifier for this class.

     voidsetLocateHighlighting(SbBoolonOff)SbBoolisLocateHighlighting()
          Controls  whether  or  not  the  dragger  inside  this manip will perform locate highlighting is used.
          Default is TRUE.

     voidunsquishKnobs()
          Tells the dragger inside this manip  to  unsquish  its  rotation  and  scale  knobs  during  the  next
          traversal.  Ordinarily,  the knobs are only unsquished upon readin from file and when the mouse button
          is released at the end of a drag. If you want this to happen more often, then  you  should  call  this
          method.

Name

       SoTransformerManip — transform node with 3D interface for changing scaling, rotation, and translation

See Also

SoTransformerDragger,SoTransform,SoCenterballManip,SoHandleBoxManip,SoJackManip,SoTabBoxManip,SoTrackballManip,SoTransformBoxManip,SoTransformManipSoTransformerManip(3IV)()

Synopsis

#include<Inventor/manips/SoTransformerManip.h>

          Fields from class SoTransform:

     SoSFVec3ftranslationSoSFRotationrotationSoSFVec3fscaleFactorSoSFRotationscaleOrientationSoSFVec3fcenter

          Methods from class SoTransformerManip:

                         SoTransformerManip()staticSoTypegetClassTypeId()voidsetLocateHighlighting(SbBoolonOff)SbBoolisLocateHighlighting()voidunsquishKnobs()

          Methods from class SoTransformManip:

     SoDragger*getDragger()SbBoolreplaceNode(SoPath*p)SbBoolreplaceManip(SoPath*p,SoTransform*newOne)const

          Methods from class SoTransform:

     voidpointAt(constSbVec3f&fromPoint,constSbVec3f&toPoint)voidgetScaleSpaceMatrix(SbMatrix&mat,SbMatrix&inv)constvoidgetRotationSpaceMatrix(SbMatrix&mat,SbMatrix&inv)constvoidgetTranslationSpaceMatrix(SbMatrix&mat,SbMatrix&inv)constvoidmultLeft(constSbMatrix&mat)voidmultRight(constSbMatrix&mat)voidcombineLeft(SoTransformation*nodeOnRight)voidcombineRight(SoTransformation*nodeOnLeft)voidsetMatrix(constSbMatrix&mat)voidrecenter(constSbVec3f&newCenter)

          Methods from class SoNode:

     voidsetOverride(SbBoolstate)SbBoolisOverride()constSoNode*copy(SbBoolcopyConnections=FALSE)constvirtualSbBoolaffectsState()conststaticSoNode*getByName(constSbName&name)staticintgetByName(constSbName&name,SoNodeList&list)

          Methods from class SoFieldContainer:

     voidsetToDefaults()SbBoolhasDefaultValues()constSbBoolfieldsAreEqual(constSoFieldContainer*fc)constvoidcopyFieldValues(constSoFieldContainer*fc,SbBoolcopyConnections=FALSE)SbBoolset(constchar*fieldDataString)voidget(SbString&fieldDataString)virtualintgetFields(SoFieldList&resultList)constvirtualSoField*getField(constSbName&fieldName)constSbBoolgetFieldName(constSoField*field,SbName&fieldName)constSbBoolisNotifyEnabled()constSbBoolenableNotify(SbBoolflag)

          Methods from class SoBase:

     voidref()voidunref()constvoidunrefNoDelete()constvoidtouch()virtualSoTypegetTypeId()constSbBoolisOfType(SoTypetype)constvirtualvoidsetName(constSbName&name)virtualSbNamegetName()const

See Also