SoWWWInline(3IV)

NAME
SoWWWInline — node that refers to children through a URL

INHERITS FROM
SoBase > SoFieldContainer > SoNode > SoWWWInline

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

typedef void
SoWWWInlineFetchURLCB(const SbString &url, void *userData, SoWWWInline *node)

enum BboxVisibility {
SoWWWInline::NEVER
Do not show bounding box
SoWWWInline::UNTIL_LOADED
Show bounding box (if specified) until data is loaded
SoWWWInline::ALWAYS
Show bounding box along with data
}

Fields from class SoWWWInline:

SoSFString
name
SoSFVec3f
bboxCenter
SoSFVec3f
bboxSize
SoSFNode
alternateRep

Methods from class SoWWWInline:

SoWWWInline()
static SoType
getClassTypeId()
void
setFullURLName(const SbString &url)
const SbString &
getFullURLName()
SoGroup *
copyChildren() const
void
requestURLData()
SbBool
isURLDataRequested() const
SbBool
isURLDataHere() const
void
cancelURLDataRequest()
void
setChildData(SoNode *urlData)
SoNode *
getChildData() const
static void
setFetchURLCallBack(SoWWWInlineFetchURLCB *f, void *userData)
static void
setBoundingBoxVisibility(BboxVisibility b)
static BboxVisibility
getBoundingBoxVisibility()
static void
setBoundingBoxColor(SbColor &c)
static const SbColor &
getBoundingBoxColor()

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 refers to children through a URL (Universal Resource Locator). The application is responsible for actually fetching data from the URL for an SoWWWInline node to display.

FIELDS
SoSFString
name
Specifies the URL which the application should fetch as child data to this node (e.g. "http://bogus.com/homeWorld.wrl.gz").

SoSFVec3f
bboxCenter
Defines the center of the bounding box surrounding the URL child data.

SoSFVec3f
bboxSize
Defines the size of the bounding box surrounding the URL child data.

SoSFNode
alternateRep
Specifies child data that can be used instead of fetching data from the URL. On read, if this field is set and there is no fetch URL callback registered, the alternateRep will be used as the child data. Otherwise, it is the applications responsibility to set the child data (see setChildData()).

METHODS

SoWWWInline()
Creates an inline 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 inline 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.

SoGroup *
copyChildren() const
Return a copy of the hidden children as a Group. The children are set by the application through setChildData().

void
requestURLData()
Request that URL data be fetched. This will invoke the application callback to actually fetch the data and can be called before the inline does this for itself (see setFetchURLCallBack()).

SbBool
isURLDataRequested() const
SbBool
isURLDataHere() const
Return whether URL data has been requested and whether that data is here (i.e. whether setChildData() has been called.)

void
cancelURLDataRequest()
Cancel the active URL data fetch request.

void
setChildData(SoNode *urlData)
SoNode *
getChildData() const
Set/get the child data the inline should display. The application should set child data after it has fetched data for an inline node.

static void
setFetchURLCallBack(SoWWWInlineFetchURLCB *f, void *userData)
Application callbacks invoked when the inline needs its URL data fetched. This happens the first time the inline is rendered, or if it needs to compute a bounding box and the bboxSize field is not set, or when requestURLData() is called.

static void
setBoundingBoxVisibility(BboxVisibility b)
static BboxVisibility
getBoundingBoxVisibility()
This allows the application to specify when bounding boxes are displayed. The bounding box can be rendered along with the children (ALWAYS), only until the child data is loaded (UNTIL_LOADED), or not at all (NEVER). Default is UNTIL_LOADED

static void
setBoundingBoxColor(SbColor &c)
static const SbColor &
getBoundingBoxColor()
This allows the application to specify the color of bounding boxes displayed.

ACTION BEHAVIOR
SoGLRenderAction
This renders the child data if it has been set by the application. It will render a wireframe bounding box as specified by the bboxCenter and bboxSize fields, and the setting passed to setBoundingBoxVisibility(). If no fetch URL callback is set and the alternateRep is not NULL, the alternateRep will be rendered until child data has been set.

FILE FORMAT/DEFAULTS
WWWInline {
name	"<Undefined file>"
bboxCenter	0 0 0
bboxSize	0 0 0
alternateRep	NULL
}

SEE ALSO
SoWWWAnchor, SoFile