-- ParametricMap.mesa
-- Last changed by John Warnock June 28, 1982 4:24 pm
-- Last changed by Maureen Stone January 31, 1984 4:26:26 pm PST


DIRECTORY
    Graphics,
    CGCubic,
    GraphicsBasic USING [Vec];

ParametricMap: DEFINITIONS = {
OPEN GraphicsBasic,CGCubic,Graphics;

CubicArcFunc:TYPE = RECORD[a4,a3,a2,a1,a0:REAL];

SetMap:PROC[f:PROC[u:Vec] RETURNS [t:Vec]];

MapMoveTo: PROC[self: Graphics.Context, p:Vec] RETURNS[tp:Vec];

MapCurveTo: PROC[p1,p2,p3:Vec,point:PROC[v:Vec]];

MapLineTo: PROC[p:Vec,point:PROC[v:Vec]];

GetDirCos:PROC[t:REAL,bz:LONG POINTER TO Bezier]RETURNS[pos,dc:Vec];

GetTforArc: PROC [bz:LONG POINTER TO Bezier,arc:REAL] RETURNS [success:BOOLEAN,t:REAL];

ArcLength: PROC [bz:LONG POINTER TO Bezier] RETURNS [arc:REAL];
}.