| 350 | |
| 351 | Considering perfomrance, an additional paramether 'FdoBoolean checkInteriorRings' will be added for method FdoSpatialUtility::ReversePolygonVertexOrder(...). If users know the input polygon is a valid polygon, they can pass false for parameter checkInteriorRings to reverse its vertex order. Otherwise, pass true. Method FdoSpatialUtility::ReversePolygonVertexOrder(...) will check whether interior rings have the different vertex order with exterior ring and guarantee the returned polygon is a valid polygon after reversing the vertex order of the input polygon. |
| 352 | |
| 353 | |
| 354 | {{{ |
| 355 | class FdoSpatialUtility |
| 356 | { |
| 357 | public: |
| 358 | /// \brief |
| 359 | /// Revers the vertex order of the input polygon. |
| 360 | /// |
| 361 | /// \param geometry |
| 362 | /// Input the polygon geometry to be reversed. It can be a polygon, multipolygon, |
| 363 | /// curvepolygon, or multicurvepolygon. |
| 364 | /// \param checkInteriorRings |
| 365 | /// true - Check whether interior rings have the different vertex order with |
| 366 | /// exterior ring and guarantee the returned polygon is a valid polygon |
| 367 | /// after reversing the vertex order of the input polygon. |
| 368 | /// false - Reverse the vertex order of interior rings and exterior ring directly |
| 369 | /// no matter interior rings have the different vertex order with exterior ring. |
| 370 | /// |
| 371 | /// \return |
| 372 | /// Returns the modified polygon. |
| 373 | /// |
| 374 | FDO_SPATIAL_API static FdoIGeometry* ReversePolygonVertexOrder ( |
| 375 | FdoIGeometry * geometry, |
| 376 | FdoBoolean checkInteriorRings = false ); |
| 377 | } |
| 378 | }}} |