DIRECTORY PEConstructSpline, PERefresh USING [DisableTrajectoryRefresh], PETrajectoryOps, PETypes; PEConstructSplineImpl: CEDAR PROGRAM IMPORTS PERefresh, PETrajectoryOps EXPORTS PEConstructSpline = BEGIN LinkBetaSplineSegments: PUBLIC PROCEDURE [changedSegList: PETypes.SegmentList, segment: PETypes.SegmentNodeRec] RETURNS [newSegmentList: PETypes.SegmentList] = { changedVertexList: PETypes.VertexList; newSegment: PETypes.Segment; newVertex: PETypes.Vertex; newVertexList: PETypes.VertexList; newVertex _ NEW[PETypes.VertexRec _ [point: segment.first.vertices.first.point, bias: segment.first.vertices.first.bias, tension: segment.first.vertices.first.tension]]; newVertexList _ NEW[PETypes.VertexNodeRec]; newVertexList _ NIL; [changedVertexList, ] _ PETrajectoryOps.InsertVertex[newVertexList, newVertex, NIL]; newSegment _ NEW[PETypes.SegmentRec _ [type: segment.first.type, fp: segment.first.fp, vertices: changedVertexList]]; [newSegmentList, ] _ PETrajectoryOps.InsertSegment[changedSegList, newSegment, NIL]; }; BuildBetaSplineTrajectory: PUBLIC PROCEDURE [segmentList: PETypes.SegmentList] RETURNS [splineTrajectory: PETypes.Trajectory] = { splineTrajectory _ NIL; IF segmentList # NIL THEN { splineTrajectory _ NEW[PETypes.TrajectoryRec _ [segments: segmentList]]; PERefresh.DisableTrajectoryRefresh[splineTrajectory]; }; }; END. ΞPEConstructSplineImpl.mesa Copyright (C) 1984 by Xerox Corporation. All rights reserved. Written by Pauline Ts'o on July 14, 1984 10:58:57 am PDT Routines provided for Path Editor routines to create Beta-spline trajectories. Last Edited by: Tso, July 14, 1984 10:59:09 am PDT This routine inserts a vertex at the head of a vertex list, inserts the vertex list into a segment node, and inserts the segment at the head of a segment list which it returns. ΚΉ– "Cedar" style˜Iproc– "Cedar" stylešœ™K– "Cedar" style™>K– "Cedar" stylešœ8™8J™J™NJ™2J˜šΟk ˜ Jšœ˜Jšœ œ˜+Jšœ˜Jšœ˜—J˜šœœ˜$Jšœ˜"Jšœ˜—J˜Jšœ˜šΟnœœ œHœ*˜‘J™°Jšœ'˜'Jšœ˜Jšœ˜J˜"J˜Jšœ œš˜©Jšœœ˜+Jšœœ˜JšœOœ˜TJšœ œe˜uJšœOœ˜TJ˜J˜—šžœœ œ$œ,˜‚Jšœœ˜šœœœ˜Jšœœ2˜HJšœ5˜5J˜—J˜J˜—I modheaderšœ˜J™—…—LΣ