<<>> <> <> <> DIRECTORY G3dBasic, G3dMatrix; G3dClip: CEDAR DEFINITIONS ~ BEGIN <> Pair: TYPE ~ G3dBasic.Pair; Triple: TYPE ~ G3dBasic.Triple; Quad: TYPE ~ G3dBasic.Quad; NatSequence: TYPE ~ G3dBasic.NatSequence; TripleSequence: TYPE ~ G3dBasic.TripleSequence; Matrix: TYPE ~ G3dMatrix.Matrix; ClippedPair: TYPE ~ RECORD [c0, c1: Pair, off: BOOL]; ClippedTriple: TYPE ~ RECORD [c0, c1: Triple, off: BOOL]; <> <> <<2nd edition). The argument m is the transformation matrix (from object to view space).>> <> <<>> Clipped: PROC [p: Triple, m: Matrix] RETURNS [BOOL]; <> Alphas: PROC [xp0, xp1: Quad] RETURNS [a0, a1: REAL, off: BOOL]; <> Frustum: PROC [p0, p1: Triple, m: Matrix] RETURNS [ClippedTriple]; <> FrustumH: PROC [xp0, xp1: Quad] RETURNS [ClippedTriple]; <> FrustumD: PROC [xp0, xp1: Quad] RETURNS [ClippedPair]; <> NearH: PROC [q0, q1: Quad] RETURNS [ClippedPair]; <> <> <<>> Polygon: PROC [points: TripleSequence, polygon: NatSequence] RETURNS [clipped: BOOL, newPoints: TripleSequence, newPolygon: NatSequence]; <> <<>> END.