TQ3Status QD3DSupport_DocDraw3DData( DocumentPtr theDocument ) { Q3View_StartRendering(theDocument->fView ); do { Q3Style_Submit( theDocument->fInterpolation, theDocument->fView ); Q3Style_Submit( theDocument->fBackFacing, theDocument->fView ); Q3Style_Submit( theDocument->fFillStyle, theDocument->fView ); Q3DisplayGroup_Submit( theDocument->fTrackGroup, theDocument->fView ); Q3DisplayGroup_Submit( theDocument->fGroundGroup, theDocument->fView ); } while (Q3View_EndRendering(theDocument->fView) == kQ3ViewStatusRetraverse ); Track_MoveCamera(theDocument->fCamera, theDocument->fSplinePointsPtr, theDocument->fNumSplinePoints, &theDocument->fTrackIndex); return kQ3Success ; }
void pvBBox_Get(DocumentPtr theDocument, TQ3BoundingBox *bbox) { if (theDocument->fView) { Q3View_StartBoundingBox(theDocument->fView, kQ3ComputeBoundsExact); do { if (Q3DisplayGroup_Submit(theDocument->fModel, theDocument->fView) == kQ3Failure) { Q3View_Cancel(theDocument->fView); return; } } while (Q3View_EndBoundingBox(theDocument->fView, bbox) == kQ3ViewStatusRetraverse); } else { Q3Point3D_Set(&(bbox->min), -0.1F, -0.1F, -0.1F); Q3Point3D_Set(&(bbox->max), 0.1F, 0.1F, 0.1F); bbox->isEmpty = kQ3False; } }