'\"! tbl | mmdoc '\"macro stdmacro .ie n \{\ . ds Cr \fB . ds Cb \fB .\} .el \{\ . ds Cr \f7 . ds Cb \f8 .\} .TH SoWWWInline(3IV) .SH NAME SoWWWInline \(em node that refers to children through a URL .SH INHERITS FROM SoBase > SoFieldContainer > SoNode > SoWWWInline .SH SYNOPSIS .ps -1 \*(Cr#include .sp .ta 20m .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Crtypedef void .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbSoWWWInlineFetchURLCB\*(Cr(const SbString &url, void *userData, SoWWWInline *node) .sp .in 0.5i \*(Crenum \*(CbBboxVisibility\*(Cr { .in 1i .ta 27m .in 1.5i+27n .ti 1i .ta 27m .ds Pt \*(CbSoWWWInline::NEVER\f1 .ie \w'\*(Pt'>=27n \{\ .ne 3 \*(Pt .ti 1i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} Do not show bounding box .br .in 1.5i+27n .ti 1i .ta 27m .ds Pt \*(CbSoWWWInline::UNTIL_LOADED\f1 .ie \w'\*(Pt'>=27n \{\ .ne 3 \*(Pt .ti 1i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} Show bounding box (if specified) until data is loaded .br .in 1.5i+27n .ti 1i .ta 27m .ds Pt \*(CbSoWWWInline::ALWAYS\f1 .ie \w'\*(Pt'>=27n \{\ .ne 3 \*(Pt .ti 1i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} Show bounding box along with data .br .in 0.5i \*(Cr} .sp .in 1i \f1Fields from class SoWWWInline: .in 0.5i .sp .ta 20m .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(CrSoSFString .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(Cbname .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(CrSoSFVec3f .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbbboxCenter .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(CrSoSFVec3f .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbbboxSize .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(CrSoSFNode .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbalternateRep .sp .in 1i \f1Methods from class SoWWWInline: .in 0.5i .sp .ta 24m .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Cr .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbSoWWWInline\*(Cr() .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crstatic SoType .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetClassTypeId\*(Cr() .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbsetFullURLName\*(Cr(const SbString &url) .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crconst SbString & .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetFullURLName\*(Cr() .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(CrSoGroup * .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbcopyChildren\*(Cr() const .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbrequestURLData\*(Cr() .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(CrSbBool .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbisURLDataRequested\*(Cr() const .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(CrSbBool .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbisURLDataHere\*(Cr() const .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbcancelURLDataRequest\*(Cr() .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbsetChildData\*(Cr(SoNode *urlData) .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(CrSoNode * .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetChildData\*(Cr() const .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crstatic void .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbsetFetchURLCallBack\*(Cr(SoWWWInlineFetchURLCB *f, void *userData) .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crstatic void .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbsetBoundingBoxVisibility\*(Cr(BboxVisibility b) .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crstatic BboxVisibility .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetBoundingBoxVisibility\*(Cr() .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crstatic void .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbsetBoundingBoxColor\*(Cr(SbColor &c) .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crstatic const SbColor & .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetBoundingBoxColor\*(Cr() .sp .in 1i \f1Methods from class SoNode: .in 0.5i .sp .ta 20m .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbsetOverride\*(Cr(SbBool state) .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(CrSbBool .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbisOverride\*(Cr() const .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(CrSoNode * .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(Cbcopy\*(Cr(SbBool copyConnections = FALSE) const .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Crvirtual SbBool .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbaffectsState\*(Cr() const .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Crstatic SoNode * .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetByName\*(Cr(const SbName &name) .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Crstatic int .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetByName\*(Cr(const SbName &name, SoNodeList &list) .sp .in 1i \f1Methods from class SoFieldContainer: .in 0.5i .sp .ta 20m .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbsetToDefaults\*(Cr() .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(CrSbBool .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbhasDefaultValues\*(Cr() const .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(CrSbBool .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbfieldsAreEqual\*(Cr(const SoFieldContainer *fc) const .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbcopyFieldValues\*(Cr(const SoFieldContainer *fc, SbBool copyConnections = FALSE) .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(CrSbBool .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(Cbset\*(Cr(const char *fieldDataString) .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(Cbget\*(Cr(SbString &fieldDataString) .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Crvirtual int .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetFields\*(Cr(SoFieldList &resultList) const .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Crvirtual SoField * .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetField\*(Cr(const SbName &fieldName) const .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(CrSbBool .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetFieldName\*(Cr(const SoField *field, SbName &fieldName) const .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(CrSbBool .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbisNotifyEnabled\*(Cr() const .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(CrSbBool .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbenableNotify\*(Cr(SbBool flag) .sp .in 1i \f1Methods from class SoBase: .in 0.5i .sp .ta 20m .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(Cbref\*(Cr() .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(Cbunref\*(Cr() const .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbunrefNoDelete\*(Cr() const .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(Cbtouch\*(Cr() .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Crvirtual SoType .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetTypeId\*(Cr() const .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(CrSbBool .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbisOfType\*(Cr(SoType type) const .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Crvirtual void .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbsetName\*(Cr(const SbName &name) .br .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(Crvirtual SbName .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetName\*(Cr() const .sp .SH 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. .SH FIELDS .ta 20m .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(CrSoSFString .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(Cbname .br .in 1i \f1Specifies the URL which the application should fetch as child data to this node (e.g. "http://bogus.com/homeWorld.wrl.gz"). .sp .in 0.5i .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(CrSoSFVec3f .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbbboxCenter .br .in 1i \f1Defines the center of the bounding box surrounding the URL child data. .sp .in 0.5i .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(CrSoSFVec3f .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbbboxSize .br .in 1i \f1Defines the size of the bounding box surrounding the URL child data. .sp .in 0.5i .in 1i+20n .ti 0.5i .ta 20m .ds Pt \*(CrSoSFNode .ie \w'\*(Pt'>=20n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbalternateRep .br .in 1i \f1Specifies 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 \*(CrsetChildData()\f1). .sp .in 0.5i .SH METHODS .ta 24m .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Cr .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbSoWWWInline\*(Cr() .br .in 1i \f1Creates an inline node with default settings. .sp .in 0.5i .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crstatic SoType .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetClassTypeId\*(Cr() .br .in 1i \f1Returns type identifier for this class. .sp .in 0.5i .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbsetFullURLName\*(Cr(const SbString &url) .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crconst SbString & .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetFullURLName\*(Cr() .br .in 1i \f1If 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. \*(CrgetFullURLName()\f1 returns the fullURL set here, or if not set, returns the contents of the name field. .sp .in 0.5i .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(CrSoGroup * .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbcopyChildren\*(Cr() const .br .in 1i \f1Return a copy of the hidden children as a Group. The children are set by the application through \*(CrsetChildData()\f1. .sp .in 0.5i .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbrequestURLData\*(Cr() .br .in 1i \f1Request 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 \*(CrsetFetchURLCallBack()\f1). .sp .in 0.5i .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(CrSbBool .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbisURLDataRequested\*(Cr() const .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(CrSbBool .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbisURLDataHere\*(Cr() const .br .in 1i \f1Return whether URL data has been requested and whether that data is here (i.e. whether \*(CrsetChildData()\f1 has been called.) .sp .in 0.5i .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbcancelURLDataRequest\*(Cr() .br .in 1i \f1Cancel the active URL data fetch request. .sp .in 0.5i .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crvoid .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbsetChildData\*(Cr(SoNode *urlData) .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(CrSoNode * .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetChildData\*(Cr() const .br .in 1i \f1Set/get the child data the inline should display. The application should set child data after it has fetched data for an inline node. .sp .in 0.5i .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crstatic void .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbsetFetchURLCallBack\*(Cr(SoWWWInlineFetchURLCB *f, void *userData) .br .in 1i \f1Application 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 \*(CrrequestURLData()\f1 is called. .sp .in 0.5i .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crstatic void .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbsetBoundingBoxVisibility\*(Cr(BboxVisibility b) .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crstatic BboxVisibility .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetBoundingBoxVisibility\*(Cr() .br .in 1i \f1This allows the application to specify when bounding boxes are displayed. The bounding box can be rendered along with the children (\*(CrALWAYS\f1), only until the child data is loaded (\*(CrUNTIL_LOADED\f1), or not at all (\*(CrNEVER\f1). Default is \*(CrUNTIL_LOADED\f1 .sp .in 0.5i .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crstatic void .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbsetBoundingBoxColor\*(Cr(SbColor &c) .br .in 1i+24n .ti 0.5i .ta 24m .ds Pt \*(Crstatic const SbColor & .ie \w'\*(Pt'>=24n \{\ .ne 3 \*(Pt .ti 0.5i \c\ \} .el\{\ .ne 2 \*(Pt \c\ \} \*(CbgetBoundingBoxColor\*(Cr() .br .in 1i \f1This allows the application to specify the color of bounding boxes displayed. .sp .in 0.5i .SH ACTION BEHAVIOR \*(CbSoGLRenderAction .br .in 1i \f1This renders the child data if it has been set by the application. It will render a wireframe bounding box as specified by the \*(CrbboxCenter\f1 and \*(CrbboxSize\f1 fields, and the setting passed to \*(CrsetBoundingBoxVisibility()\f1. If no fetch URL callback is set and \&the \*(CralternateRep\f1 is not NULL, the \*(CralternateRep\f1 will be rendered until child data has been set. .sp .in 0.5i .SH FILE FORMAT/DEFAULTS .nf \*(CrWWWInline { .in 1i .ta 14m name "" bboxCenter 0 0 0 bboxSize 0 0 0 alternateRep NULL .in 0.5i } .SH SEE ALSO \*(CbSoWWWAnchor, SoFile