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

SoLocateHighlight — special separator that performs locate highlighting

Action Behavior

SoHandleEventAction
          Checks  to  see  if  the  cursor  moves  onto  or  off  of  the contents of the separator, and redraws
          appropriately (if mode is AUTO), otherwise traverses as a normal separator.

     SoGLRenderAction
          Redraws either highlighted (if cursor is over the contents of the  separator  when  mode  ==  AUTO  or
          always if mode == ON), otherwise traverses as a normal separator.

Description

       This  is  a  subclass of SoSeparator that redraws itself in a different color when the cursor is over the
       contents of the separator.

       The redraw happens for that separator only and not the entire window (redraw along the handle event  pick
       path)  and  in  the front buffer, to efficiently track the mouse motion. The highlighted redraw overrides
       the emissive and/or diffuse color of the subgraph based on the field values in this node.

       NOTE: when using SoLightModel::BASE_COLOR (to turn lighting off) only the diffuse color will be  used  to
       render objects, so EMISSIVE_DIFFUSE must be used for this node to have any effect.

Fields

SoSFColorcolor
          highlighting color - default [.3, .3, .3]

     SoSFEnumstyle
          highlighting draw style - default EMISSIVE

     SoSFEnummode
          Whether to highlight or not - default AUTO

File Format/Defaults

LocateHighlight{renderCachingAUTOboundingBoxCachingAUTOrenderCullingAUTOpickCullingAUTOmodeAUTOstyleEMISSIVEcolor0.30.30.3}

Inherits From

       SoBase > SoFieldContainer > SoNode > SoGroup > SoSeparator > SoLocateHighlight

Methods

SoLocateHighlight()
          Creates a LocateHighlight node with default settings.

     staticSoTypegetClassTypeId()
          Returns type identifier for this class.

Name

       SoLocateHighlight — special separator that performs locate highlighting

See Also

SoSeparator,SoSelection,SoMaterialSoLocateHighlight(3IV)()

Synopsis

#include<Inventor/nodes/SoLocateHighlight.h>enumModes{SoLocateHighlight::AUTO  highlight when mouse is over (default)
          SoLocateHighlight::ON    always highlight
          SoLocateHighlight::OFF   never highlight
     }enumStyles{SoLocateHighlight::EMISSIVE  changes emissive color only (default)
          SoLocateHighlight::EMISSIVE_DIFFUSE
                                       changes emissive and diffuse colors
     }

          Fields from class SoLocateHighlight:

     SoSFColorcolorSoSFEnumstyleSoSFEnummode

          Fields from class SoSeparator:

     SoSFEnumrenderCachingSoSFEnumboundingBoxCachingSoSFEnumrenderCullingSoSFEnumpickCulling

          Methods from class SoLocateHighlight:

                         SoLocateHighlight()staticSoTypegetClassTypeId()

          Methods from class SoSeparator:

     staticvoidsetNumRenderCaches(inthowMany)staticintgetNumRenderCaches()

          Methods from class SoGroup:

     voidaddChild(SoNode*child)voidinsertChild(SoNode*child,intnewChildIndex)SoNode*getChild(intindex)constintfindChild(constSoNode*child)constintgetNumChildren()constvoidremoveChild(intindex)voidremoveChild(SoNode*child)voidremoveAllChildren()voidreplaceChild(intindex,SoNode*newChild)voidreplaceChild(SoNode*oldChild,SoNode*newChild)

          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