Require Class/basicCurve

basicCurve Subclass basicCurveOnSurface {
  Var function
  ClassVar f-xy
  ClassVar {linkable-types basicSurface}

  Method SetValues {} {
    set [var function] \
      "[val f-xy]; [Self Reference Object] F \$_X(0) \$_X(1)"
  }

  Method Fuv {t} {
    Vars f-xy f-setup
    upvar [val param] param
    catch {set oldt $param}
    set param [uplevel expr double($t)]
    eval ${f-setup}
    _script(Run) ${f-xy}
    set P [uplevel {list $_X(0) $_X(1)}]
    catch {set param $oldt}
    return $P
  }
}
