当前位置: 首页>>代码示例>>C++>>正文


C++ OGRLinearRing::reverseWindingOrder方法代码示例

本文整理汇总了C++中OGRLinearRing::reverseWindingOrder方法的典型用法代码示例。如果您正苦于以下问题:C++ OGRLinearRing::reverseWindingOrder方法的具体用法?C++ OGRLinearRing::reverseWindingOrder怎么用?C++ OGRLinearRing::reverseWindingOrder使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在OGRLinearRing的用法示例。


在下文中一共展示了OGRLinearRing::reverseWindingOrder方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: WindPolygonCCW

OGRPolygon* OGRGMELayer::WindPolygonCCW( OGRPolygon *poPolygon )
{
    CPLAssert( NULL != poPolygon );

    OGRLinearRing* poRing = poPolygon->getExteriorRing();
    if (poRing == NULL) {
        return poPolygon;
    }

    // If the linear ring is CW re-wind it CCW
    if (poRing->isClockwise() ) {
      poRing->reverseWindingOrder();
    }

    /* Interior rings. */
    const int nCount = poPolygon->getNumInteriorRings();
    for( int i = 0; i < nCount; ++i ) {
        poRing = poPolygon->getInteriorRing( i );
        if (poRing == NULL)
            continue;
        // If the linear ring is CW re-wind it CCW

        if (poRing->isClockwise() ) {
            poRing->reverseWindingOrder();
        }
    }

    return poPolygon;
}
开发者ID:samalone,项目名称:gdal-ios,代码行数:29,代码来源:ogrgmelayer.cpp

示例2: OGRGMEPolygonToGeoJSON

json_object* OGRGMEPolygonToGeoJSON( OGRPolygon* poPolygon )
{
    CPLAssert( NULL != poPolygon );

    /* Generate "coordinates" array object. */
    json_object* pjoCoordinates = NULL;
    pjoCoordinates = json_object_new_array();

    /* Exterior ring. */
    OGRLinearRing* poRing = poPolygon->getExteriorRing();
    if (poRing == NULL) {
        json_object_put(pjoCoordinates);
        return NULL;
    }

    json_object* pjoRing = NULL;
    // If the linear ring is CW re-wind it CCW
    if (poRing->isClockwise() ) {
      poRing->reverseWindingOrder();
    }

    pjoRing = OGRGMELineCoordsToGeoJSON( poRing );
    json_object_array_add( pjoCoordinates, pjoRing );

    /* Interior rings. */
    const int nCount = poPolygon->getNumInteriorRings();
    for( int i = 0; i < nCount; ++i ) {
        poRing = poPolygon->getInteriorRing( i );
        if (poRing == NULL)
            continue;
        // If the linear ring is CW re-wind it CCW
        if (poRing->isClockwise() ) {
            poRing->reverseWindingOrder();
        }
        pjoRing = OGRGMELineCoordsToGeoJSON( poRing );
        json_object_array_add( pjoCoordinates, pjoRing );
    }

    return pjoCoordinates;
}
开发者ID:AbdelghaniDr,项目名称:mirror,代码行数:40,代码来源:ogrgmejson.cpp


注:本文中的OGRLinearRing::reverseWindingOrder方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。