DIRECTORY G3dBasic, G3dMatrix, G3dTube, Imager, ImplicitDefs; ImplicitTube: CEDAR DEFINITIONS ~ BEGIN Pair: TYPE ~ G3dBasic.Pair; Triple: TYPE ~ G3dBasic.Triple; Matrix: TYPE ~ G3dMatrix.Matrix; Tube: TYPE ~ G3dTube.Tube; Context: TYPE ~ Imager.Context; Sample: TYPE ~ ImplicitDefs.Sample; DistanceMode: TYPE ~ ImplicitDefs.DistanceMode; ValueProc: TYPE ~ ImplicitDefs.ValueProc; PrepareTube: PROC [tube: Tube, distanceMode: DistanceMode, measureMode: ATOM]; StartPoint: PROC [ tube: Tube, valueProc: ValueProc, threshold: REAL ¬ 1.0, measureMode: ATOM ¬ $Unspecified, spread: REAL ¬ 0.75, clientData: REF ANY ¬ NIL] RETURNS [Triple]; SampleTube: PROC [ q: Triple, tube: Tube, measureMode: ATOM, distanceMode: DistanceMode, tolerance, spread: REAL] RETURNS [Sample]; SampleTubeBranch: PROC [ q: Triple, tube: Tube, measureMode: ATOM, distanceMode: DistanceMode, tolerance, spread: REAL] RETURNS [Sample]; SampleTubeBranches: PROC [ q: Triple, tube: Tube, measureMode: ATOM, distanceMode: DistanceMode, tolerance, spread: REAL] RETURNS [Sample]; SampleTubeSegment: PROC [ q: Triple, tube: Tube, measureMode: ATOM, distanceMode: DistanceMode, tolerance, spread: REAL] RETURNS [Sample]; TextureOfTube: PROC [q: Triple, tube: Tube] RETURNS [Pair]; DiagramTube: PROC [ context: Context, view: Matrix, viewport: G3dMatrix.Viewport, q: Triple, tube: Tube, measureMode: ATOM, distanceMode: DistanceMode, tolerance, spread: REAL]; END. L ImplicitTube.mesa Copyright c 1985 by Xerox Corporation. All rights reserved. Bloomenthal, August 11, 1992 4:02 pm PDT Prepare the tube for implicit tracking. Find a starting point for implicit tracking. Return the sample for a tube given point q. Return sample at q of the first tube segment of tube or its branches, whichever greatest. Return the sample at a point q of the branches of tube. Return the sample at a point q of the tube segment. Return the u (circumferential) and v (longitudinal) texture coordinates. Diagramatically explain the derivation of SampleTube[]. Ê–•NewlineDelimiter ™™Jšœ Ïmœ1™J˜—šÐbl œžœž ˜J˜—šœž˜J˜Jšœžœ˜Jšœ žœ˜!Jšœ žœ˜"Jšœžœ˜Jšœ žœ˜!Jšœ žœ˜%Jšœžœ˜/Jšœ žœ˜*J˜šÏn œžœ7žœ˜NJ™'J™—š  œžœ˜J˜ J˜Jšœ žœ˜Jšœ žœ˜!Jšœžœ˜Jšœ žœžœžœ˜Jšžœ ˜J™,J™—š  œžœ˜J˜ J˜ Jšœ žœ˜J˜Jšœžœ˜Jšžœ ˜J™+J™—š œžœ˜J˜ J˜ Jšœ žœ˜J˜Jšœžœ˜Jšžœ ˜J™YJ˜—š œžœ˜J˜ J˜ Jšœ žœ˜Jšœ˜Jšœžœ˜Jšžœ ˜J™7J˜—š œžœ˜J˜ J˜ Jšœ žœ˜Jšœ˜Jšœžœ˜Jšžœ ˜J™3J˜—š  œžœžœ˜;J™HJ™—š  œžœ˜J˜J˜ J˜J˜ J˜ Jšœ žœ˜Jšœ˜Jšœžœ˜J™7J™——Jšžœ˜—…—¬ Ž