Marcus (Marcus++at++multigenuunet.uu.net)
Wed, 23 Feb 1994 16:05:18 PST
Thanks for getting back to me with the good news. I'll post the results for
the general public now. As for your followup questions:
1) The cost of disabling cleanTree is not great. Traversal of additional
pfNodes is the price you pay and this is not so bad.
2) It is true that MultiGen objects are generally deleted. This is because
they are converted to pfGroups mostly to preserve their names in the scene
graph. Certain hierarchies can cause groups to disappear as well, so I
would recommend using the CB_CLEANNODE callback for protection. You also
have the option of obtaining the source to modify the behavior of cleanTree.
For instance, you could tag pfGroups that correspond to objects so that
cleanTree leaves them alone. Incidentally, future revisions of the loader
will probably allow the application to veto the deletion of pfNodes by
cleanTree.
3) "Appropriate action" generally means that the application [can] no longer
count on the existence of the soon-to-be-deleted node. Unfortunately, the
node has already been unlinked from the scene graph when you are called with
a CB_CLEANNODE. It is to late to change this for the current release of the
loader, but again, you could obtain the source and reverse the order of the
unlink and callback calls.
Good Luck,
Paul Mlyniec
Software Systems
--------------------------------------
Date: 2/23/94 7:55 AM
To: Paul
From: Infobyte S.R.L.
From guest Fri Feb 25 08:56:25 1994
From: Renee Strong <renee++at++pat.mdc.com>
Message-Id: <9402251656.AA06101++at++pat.mdc.com>
Subject: bounding boxes
To: info-performer++at++sgi.sgi.com
Date: Fri, 25 Feb 94 10:56:13 CST
X-Mailer: ELM [version 2.3 PL11]
Status: O
I have performer 1.0 running on a personal IRIS. If I understand the
documentation right, using pfNodeBBox with the pfBox NULL and the matrix
NULL should have performer create a bounding box for me. I am getting
back all zeros in the pfBox structure. I am trying to get performer to
create a bounding box around a pfGeode. The pfGeode is not attached to a
pfDCS or anything else for that matter. What am I doing wrong???
pfGeode *geode;
pfBox *bbox = NULL;
geode = loadModel();
if (!geode) return(NULL);
pfNodeBBox(geode, bbox, NULL, PFN_BMODE_STATIC);
cout << "bbox->min:"<<bbox->min[0]<<bbox->min[1]<<bbox->min[2]<<"\n";
cout << "bbox->max:"<<bbox->max[0]<<bbox->max[1]<<bbox->max[2]<<"\n";
Thanks
Renee Strong
renee++at++pat.mdc.com
This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:50:11 PDT