- const Rect & bounds = objects.bounds[m_indexes[i]];
- PixelBounds pix_bounds(CPURenderBounds(bounds,view,target));
-
- Bezier control(objects.beziers[objects.data_indices[m_indexes[i]]].ToAbsolute(bounds),CPURenderBounds(Rect(0,0,1,1), view, target));
- //Debug("%s -> %s via %s", objects.beziers[objects.data_indices[m_indexes[i]]].Str().c_str(), control.Str().c_str(), bounds.Str().c_str());
- // Draw a rectangle around the bezier for debugging the bounds rectangle calculations
- ObjectRenderer::RenderLineOnCPU(pix_bounds.x, pix_bounds.y, pix_bounds.x+pix_bounds.w, pix_bounds.y, target, Colour(1,0,0,1));
- ObjectRenderer::RenderLineOnCPU(pix_bounds.x, pix_bounds.y+pix_bounds.h, pix_bounds.x+pix_bounds.w, pix_bounds.y+pix_bounds.h, target, Colour(0,1,0,1));
- ObjectRenderer::RenderLineOnCPU(pix_bounds.x, pix_bounds.y, pix_bounds.x, pix_bounds.y+pix_bounds.h, target, Colour(1,0,0,1));
- ObjectRenderer::RenderLineOnCPU(pix_bounds.x+pix_bounds.w, pix_bounds.y, pix_bounds.x+pix_bounds.w, pix_bounds.y+pix_bounds.h, target, Colour(0,1,0,1));
-
- // Draw lines between the control points for debugging
- //ObjectRenderer::RenderLineOnCPU((int64_t)control.x0, (int64_t)control.y0, (int64_t)control.x1, (int64_t)control.y1,target);
- //ObjectRenderer::RenderLineOnCPU((int64_t)control.x1, (int64_t)control.y1, (int64_t)control.x2, (int64_t)control.y2,target);
-
-
-
- Real x[2]; Real y[2];
- control.Evaluate(x[0], y[0], Real(0));
- //Debug("target is (%lu, %lu)", target.w, target.h);
- int64_t blen = 100;
- //blen = min(max((int64_t)2, (int64_t)(target.w/view.GetBounds().w)), (int64_t)100);
-
- Real invblen(1); invblen /= blen;
- //Debug("Using %li lines, inverse %f", blen, Double(invblen));
- for (int64_t j = 1; j <= blen; ++j)
- {
- control.Evaluate(x[j % 2],y[j % 2], invblen*j);
- ObjectRenderer::RenderLineOnCPU((int64_t)Double(x[0]),(int64_t)Double(y[0]), (int64_t)Double(x[1]),(int64_t)Double(y[1]), target);
- }
-
- /*
- Real u(0);
- while (u < Real(1))