==== //depot/Code/Main/GDALFramework/gdal-1.3.0/ogr/ogrsf_frmts/dxf/ogrdxflayer.cpp#1 - /Development/Code/GDALFramework/gdal-1.3.0/ogr/ogrsf_frmts/dxf/ogrdxflayer.cpp ==== 266a267 > int bHaveZ = FALSE; 281a283 > bHaveZ = TRUE; 321c323,326 < poFeature->SetGeometryDirectly( new OGRPoint( dfX, dfY, dfZ ) ); --- > if (bHaveZ) > poFeature->SetGeometryDirectly( new OGRPoint( dfX, dfY, dfZ ) ); > else > poFeature->SetGeometryDirectly( new OGRPoint( dfX, dfY ) ); 391a397 > int bHaveZ = FALSE; 406a413 > bHaveZ = TRUE; 433,434c440,444 < poFeature->SetGeometryDirectly( new OGRPoint( dfX, dfY, dfZ ) ); < --- > if (bHaveZ) > poFeature->SetGeometryDirectly( new OGRPoint( dfX, dfY, dfZ ) ); > else > poFeature->SetGeometryDirectly( new OGRPoint( dfX, dfY ) ); > 467a478 > int bHaveZ = FALSE; 481a493 > bHaveZ = TRUE; 491c503,506 < poFeature->SetGeometryDirectly( new OGRPoint( dfX, dfY, dfZ ) ); --- > if (bHaveZ) > poFeature->SetGeometryDirectly( new OGRPoint( dfX, dfY, dfZ ) ); > else > poFeature->SetGeometryDirectly( new OGRPoint( dfX, dfY ) ); 510a526 > int bHaveZ = FALSE; 535a552 > bHaveZ =TRUE; 539a557 > bHaveZ =TRUE; 556,557c574,580 < poLS->addPoint( dfX1, dfY1, dfZ1 ); < poLS->addPoint( dfX2, dfY2, dfZ2 ); --- > if (bHaveZ) { > poLS->addPoint( dfX1, dfY1, dfZ1 ); > poLS->addPoint( dfX2, dfY2, dfZ2 ); > } else { > poLS->addPoint( dfX1, dfY1 ); > poLS->addPoint( dfX2, dfY2 ); > } 579c602 < int bHaveX = FALSE, bHaveY = FALSE; --- > int bHaveX = FALSE, bHaveY = FALSE, bHaveZ = FALSE; 589a613,614 > delete poLS; > poLS = new OGRLinearRing; 595c620,624 < poLS->addPoint( dfX, dfY, dfZ ); --- > if (bHaveZ) > poLS->addPoint( dfX, dfY, dfZ ); > else > poLS->addPoint( dfX, dfY); > 605c634,637 < poLS->addPoint( dfX, dfY, dfZ ); --- > if (bHaveZ) > poLS->addPoint( dfX, dfY, dfZ ); > else > poLS->addPoint( dfX, dfY); 612c644,645 < case 30: --- > case 38: > bHaveZ = TRUE; // only set... 624,625c657,662 < if( bHaveX && bHaveY ) < poLS->addPoint( dfX, dfY, dfZ ); --- > if( bHaveX && bHaveY ) { > if (bHaveZ) > poLS->addPoint( dfX, dfY, dfZ ); > else > poLS->addPoint( dfX, dfY); > } 635c672,675 < poLS->addPoint( poLS->getX(0), poLS->getY(0), poLS->getZ(0) ); --- > if (bHaveZ) > poLS->addPoint( poLS->getX(0), poLS->getY(0), poLS->getZ(0) ); > else > poLS->addPoint( poLS->getX(0), poLS->getY(0)); 638c678,683 < poFeature->SetGeometryDirectly( poLS ); --- > if (nPolylineFlag) { > OGRPolygon *poPolygon = new OGRPolygon; > poPolygon->addRingDirectly( (OGRLinearRing*)poLS); > poFeature->SetGeometryDirectly( poPolygon); > } else > poFeature->SetGeometryDirectly( poLS ); 679c724,729 < OGRLineString *poLS = new OGRLineString(); --- > OGRLineString *poLS; > if (nPolylineFlag) > poLS = new OGRLineString(); > else > poLS = new OGRLinearRing(); > 680a731 > int bHaveZ=FALSE; 704a756 > bHaveZ = TRUE; 713c765,769 < poLS->addPoint( dfX, dfY, dfZ ); --- > if (bHaveZ) > poLS->addPoint( dfX, dfY, dfZ ); > else > poLS->addPoint( dfX, dfY ); > 724c780,783 < poLS->addPoint( poLS->getX(0), poLS->getY(0), poLS->getZ(0) ); --- > if (bHaveZ) > poLS->addPoint( poLS->getX(0), poLS->getY(0), poLS->getZ(0) ); > else > poLS->addPoint( poLS->getX(0), poLS->getY(0) ); 727c786,791 < poFeature->SetGeometryDirectly( poLS ); --- > if (nPolylineFlag) { > OGRPolygon *poPolygon = new OGRPolygon; > poPolygon->addRingDirectly( (OGRLinearRing*)poLS); > poFeature->SetGeometryDirectly( poPolygon); > } else > poFeature->SetGeometryDirectly( poLS ); 744a809 > int bHaveZ = FALSE; 761a827 > bHaveZ = TRUE; 804a871 > int bHaveZ = FALSE; 833a901 > bHaveZ = TRUE; 903a972 > int bHaveZ = FALSE; 920a990 > bHaveZ = TRUE;