TubeContour.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Bloomenthal, September 18, 1986 2:57:46 pm PDT
DIRECTORY Controls, Imager, IO, Matrix3d, Menus, Rope, Spline3d, TubeDefs, Vector3d;
TubeContour: CEDAR DEFINITIONS
~ BEGIN
OPEN TubeDefs;
AddContour: PROC [tube: Tube, contour: Contour];
Add the contour to the set of contours in the tube.
DivideContours: PROC [tube, tube0, tube1: Tube, t: REAL];
Divide the contours belonging to tube between tube0 and tube1 and the t dividing point.
TContour: PROC [contours: ContourSequence, circle: Contour, t: REAL] RETURNS [Contour];
Return the (possibly interpolated) contour t-way through the sequence;
If the sequence doesn't span t, then circle is returned.
Skin: PROC [tube: Tube];
Set the contour and normals fields of tube.frames
GetContourPairs: PROC [frame: Frame] RETURNS [PairSequence];
Return the sequence of pairs defining the tube hull at this frame.
PropagateCircleRes: PROC [tube: Tube, circleRes: INTEGER];
Change circular resolution to circleRes for tube.
ScreenCircleRes: PROC [tube: Tube, view: Matrix] RETURNS [INTEGER];
Return the approximately appropriate circular resolution for display of the tube section.
tube.frames is presumed defined.
END.