DIRECTORY Draw2d, G3dBasic, G3dDraw, G3dMatrix, G3dOctree, Imager, ImplicitDefs; ImplicitDraw: CEDAR DEFINITIONS ~ BEGIN DrawPolygon: PROC [ context: Imager.Context, surface: ImplicitDefs.Surface, polygon: G3dBasic.NatSequence, clipCube: G3dOctree.Cube ¬ NIL, directionSelect: G3dOctree.DirectionSelect ¬ xyz, forInterpress: BOOL ¬ FALSE]; DoWithPlanarContours: PROC [ octree: G3dOctree.Octree, edgeMode: ImplicitDefs.EdgeMode, valueProc: ImplicitDefs.ValueProc, threshold: REAL ¬ 1.0, connectProc: ImplicitDefs.ConnectProc, clientData: REF ANY, normal: G3dBasic.Triple, -- normal should be unit length wMin, wMax, wDelta: REAL]; DiagramProgress: PROC [ context: Imager.Context, surface: ImplicitDefs.Surface, whatChanged: REF ANY, refAny: REF ANY, view: G3dMatrix.Matrix, viewport: G3dMatrix.Viewport ¬ [], currentCube: G3dOctree.Cube ¬ NIL, drawEdges: BOOL ¬ FALSE, drawPolygons: BOOL ¬ FALSE, drawRoots: BOOL ¬ FALSE]; END. Œ ImplicitDraw.mesa Copyright Ó 1985, 1990 by Xerox Corporation. All rights reserved. Bloomenthal, August 11, 1992 4:01 pm PDT Draw the polygon in the given context, using screen coordinates in surface. Draw contours of the surface in planes receding from the eye (ala Ricci). Update the context according to the progress of the implicit evaluation. whatChanged B {NIL, $Cube, $Root, $Adapt, $Vertex, $Polygon, $Normal, $Texure}. If whatChanged is $Normal or $Texture, then refAny should be a Vertex. If whatChanged is $Adapt, then refAny should be either $Dot, $Cross, or $X. If whatChanged is $Polygon, then refAny should be a NatSequence. Ê¡•NewlineDelimiter ™™JšœB™BJ™(J˜JšÏk œG˜PJ˜—JšÐbl œœ ˜J˜šœ˜J˜šÏn œœ˜J˜Jšœ˜J˜Jšœœ˜J˜1Jšœœœ˜J™KJ™—šŸœœ˜J˜Jšœ ˜ Jšœ"˜"Jšœ œ˜Jšœ&˜&Jšœ œœ˜JšœÏc˜