Provided by: inventor-doc_2.1.6+ds-2_all bug

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

                                                                                        SoLocateHighlight(3IV)()