Home | History | Annotate | Download | only in internals

Lines Matching refs:backend

48 #include "backend.h"
143 void monoTriangulationLoop(Arc_ptr loop, Backend& backend, primStream* pStream)
213 &dec_chain, 0, &backend);
218 static void triangulateRectGen(Arc_ptr loop, int n_ulines, int n_vlines, Backend& backend);
265 static void evalLineNOGE_BU(TrimVertex *verts, int n, Backend& backend)
268 backend.preEvaluateBU(verts[0].param[0]);
270 backend.tmeshvertNOGE_BU(&verts[i]);
276 static void evalLineNOGE_BV(TrimVertex *verts, int n, Backend& backend)
279 backend.preEvaluateBV(verts[0].param[1]);
282 backend.tmeshvertNOGE_BV(&verts[i]);
287 static void evalLineNOGE(TrimVertex *verts, int n, Backend& backend)
291 evalLineNOGE_BU(verts, n, backend);
293 evalLineNOGE_BV(verts, n, backend);
298 backend.tmeshvertNOGE(&verts[i]);
303 inline void OPT_OUTVERT(TrimVertex& vv, Backend& backend)
311 backend.tmeshvert(&vv);
317 static void triangulateRectAux(PwlArc* top, PwlArc* bot, PwlArc* left, PwlArc* right, Backend& backend);
319 static void triangulateRect(Arc_ptr loop, Backend& backend, int TB_or_LR, int ulinear, int vlinear)
367 triangulateRectGen(top, nu-2, nv-2, backend);
374 triangulateRectAux(top->pwlArc, bot->pwlArc, left->pwlArc, right->pwlArc, backend);
376 triangulateRectAux(left->pwlArc, right->pwlArc, bot->pwlArc, top->pwlArc, backend);
383 triangulateRectAux(left->pwlArc, right->pwlArc, bot->pwlArc, top->pwlArc, backend);
385 triangulateRectAux(top->pwlArc, bot->pwlArc, left->pwlArc, right->pwlArc, backend);
389 static void triangulateRectAux(PwlArc* top, PwlArc* bot, PwlArc* left, PwlArc* right, Backend& backend)
397 evalLineNOGE(top->pts, top->npts, backend);
398 evalLineNOGE(bot->pts, bot->npts, backend);
399 evalLineNOGE(left->pts, left->npts, backend);
400 evalLineNOGE(right->pts, right->npts, backend);
404 backend.bgntfan();
405 OPT_OUTVERT(top->pts[0], backend);//the root
407 OPT_OUTVERT(left->pts[i], backend);
410 OPT_OUTVERT(bot->pts[i], backend);
412 backend.endtfan();
414 backend.bgntfan();
415 OPT_OUTVERT(bot->pts[bot->npts-2], backend);
417 OPT_OUTVERT(right->pts[i], backend);
419 backend.endtfan();
422 backend.bgntfan();
423 OPT_OUTVERT(bot->pts[0], backend);//the root
425 OPT_OUTVERT(right->pts[i], backend);
428 OPT_OUTVERT(top->pts[i], backend);
430 backend.endtfan();
432 backend.bgntfan();
433 OPT_OUTVERT(top->pts[top->npts-2], backend);
435 OPT_OUTVERT(left->pts[i], backend);
437 backend.endtfan();
441 backend.bgntfan();
443 OPT_OUTVERT(top->pts[top->npts-2], backend);
447 OPT_OUTVERT(left->pts[i], backend);
449 backend.endtfan();
451 backend.bgntfan();
453 OPT_OUTVERT(bot->pts[1], backend);
455 OPT_OUTVERT(top->pts[top->npts-2], backend);
459 OPT_OUTVERT(left->pts[i], backend);
461 backend.endtfan();
468 backend.bgntfan();
469 // backend.tmeshvert(& top->pts[1]);
470 OPT_OUTVERT(top->pts[1], backend);
473 // backend.tmeshvert(& right->pts[i]);
475 OPT_OUTVERT(right->pts[i], backend);
478 backend.endtfan();
481 backend.bgntfan();
482 // backend.tmeshvert(& bot->pts[bot->npts-2]);
483 OPT_OUTVERT( bot->pts[bot->npts-2], backend);
486 // backend.tmeshvert(& right->pts[i]);
487 OPT_OUTVERT(right->pts[i], backend);
491 // backend.tmeshvert(& top->pts[1]);
492 OPT_OUTVERT(top->pts[1], backend);
494 backend.endtfan();
513 backend.bgntfan();
514 // backend.tmeshvert(& top->pts[top->npts-2]);
515 OPT_OUTVERT(top->pts[top->npts-2], backend);
518 // backend.tmeshvert(& bot->pts[i]);
519 OPT_OUTVERT(bot->pts[i] , backend);
521 backend.endtfan();
525 backend.bgntfan();
526 OPT_OUTVERT(top->pts[1], backend);
528 OPT_OUTVERT(bot->pts[i], backend);
529 backend.endtfan();
541 backend.bgntfan();
542 // backend.tmeshvert(& bot->pts[1]);
543 OPT_OUTVERT(bot->pts[1], backend);
546 // backend.tmeshvert(& top->pts[i]);
547 OPT_OUTVERT(top->pts[i], backend);
549 backend.endtfan();
553 backend.bgntfan();
554 OPT_OUTVERT(bot->pts[bot->npts-2], backend);
556 OPT_OUTVERT(top->pts[i], backend);
557 backend.endtfan();
564 backend.bgnqstrip();
567 // backend.tmeshvert(& top->pts[i]);
568 // backend.tmeshvert(& bot->pts[j]);
569 OPT_OUTVERT(top->pts[i], backend);
570 OPT_OUTVERT(bot->pts[j], backend);
572 backend.endqstrip();
581 Backend& backend)
588 backend.surfgrid(u_val[0], u_val[n_ulines-1], n_ulines-1,
590 backend.surfmesh(0,0,n_ulines-1,n_vlines-1);
599 backend.bgnqstrip();
604 backend.tmeshvert(& trimVert);
607 backend.tmeshvert(& trimVert);
609 backend.endqstrip();
616 static void triangulateRectTopGen(Arc_ptr arc, int n_ulines, REAL* u_val, Real v, int dir, int is_u, Backend& backend)
630 backend.evalUStrip(arc->pwlArc->npts, arc->pwlArc->pts[0].param[1],
642 backend.evalUStrip(
662 backend.evalVStrip(arc->pwlArc->npts, arc->pwlArc->pts[0].param[0],
672 backend.evalVStrip(
705 backend.bgntfan();
716 backend.tmeshvert(& trimVert);
718 backend.tmeshvert(& parc->pts[i]);
719 backend.endtfan();
728 backend.bgntfan();
729 backend.tmeshvert(& parc->pts[parc->npts-1]);
741 backend.tmeshvert(&trimVert);
743 backend.endtfan();
749 backend.bgnqstrip();
752 backend.tmeshvert(& parc->pts[i]);
762 backend.tmeshvert(&trimVert);
767 backend.endqstrip();
778 static void triangulateRectGen(Arc_ptr loop, int n_ulines, int n_vlines, Backend& backend)
827 backend.surfgrid(left->tail()[0], right->tail()[0], n_ulines+1,
830 backend.surfmesh(0,0,n_ulines+1,n_vlines+1);
852 triangulateRectTopGen(top, n_ulines, u_val, v_val[n_vlines-1], 1,1, backend);
853 triangulateRectTopGen(bot, n_ulines, u_val, v_val[0], 0, 1, backend);
854 triangulateRectTopGen(left, n_vlines, v_val, u_val[0], 1, 0, backend);
855 triangulateRectTopGen(right, n_vlines, v_val, u_val[n_ulines-1], 0,0, backend);
861 triangulateRectCenter(n_ulines, u_val, n_vlines, v_val, backend);
981 backend.bgnqstrip();
986 backend.tmeshvert(trimVert);
989 backend.tmeshvert(trimVert);
992 backend.endqstrip();
1009 backend.surfgrid(grid->get_u_min(), grid->get_u_max(), grid->get_n_ulines()-1,
1021 backend.surfmesh(block->get_leftIndices()[k+1], n_vlines-1-i, block->get_rightIndices()[k+1]-block->get_leftIndices()[k+1], 1);
1042 backend.bgntfan();
1048 backend.tmeshvert(trimVert);
1050 // backend.tmeshvert(vertices[k], vertices[k+1]);
1053 backend.endtfan();
1119 triangulateRect(loop, backend, 1, ulinear, vlinear);
1121 triangulateRect(loop, backend, -1, ulinear, vlinear);
1123 triangulateRect(loop, backend, 0, ulinear, vlinear);
1128 triangulateRectGen(loop, num_ulines-2, num_vlines-2, backend);
1132 monoTriangulationFunBackend(loop, compV2InY, &backend);
1136 monoTriangulationFunBackend(loop, compV2InY, &backend);
1181 Slicer::Slicer( Backend &b )
1182 : CoveAndTiler( b ), Mesher( b ), backend( b )
1235 backend.surfgrid( uarray.uarray[0],
1250 getPts( backend );
1271 backend.bgnoutline();
1274 backend.linevert( upper.g );
1276 backend.linevert( upper.t );
1278 backend.endoutline();
1280 backend.bgnoutline();
1283 backend.linevert( lower.g );
1285 backend.linevert( lower.t );
1287 backend.endoutline();
1297 backend.bgnoutline();
1299 backend.linevert( &(jarc->pwlArc->pts[j]) );
1300 backend.endoutline();