| 1392 | } |
| 1393 | |
| 1394 | static void osClosedPolygon(msOracleSpatialHandler *hand, shapeObj *shape, SDOGeometryObj *obj, int start, int end, lineObj points, int elem_type, int data3d, int data4d) |
| 1395 | { |
| 1396 | int n; |
| 1397 | |
| 1398 | n = (end - start)/2; |
| 1399 | points.point = (pointObj *)malloc( sizeof(pointObj)*n ); |
| 1400 | |
| 1401 | if (data3d) |
| 1402 | n = msOCIGet3DOrdinates( hand, obj, start, end, points.point ); |
| 1403 | else if (data4d) |
| 1404 | n = msOCIGet4DOrdinates( hand, obj, start, end, points.point ); |
| 1405 | else |
| 1406 | n = msOCIGet2DOrdinates( hand, obj, start, end, points.point ); |
| 1407 | |
| 1408 | if (n > 0) |
| 1409 | { |
| 1410 | shape->type = (elem_type==21) ? MS_SHAPE_LINE : MS_SHAPE_POLYGON; |
| 1411 | points.numpoints = n; |
| 1412 | msAddLine( shape, &points ); |
| 1413 | } |
| 1414 | free( points.point ); |
| 1415 | } |
| 1416 | |
| 1417 | static void osRectangle(msOracleSpatialHandler *hand, shapeObj *shape, SDOGeometryObj *obj, int start, int end, lineObj points, pointObj *pnt, int data3d, int data4d) |
| 1418 | { |
no test coverage detected