SoLocateHighlight(3IV)
SoLocateHighlight (SoLocHigh) - special separator that performs locate highlighting
As shipped in IRIX 6.5.30. Added in IRIX 6.5.22.
NAME SoLocateHighlight (SoLocHigh) - special separator that performs locate highlighting INHERITS FROM SoBase > SoFieldContainer > SoNode > SoGroup > SoSeparator > SoLocateHighlight SYNOPSIS #include <Inventor_c/nodes/SoLocateHighlight.h> typedef SoLocateHighlight SoLocHigh enum SoLocateHighlightModes { SO_LOC_AUTO highlight when mouse is over (default) SO_LOC_ON always highlight SO_LOC_OFF never highlight } enum SoLocateHighlightStyles { SO_LOC_EMISSIVE changes emissive color only (default) SO_LOC_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 Functions from class SoLocateHighlight: SoLocateHighlight * SoLocHighCreate() SoType SoLocHighGetClassTypeId() Functions from class SoSeparator: void SoLocHighSetNumRenderCaches(int howMany) int SoLocHighGetNumRenderCaches() Functions from class SoGroup: void SoLocHighAddChild(SoLocHigh *this, SoNode *child) void SoLocHighInsertChild(SoLocHigh *this, SoNode *child, int newChildIndex) SoNode * SoLocHighGetChild(const SoLocHigh *this, int index) int SoLocHighFindChild(const SoLocHigh *this, const SoNode *child) int SoLocHighGetNumChildren(const SoLocHigh *this) void SoLocHighRemoveChild(SoLocHigh *this, int index) void SoLocHighRemoveChildNode(SoLocHigh *this, SoNode *child) void SoLocHighRemoveAllChildren(SoLocHigh *this) void SoLocHighReplaceChild(SoLocHigh *this, int index, SoNode *newChild) void SoLocHighReplaceChildNode(SoLocHigh *this, SoNode *oldChild, SoNode *newChild) Functions from class SoNode: void SoLocHighSetOverride(SoLocHigh *this, SbBool state) SbBool SoLocHighIsOverride(const SoLocHigh *this) SoNode * SoLocHighCopy(const SoLocHigh *this, SbBool copyConnections = FALSE) SbBool SoLocHighAffectsState(const SoLocHigh *this) SoNode * SoLocHighGetByName(const char *name) int SoLocHighGetByNameList(const char *name, SoNodeList *list) Functions from class SoFieldContainer: void SoLocHighSetToDflts(SoLocHigh *this) SbBool SoLocHighHasDfltVals(const SoLocHigh *this) SbBool SoLocHighFldsAreEq(const SoLocHigh *this, const SoFieldContainer *fc) void SoLocHighCopyFieldVals(SoLocHigh *this, const SoFieldContainer *fc, SbBool copyConnections = FALSE) SbBool SoLocHighSet(SoLocHigh *this, const char *fieldDataString) void SoLocHighGet(SoLocHigh *this, SbString *fieldDataString) int SoLocHighGetFields(const SoLocHigh *this, SoFieldList *resultList) SoField * SoLocHighGetField(const SoLocHigh *this, const char *fieldName) SbBool SoLocHighGetFieldName(const SoLocHigh *this, const SoField *field, SbName *fieldName) SbBool SoLocHighIsNotifyEnabled(const SoLocHigh *this) SbBool SoLocHighEnableNotify(SoLocHigh *this, SbBool flag) Functions from class SoBase: void SoLocHighRef(SoLocHigh *this) void SoLocHighUnref(const SoLocHigh *this) void SoLocHighUnrefNoDelete(const SoLocHigh *this) void SoLocHighTouch(SoLocHigh *this) SoType SoLocHighGetTypeId(const SoLocHigh *this) SbBool SoLocHighIsOfType(const SoLocHigh *this, SoType type) void SoLocHighSetName(SoLocHigh *this, const char *name) SbName SoLocHighGetName(const SoLocHigh *this) 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 FUNCTIONS SoLocateHighlight * SoLocHighCreate() Creates a LocateHighlight node with default settings. SoType SoLocHighGetClassTypeId() 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