/usr/share/axiom-20170501/src/algebra/TUBE.spad is in axiom-source 20170501-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | )abbrev domain TUBE TubePlot
++ Author: Clifton J. Williamson
++ Date Created: Bastille Day 1989
++ Date Last Updated: 5 June 1990
++ Description:
++ Package for constructing tubes around 3-dimensional parametric curves.
++ Domain of tubes around 3-dimensional parametric curves.
TubePlot(Curve) : SIG == CODE where
Curve : PlottableSpaceCurveCategory
B ==> Boolean
L ==> List
Pt ==> Point DoubleFloat
SIG ==> with
getCurve : % -> Curve
++ getCurve(t) returns the \spadtype{PlottableSpaceCurveCategory}
++ representing the parametric curve of the given tube plot t.
listLoops : % -> L L Pt
++ listLoops(t) returns the list of lists of points, or the 'loops',
++ of the given tube plot t.
closed? : % -> B
++ closed?(t) tests whether the given tube plot t is closed.
open? : % -> B
++ open?(t) tests whether the given tube plot t is open.
setClosed : (%,B) -> B
++ setClosed(t,b) declares the given tube plot t to be closed if
++ b is true, or if b is false, t is set to be open.
tube : (Curve,L L Pt,B) -> %
++ tube(c,ll,b) creates a tube of the domain \spadtype{TubePlot} from a
++ space curve c of the category \spadtype{PlottableSpaceCurveCategory},
++ a list of lists of points (loops) ll and a boolean b which if
++ true indicates a closed tube, or if false an open tube.
CODE ==> add
Rep := Record(parCurve:Curve,loops:L L Pt,closedTube?:B)
getCurve plot == plot.parCurve
listLoops plot == plot.loops
closed? plot == plot.closedTube?
open? plot == not plot.closedTube?
setClosed(plot,flag) == plot.closedTube? := flag
tube(curve,ll,b) == [curve,ll,b]
|