SoWWWAnchor Class Reference
Node Classes

The SoWWWAnchor class adds URL callbacks to the highlighted geometry. More...

`#include <Inventor/nodes/SoWWWAnchor.h>`

Inheritance diagram for SoWWWAnchor:

## Public Types

enum | Mapping { NONE , POINT }
Public Types inherited from SoLocateHighlight
enum | Modes { AUTO , ON , OFF }
enum | Styles { EMISSIVE , EMISSIVE_DIFFUSE }
Public Types inherited from SoSeparator
enum | CacheEnabled { OFF , ON , AUTO }
Public Types inherited from SoNode

enum

NodeType {
INVENTOR = 0x0000 , VRML1 = 0x0001 , VRML2 = 0x0002 , INVENTOR_1 = 0x0004 ,
INVENTOR_2_0 = 0x0008 , INVENTOR_2_1 = 0x0010 , INVENTOR_2_5 = 0x0020 , INVENTOR_2_6 = 0x0040 ,
COIN_1_0 = 0x0080 , COIN_2_0 = 0x0100 , EXTENSION = 0x0200 , COIN_2_2 = 0x0400 ,
COIN_2_3 = 0x0800 , COIN_2_4 = 0x1000 , INVENTOR_5_0 = 0x2000 , COIN_2_5 = 0x4000 ,
COIN_3_0 = 0x8000 , INVENTOR_6_0 = 0x10000 , COIN_4_0 = 0x20000
}

## Public Member Functions

virtual SoType | getTypeId (void) const
| SoWWWAnchor (void)
void | setFullURLName (const SbString &url)
const SbString & | getFullURLName (void)
virtual void | handleEvent (SoHandleEventAction *action)
Public Member Functions inherited from SoLocateHighlight
| SoLocateHighlight (void)
virtual void | GLRenderBelowPath (SoGLRenderAction *action)
virtual void | GLRenderInPath (SoGLRenderAction *action)
Public Member Functions inherited from SoSeparator
| SoSeparator (void)
| SoSeparator (const int nchildren)
virtual void | doAction (SoAction *action)
virtual void | GLRender (SoGLRenderAction *action)
virtual void | GLRenderOffPath (SoGLRenderAction *action)
virtual void | callback (SoCallbackAction *action)
virtual void | getBoundingBox (SoGetBoundingBoxAction *action)
virtual void | getMatrix (SoGetMatrixAction *action)
virtual void | rayPick (SoRayPickAction *action)
virtual void | search (SoSearchAction *action)
virtual void | getPrimitiveCount (SoGetPrimitiveCountAction *action)
virtual void | audioRender (SoAudioRenderAction *action)
virtual void | notify (SoNotList *nl)
virtual SbBool | affectsState (void) const
Public Member Functions inherited from SoGroup
| SoGroup (void)
| SoGroup (int nchildren)
virtual void | addChild (SoNode *node)
virtual void | insertChild (SoNode *child, int newchildindex)
virtual SoNode * | getChild (int index) const
virtual int | findChild (const SoNode *node) const
virtual int | getNumChildren (void) const
virtual void | removeChild (int childindex)
virtual void | removeChild (SoNode *child)
virtual void | removeAllChildren (void)
virtual void | replaceChild (int index, SoNode *newchild)
virtual void | replaceChild (SoNode *oldchild, SoNode *newchild)
virtual void | pick (SoPickAction *action)
virtual void | write (SoWriteAction *action)
virtual SoChildList * | getChildren (void) const
virtual void | addWriteReference (SoOutput *out, SbBool isfromfield=FALSE)
Public Member Functions inherited from SoNode
void | setOverride (const SbBool state)
SbBool | isOverride (void) const
void | setNodeType (const NodeType type)
NodeType | getNodeType (void) const
virtual SoNode * | copy (SbBool copyconnections=FALSE) const
virtual void | grabEventsSetup (void)
virtual void | grabEventsCleanup (void)
virtual void | startNotify (void)
SbUniqueId | getNodeId (void) const
virtual void | writeInstance (SoOutput *out)
virtual SoNode * | addToCopyDict (void) const
virtual SoFieldContainer * | copyThroughConnection (void) const
Public Member Functions inherited from SoFieldContainer
void | setToDefaults (void)
SbBool | hasDefaultValues (void) const
SbBool | fieldsAreEqual (const SoFieldContainer *container) const
void | copyFieldValues (const SoFieldContainer *container, SbBool copyconnections=FALSE)
SbBool | set (const char *const fielddata)
void | get (SbString &fielddata)
virtual int | getFields (SoFieldList &l) const
virtual int | getAllFields (SoFieldList &l) const
virtual SoField * | getField (const SbName &name) const
virtual SoField * | getEventIn (const SbName &name) const
virtual SoField * | getEventOut (const SbName &name) const
SbBool | getFieldName (const SoField *const field, SbName &name) const
SbBool | enableNotify (const SbBool flag)
SbBool | isNotifyEnabled (void) const
SbBool | set (const char *fielddata, SoInput *input)
void | get (SbString &fielddata, SoOutput *out)
virtual SbBool | validateNewFieldValue (SoField *field, void *newval)
SbBool | getIsBuiltIn (void) const
virtual void | getFieldsMemorySize (size_t &managed, size_t &unmanaged) const
void | setUserData (void *userdata) const
void * | getUserData (void) const
Public Member Functions inherited from SoBase
void | ref (void) const
void | unref (void) const
void | unrefNoDelete (void) const
int32_t | getRefCount (void) const
void | touch (void)
SbBool | isOfType (SoType type) const
| Returns `TRUE` if the type of this object is either of the same type or inherited from type.
virtual SbName | getName (void) const
virtual void | setName (const SbName &newname)
void | addAuditor (void *const auditor, const SoNotRec::Type type)
void | removeAuditor (void *const auditor, const SoNotRec::Type type)
const SoAuditorList & | getAuditors (void) const
SbBool | shouldWrite (void)
void | assertAlive (void) const

## Static Public Member Functions

static SoType | getClassTypeId (void)
static void | initClass (void)
| Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
static void | setFetchURLCallBack (SoWWWAnchorCB *f, void *userData)
static void | setHighlightURLCallBack (SoWWWAnchorCB *f, void *userData)
Static Public Member Functions inherited from SoLocateHighlight
static SoType | getClassTypeId (void)
static void | initClass (void)
| Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
static void | turnOffCurrentHighlight (SoGLRenderAction *action)
Static Public Member Functions inherited from SoSeparator
static SoType | getClassTypeId (void)
static void | initClass (void)
| Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
static void | setNumRenderCaches (const int howmany)
static int | getNumRenderCaches (void)
Static Public Member Functions inherited from SoGroup
static SoType | getClassTypeId (void)
static void | initClass (void)
| Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
Static Public Member Functions inherited from SoNode
static uint32_t | getCompatibilityTypes (const SoType &nodetype)
static SoType | getClassTypeId (void)
static SoNode * | getByName (const SbName &name)
static int | getByName (const SbName &name, SoNodeList &l)
static void | initClass (void)
| Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
static void | initClasses (void)
static SbUniqueId | getNextNodeId (void)
static int | getActionMethodIndex (const SoType type)
static void | getBoundingBoxS (SoAction *action, SoNode *node)
static void | GLRenderS (SoAction *action, SoNode *node)
static void | callbackS (SoAction *action, SoNode *node)
static void | getMatrixS (SoAction *action, SoNode *node)
static void | handleEventS (SoAction *action, SoNode *node)
static void | pickS (SoAction *action, SoNode *node)
static void | rayPickS (SoAction *action, SoNode *node)
static void | searchS (SoAction *action, SoNode *node)
static void | writeS (SoAction *action, SoNode *node)
static void | audioRenderS (SoAction *action, SoNode *node)
static void | getPrimitiveCountS (SoAction *action, SoNode *node)
Static Public Member Functions inherited from SoFieldContainer
static void | initClass (void)
| Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
static SoType | getClassTypeId (void)
| This static method returns the SoType object associated with objects of this class.
static void | cleanupClass (void)
static void | initCopyDict (void)
static void | addCopy (const SoFieldContainer *orig, const SoFieldContainer *copy)
static SoFieldContainer * | checkCopy (const SoFieldContainer *orig)
static SoFieldContainer * | findCopy (const SoFieldContainer *orig, const SbBool copyconnections)
static void | copyDone (void)
Static Public Member Functions inherited from SoBase
static void | initClass (void)
| Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system.
static SoType | getClassTypeId (void)
| This static method returns the SoType object associated with objects of this class.
static void | addName (SoBase *const base, const char *const name)
static void | removeName (SoBase *const base, const char *const name)
static void | incrementCurrentWriteCounter (void)
static void | decrementCurrentWriteCounter (void)
static SoBase * | getNamedBase (const SbName &name, SoType type)
static int | getNamedBases (const SbName &name, SoBaseList &baselist, SoType type)
static SbBool | read (SoInput *input, SoBase *&base, SoType expectedtype)
static void | setInstancePrefix (const SbString &c)
static void | setTraceRefs (SbBool trace)
static SbBool | getTraceRefs (void)
static SbBool | connectRoute (SoInput *input, const SbName &fromnodename, const SbName &fromfieldname, const SbName &tonodename, const SbName &tofieldname)
static SbBool | readRoute (SoInput *input)

## Public Attributes

SoSFString | name
SoSFString | description
SoSFEnum | map
Public Attributes inherited from SoLocateHighlight
SoSFColor | color
SoSFEnum | style
SoSFEnum | mode
Public Attributes inherited from SoSeparator
SoSFEnum | renderCaching
SoSFEnum | boundingBoxCaching
SoSFEnum | renderCulling
SoSFEnum | pickCulling

## Protected Member Functions

virtual const SoFieldData * | getFieldData (void) const
virtual | ~SoWWWAnchor ()
virtual void | redrawHighlighted (SoAction *act, SbBool isNowHighlighting)
Protected Member Functions inherited from SoLocateHighlight
virtual | ~SoLocateHighlight ()
Protected Member Functions inherited from SoSeparator
virtual | ~SoSeparator ()
virtual SbBool | cullTest (SoState *state)
virtual SbBool | cullTest (SoGLRenderAction *action, int &cullresults)
virtual SbBool | readInstance (SoInput *in, unsigned short flags)
Protected Member Functions inherited from SoGroup
virtual | ~SoGroup ()
virtual SbBool | readChildren (SoInput *in)
virtual void | copyContents (const SoFieldContainer *from, SbBool copyconnections)
virtual SoNotRec | createNotRec (void)
void | setOperation (const SoNotRec::OperationType opType=SoNotRec::UNSPECIFIED, const SoNode *cc=NULL, const SoNode *pc=NULL, const int ci=-1)
Protected Member Functions inherited from SoNode
| SoNode (void)
virtual | ~SoNode ()
Protected Member Functions inherited from SoFieldContainer
| SoFieldContainer (void)
virtual | ~SoFieldContainer ()
Protected Member Functions inherited from SoBase
| SoBase (void)
virtual | ~SoBase ()
virtual void | destroy (void)
SbBool | hasMultipleWriteRefs (void) const
SbBool | writeHeader (SoOutput *out, SbBool isgroup, SbBool isengine) const
void | writeFooter (SoOutput *out) const
virtual const char * | getFileFormatName (void) const

## Static Protected Member Functions

static const SoFieldData ** | getFieldDataPtr (void)
Static Protected Member Functions inherited from SoLocateHighlight
static const SoFieldData ** | getFieldDataPtr (void)
Static Protected Member Functions inherited from SoSeparator
static const SoFieldData ** | getFieldDataPtr (void)
Static Protected Member Functions inherited from SoGroup
static const SoFieldData ** | getFieldDataPtr (void)
Static Protected Member Functions inherited from SoNode
static const SoFieldData ** | getFieldDataPtr (void)
static void | setNextActionMethodIndex (int index)
static int | getNextActionMethodIndex (void)
static void | incNextActionMethodIndex (void)
static void | setCompatibilityTypes (const SoType &nodetype, const uint32_t bitmask)
Static Protected Member Functions inherited from SoBase
static uint32_t | getCurrentWriteCounter (void)
static void | staticDataLock (void)
static void | staticDataUnlock (void)

## Additional Inherited Members

Protected Types inherited from SoBase
enum | BaseFlags { IS_ENGINE = 0x01 , IS_GROUP = 0x02 }
Protected Attributes inherited from SoGroup
SoChildList * | children
Protected Attributes inherited from SoNode
SbUniqueId | uniqueId
Protected Attributes inherited from SoFieldContainer
SbBool | isBuiltIn
Static Protected Attributes inherited from SoNode
static SbUniqueId | nextUniqueId = 1
static int | nextActionMethodIndex = 0

## Detailed Description

The SoWWWAnchor class adds URL callbacks to the highlighted geometry.

In addition to highlighting geometry under the cursor, the application programmer can set callbacks. It is possible to set one callback for picking, the fetch callback, and one callback for highlighting.

    #Inventor V2.1 ascii

    WWWAnchor {
       name "https://github.com/coin3d/coin/egg.iv"
       description "Easter Egg"

       Separator {
          Transform { scaleFactor 0.8 1.2 0.8 }
          Sphere { }
       }
    }

FILE FORMAT/DEFAULTS:

WWWAnchor {
renderCaching AUTO
boundingBoxCaching AUTO
renderCulling AUTO
pickCulling AUTO
color 0.3 0.3 0.3
style EMISSIVE
mode AUTO
name "<Undefined URL>"
description ""
map NONE
}
SoLocateHighlight::color
SoSFColor color
Definition SoLocateHighlight.h:61
SoLocateHighlight::AUTO
@ AUTO
Definition SoLocateHighlight.h:54
SoLocateHighlight::style
SoSFEnum style
Definition SoLocateHighlight.h:62
SoLocateHighlight::mode
SoSFEnum mode
Definition SoLocateHighlight.h:63
SoLocateHighlight::EMISSIVE
@ EMISSIVE
Definition SoLocateHighlight.h:58
SoSeparator::boundingBoxCaching
SoSFEnum boundingBoxCaching
Definition SoSeparator.h:59
SoSeparator::renderCaching
SoSFEnum renderCaching
Definition SoSeparator.h:58
SoSeparator::renderCulling
SoSFEnum renderCulling
Definition SoSeparator.h:60
SoSeparator::pickCulling
SoSFEnum pickCulling
Definition SoSeparator.h:61
SoWWWAnchor::map
SoSFEnum map
Definition SoWWWAnchor.h:64
SoWWWAnchor::NONE
@ NONE
Definition SoWWWAnchor.h:59
SoWWWAnchor::description
SoSFString description
Definition SoWWWAnchor.h:63
SoWWWAnchor::name
SoSFString name
Definition SoWWWAnchor.h:62

Since
  SGI Inventor 2.1

## Member Enumeration Documentation

## Mapping

enum SoWWWAnchor::Mapping

Enum that says how a picked node's position should be mapped to the URL.

Enumerator
NONE | The position of the picked node is not mapped to the URL.

POINT

The position of the picked node is mapped to the URL as object space coordinates, adding a parameter string to the end of the URL. To assure that the URL works with all browsers, the coordinates are divided by commas sent as the hex representation.

If a model by the name of sim.wrl resided at https://github.com/coin3d/ and the picked point had the coordinates [1.5, 10, 6.77], the resulting URL would be "https://github.com/coin3d/sim.wrl?1.5%2c10%2c6.77".

## Constructor & Destructor Documentation

## SoWWWAnchor()

SoWWWAnchor::SoWWWAnchor | ( | void |  | ) |

Constructor.

## ~SoWWWAnchor()

SoWWWAnchor::~SoWWWAnchor | ( |  | ) |

protected virtual

Destructor.

## Member Function Documentation

## getClassTypeId()

SoType SoWWWAnchor::getClassTypeId | ( | void |  | ) |

static

This static method returns the SoType object associated with objects of this class.

## getTypeId()

SoType SoWWWAnchor::getTypeId | ( | void |  | ) | const

virtual

Returns the type identification of an object derived from a class inheriting SoBase. This is used for runtime type checking and "downward" casting.

Reimplemented from SoLocateHighlight.

## getFieldDataPtr()

const SoFieldData ** SoWWWAnchor::getFieldDataPtr | ( | void |  | ) |

static protected

This API member is considered internal to the library, as it is not likely to be of interest to the application programmer.
Returns the SoFieldData class which holds information about fields in this node.

## getFieldData()

const SoFieldData * SoWWWAnchor::getFieldData | ( | void |  | ) | const

protected virtual

Returns a pointer to the class-wide field data storage object for this instance. If no fields are present, returns `NULL`.

Reimplemented from SoLocateHighlight.

## setFullURLName()

void SoWWWAnchor::setFullURLName | ( | const SbString & | url | ) |

Sets the full URL to url. If this is set, this URL will be used in callbacks instead of the URL set in SoWWWAnchor::name.

See also
  SoWWWAnchor::getFullURLName()

## getFullURLName()

const SbString & SoWWWAnchor::getFullURLName | ( | void |  | ) |

Returns the full URL if it is set by SoWWWAnchor::setFullURLName(). Otherwise the contents of SoWWWAnchor::name is returned.

See also
  SoWWWAnchor::setFullURLName()

## handleEvent()

void SoWWWAnchor::handleEvent | ( | SoHandleEventAction * | action | ) |

virtual

Action method for SoHandleEventAction.

Inspects the event data from action, and processes it if it is something which this node should react to.

Nodes influencing relevant state variables for how event handling is done also override this method.

Reimplemented from SoLocateHighlight.

## setFetchURLCallBack()

void SoWWWAnchor::setFetchURLCallBack | ( | SoWWWAnchorCB * | f,
|  | void * | userData )

static

Sets the callback function f that is called when a SoWWWAnchor node is clicked on. This callback can among other things be used to provide a browser with the URL of this node.

The callback will be called with the URL, userData and a pointer to this node as arguments.

## setHighlightURLCallBack()

void SoWWWAnchor::setHighlightURLCallBack | ( | SoWWWAnchorCB * | f,
|  | void * | userData )

static

Sets the callback function f that is called when a SoWWWAnchor node is highlighted. This callback can among other things be used to provide the user with a visual clue on which URL the node points to, for example by showing the URL as a string.

The callback will be called with the URL, userData and a pointer to this node as arguments.

## redrawHighlighted()

void SoWWWAnchor::redrawHighlighted | ( | SoAction * | act,
|  | SbBool | isNowHighlighting )

protected virtual

Calls the highlight callback set up with SoWWWAnchor::setHighlightURLCallBack().

Reimplemented from SoLocateHighlight.

## Member Data Documentation

## name

SoSFString SoWWWAnchor::name

The name of the URL which the anchor points to.

## description

SoSFString SoWWWAnchor::description

The description of the URL.

## map

SoSFEnum SoWWWAnchor::map

Enum describing how a node's position should be mapped to the URL.

The documentation for this class was generated from the following files:

- SoWWWAnchor.h
- SoWWWAnchor.cpp