static void setup(geometry_type & geom, Args const& args) { typename boost::mpl::at<Args,boost::mpl::int_<2> >::type sym = boost::fusion::at_c<2>(args); stroke const& stroke_ = sym.get_stroke(); set_join_caps(stroke_,geom); geom.generator().miter_limit(stroke_.get_miterlimit()); double scale_factor = boost::fusion::at_c<6>(args); geom.generator().width(stroke_.get_width() * scale_factor); }
static void setup(geometry_type & geom, Args const& args) { typename boost::mpl::at<Args,boost::mpl::int_<2> >::type sym = boost::fusion::at_c<2>(args); auto const& feat = boost::fusion::at_c<6>(args); auto const& vars = boost::fusion::at_c<7>(args); set_join_caps(sym, geom, feat, vars); double miterlimit = get<value_double>(sym, keys::stroke_miterlimit, feat, vars, 4.0); geom.generator().miter_limit(miterlimit); double scale_factor = boost::fusion::at_c<8>(args); double width = get<value_double>(sym, keys::stroke_width, feat, vars, 1.0); geom.generator().width(width * scale_factor); }