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