SoLocateHighlight — special separator that performs locate highlighting
Contents
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