1 #ifndef VTESTBED_GEOMETRY_RULED_SURFACE_HH 2 #define VTESTBED_GEOMETRY_RULED_SURFACE_HH 11 template <
class T,
class Curve>
15 using curve_type = Curve;
16 using value_type =
typename curve_type::value_type;
17 using size_type = size_t;
20 curve_type _curve1, _curve2;
26 _curve1(c), _curve2(d) {}
29 operator()(T u, T v)
const {
30 const auto& c = this->_curve1;
31 const auto& d = this->_curve2;
32 return (T{1}-v)*c(u) + v*d(u);
37 return std::max(this->_curve1.size(), this->_curve2.size());
46 #endif // vim:filetype=cpp