示例#1
0
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 ;
}
示例#2
0
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;
	}
}