<> <> <> DIRECTORY Controls, Imager, IO, Matrix3d, Menus, Rope, Spline3d, TubeDefs, Vector3d; TubeStructure: CEDAR DEFINITIONS ~ BEGIN OPEN TubeDefs; PropagateCircleRes: PUBLIC PROC [tube: Tube, circleRes: NAT]; <> <<>> PropagateFrames: PROC [ tube: Tube, scale, epsilon: REAL _ 1.0, taper: REAL _ 0.0, view: Matrix _ NIL]; <> <> <> <> <<>> MakeFrames: PROC [tube: Tube, scale0, scale1, epsilon: REAL _ 1.0, view: Matrix _ NIL]; <> <> <<>> TubeResInfo: PUBLIC PROC [tube: Tube] RETURNS [nPoints, nPolys, minCres, maxCres: INTEGER]; <> <<>> GetCircle: PUBLIC PROC [res: NAT] RETURNS [PairSequence]; <> <<>> Basis: PROC [v, vv, rv: Triple] RETURNS [n, b: Triple]; <> <<>> RefMatrix: PROC [p, x, y, z: Triple, s, t: REAL, out: Matrix _ NIL] RETURNS [Matrix]; <> <<>> ScreenPick: PROC [tube: Tube, mouse: Mouse, view: Matrix, pick: Pick]; <> <<>> FindPick: PROC [tube: Tube, mouse: Mouse, view: Matrix, pick: Pick]; <> <<>> PointPick: PROC [pick: Pick]; <> <<>> SplinePick: PROC [mouse: Mouse, pick: Pick]; <> DivideSpline: PROC [pick: Pick]; <> <<>> NewSplits: PROC [pick: Pick]; <> ChangeTangent: PROC [tube: Tube, pick: Pick, tangent: Triple]; <> ChangePosition: PROC [tube: Tube, pick: Pick, change: Triple]; <> NumberSplines: PROC [tube: Tube] RETURNS [n: NAT _ 0]; <> <<>> NumberPicked: PROC [pick: Pick] RETURNS [n: NAT _ 0]; <> <<>> BeforePicked: PROC [pick: Pick] RETURNS [n: NAT _ 0]; <> <<>> AfterPicked: PROC [pick: Pick] RETURNS [n: NAT _ 0]; <> <<>> END.