2704 for( iCheckRing = 0; iCheckRing < psObject->
nParts; iCheckRing++ )
2706 int nVertStartCheck, nVertCountCheck;
2709 if( iCheckRing == iOpRing )
2715 for( iEdge = 0; iEdge < nVertCountCheck; iEdge++ )
2719 if( iEdge < nVertCountCheck-1 )
2729 if ( ( psObject->
padfY[iEdge+nVertStartCheck] < dfTestY
2730 && dfTestY <= psObject->padfY[iNext+nVertStartCheck] )
2731 || ( psObject->
padfY[iNext+nVertStartCheck] < dfTestY
2732 && dfTestY <= psObject->padfY[iEdge+nVertStartCheck] ) )
2738 double const intersect =
2739 ( psObject->
padfX[iEdge+nVertStartCheck]
2740 + ( dfTestY - psObject->
padfY[iEdge+nVertStartCheck] )
2741 / ( psObject->
padfY[iNext+nVertStartCheck] -
2742 psObject->
padfY[iEdge+nVertStartCheck] )
2743 * ( psObject->
padfX[iNext+nVertStartCheck] -
2744 psObject->
padfX[iEdge+nVertStartCheck] ) );
2746 if (intersect < dfTestX)
2750 else if( intersect == dfTestX )
static int SHPGetPartVertexCount(const SHPObject *psObject, int iPart)