Grouping node that refers to children through a URL. More...
#include <Inventor/VRMLnodes/SoVRMLInline.h>
Public Types | |
enum | BboxVisibility { NEVER, UNTIL_LOADED, ALWAYS } |
Public Member Functions | |
virtual SoType | getTypeId () const |
SoVRMLInline () | |
void | setFullURLName (const SbString &urlin) |
const SbString & | getFullURLName () |
SoGroup * | copyChildren () const |
void | requestURLData () |
SbBool | isURLDataRequested () const |
SbBool | isURLDataHere () const |
void | cancelURLDataRequest () |
void | setChildData (SoNode *urlData) |
SoNode * | getChildData () const |
Static Public Member Functions | |
static SoType | getClassTypeId () |
static void | setFetchURLCallBack (SoVRMLInlineFetchURLCB *f, void *userData) |
static void | setBoundingBoxVisibility (BboxVisibility b) |
static BboxVisibility | getBoundingBoxVisibility () |
static void | setBoundingBoxColor (SbColor &c) |
static const SbColor & | getBoundingBoxColor () |
static void | setReadAsSoFile (SbBool onOff) |
static SbBool | getReadAsSoFile () |
Public Attributes | |
SoSFVec3f | bboxCenter |
SoSFVec3f | bboxSize |
SoMFFilePathString | url |
SoSFBool | load |
This node refers to children through a URL (Universal Resource Locator). The application is responsible for actually fetching data from the URL for an SoVRMLInline node to display.
NOTE: This class does not exist in Open Inventor 10.0 and later.See also the VRML97 Specification, below.
This section may reference portions of the VRML97 specification that are not present in this help file. The complete VRML97 spec is available at http://www.web3d.org .
The SoVRMLInline node is a grouping node that reads its children data from a location in the World Wide Web. Exactly when its children are read and displayed is not defined; reading the children may be delayed until the SoVRMLInline is actually visible to the viewer. The url field specifies the URL containing the children. An SoVRMLInline with an empty URL does nothing.
An Inline's URLs must refer to a valid VRML file that contains a list of children nodes at the top level. See "Concepts - Grouping and Children Nodes". The results are undefined if the URL refers to a file that is not VRML or if the file contains non-children nodes at the top level.
If multiple URLs are specified, the browser may display a URL of a lower preference file while it is obtaining, or if it is unable to obtain the higher preference file. See "Concepts - URLS and URNs" for details on the url field and preference order.
The bboxCenter and bboxSize fields specify a bounding box that encloses the SoVRMLInlines's children. This is a hint that may be used for optimization purposes. If the specified bounding box is smaller than the actual bounding box of the children at any time, then the results are undefined. A default bboxSize value, (-1 -1 -1), implies that the bounding box is not specified and if needed must be calculated by the browser. See "Concepts - Bounding Boxes" for a description of the bboxCenter and bboxSize fields.
load | TRUE |
url | [] |
bboxCenter | 0 0 0 |
bboxSize | -1 -1 -1 |
metadata | NULL |
SoSFBool | set_load (Note: Not implemented) |
SoMFFilePathString | set_url |
SoSFNode | set_metadata |
SoSFBool | load_changed (Note: Not implemented) |
SoMFFilePathString | url_changed |
SoSFNode | metadata_changed |
SoVRMLInline::SoVRMLInline | ( | ) |
Constructor.
void SoVRMLInline::cancelURLDataRequest | ( | ) | [inline] |
Cancels URL request.
SoGroup* SoVRMLInline::copyChildren | ( | ) | const |
Returns (hidden) children as Group.
static const SbColor& SoVRMLInline::getBoundingBoxColor | ( | ) | [inline, static] |
Returns the bounding box color.
static BboxVisibility SoVRMLInline::getBoundingBoxVisibility | ( | ) | [inline, static] |
Returns how bounding boxes are displayed.
SoNode* SoVRMLInline::getChildData | ( | ) | const |
Sets the child data the inline should display.
Application should call this after it has fetched data for the inline node.
static SoType SoVRMLInline::getClassTypeId | ( | ) | [static] |
Returns the type identifier for this class.
Reimplemented from SoVRMLNode.
const SbString& SoVRMLInline::getFullURLName | ( | ) |
Returns the fullURL set here, or if not set, returns the contents of the name field.
static SbBool SoVRMLInline::getReadAsSoFile | ( | ) | [inline, static] |
Gets the ReadAsSoFile flag.
virtual SoType SoVRMLInline::getTypeId | ( | ) | const [virtual] |
Returns the type identifier for this specific instance.
Reimplemented from SoVRMLNode.
SbBool SoVRMLInline::isURLDataHere | ( | ) | const [inline] |
Returns whether the URL data is here.
SbBool SoVRMLInline::isURLDataRequested | ( | ) | const [inline] |
Returns whether URL data has been requested.
void SoVRMLInline::requestURLData | ( | ) | [inline] |
Requests that URL data be fetched.
static void SoVRMLInline::setBoundingBoxColor | ( | SbColor & | c | ) | [inline, static] |
Sets the bounding box color.
static void SoVRMLInline::setBoundingBoxVisibility | ( | BboxVisibility | b | ) | [inline, static] |
Sets how bounding boxes are displayed.
void SoVRMLInline::setChildData | ( | SoNode * | urlData | ) |
Gets the child data the inline should display.
Application should call this after it has fetched data for the inline node.
static void SoVRMLInline::setFetchURLCallBack | ( | SoVRMLInlineFetchURLCB * | f, | |
void * | userData | |||
) | [static] |
Allows the viewer to fetch URLs when needed.
void SoVRMLInline::setFullURLName | ( | const SbString & | urlin | ) | [inline] |
If the url field is not a local file and 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 inline what its full URL should be.
static void SoVRMLInline::setReadAsSoFile | ( | SbBool | onOff | ) | [inline, static] |
Sets the ReadAsSoFile flag.
If TRUE, assumes that "url" points to other Inventor files on local filesystem, and loads them directly as if this were an SoFile node instead of using SoVRMLInlineFetchURLCB.
Specifies the center of a bounding box that encloses the children.
Specifies the size of a bounding box that encloses the children.
If the specified bounding box is smaller than the actual bounding box of the children at any time, then the results are undefined.
(Note: Not implemented) Controls when the Inline is read and displayed. NOTE: field available since Open Inventor 5.0
NOTE 2: This field is not compatible with VRML97. If you specify a non-default value for this field, when this node is written to a VRML file, the file will contain this incompatible field and standard VRML97 file readers will not be able to read it.
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").