table of contents
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