SoLocateHighlight(3IV)

SoLocateHighlight - special separator that performs locate highlighting

Showing IRIX 6.5.30 (default release). Added in IRIX 6.5.22.

NAME
     SoLocateHighlight - special separator that performs locate highlighting

INHERITS FROM
     SoBase > SoFieldContainer > SoNode > SoGroup > SoSeparator >
     SoLocateHighlight

SYNOPSIS
     #include <Inventor/nodes/SoLocateHighlight.h>

     enum Modes {
          SoLocateHighlight::AUTO  highlight when mouse is over (default)
          SoLocateHighlight::ON    always highlight
          SoLocateHighlight::OFF   never highlight
     }

     enum Styles {
          SoLocateHighlight::EMISSIVE  changes emissive color only (default)
          SoLocateHighlight::EMISSIVE_DIFFUSE
                                       changes emissive and diffuse colors
     }

          Fields from class SoLocateHighlight:

     SoSFColor           color
     SoSFEnum            style
     SoSFEnum            mode

          Fields from class SoSeparator:

     SoSFEnum            renderCaching
     SoSFEnum            boundingBoxCaching
     SoSFEnum            renderCulling
     SoSFEnum            pickCulling

          Methods from class SoLocateHighlight:

                         SoLocateHighlight()
     static SoType       getClassTypeId()

          Methods from class SoSeparator:

     static void         setNumRenderCaches(int howMany)
     static int          getNumRenderCaches()

          Methods from class SoGroup:

     void                addChild(SoNode *child)
     void                insertChild(SoNode *child, int newChildIndex)
     SoNode *            getChild(int index) const
     int                 findChild(const SoNode *child) const

     int                 getNumChildren() const
     void                removeChild(int index)
     void                removeChild(SoNode *child)
     void                removeAllChildren()
     void                replaceChild(int index, SoNode *newChild)
     void                replaceChild(SoNode *oldChild, SoNode *newChild)

          Methods from class SoNode:

     void                setOverride(SbBool state)
     SbBool              isOverride() const
     SoNode *            copy(SbBool copyConnections = FALSE) const
     virtual SbBool      affectsState() const
     static SoNode *     getByName(const SbName &name)
     static int          getByName(const SbName &name, SoNodeList &list)

          Methods from class SoFieldContainer:

     void                setToDefaults()
     SbBool              hasDefaultValues() const
     SbBool              fieldsAreEqual(const SoFieldContainer *fc) const
     void                copyFieldValues(const SoFieldContainer *fc, SbBool
                              copyConnections = FALSE)
     SbBool              set(const char *fieldDataString)
     void                get(SbString &fieldDataString)
     virtual int         getFields(SoFieldList &resultList) const
     virtual SoField *   getField(const SbName &fieldName) const
     SbBool              getFieldName(const SoField *field, SbName &fieldName)
                              const
     SbBool              isNotifyEnabled() const
     SbBool              enableNotify(SbBool flag)

          Methods from class SoBase:

     void                ref()
     void                unref() const
     void                unrefNoDelete() const
     void                touch()
     virtual SoType      getTypeId() const
     SbBool              isOfType(SoType type) const
     virtual void        setName(const SbName &name)
     virtual SbName      getName() const


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
     SoSFColor           color
          highlighting color - default [.3, .3, .3]

     SoSFEnum            style
          highlighting draw style - default EMISSIVE

     SoSFEnum            mode
          Whether to highlight or not - default AUTO


METHODS
                         SoLocateHighlight()
          Creates a LocateHighlight node with default settings.

     static SoType       getClassTypeId()
          Returns type identifier for this class.


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.


FILE FORMAT/DEFAULTS
     LocateHighlight {
          renderCaching       AUTO
          boundingBoxCaching  AUTO
          renderCulling       AUTO
          pickCulling         AUTO
          mode                AUTO
          style               EMISSIVE
          color               0.3 0.3 0.3
     }

SEE ALSO
     SoSeparator, SoSelection, SoMaterial