33#ifndef _SAMPLEMONOPOLY_H
34#define _SAMPLEMONOPOLY_H
42 Int n_lower,
Real lowerVerts[][2],
59 Int leftGridChainStartIndex,
73 Int leftGridChainStartIndex,
74 Int leftGridChainEndIndex,
82 Int leftGridChainStartIndex,
83 Int leftGridChainEndIndex,
111 Int leftGridChainStartIndex,
112 Int leftGridChainEndIndex,
118 Int leftChainStartIndex,
Int leftChainEndIndex,
120 Int rightChainStartIndex,
Int rightChainEndIndex,
124 Int& ret_leftCornerWhere,
125 Int& ret_leftCornerIndex,
126 Int& ret_rightCornerWhere,
127 Int& ret_rightCornerIndex
135 Int& ret_leftCornerWhere,
136 Int& ret_leftCornerIndex,
137 Int& ret_rightCornerWhere,
138 Int& ret_rightCornerIndex
173 Int rightCornerWhere,
174 Int rightCornerIndex,
175 Int bot_leftCornerWhere,
176 Int bot_leftCornerIndex,
177 Int bot_rightCornerWhere,
178 Int bot_rightCornerIndex);
GLdouble GLdouble GLdouble GLdouble top
void findGridChains(directedLine *top, directedLine *bot, gridWrap *grid, gridBoundaryChain *&leftGridChain, gridBoundaryChain *&rightGridChain)
void sampleLeftStripRec(vertexArray *leftChain, Int topLeftIndex, Int botLeftIndex, gridBoundaryChain *leftGridChain, Int leftGridChainStartIndex, Int leftGridChainEndIndex, primStream *pStream)
void sampleLeftOneGridStep(vertexArray *leftChain, Int beginLeftIndex, Int endLeftIndex, gridBoundaryChain *leftGridChain, Int leftGridChainStartIndex, primStream *pStream)
void sampleLeftStripRecF(vertexArray *leftChain, Int topLeftIndex, Int botLeftIndex, gridBoundaryChain *leftGridChain, Int leftGridChainStartIndex, Int leftGridChainEndIndex, primStream *pStream)
Int checkMiddle(vertexArray *chain, Int begin, Int end, Real vup, Real vbelow)
void sampleLeftStrip(vertexArray *leftChain, Int topLeftIndex, Int botLeftIndex, gridBoundaryChain *leftGridChain, Int leftGridChainStartIndex, Int leftGridChainEndIndex, primStream *pStream)
void stripOfFanLeft(vertexArray *leftChain, Int largeIndex, Int smallIndex, gridWrap *grid, Int vlineIndex, Int ulineSmallIndex, Int ulineLargeIndex, primStream *pStream, Int gridLineUp)
void sampleMonoPoly(directedLine *polygon, gridWrap *grid, Int ulinear, Int vlinear, primStream *pStream, rectBlockArray *rbArray)
void findDownCorners(Real *botVertex, vertexArray *leftChain, Int leftChainStartIndex, Int leftChainEndIndex, vertexArray *rightChain, Int rightChainStartIndex, Int rightChainEndIndex, Real v, Real uleft, Real uright, Int &ret_leftCornerWhere, Int &ret_leftCornerIndex, Int &ret_rightCornerWhere, Int &ret_rightCornerIndex)
void triangulateXYMono(Int n_upper, Real upperVerts[][2], Int n_lower, Real lowerVerts[][2], primStream *pStream)
void sampleLeftSingleTrimEdgeRegion(Real upperVert[2], Real lowerVert[2], gridBoundaryChain *gridChain, Int beginIndex, Int endIndex, primStream *pStream)
void drawCorners(Real *topV, Real *botV, vertexArray *leftChain, vertexArray *rightChain, gridBoundaryChain *leftGridChain, gridBoundaryChain *rightGridChain, Int gridIndex1, Int gridIndex2, Int leftCornerWhere, Int leftCornerIndex, Int rightCornerWhere, Int rightCornerIndex, Int bot_leftCornerWhere, Int bot_leftCornerIndex, Int bot_rightCornerWhere, Int bot_rightCornerIndex)
void findNeck(vertexArray *leftChain, Int botLeftIndex, vertexArray *rightChain, Int botRightIndex, Int &leftLastIndex, Int &rightLastIndex)
void findRightGridIndices(directedLine *topEdge, Int firstGridIndex, Int lastGridIndex, gridWrap *grid, Int *ret_indices, Int *ret_inner)
void findTopAndBot(directedLine *polygon, directedLine *&topV, directedLine *&botV)
void toVertexArrays(directedLine *topV, directedLine *botV, vertexArray &leftChain, vertexArray &rightChain)
void findUpCorners(Real *topVertex, vertexArray *leftChain, Int leftChainStartIndex, Int leftChainEndIndex, vertexArray *rightChain, Int rightChainStartIndex, Int rightChainEndIndex, Real v, Real uleft, Real uright, Int &ret_leftCornerWhere, Int &ret_leftCornerIndex, Int &ret_rightCornerWhere, Int &ret_rightCornerIndex)
Int findNeckF(vertexArray *leftChain, Int botLeftIndex, vertexArray *rightChain, Int botRightIndex, gridBoundaryChain *leftGridChain, gridBoundaryChain *rightGridChain, Int gridStartIndex, Int &neckLeft, Int &neckRight)
void findLeftGridIndices(directedLine *topEdge, Int firstGridIndex, Int lastGridIndex, gridWrap *grid, Int *ret_indices, Int *ret_inner)
void sampleMonoPolyRec(Real *topVertex, Real *botVertex, vertexArray *leftChain, Int leftStartIndex, vertexArray *rightChain, Int rightStartIndex, gridBoundaryChain *leftGridChain, gridBoundaryChain *rightGridChain, Int gridStartIndex, primStream *pStream, rectBlockArray *rbArray)