Provided by: inventor-doc_2.1.5-10-18_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)()