Provided by: inventor-doc_2.1.5-10+dfsg-2.1build2_all bug

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

                                                                                              SoWWWInline(3IV)()