Require Class/basicSurfaceFromCurve

basicSurfaceFromCurve Subclass basicTube {
  ClassVar tube-f {tube-r .2} {frame 1}
  ClassVar {domain {{-pi pi 8} {Inherit}}}

  Var sf-u sf-v {sf-uv {theta t}}
  Method SetValues {} {
    Vars sf-u sf-v tube-f tube-r frame
    set sf-v [list let _r ${tube-r}]
    set i 0; if {$frame} {incr i}
    set sf-u [join [list \
      "set _i $i" \
      [list let _f ${tube-f}] \
      {foreach _e [* $_r $_f] {set _X($_i) $_e; incr _i}} \
    ] \n]
    Parent SetValues
  }

  Method Create {name {data ""}} {
    set name [Parent Create $name $data]
    if {$data == ""} {$name Data set wrapU 1}
    return $name
  }
}
