void Quilt::download( Backend &backend ) { if( getDimension() == 2 ) { REAL *ps = cpts; ps += qspec[0].offset; ps += qspec[1].offset; ps += qspec[0].index * qspec[0].order * qspec[0].stride; ps += qspec[1].index * qspec[1].order * qspec[1].stride; backend.surfpts( mapdesc->getType(), ps, qspec[0].stride, qspec[1].stride, qspec[0].order, qspec[1].order, qspec[0].breakpoints[qspec[0].index], qspec[0].breakpoints[qspec[0].index+1], qspec[1].breakpoints[qspec[1].index], qspec[1].breakpoints[qspec[1].index+1] ); } else { REAL *ps = cpts; ps += qspec[0].offset; ps += qspec[0].index * qspec[0].order * qspec[0].stride; backend.curvpts( mapdesc->getType(), ps, qspec[0].stride, qspec[0].order, qspec[0].breakpoints[qspec[0].index], qspec[0].breakpoints[qspec[0].index+1] ); } }