RDom::RDom(const DynImage &im) : x(), y(), z(), w(), contents(new RDom::Contents) { for (int i = 0; i < im.dimensions(); i++) { contents->vars.push_back(RVar(*this, 0, im.size(i), im.name() + "_r" + int_to_str(i))); // Connelly: ostringstream broken in Python binding, use string + instead } if (im.dimensions() > 0) x = contents->vars[0]; if (im.dimensions() > 1) y = contents->vars[1]; if (im.dimensions() > 2) z = contents->vars[2]; if (im.dimensions() > 3) w = contents->vars[3]; }
void UniformImage::operator=(const DynImage &image) { assert(image.type() == contents->t); assert((size_t)image.dimensions() == contents->sizes.size()); contents->image.reset(new DynImage(image)); }