Scroll to navigation

SoWWWInline(3IV)() 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