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;
~
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.