SoWWWInline(3IV)

SoWWWInline - node that refers to children through a URL

As shipped in IRIX 6.5.30. Added in IRIX 6.5.22.

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