Lines Matching refs:pTri
202 CTri * const pTri) in OrphanTri() argument
204 _ASSERT(!pTri->bInStrip); in OrphanTri()
205 if(pTri->sNew.bWindFwd || !pTri->sNew.pFwd) in OrphanTri()
208 pTri->sNew.pFwd->sNew.pRev = NULL; in OrphanTri()
209 pTri->sNew.pFwd = NULL; in OrphanTri()
221 CTri * const pTri, in TakeTri() argument
227 _ASSERT(!pTri->bInStrip); in TakeTri()
229 if(pTri->sNew.pFwd && pTri->sNew.pRev) in TakeTri()
231 _ASSERT(pTri->sNew.pFwd->sNew.pRev == pTri); in TakeTri()
232 pTri->sNew.pFwd->sNew.pRev = NULL; in TakeTri()
233 _ASSERT(pTri->sNew.pRev->sNew.pFwd == pTri); in TakeTri()
234 pTri->sNew.pRev->sNew.pFwd = NULL; in TakeTri()
240 nRet += OrphanTri(pTri->sNew.pFwd); in TakeTri()
242 else if(pTri->sNew.pFwd) in TakeTri()
244 _ASSERT(pTri->sNew.pFwd->sNew.pRev == pTri); in TakeTri()
245 pTri->sNew.pFwd->sNew.pRev = NULL; in TakeTri()
251 nRet += OrphanTri(pTri->sNew.pFwd); in TakeTri()
253 else if(pTri->sNew.pRev) in TakeTri()
255 _ASSERT(pTri->sNew.pRev->sNew.pFwd == pTri); in TakeTri()
256 pTri->sNew.pRev->sNew.pFwd = NULL; in TakeTri()
267 pTri->sNew.pFwd = NULL; in TakeTri()
268 pTri->sNew.pRev = pRevNew; in TakeTri()
269 pTri->bInStrip = true; in TakeTri()
270 pTri->sNew.bWindFwd = bFwd; in TakeTri()
275 pRevNew->sNew.pFwd = pTri; in TakeTri()
378 CTri *pTri, *pTriPrev, *pTmp; in StripGrow() local
382 pTri = &triFrom; in StripGrow()
397 _ASSERT(pTri); in StripGrow()
398 nDiff += TakeTri(pTri, pTriPrev, bFwd); in StripGrow()
400 m_psStrip[nStripLen++] = pTri; in StripGrow()
403 pTriPrev = pTri; in StripGrow()
404 pTri = pTri->pAdj[nEdge]; in StripGrow()
405 if(!pTri) in StripGrow()
408 if(pTri->bInStrip) in StripGrow()
412 nEdge = pTri->EdgeFromAdjTri(*pTriPrev); in StripGrow()
444 pTri = m_psStrip[i]; in StripGrow()
445 _ASSERT(pTri->bInStrip); in StripGrow()
448 pTmp = pTri->sOld.pFwd; in StripGrow()
456 pTmp = pTri->sOld.pRev; in StripGrow()
463 pTri->bInStrip = false; in StripGrow()
464 pTri->Cement(); in StripGrow()
472 pTri = m_psStrip[i]; in StripGrow()
473 _ASSERT(pTri->bInStrip); in StripGrow()
476 pTmp = pTri->sOld.pFwd; in StripGrow()
484 pTmp = pTri->sOld.pRev; in StripGrow()
491 pTri->bInStrip = false; in StripGrow()
492 pTri->Undo(); in StripGrow()
531 CTri *pTri, *pTriPrev; in StripFromEdges() local
539 pTri = &m_pTri[i]; in StripFromEdges()
545 if(!pTri->pAdj[j]) in StripFromEdges()
561 while(StripGrow(*pTri, nEdge, -1)) {}; in StripFromEdges()
563 pTriPrev = pTri; in StripFromEdges()
564 pTri = pTri->pAdj[nEdge]; in StripFromEdges()
565 if(!pTri) in StripFromEdges()
569 nEdge = pTri->EdgeFromAdjTri(*pTriPrev); in StripFromEdges()
575 pTriPrev = pTri; in StripFromEdges()
576 pTri = pTri->pAdj[nEdge]; in StripFromEdges()
577 if(!pTri) in StripFromEdges()
581 nEdge = pTri->EdgeFromAdjTri(*pTriPrev); in StripFromEdges()
592 if(pTri->pAdj[nTest]) in StripFromEdges()
700 CTri *pTri; in Output() local
711 pTri = &m_pTri[i]; in Output()
713 if(pTri->sNew.pRev) in Output()
715 _ASSERT(!pTri->sNew.pFwd || pTri->sNew.bWindFwd); in Output()
716 _ASSERT(pTri->bOutput == false); in Output()
718 if(!pTri->sNew.pFwd) in Output()
720 pui32Strips[nIdx++] = pTri->pIdx[0]; in Output()
721 pui32Strips[nIdx++] = pTri->pIdx[1]; in Output()
722 pui32Strips[nIdx++] = pTri->pIdx[2]; in Output()
724 pTri->bOutput = true; in Output()
728 if(pTri->sNew.pFwd == pTri->pAdj[0]) in Output()
730 pui32Strips[nIdx++] = pTri->pIdx[2]; in Output()
731 pui32Strips[nIdx++] = pTri->pIdx[0]; in Output()
733 else if(pTri->sNew.pFwd == pTri->pAdj[1]) in Output()
735 pui32Strips[nIdx++] = pTri->pIdx[0]; in Output()
736 pui32Strips[nIdx++] = pTri->pIdx[1]; in Output()
740 _ASSERT(pTri->sNew.pFwd == pTri->pAdj[2]); in Output()
741 pui32Strips[nIdx++] = pTri->pIdx[1]; in Output()
742 pui32Strips[nIdx++] = pTri->pIdx[2]; in Output()
748 _ASSERT(pTri->bOutput == false); in Output()
757 (pui32Strips[nIdx-2] != pTri->pIdx[j]) && in Output()
758 (pui32Strips[nIdx-1] != pTri->pIdx[j])) in Output()
764 pui32Strips[nIdx++] = pTri->pIdx[j]; in Output()
768 …((pui32Strips[nIdx-3] == pTri->pIdx[0]) && (pui32Strips[nIdx-2] == pTri->pIdx[1]) && (pui32Strips[… in Output()
769 …((pui32Strips[nIdx-3] == pTri->pIdx[1]) && (pui32Strips[nIdx-2] == pTri->pIdx[2]) && (pui32Strips[… in Output()
770 …((pui32Strips[nIdx-3] == pTri->pIdx[2]) && (pui32Strips[nIdx-2] == pTri->pIdx[0]) && (pui32Strips[… in Output()
771 …((pui32Strips[nIdx-3] == pTri->pIdx[2]) && (pui32Strips[nIdx-2] == pTri->pIdx[1]) && (pui32Strips[… in Output()
772 …((pui32Strips[nIdx-3] == pTri->pIdx[1]) && (pui32Strips[nIdx-2] == pTri->pIdx[0]) && (pui32Strips[… in Output()
773 …((pui32Strips[nIdx-3] == pTri->pIdx[0]) && (pui32Strips[nIdx-2] == pTri->pIdx[2]) && (pui32Strips[… in Output()
780 pTri->bOutput = true; in Output()
784 (pTri->sNew.pFwd == pTri->pAdj[0]) || in Output()
785 (pTri->sNew.pFwd == pTri->pAdj[1]) || in Output()
786 (pTri->sNew.pFwd == pTri->pAdj[2]) || in Output()
787 (!pTri->sNew.pFwd)); in Output()
790 (!pTri->sNew.pFwd) || in Output()
791 (pTri == pTri->sNew.pFwd->pAdj[0]) || in Output()
792 (pTri == pTri->sNew.pFwd->pAdj[1]) || in Output()
793 (pTri == pTri->sNew.pFwd->pAdj[2])); in Output()
795 pTri = pTri->sNew.pFwd; in Output()
796 } while(pTri); in Output()