@@ -909,57 +909,48 @@ bool QgsSimpleMarkerSymbolLayerV2::writeDxf( QgsDxfExport& e, double mmMapUnitSc
909
909
}
910
910
else if ( mName == " square" || mName == " rectangle" )
911
911
{
912
- // pt1 pt2
913
- // pt3 pt4
914
- QPointF pt1 = t.map ( QPointF ( -halfSize, -halfSize ) );
915
- QPointF pt2 = t.map ( QPointF ( halfSize, -halfSize ) );
916
- QPointF pt3 = t.map ( QPointF ( -halfSize, halfSize ) );
917
- QPointF pt4 = t.map ( QPointF ( halfSize, halfSize ) );
912
+ QgsPolygon p ( 1 );
913
+ p[0 ].resize ( 5 );
914
+ p[0 ][0 ] = t.map ( QPointF ( -halfSize, -halfSize ) );
915
+ p[0 ][1 ] = t.map ( QPointF ( -halfSize, halfSize ) );
916
+ p[0 ][2 ] = t.map ( QPointF ( halfSize, halfSize ) );
917
+ p[0 ][3 ] = t.map ( QPointF ( halfSize, -halfSize ) );
918
+ p[0 ][4 ] = p[0 ][0 ];
918
919
919
920
if ( mBrush .style () != Qt::NoBrush )
920
- e.writeSolid ( layerName, bc, pt1, pt2, pt3, pt4 );
921
-
921
+ e.writePolygon ( p, layerName, " SOLID" , bc );
922
922
if ( mPen .style () != Qt::NoPen )
923
- {
924
- e.writeLine ( pt1, pt2, layerName, " CONTINUOUS" , pc, outlineWidth );
925
- e.writeLine ( pt2, pt4, layerName, " CONTINUOUS" , pc, outlineWidth );
926
- e.writeLine ( pt4, pt3, layerName, " CONTINUOUS" , pc, outlineWidth );
927
- e.writeLine ( pt3, pt1, layerName, " CONTINUOUS" , pc, outlineWidth );
928
- }
923
+ e.writePolyline ( p[0 ], layerName, " CONTINUOUS" , pc, outlineWidth );
929
924
}
930
925
else if ( mName == " diamond" )
931
926
{
932
- QPointF pt1 = t.map ( QPointF ( -halfSize, 0 ) );
933
- QPointF pt2 = t.map ( QPointF ( 0 , -halfSize ) );
934
- QPointF pt3 = t.map ( QPointF ( 0 , halfSize ) );
935
- QPointF pt4 = t.map ( QPointF ( halfSize, 0 ) );
927
+ QgsPolygon p ( 1 );
928
+ p[0 ].resize ( 5 );
929
+ p[0 ][0 ] = t.map ( QPointF ( -halfSize, 0 ) );
930
+ p[0 ][1 ] = t.map ( QPointF ( 0 , halfSize ) );
931
+ p[0 ][3 ] = t.map ( QPointF ( halfSize, 0 ) );
932
+ p[0 ][1 ] = t.map ( QPointF ( 0 , -halfSize ) );
933
+ p[0 ][4 ] = p[0 ][0 ];
936
934
937
935
if ( mBrush .style () != Qt::NoBrush )
938
- e.writeSolid ( layerName, bc, pt1, pt2, pt3, pt4 );
939
-
936
+ e.writePolygon ( p, layerName, " SOLID" , bc );
940
937
if ( mPen .style () != Qt::NoPen )
941
- {
942
- e.writeLine ( pt1, pt2, layerName, " CONTINUOUS" , pc, outlineWidth );
943
- e.writeLine ( pt2, pt3, layerName, " CONTINUOUS" , pc, outlineWidth );
944
- e.writeLine ( pt3, pt4, layerName, " CONTINUOUS" , pc, outlineWidth );
945
- e.writeLine ( pt4, pt1, layerName, " CONTINUOUS" , pc, outlineWidth );
946
- }
938
+ e.writePolyline ( p[0 ], layerName, " CONTINUOUS" , pc, outlineWidth );
947
939
}
948
940
else if ( mName == " triangle" )
949
941
{
950
- QPointF pt1 = t.map ( QPointF ( -halfSize, -halfSize ) );
951
- QPointF pt2 = t.map ( QPointF ( halfSize, -halfSize ) );
952
- QPointF pt3 = t.map ( QPointF ( 0 , halfSize ) );
942
+ QgsPolygon p ( 1 );
943
+ p[0 ].resize ( 4 );
944
+ p[0 ][0 ] = t.map ( QPointF ( -halfSize, -halfSize ) );
945
+ p[0 ][1 ] = t.map ( QPointF ( halfSize, -halfSize ) );
946
+ p[0 ][1 ] = t.map ( QPointF ( 0 , halfSize ) );
947
+ p[0 ][2 ] = p[0 ][0 ];
953
948
954
949
if ( mBrush .style () != Qt::NoBrush )
955
- e.writeSolid ( layerName, bc, pt1, pt2, pt3, pt3 );
950
+ e.writePolygon ( p, layerName, " SOLID " , bc );
956
951
957
952
if ( mPen .style () != Qt::NoPen )
958
- {
959
- e.writeLine ( pt1, pt2, layerName, " CONTINUOUS" , pc, outlineWidth );
960
- e.writeLine ( pt2, pt3, layerName, " CONTINUOUS" , pc, outlineWidth );
961
- e.writeLine ( pt3, pt1, layerName, " CONTINUOUS" , pc, outlineWidth );
962
- }
953
+ e.writePolyline ( p[0 ], layerName, " CONTINUOUS" , pc, outlineWidth );
963
954
}
964
955
#if 0
965
956
else if ( mName == "equilateral_triangle" )
@@ -977,51 +968,53 @@ bool QgsSimpleMarkerSymbolLayerV2::writeDxf( QgsDxfExport& e, double mmMapUnitSc
977
968
}
978
969
else if ( mName == " cross" )
979
970
{
980
- QPointF pt1 = t.map ( QPointF ( -halfSize, 0 ) );
981
- QPointF pt2 = t.map ( QPointF ( halfSize, 0 ) );
982
- QPointF pt3 = t.map ( QPointF ( 0 , -halfSize ) );
983
- QPointF pt4 = t.map ( QPointF ( 0 , halfSize ) );
984
-
985
971
if ( mPen .style () != Qt::NoPen )
986
972
{
973
+ QPointF pt1 = t.map ( QPointF ( -halfSize, 0 ) );
974
+ QPointF pt2 = t.map ( QPointF ( halfSize, 0 ) );
975
+ QPointF pt3 = t.map ( QPointF ( 0 , -halfSize ) );
976
+ QPointF pt4 = t.map ( QPointF ( 0 , halfSize ) );
977
+
987
978
e.writeLine ( pt1, pt2, layerName, " CONTINUOUS" , pc, outlineWidth );
988
979
e.writeLine ( pt3, pt4, layerName, " CONTINUOUS" , pc, outlineWidth );
989
980
}
990
981
}
991
982
else if ( mName == " x" || mName == " cross2" )
992
983
{
993
- QPointF pt1 = t.map ( QPointF ( -halfSize, -halfSize ) );
994
- QPointF pt2 = t.map ( QPointF ( halfSize, halfSize ) );
995
- QPointF pt3 = t.map ( QPointF ( -halfSize, halfSize ) );
996
- QPointF pt4 = t.map ( QPointF ( halfSize, -halfSize ) );
997
-
998
984
if ( mPen .style () != Qt::NoPen )
999
985
{
986
+ QPointF pt1 = t.map ( QPointF ( -halfSize, -halfSize ) );
987
+ QPointF pt2 = t.map ( QPointF ( halfSize, halfSize ) );
988
+ QPointF pt3 = t.map ( QPointF ( -halfSize, halfSize ) );
989
+ QPointF pt4 = t.map ( QPointF ( halfSize, -halfSize ) );
990
+
1000
991
e.writeLine ( pt1, pt2, layerName, " CONTINUOUS" , pc, outlineWidth );
1001
992
e.writeLine ( pt3, pt4, layerName, " CONTINUOUS" , pc, outlineWidth );
1002
993
}
1003
994
}
1004
995
else if ( mName == " arrowhead" )
1005
996
{
1006
- QPointF pt1 = t.map ( QPointF ( -halfSize, halfSize ) );
1007
- QPointF pt2 = t.map ( QPointF ( 0 , 0 ) );
1008
- QPointF pt3 = t.map ( QPointF ( -halfSize, -halfSize ) );
1009
-
1010
997
if ( mPen .style () != Qt::NoPen )
1011
998
{
999
+ QPointF pt1 = t.map ( QPointF ( -halfSize, halfSize ) );
1000
+ QPointF pt2 = t.map ( QPointF ( 0 , 0 ) );
1001
+ QPointF pt3 = t.map ( QPointF ( -halfSize, -halfSize ) );
1002
+
1012
1003
e.writeLine ( pt1, pt2, layerName, " CONTINUOUS" , pc, outlineWidth );
1013
1004
e.writeLine ( pt3, pt2, layerName, " CONTINUOUS" , pc, outlineWidth );
1014
1005
}
1015
1006
}
1016
1007
else if ( mName == " filled_arrowhead" )
1017
1008
{
1018
- QPointF pt1 = t.map ( QPointF ( -halfSize, halfSize ) );
1019
- QPointF pt2 = t.map ( QPointF ( 0 , 0 ) );
1020
- QPointF pt3 = t.map ( QPointF ( -halfSize, -halfSize ) );
1021
-
1022
1009
if ( mBrush .style () != Qt::NoBrush )
1023
1010
{
1024
- e.writeSolid ( layerName, bc, pt1, pt2, pt3, pt3 );
1011
+ QgsPolygon p ( 1 );
1012
+ p[0 ].resize ( 4 );
1013
+ p[0 ][0 ] = t.map ( QPointF ( -halfSize, halfSize ) );
1014
+ p[0 ][1 ] = t.map ( QPointF ( 0 , 0 ) );
1015
+ p[0 ][2 ] = t.map ( QPointF ( -halfSize, -halfSize ) );
1016
+ p[0 ][3 ] = p[0 ][0 ];
1017
+ e.writePolygon ( p, layerName, " SOLID" , bc );
1025
1018
}
1026
1019
}
1027
1020
else
0 commit comments