Lines Matching defs:inc_chain
163 vertexArray* inc_chain, Int inc_current, Int inc_end,
167 pStream->triangle(topVertex, inc_chain->getVertex(inc_current), dec_chain->getVertex(dec_current));
169 /*printf("**(%f,%f)\n", inc_chain->getArray()[0][0],inc_chain->getArray()[0][1]);*/
170 triangulateXYMonoTB(inc_end-inc_current+1, inc_chain->getArray()+inc_current, dec_end-dec_current+1, dec_chain->getArray()+dec_current, pStream);
172 pStream->triangle(botVertex, dec_chain->getVertex(dec_end), inc_chain->getVertex(inc_end));
298 static int chainConvex(vertexArray* inc_chain, Int inc_current, Int inc_end)
305 if(area(inc_chain->getVertex(i), inc_chain->getVertex(i+1), inc_chain->getVertex(i+2)) <0)
325 vertexArray* inc_chain, Int inc_current, Int inc_end,
333 vertexArray* inc_chain, Int inc_current, Int inc_end,
343 if(inc_current <= inc_end) //at least one vertex in inc_chain
345 sline = new sampledLine(topVertex, inc_chain->getVertex(inc_current));
349 sline = new sampledLine(inc_chain->getVertex(i), inc_chain->getVertex(i+1));
353 sline = new sampledLine(inc_chain->getVertex(inc_end), botVertex);
460 monoTriangulationRecGen(topVertex, botVertex, inc_chain, inc_current, inc_end,
470 inc_chain->getVertex(inc_current)) >=0
471 && chainConvex(inc_chain, inc_current, inc_end)
473 && area(inc_chain->getVertex(inc_end), botVertex, dec_chain->getVertex(dec_end)) >=0
477 inc_chain, inc_current, inc_end,
483 monoTriangulationRecGen(topVertex, botVertex, inc_chain, inc_current, inc_end,
489 /*if inc_current>inc_end, then inc_chain has no points to be considered
493 vertexArray* inc_chain, Int inc_current, Int inc_end,
503 else if(inc_current>inc_end) /*no more vertices on inc_chain*/
518 inc_array = inc_chain->getArray();
523 /*process all the vertices on the inc_chain*/
532 inc_array = inc_chain -> getArray();
535 /*if top of inc_chain is 'lower' than top of dec_chain, process all the
536 *vertices on the dec_chain which are higher than top of inc_chain
552 inc_chain, inc_current, inc_end,
570 inc_chain, i, inc_end,
598 vertexArray inc_chain(20); /*this is a dynamic array*/
599 for(i=1; i<=topV->get_npoints()-2; i++) { /*the first vertex is the top vertex which doesn't belong to inc_chain*/
600 inc_chain.appendVertex(topV->getVertex(i));
605 inc_chain.appendVertex(tempV->getVertex(i));
620 if (!(0 == inc_chain.getNumElements() && 0 == dec_chain.getNumElements())) {
621 monoTriangulationRecFun(topV->head(), botV->head(), &inc_chain, 0,
646 vertexArray inc_chain(20); /*this is a dynamic array*/
647 for(i=1; i<=topV->get_npoints()-2; i++) { /*the first vertex is the top vertex which doesn't belong to inc_chain*/
648 inc_chain.appendVertex(topV->getVertex(i));
653 inc_chain.appendVertex(tempV->getVertex(i));
668 monoTriangulationRec(topV->head(), botV->head(), &inc_chain, 0, &dec_chain, 0, pStream);
673 * name inc_chain.
679 vertexArray* inc_chain, Int inc_smallIndex,
684 assert( inc_chain != NULL);
692 pStream->triangle(inc_chain->getVertex(inc_smallIndex), botVertex, topVertex);
694 pStream->triangle(inc_chain->getVertex(inc_smallIndex), topVertex, botVertex);
699 if(is_increase_chain && botVertex[1] == inc_chain->getVertex(inc_largeIndex)[1])
701 pStream->triangle(botVertex, inc_chain->getVertex(inc_largeIndex-1),
702 inc_chain->getVertex(inc_largeIndex));
703 monoTriangulation2(topVertex, botVertex, inc_chain, inc_smallIndex,
709 else if( (!is_increase_chain) && topVertex[1] == inc_chain->getVertex(inc_smallIndex)[1])
711 pStream->triangle(topVertex, inc_chain->getVertex(inc_smallIndex+1),
712 inc_chain->getVertex(inc_smallIndex));
713 monoTriangulation2(topVertex, botVertex, inc_chain, inc_smallIndex+1,
718 inc_array = inc_chain->getArray();
735 vertexArray* inc_chain, Int inc_current, Int inc_end,
740 assert( inc_chain != NULL && dec_chain != NULL);
750 assert( ! ( (inc_chain==NULL) && (dec_chain==NULL)));
752 if(inc_current> inc_end) /*no more vertices on inc_chain*/
769 inc_array = inc_chain->getArray();
773 /*process all the vertices on the inc_chain*/
782 inc_array = inc_chain -> getArray();
785 /*if top of inc_chain is 'lower' than top of dec_chain, process all the
786 *vertices on the dec_chain which are higher than top of inc_chain
802 inc_chain, inc_current, inc_end,
821 inc_chain, i,inc_end,
833 vertexArray* inc_chain, Int inc_current,
838 assert( inc_chain != NULL && dec_chain != NULL);
839 assert( ! (inc_current>=inc_chain->getNumElements() &&
846 assert( ! ( (inc_chain==NULL) && (dec_chain==NULL)));
848 if(inc_current>=inc_chain->getNumElements()) /*no more vertices on inc_chain*/
866 inc_array = inc_chain->getArray();
867 inc_nVertices= inc_chain->getNumElements();
871 /*process all the vertices on the inc_chain*/
880 inc_array = inc_chain -> getArray();
882 inc_nVertices= inc_chain->getNumElements();
884 /*if top of inc_chain is 'lower' than top of dec_chain, process all the
885 *vertices on the dec_chain which are higher than top of inc_chain
901 inc_chain, inc_current,
920 inc_chain, i,
930 vertexArray* inc_chain, Int inc_current,
934 assert( inc_chain != NULL && dec_chain != NULL);
935 assert( ! (inc_current>=inc_chain->getNumElements() &&
942 assert( ! ( (inc_chain==NULL) && (dec_chain==NULL)));
944 if(inc_current>=inc_chain->getNumElements()) /*no more vertices on inc_chain*/
962 inc_array = inc_chain->getArray();
963 inc_nVertices= inc_chain->getNumElements();
967 /*process all the vertices on the inc_chain*/
976 inc_array = inc_chain -> getArray();
978 inc_nVertices= inc_chain->getNumElements();
980 /*if top of inc_chain is 'lower' than top of dec_chain, process all the
981 *vertices on the dec_chain which are higher than top of inc_chain
997 inc_chain, inc_current,
1015 inc_chain, i,
1027 *two monotone chains: inc_chain, and dec_chain. The edges of the increasing chain (inc_chain)
1030 * inc_index index the vertex which is the toppest of the inc_chain which we are handling currently.
1033 void monoTriangulationRec(directedLine* inc_chain, Int inc_index,
1043 assert(inc_chain != NULL && dec_chain != NULL);
1045 if(inc_chain == botVertex) {
1061 for(i=inc_index; i< inc_chain->get_npoints(); i++){
1062 rChain.processNewVertex(inc_chain->getVertex(i), pStream);
1064 for(temp = inc_chain->getPrev(); temp != botVertex; temp = temp->getNext())
1072 if(compV2InY(inc_chain->getVertex(inc_index), dec_chain->getVertex(dec_index)) <=0) {
1077 while( compV2InY(inc_chain->getVertex(inc_index), temp->getVertex(tempIndex))<=0) {
1090 rChain.outputFan(inc_chain->getVertex(inc_index), pStream);
1091 monoTriangulationRec(inc_chain, inc_index, temp, tempIndex, oldtemp, oldtempIndex, botVertex, pStream);
1096 temp = inc_chain;