#ifndef _SAMPLECOMPBOT_H
#define _SAMPLECOMPBOT_H
#include "sampleMonoPoly.h"
void findBotLeftSegment(vertexArray* leftChain,
Int leftEnd,
Int leftCorner,
Real u,
Int& ret_index_mono,
Int& ret_index_pass);
void findBotRightSegment(vertexArray* rightChain,
Int rightEnd,
Int rightCorner,
Real u,
Int& ret_index_mono,
Int& ret_index_pass);
void sampleBotRightWithGridLinePost(Real* botVertex,
vertexArray* rightChain,
Int rightEnd,
Int segIndexMono,
Int segIndexPass,
Int rightCorner,
gridWrap* grid,
Int gridV,
Int leftU,
Int rightU,
primStream* pStream);
void sampleBotRightWithGridLine(Real* botVertex,
vertexArray* rightChain,
Int rightEnd,
Int rightCorner,
gridWrap* grid,
Int gridV,
Int leftU,
Int rightU,
primStream* pStream);
void sampleBotLeftWithGridLinePost(Real* botVertex,
vertexArray* leftChain,
Int leftEnd,
Int segIndexMono,
Int segIndexPass,
Int leftCorner,
gridWrap* grid,
Int gridV,
Int leftU,
Int rightU,
primStream* pStream);
void sampleBotLeftWithGridLine(Real* botVertex,
vertexArray* leftChain,
Int leftEnd,
Int leftCorner,
gridWrap* grid,
Int gridV,
Int leftU,
Int rightU,
primStream* pStream);
Int findBotSeparator(vertexArray* leftChain,
Int leftEnd,
Int leftCorner,
vertexArray* rightChain,
Int rightEnd,
Int rightCorner,
Int& ret_sep_left,
Int& ret_sep_right);
void sampleCompBot(Real* botVertex,
vertexArray* leftChain,
Int leftEnd,
vertexArray* rightChain,
Int rightEnd,
gridBoundaryChain* leftGridChain,
gridBoundaryChain* rightGridChain,
Int gridIndex,
Int down_leftCornerWhere,
Int down_leftCornerIndex,
Int down_rightCornerWhere,
Int down_rightCornerIndex,
primStream* pStream);
void sampleCompBotSimple(Real* botVertex,
vertexArray* leftChain,
Int leftEnd,
vertexArray* rightChain,
Int rightEnd,
gridBoundaryChain* leftGridChain,
gridBoundaryChain* rightGridChain,
Int gridIndex,
Int down_leftCornerWhere,
Int down_leftCornerIndex,
Int down_rightCornerWhere,
Int down_rightCornerIndex,
primStream* pStream);
#endif