SoWWWAnchor(3IV)

NAME
SoWWWAnchor — separator group node with a URL hyperlink

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

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

typedef void
SoWWWAnchorCB(const SbString &url, void *userData, SoWWWAnchor *node)

enum Mapping {
SoWWWAnchor::NONE
Do not add information to the URL
SoWWWAnchor::POINT
Add object-space coordinates to URL
}

Fields from class SoWWWAnchor:

SoSFString
name
SoSFString
description
SoSFEnum
map

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 SoWWWAnchor:

SoWWWAnchor()
static SoType
getClassTypeId()
void
setFullURLName(const SbString &url)
const SbString &
getFullURLName()
static void
setFetchURLCallBack(SoWWWAnchorCB *f, void *userData)
static void
setHighlightURLCallBack(SoWWWAnchorCB *f, void *userData)

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 node defines a separator group which has a URL (Universal Resource Locator) hyperlink. When clicked on, this node invokes an application callback to fetch the URL. The application may fetch the data itself, or call a World Wide Web browser like the HTML based Netscape Navigator or the VRML based WebSpace Navigator to load the URL.

FIELDS
SoSFString
name
URL which the application will be called back to fetch when this node is activated by a left mouse click (e.g. "http://www.sgi.com/Technology/Inventor").

SoSFString
description
A description of the URL which may make more sense to users than the URL itself (e.g. "The Open Inventor Home Page").

SoSFEnum
map
Specifies what additional information should be added to the end of the URL when passed back to the application for fetching. If set to POINT, then the x,y,z location of the object space intersection point when the mouse was clicked will be suffixed to the URL. Since the comma character does not transmit through some web browsers, it is written in hex form (e.g. if the intersection point is 17,4.5,1 the URL passed to the application callback would be "http://www.sgi.com/Technology/Inventor?17%2c4.5%2c1").

METHODS

SoWWWAnchor()
Creates an anchor node with default settings.

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

void
setFullURLName(const SbString &url)
const SbString &
getFullURLName()
If the name field contains a relative URL (e.g. "foo.wrl" instead of "http://bogus.com/foo.wrl"), the anchor cannot resolve the URL reference. This method allows the application to tell the anchor what it's full URL should be. getFullURLName() returns the fullURL set here, or if not set, returns the contents of the name field.

static void
setFetchURLCallBack(SoWWWAnchorCB *f, void *userData)
Application callbacks invoked when the mouse is clicked on an anchor so that the application can fetch the URL or call Netscape or WebSpace to fetch the URL.

static void
setHighlightURLCallBack(SoWWWAnchorCB *f, void *userData)
Application callbacks invoked when the mouse is moved over an anchor so that the app can provide feedback such as changing the cursor, or displaying the anchor description and name.

ACTION BEHAVIOR
SoHandleEventAction
When the left mouse is clicked over a child of this anchor node, the application is called back to fetch the URL (see setFetchURLCallBack()).

FILE FORMAT/DEFAULTS
WWWAnchor {
renderCaching	AUTO
boundingBoxCaching	AUTO
renderCulling	AUTO
pickCulling	AUTO
mode	AUTO
style	EMISSIVE
color	0.3 0.3 0.3
name	"<Undefined URL>"
description	""
map	NONE
}

SEE ALSO
SoWWWInline