From bfd952d484371e9053eaefdfa9505d959a2e2bdb Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Wed, 25 Dec 2024 23:38:15 +0800 Subject: [PATCH 1/9] plot/plot3d: Simplify the -A syntax to -Ax|y --- doc/rst/source/explain_line_draw.rst_ | 17 +++++++++-------- doc/rst/source/plot.rst | 10 +++++----- doc/rst/source/plot3d.rst | 4 ++-- doc/rst/source/psxy.rst | 2 +- doc/rst/source/psxyz.rst | 2 +- src/psxy.c | 21 +++++++++++---------- src/psxyz.c | 21 +++++++++++---------- test/psxy/nojump.sh | 2 +- test/psxy/polarcurves.sh | 10 +++++----- 9 files changed, 46 insertions(+), 43 deletions(-) diff --git a/doc/rst/source/explain_line_draw.rst_ b/doc/rst/source/explain_line_draw.rst_ index ea26678bba3..4d31a8ac0d8 100644 --- a/doc/rst/source/explain_line_draw.rst_ +++ b/doc/rst/source/explain_line_draw.rst_ @@ -1,15 +1,16 @@ -**-A**\ [**m**\|\ **p**\|\ **x**\|\ **y**\|\ **r**\|\ **t**] +**-A**\ [**x**\|\ **y**] By default, geographic line segments are drawn as great circle arcs by resampling coarse input data along such arcs. To disable this sampling and draw them as straight lines, use the |-A| flag. For Cartesian data, points are simply connected. To adjust these behaviors, append a directive: - - **m** - Draw the line by first following a meridian, then a parallel. - - **p** - Start following a parallel, then a meridian. (This can be practical - to draw a line along parallels, for example). - - **r** - For polar projections, draw stair-case curves whose first move is along *r*. - - **t** - Same, but first move is along *theta*. - - **x** - For Cartesian data, draw stair-case curves that whose first move is along *x*. - - **y** - Same, but first move is along *y*. + - **x** - First follow *x*, then *y* for staircase curves. + - **y** - First follow *y*, then *x* for staircase curves. + + Here, *x* and *y* have the following meanings: + + - For Cartesian projections, *x* and *y* are the X- and Y-axis. + - For gragraphic projections, *x* and *y* are parallels and meridians. + - For polar projections, *x* and *y* are theta and radius. **Note**: In :doc:`plot3d`, the |-A| option requires constant *z*-coordinates. diff --git a/doc/rst/source/plot.rst b/doc/rst/source/plot.rst index abb44d68d55..17f9b117329 100644 --- a/doc/rst/source/plot.rst +++ b/doc/rst/source/plot.rst @@ -14,7 +14,7 @@ Synopsis **gmt plot** [ *table* ] |-J|\ *parameters* |SYN_OPT-Rz| -[ |-A|\ [**m**\|\ **p**\|\ **x**\|\ **y**\|\ **r**\|\ **t**] ] +[ |-A|\ [**x**\|\ **y**] ] [ |SYN_OPT-B| ] [ |-C|\ *cpt* ] [ |-D|\ *dx*\ [/*dy*] ] @@ -249,13 +249,13 @@ Optional Arguments as column 2 (i.e., third) in any number of files having three columns. Each file may contain any number of segments per file. - **s** - Same but the two curves are given via separate pairs of tables [Default]. - + Several modifiers are at your disposal: - **+g** - We use the *fill* set via |-G| to fill the areas where :math:`y_0(x)` exceeds - :math:`y_1(x)`. For the opposite case, append another *fill* here. + :math:`y_1(x)`. For the opposite case, append another *fill* here. - **+l** - For the primary curve :math:`y_0(x)`, a legend label can be set via option - |SYN_OPT-l|. For a secondary label use this modifier to append the label. + |SYN_OPT-l|. For a secondary label use this modifier to append the label. - **+p** - Specify a separate pen for drawing curve :math:`y_1(x)` [Default is same pen as :math:`y_0(x)`]. See |-W| for specifying the pen for curve :math:`y_0(x)`. - **+r** - Specify a pen to simply draw a line instead of a filled box in the legend, but @@ -309,7 +309,7 @@ Optional Arguments *width* = 0.25p, *color* = black, *style* = solid]. Modifiers can be used to change the appearance of the line: - - **+c** - Determine how the color from the cpt file lookup is applied to symbol + - **+c** - Determine how the color from the cpt file lookup is applied to symbol and|or fill. Append **l** to have the color of the line to be taken from the CPT (see |-C|). If instead **f** is appended then the color from the cpt file is applied to symbol fill. If no argument is given the we use the color for both pen and fill. diff --git a/doc/rst/source/plot3d.rst b/doc/rst/source/plot3d.rst index 706bcd5d011..cb4173d133a 100644 --- a/doc/rst/source/plot3d.rst +++ b/doc/rst/source/plot3d.rst @@ -15,7 +15,7 @@ Synopsis **gmt plot3d** [ *table* ] |-J|\ *parameters* |-Jz|\ \|\ **Z**\ *parameters* |SYN_OPT-Rz| -[ |-A|\ [**m**\|\ **p**\|\ **x**\|\ **y**\|\ **r**\|\ **t**] ] +[ |-A|\ [**x**\|\ **y**] ] [ |SYN_OPT-B| ] [ |-C|\ *cpt* ] [ |-D|\ *dx*/*dy*\ [/*dz*] ] @@ -211,7 +211,7 @@ Optional Arguments *width* = 0.25p, *color* = black, *style* = solid]. Modifiers can be used to change the appearance of the line: - - **+c** - Determine how the color from the cpt file lookup is applied to symbol + - **+c** - Determine how the color from the cpt file lookup is applied to symbol and|or fill. Append **l** to have the color of the line to be taken from the CPT (see |-C|). If instead **f** is appended then the color from the cpt file is applied to symbol fill. If no argument is given the we use the color for both pen and fill. diff --git a/doc/rst/source/psxy.rst b/doc/rst/source/psxy.rst index 0951a6af2cd..aeabaa7e0d2 100644 --- a/doc/rst/source/psxy.rst +++ b/doc/rst/source/psxy.rst @@ -14,7 +14,7 @@ Synopsis **gmt psxy** [ *table* ] |-J|\ *parameters* |SYN_OPT-Rz| -[ |-A|\ [**m**\|\ **p**\|\ **x**\|\ **y**\|\ **r**\|\ **t**] ] +[ |-A|\ [**x**\|\ **y**] ] [ |SYN_OPT-B| ] [ |-C|\ *cpt* ] [ |-D|\ *dx*/*dy* ] diff --git a/doc/rst/source/psxyz.rst b/doc/rst/source/psxyz.rst index d1557f25f90..d8d7b32a336 100644 --- a/doc/rst/source/psxyz.rst +++ b/doc/rst/source/psxyz.rst @@ -15,7 +15,7 @@ Synopsis **gmt psxyz** [ *table* ] |-J|\ *parameters* |-J|\ **z**\|\ **Z**\ *parameters* |SYN_OPT-Rz| -[ |-A|\ [**m**\|\ **p**\|\ **x**\|\ **y**\|\ **r**\|\ **t**] ] +[ |-A|\ [**x**\|\ **y**] ] [ |SYN_OPT-B| ] [ |-C|\ *cpt* ] [ |-D|\ *dx*/*dy*\ [/*dz*] ] diff --git a/src/psxy.c b/src/psxy.c index 81816564009..894f23b51be 100644 --- a/src/psxy.c +++ b/src/psxy.c @@ -43,7 +43,7 @@ struct PSXY_CTRL { bool no_RJ_needed; /* Special case of -T and no -B when -R -J is not required */ - struct PSXY_A { /* -A[m|y|p|x|r|t] */ + struct PSXY_A { /* -A[x|y]] */ bool active; unsigned int mode; double step; @@ -529,7 +529,7 @@ static int usage (struct GMTAPI_CTRL *API, int level) { const char *mod_name = &name[4]; /* To skip the leading gmt for usage messages */ if (level == GMT_MODULE_PURPOSE) return (GMT_NOERROR); - GMT_Usage (API, 0, "usage: %s [] %s %s [-A[m|p|r|t|x|y]] [%s] [-C] [-D/] [%s] [-F%s] [-G|+z] " + GMT_Usage (API, 0, "usage: %s [
] %s %s [-A[x|y]] [%s] [-C] [-D/] [%s] [-F%s] [-G|+z] " "[-H[]] [-I[]] %s[%s] [-M[c|s][+g][+l][+p][+r[]][+y[]]] [-N[c|r]] %s%s [-S[][]] [%s] [%s] [-W[][]] [%s] [%s] " "[-Z|[+t|T]] [%s] [%s] %s[%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s]\n", name, GMT_J_OPT, GMT_Rgeoz_OPT, GMT_B_OPT, PSXY_E_OPT, GMT_SEGMENTIZE3, API->K_OPT, PLOT_L_OPT, API->O_OPT, API->P_OPT, @@ -542,15 +542,15 @@ static int usage (struct GMTAPI_CTRL *API, int level) { GMT_Message (API, GMT_TIME_NONE, " REQUIRED ARGUMENTS:\n"); GMT_Option (API, "<,J-Z,R"); GMT_Message (API, GMT_TIME_NONE, "\n OPTIONAL ARGUMENTS:\n"); - GMT_Usage (API, 1, "\n-A[m|p|r|t|x|y]"); + GMT_Usage (API, 1, "\n-A[x|y]"); GMT_Usage (API, -2, "Suppress drawing geographic line segments as great circle arcs, i.e., draw " - "straight lines instead. Six optional directives instead convert paths to staircase curves:"); - GMT_Usage (API, 3, "m: First follow meridians, then parallels when connecting geographic points."); - GMT_Usage (API, 3, "p: First follow parallels, then meridians when connecting geographic point."); - GMT_Usage (API, 3, "r: First follow radius, then theta for staircase curves for Polar projection."); - GMT_Usage (API, 3, "t: First follow theta, then radius for staircase curves for Polar projection."); - GMT_Usage (API, 3, "x: First follow x, then y for staircase curves for Cartesian projections."); - GMT_Usage (API, 3, "y: First follow y, then x for staircase curves for Cartesian projections."); + "straight lines instead. Two optional directives instead convert paths to staircase curves:"); + GMT_Usage (API, 3, "x: First follow x, then y for staircase curves."); + GMT_Usage (API, 3, "y: First follow y, then x for staircase curves."); + GMT_Usage (API, -2, "Here, x and y have the following meanings: " + "For Cartesian projections, x and y are the X- and Y-axis; " + "For gragraphic projections, x and y are parallels and meridians; " + "For polar projections, x and y are theta and radius."); GMT_Option (API, "B-"); GMT_Usage (API, 1, "\n-C|,[,,...]"); GMT_Usage (API, -2, "Assign symbol colors based on z-value in 3rd column. " @@ -837,6 +837,7 @@ static int parse (struct GMT_CTRL *GMT, struct PSXY_CTRL *Ctrl, struct GMT_OPTIO case 'A': /* Turn off draw_arc mode */ n_errors += gmt_M_repeated_module_option (API, Ctrl->A.active); + /* There are 6 optional directives but only x|y are documented since 6.6.0 */ switch (opt->arg[0]) { case 'm': case 'y': case 'r': Ctrl->A.mode = GMT_STAIRS_Y; break; case 'p': case 'x': case 't': Ctrl->A.mode = GMT_STAIRS_X; break; diff --git a/src/psxyz.c b/src/psxyz.c index 5c8ded89a5f..dffbffb9203 100644 --- a/src/psxyz.c +++ b/src/psxyz.c @@ -40,7 +40,7 @@ /* Control structure for psxyz */ struct PSXYZ_CTRL { - struct PSXYZ_A { /* -A[m|y|p|x|r|t|step] */ + struct PSXYZ_A { /* -A[x|y] */ bool active; unsigned int mode; double step; @@ -173,7 +173,7 @@ static int usage (struct GMTAPI_CTRL *API, int level) { const char *mod_name = &name[4]; /* To skip the leading gmt for usage messages */ const char *T[2] = {" [-T]", ""}; if (level == GMT_MODULE_PURPOSE) return (GMT_NOERROR); - GMT_Usage (API, 0, "usage: %s [
] %s %s [%s] [%s] [-A[m|p|r|t|x|y]] [-C] [-D/[/]] [-G] " + GMT_Usage (API, 0, "usage: %s [
] %s %s [%s] [%s] [-A[x|y]] [-C] [-D/[/]] [-G] " "[-H[]] [-I[]] %s [%s] [-N[c|r]] %s %s[-Q] [-S[][][/size_y]]%s [%s] [%s] [-W[][]] " "[%s] [%s] [-Z|[+t|T]] [%s] [%s] %s[%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s]\n", name, GMT_J_OPT, GMT_Rgeoz_OPT, GMT_B_OPT, GMT_Jz_OPT, API->K_OPT, PLOT_L_OPT, API->O_OPT, API->P_OPT, @@ -187,15 +187,15 @@ static int usage (struct GMTAPI_CTRL *API, int level) { GMT_Option (API, "<,J-Z,R3"); GMT_Message (API, GMT_TIME_NONE, "\n OPTIONAL ARGUMENTS:\n"); GMT_Option (API, "B-"); - GMT_Usage (API, 1, "\n-A[m|p|r|t|x|y]"); + GMT_Usage (API, 1, "\n-A[x|y]"); GMT_Usage (API, -2, "Suppress drawing geographic line segments as great circle arcs, i.e., draw " - "straight lines instead. Six optional directives instead convert paths to staircase curves:"); - GMT_Usage (API, 3, "m: First follow meridians, then parallels when connecting geographic points."); - GMT_Usage (API, 3, "p: First follow parallels, then meridians when connecting geographic point."); - GMT_Usage (API, 3, "r: First follow radius, then theta for staircase curves for Polar projection."); - GMT_Usage (API, 3, "t: First follow theta, then radius for staircase curves for Polar projection."); - GMT_Usage (API, 3, "x: First follow x, then y for staircase curves for Cartesian projections."); - GMT_Usage (API, 3, "y: First follow y, then x for staircase curves for Cartesian projections."); + "straight lines instead. Two optional directives instead convert paths to staircase curves:"); + GMT_Usage (API, 3, "x: First follow x, then y for staircase curves."); + GMT_Usage (API, 3, "y: First follow y, then x for staircase curves."); + GMT_Usage (API, -2, "Here, x and y have the following meanings: " + "For Cartesian projections, x and y are the X- and Y-axis; " + "For gragraphic projections, x and y are parallels and meridians; " + "For polar projections, x and y are theta and radius."); GMT_Usage (API, 1, "\n-C|,[,,...]"); GMT_Usage (API, -2, "Assign symbol colors based on z-value in 3rd column. " "Note: requires -S. Without -S, %s excepts lines/polygons " @@ -422,6 +422,7 @@ static int parse (struct GMT_CTRL *GMT, struct PSXYZ_CTRL *Ctrl, struct GMT_OPTI case 'A': /* Turn off draw_arc mode */ n_errors += gmt_M_repeated_module_option (API, Ctrl->A.active); + /* There are 6 optional directives but only x|y are documented since 6.6.0 */ switch (opt->arg[0]) { case 'm': case 'y': case 'r': Ctrl->A.mode = GMT_STAIRS_Y; break; case 'p': case 'x': case 't': Ctrl->A.mode = GMT_STAIRS_X; break; diff --git a/test/psxy/nojump.sh b/test/psxy/nojump.sh index 551de997ff4..7c3e43adb3f 100755 --- a/test/psxy/nojump.sh +++ b/test/psxy/nojump.sh @@ -12,5 +12,5 @@ cat << EOF > t.txt 115 -20 EOF gmt psxy -R110/215/-27/20 -JM6i t.txt -Wfat,green -Baf -BWSne -A -P -K -Xc > $ps -gmt psxy -R -J t.txt -Wfat,green -Baf -BWSne -Ap -O -K -Y3.15i >> $ps +gmt psxy -R -J t.txt -Wfat,green -Baf -BWSne -Ax -O -K -Y3.15i >> $ps gmt psxy -R -J t.txt -Wfat,green -Baf -BWSne -O -Y3.15i >> $ps diff --git a/test/psxy/polarcurves.sh b/test/psxy/polarcurves.sh index aa609f631be..4e9cd1f918b 100755 --- a/test/psxy/polarcurves.sh +++ b/test/psxy/polarcurves.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# test the -Ar|t line-resampling for polar projections +# test the -Ax|y line-resampling for polar projections cat << EOF > t.txt 10 5 30 4 @@ -10,11 +10,11 @@ gmt begin polarcurves ps gmt subplot set 0 -A"No -A" gmt plot -W2p,red t.txt gmt plot t.txt -Sc0.2c -Wthin - gmt subplot set 1 -A"-At: @~q@~, then r" - gmt plot -W2p,red -At t.txt + gmt subplot set 1 -A"-Ax: @~q@~, then r" + gmt plot -W2p,red -Ax t.txt gmt plot t.txt -Sc0.2c -Wthin - gmt subplot set 2 -A"-Ar: r, then @~q@~" - gmt plot -W2p,red -Ar t.txt + gmt subplot set 2 -A"-Ay: r, then @~q@~" + gmt plot -W2p,red -Ay t.txt gmt plot t.txt -Sc0.2c -Wthin gmt subplot end gmt end show From 9eadb73cbb4e0bd8fd9277e6aaed0fa2211b16ce Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Wed, 25 Dec 2024 23:38:15 +0800 Subject: [PATCH 2/9] plot/plot3d: Simplify the -A syntax to -Ax|y --- doc/rst/source/explain_line_draw.rst_ | 17 +++++++++-------- doc/rst/source/plot.rst | 10 +++++----- doc/rst/source/plot3d.rst | 4 ++-- doc/rst/source/psxy.rst | 2 +- doc/rst/source/psxyz.rst | 2 +- src/psxy.c | 21 +++++++++++---------- src/psxyz.c | 21 +++++++++++---------- test/psxy/nojump.sh | 2 +- test/psxy/polarcurves.sh | 10 +++++----- 9 files changed, 46 insertions(+), 43 deletions(-) diff --git a/doc/rst/source/explain_line_draw.rst_ b/doc/rst/source/explain_line_draw.rst_ index ea26678bba3..4d31a8ac0d8 100644 --- a/doc/rst/source/explain_line_draw.rst_ +++ b/doc/rst/source/explain_line_draw.rst_ @@ -1,15 +1,16 @@ -**-A**\ [**m**\|\ **p**\|\ **x**\|\ **y**\|\ **r**\|\ **t**] +**-A**\ [**x**\|\ **y**] By default, geographic line segments are drawn as great circle arcs by resampling coarse input data along such arcs. To disable this sampling and draw them as straight lines, use the |-A| flag. For Cartesian data, points are simply connected. To adjust these behaviors, append a directive: - - **m** - Draw the line by first following a meridian, then a parallel. - - **p** - Start following a parallel, then a meridian. (This can be practical - to draw a line along parallels, for example). - - **r** - For polar projections, draw stair-case curves whose first move is along *r*. - - **t** - Same, but first move is along *theta*. - - **x** - For Cartesian data, draw stair-case curves that whose first move is along *x*. - - **y** - Same, but first move is along *y*. + - **x** - First follow *x*, then *y* for staircase curves. + - **y** - First follow *y*, then *x* for staircase curves. + + Here, *x* and *y* have the following meanings: + + - For Cartesian projections, *x* and *y* are the X- and Y-axis. + - For gragraphic projections, *x* and *y* are parallels and meridians. + - For polar projections, *x* and *y* are theta and radius. **Note**: In :doc:`plot3d`, the |-A| option requires constant *z*-coordinates. diff --git a/doc/rst/source/plot.rst b/doc/rst/source/plot.rst index abb44d68d55..17f9b117329 100644 --- a/doc/rst/source/plot.rst +++ b/doc/rst/source/plot.rst @@ -14,7 +14,7 @@ Synopsis **gmt plot** [ *table* ] |-J|\ *parameters* |SYN_OPT-Rz| -[ |-A|\ [**m**\|\ **p**\|\ **x**\|\ **y**\|\ **r**\|\ **t**] ] +[ |-A|\ [**x**\|\ **y**] ] [ |SYN_OPT-B| ] [ |-C|\ *cpt* ] [ |-D|\ *dx*\ [/*dy*] ] @@ -249,13 +249,13 @@ Optional Arguments as column 2 (i.e., third) in any number of files having three columns. Each file may contain any number of segments per file. - **s** - Same but the two curves are given via separate pairs of tables [Default]. - + Several modifiers are at your disposal: - **+g** - We use the *fill* set via |-G| to fill the areas where :math:`y_0(x)` exceeds - :math:`y_1(x)`. For the opposite case, append another *fill* here. + :math:`y_1(x)`. For the opposite case, append another *fill* here. - **+l** - For the primary curve :math:`y_0(x)`, a legend label can be set via option - |SYN_OPT-l|. For a secondary label use this modifier to append the label. + |SYN_OPT-l|. For a secondary label use this modifier to append the label. - **+p** - Specify a separate pen for drawing curve :math:`y_1(x)` [Default is same pen as :math:`y_0(x)`]. See |-W| for specifying the pen for curve :math:`y_0(x)`. - **+r** - Specify a pen to simply draw a line instead of a filled box in the legend, but @@ -309,7 +309,7 @@ Optional Arguments *width* = 0.25p, *color* = black, *style* = solid]. Modifiers can be used to change the appearance of the line: - - **+c** - Determine how the color from the cpt file lookup is applied to symbol + - **+c** - Determine how the color from the cpt file lookup is applied to symbol and|or fill. Append **l** to have the color of the line to be taken from the CPT (see |-C|). If instead **f** is appended then the color from the cpt file is applied to symbol fill. If no argument is given the we use the color for both pen and fill. diff --git a/doc/rst/source/plot3d.rst b/doc/rst/source/plot3d.rst index 706bcd5d011..cb4173d133a 100644 --- a/doc/rst/source/plot3d.rst +++ b/doc/rst/source/plot3d.rst @@ -15,7 +15,7 @@ Synopsis **gmt plot3d** [ *table* ] |-J|\ *parameters* |-Jz|\ \|\ **Z**\ *parameters* |SYN_OPT-Rz| -[ |-A|\ [**m**\|\ **p**\|\ **x**\|\ **y**\|\ **r**\|\ **t**] ] +[ |-A|\ [**x**\|\ **y**] ] [ |SYN_OPT-B| ] [ |-C|\ *cpt* ] [ |-D|\ *dx*/*dy*\ [/*dz*] ] @@ -211,7 +211,7 @@ Optional Arguments *width* = 0.25p, *color* = black, *style* = solid]. Modifiers can be used to change the appearance of the line: - - **+c** - Determine how the color from the cpt file lookup is applied to symbol + - **+c** - Determine how the color from the cpt file lookup is applied to symbol and|or fill. Append **l** to have the color of the line to be taken from the CPT (see |-C|). If instead **f** is appended then the color from the cpt file is applied to symbol fill. If no argument is given the we use the color for both pen and fill. diff --git a/doc/rst/source/psxy.rst b/doc/rst/source/psxy.rst index 0951a6af2cd..aeabaa7e0d2 100644 --- a/doc/rst/source/psxy.rst +++ b/doc/rst/source/psxy.rst @@ -14,7 +14,7 @@ Synopsis **gmt psxy** [ *table* ] |-J|\ *parameters* |SYN_OPT-Rz| -[ |-A|\ [**m**\|\ **p**\|\ **x**\|\ **y**\|\ **r**\|\ **t**] ] +[ |-A|\ [**x**\|\ **y**] ] [ |SYN_OPT-B| ] [ |-C|\ *cpt* ] [ |-D|\ *dx*/*dy* ] diff --git a/doc/rst/source/psxyz.rst b/doc/rst/source/psxyz.rst index d1557f25f90..d8d7b32a336 100644 --- a/doc/rst/source/psxyz.rst +++ b/doc/rst/source/psxyz.rst @@ -15,7 +15,7 @@ Synopsis **gmt psxyz** [ *table* ] |-J|\ *parameters* |-J|\ **z**\|\ **Z**\ *parameters* |SYN_OPT-Rz| -[ |-A|\ [**m**\|\ **p**\|\ **x**\|\ **y**\|\ **r**\|\ **t**] ] +[ |-A|\ [**x**\|\ **y**] ] [ |SYN_OPT-B| ] [ |-C|\ *cpt* ] [ |-D|\ *dx*/*dy*\ [/*dz*] ] diff --git a/src/psxy.c b/src/psxy.c index 81816564009..894f23b51be 100644 --- a/src/psxy.c +++ b/src/psxy.c @@ -43,7 +43,7 @@ struct PSXY_CTRL { bool no_RJ_needed; /* Special case of -T and no -B when -R -J is not required */ - struct PSXY_A { /* -A[m|y|p|x|r|t] */ + struct PSXY_A { /* -A[x|y]] */ bool active; unsigned int mode; double step; @@ -529,7 +529,7 @@ static int usage (struct GMTAPI_CTRL *API, int level) { const char *mod_name = &name[4]; /* To skip the leading gmt for usage messages */ if (level == GMT_MODULE_PURPOSE) return (GMT_NOERROR); - GMT_Usage (API, 0, "usage: %s [
] %s %s [-A[m|p|r|t|x|y]] [%s] [-C] [-D/] [%s] [-F%s] [-G|+z] " + GMT_Usage (API, 0, "usage: %s [
] %s %s [-A[x|y]] [%s] [-C] [-D/] [%s] [-F%s] [-G|+z] " "[-H[]] [-I[]] %s[%s] [-M[c|s][+g][+l][+p][+r[]][+y[]]] [-N[c|r]] %s%s [-S[][]] [%s] [%s] [-W[][]] [%s] [%s] " "[-Z|[+t|T]] [%s] [%s] %s[%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s]\n", name, GMT_J_OPT, GMT_Rgeoz_OPT, GMT_B_OPT, PSXY_E_OPT, GMT_SEGMENTIZE3, API->K_OPT, PLOT_L_OPT, API->O_OPT, API->P_OPT, @@ -542,15 +542,15 @@ static int usage (struct GMTAPI_CTRL *API, int level) { GMT_Message (API, GMT_TIME_NONE, " REQUIRED ARGUMENTS:\n"); GMT_Option (API, "<,J-Z,R"); GMT_Message (API, GMT_TIME_NONE, "\n OPTIONAL ARGUMENTS:\n"); - GMT_Usage (API, 1, "\n-A[m|p|r|t|x|y]"); + GMT_Usage (API, 1, "\n-A[x|y]"); GMT_Usage (API, -2, "Suppress drawing geographic line segments as great circle arcs, i.e., draw " - "straight lines instead. Six optional directives instead convert paths to staircase curves:"); - GMT_Usage (API, 3, "m: First follow meridians, then parallels when connecting geographic points."); - GMT_Usage (API, 3, "p: First follow parallels, then meridians when connecting geographic point."); - GMT_Usage (API, 3, "r: First follow radius, then theta for staircase curves for Polar projection."); - GMT_Usage (API, 3, "t: First follow theta, then radius for staircase curves for Polar projection."); - GMT_Usage (API, 3, "x: First follow x, then y for staircase curves for Cartesian projections."); - GMT_Usage (API, 3, "y: First follow y, then x for staircase curves for Cartesian projections."); + "straight lines instead. Two optional directives instead convert paths to staircase curves:"); + GMT_Usage (API, 3, "x: First follow x, then y for staircase curves."); + GMT_Usage (API, 3, "y: First follow y, then x for staircase curves."); + GMT_Usage (API, -2, "Here, x and y have the following meanings: " + "For Cartesian projections, x and y are the X- and Y-axis; " + "For gragraphic projections, x and y are parallels and meridians; " + "For polar projections, x and y are theta and radius."); GMT_Option (API, "B-"); GMT_Usage (API, 1, "\n-C|,[,,...]"); GMT_Usage (API, -2, "Assign symbol colors based on z-value in 3rd column. " @@ -837,6 +837,7 @@ static int parse (struct GMT_CTRL *GMT, struct PSXY_CTRL *Ctrl, struct GMT_OPTIO case 'A': /* Turn off draw_arc mode */ n_errors += gmt_M_repeated_module_option (API, Ctrl->A.active); + /* There are 6 optional directives but only x|y are documented since 6.6.0 */ switch (opt->arg[0]) { case 'm': case 'y': case 'r': Ctrl->A.mode = GMT_STAIRS_Y; break; case 'p': case 'x': case 't': Ctrl->A.mode = GMT_STAIRS_X; break; diff --git a/src/psxyz.c b/src/psxyz.c index 5c8ded89a5f..dffbffb9203 100644 --- a/src/psxyz.c +++ b/src/psxyz.c @@ -40,7 +40,7 @@ /* Control structure for psxyz */ struct PSXYZ_CTRL { - struct PSXYZ_A { /* -A[m|y|p|x|r|t|step] */ + struct PSXYZ_A { /* -A[x|y] */ bool active; unsigned int mode; double step; @@ -173,7 +173,7 @@ static int usage (struct GMTAPI_CTRL *API, int level) { const char *mod_name = &name[4]; /* To skip the leading gmt for usage messages */ const char *T[2] = {" [-T]", ""}; if (level == GMT_MODULE_PURPOSE) return (GMT_NOERROR); - GMT_Usage (API, 0, "usage: %s [
] %s %s [%s] [%s] [-A[m|p|r|t|x|y]] [-C] [-D/[/]] [-G] " + GMT_Usage (API, 0, "usage: %s [
] %s %s [%s] [%s] [-A[x|y]] [-C] [-D/[/]] [-G] " "[-H[]] [-I[]] %s [%s] [-N[c|r]] %s %s[-Q] [-S[][][/size_y]]%s [%s] [%s] [-W[][]] " "[%s] [%s] [-Z|[+t|T]] [%s] [%s] %s[%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s]\n", name, GMT_J_OPT, GMT_Rgeoz_OPT, GMT_B_OPT, GMT_Jz_OPT, API->K_OPT, PLOT_L_OPT, API->O_OPT, API->P_OPT, @@ -187,15 +187,15 @@ static int usage (struct GMTAPI_CTRL *API, int level) { GMT_Option (API, "<,J-Z,R3"); GMT_Message (API, GMT_TIME_NONE, "\n OPTIONAL ARGUMENTS:\n"); GMT_Option (API, "B-"); - GMT_Usage (API, 1, "\n-A[m|p|r|t|x|y]"); + GMT_Usage (API, 1, "\n-A[x|y]"); GMT_Usage (API, -2, "Suppress drawing geographic line segments as great circle arcs, i.e., draw " - "straight lines instead. Six optional directives instead convert paths to staircase curves:"); - GMT_Usage (API, 3, "m: First follow meridians, then parallels when connecting geographic points."); - GMT_Usage (API, 3, "p: First follow parallels, then meridians when connecting geographic point."); - GMT_Usage (API, 3, "r: First follow radius, then theta for staircase curves for Polar projection."); - GMT_Usage (API, 3, "t: First follow theta, then radius for staircase curves for Polar projection."); - GMT_Usage (API, 3, "x: First follow x, then y for staircase curves for Cartesian projections."); - GMT_Usage (API, 3, "y: First follow y, then x for staircase curves for Cartesian projections."); + "straight lines instead. Two optional directives instead convert paths to staircase curves:"); + GMT_Usage (API, 3, "x: First follow x, then y for staircase curves."); + GMT_Usage (API, 3, "y: First follow y, then x for staircase curves."); + GMT_Usage (API, -2, "Here, x and y have the following meanings: " + "For Cartesian projections, x and y are the X- and Y-axis; " + "For gragraphic projections, x and y are parallels and meridians; " + "For polar projections, x and y are theta and radius."); GMT_Usage (API, 1, "\n-C|,[,,...]"); GMT_Usage (API, -2, "Assign symbol colors based on z-value in 3rd column. " "Note: requires -S. Without -S, %s excepts lines/polygons " @@ -422,6 +422,7 @@ static int parse (struct GMT_CTRL *GMT, struct PSXYZ_CTRL *Ctrl, struct GMT_OPTI case 'A': /* Turn off draw_arc mode */ n_errors += gmt_M_repeated_module_option (API, Ctrl->A.active); + /* There are 6 optional directives but only x|y are documented since 6.6.0 */ switch (opt->arg[0]) { case 'm': case 'y': case 'r': Ctrl->A.mode = GMT_STAIRS_Y; break; case 'p': case 'x': case 't': Ctrl->A.mode = GMT_STAIRS_X; break; diff --git a/test/psxy/nojump.sh b/test/psxy/nojump.sh index 551de997ff4..7c3e43adb3f 100755 --- a/test/psxy/nojump.sh +++ b/test/psxy/nojump.sh @@ -12,5 +12,5 @@ cat << EOF > t.txt 115 -20 EOF gmt psxy -R110/215/-27/20 -JM6i t.txt -Wfat,green -Baf -BWSne -A -P -K -Xc > $ps -gmt psxy -R -J t.txt -Wfat,green -Baf -BWSne -Ap -O -K -Y3.15i >> $ps +gmt psxy -R -J t.txt -Wfat,green -Baf -BWSne -Ax -O -K -Y3.15i >> $ps gmt psxy -R -J t.txt -Wfat,green -Baf -BWSne -O -Y3.15i >> $ps diff --git a/test/psxy/polarcurves.sh b/test/psxy/polarcurves.sh index aa609f631be..4e9cd1f918b 100755 --- a/test/psxy/polarcurves.sh +++ b/test/psxy/polarcurves.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# test the -Ar|t line-resampling for polar projections +# test the -Ax|y line-resampling for polar projections cat << EOF > t.txt 10 5 30 4 @@ -10,11 +10,11 @@ gmt begin polarcurves ps gmt subplot set 0 -A"No -A" gmt plot -W2p,red t.txt gmt plot t.txt -Sc0.2c -Wthin - gmt subplot set 1 -A"-At: @~q@~, then r" - gmt plot -W2p,red -At t.txt + gmt subplot set 1 -A"-Ax: @~q@~, then r" + gmt plot -W2p,red -Ax t.txt gmt plot t.txt -Sc0.2c -Wthin - gmt subplot set 2 -A"-Ar: r, then @~q@~" - gmt plot -W2p,red -Ar t.txt + gmt subplot set 2 -A"-Ay: r, then @~q@~" + gmt plot -W2p,red -Ay t.txt gmt plot t.txt -Sc0.2c -Wthin gmt subplot end gmt end show From 0da031ce31e3ef6b656b259a093f564917e179de Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Tue, 7 Jan 2025 14:57:20 +0800 Subject: [PATCH 3/9] Update dvc baseline image --- test/baseline/psxy.dvc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/baseline/psxy.dvc b/test/baseline/psxy.dvc index c70941fab9d..f859c7dbf9d 100644 --- a/test/baseline/psxy.dvc +++ b/test/baseline/psxy.dvc @@ -1,5 +1,5 @@ outs: -- md5: 239f4bd18d38b222c7da4a1fa70bb7aa.dir +- md5: c597478c2dfc51aa340071f73df8731c.dir nfiles: 142 path: psxy hash: md5 From e5c791a02efecc6574fc95897a3bf09f6947b138 Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Wed, 9 Apr 2025 22:39:55 +0800 Subject: [PATCH 4/9] Fix long options --- src/longopt/psclip_inc.h | 2 +- src/longopt/psxy_inc.h | 2 +- src/longopt/psxyz_inc.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/longopt/psclip_inc.h b/src/longopt/psclip_inc.h index f9d69fbd5dd..7fc47f385b3 100644 --- a/src/longopt/psclip_inc.h +++ b/src/longopt/psclip_inc.h @@ -26,7 +26,7 @@ static struct GMT_KEYWORD_DICTIONARY module_kw[] = { short_modifiers, long_modifiers, transproc_mask */ { 0, 'A', "straightlines|steps", - "m,p,x,y,r,t", "meridian,parallel,x,y,r,theta", + "x,y", "x,y", "", "", GMT_TP_STANDARD }, { 0, 'C', "endclip", "", "", "", "", GMT_TP_STANDARD }, diff --git a/src/longopt/psxy_inc.h b/src/longopt/psxy_inc.h index d06037fc9b3..6450499dd6c 100644 --- a/src/longopt/psxy_inc.h +++ b/src/longopt/psxy_inc.h @@ -26,7 +26,7 @@ static struct GMT_KEYWORD_DICTIONARY module_kw[] = { /* Local options for this m short_modifiers, long_modifiers, transproc_mask */ { 0, 'A', "straightlines", - "m,p,x,y,r,t", "mpfollow,pmfollow,xyalong,yxalong,rtalong,tralong", + "x,y", "x,y", "", "", GMT_TP_STANDARD }, GMT_C_CPT_KW, diff --git a/src/longopt/psxyz_inc.h b/src/longopt/psxyz_inc.h index ad34be9a140..3dc89b0576d 100644 --- a/src/longopt/psxyz_inc.h +++ b/src/longopt/psxyz_inc.h @@ -26,7 +26,7 @@ static struct GMT_KEYWORD_DICTIONARY module_kw[] = { short_modifiers, long_modifiers, transproc_mask */ { 0, 'A', "straightlines|straight_lines|straight_line", - "m,p,x,y,r,t", "mpfollow,pmfollow,xyalong,yxalong,rtalong,tralong", + "x,y", "x,y", "", "", GMT_TP_STANDARD }, GMT_C_CPT_KW, From ebe7e7a66fe7c91854ae6983cf0b878dfdfce4a3 Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Wed, 9 Apr 2025 22:45:50 +0800 Subject: [PATCH 5/9] Update psclip --- doc/rst/source/clip.rst | 26 +++++++++++++++----------- doc/rst/source/psclip.rst | 2 +- src/psclip.c | 20 ++++++++++---------- 3 files changed, 26 insertions(+), 22 deletions(-) diff --git a/doc/rst/source/clip.rst b/doc/rst/source/clip.rst index 8cc80d82a49..5e8b3dcd1b7 100644 --- a/doc/rst/source/clip.rst +++ b/doc/rst/source/clip.rst @@ -14,7 +14,7 @@ Synopsis **gmt clip** [ *table* ] |-J|\ *parameters* |-C|\ [*n*] |SYN_OPT-Rz| -[ |-A|\ [**m**\|\ **p**\|\ **x**\|\ **y**\|\ **r**\|\ **t**] ] +[ |-A|\ [**x**\|\ **y**] ] [ |SYN_OPT-B| ] |-J|\ **z**\|\ **Z**\ *parameters* ] [ |-N| ] @@ -89,16 +89,20 @@ Optional Arguments .. _-A: -**-A**\ [**m**\|\ **p**\|\ **x**\|\ **y**\|\ **r**\|\ **t**] - By default, geographic line segments are connected as great circle arcs. To connect them as - straight lines, use the |-A| flag. Alternatively, add **m** to connect - the line by first following a meridian, then a parallel. Or append **p** - to start following a parallel, then a meridian. (This can be practical - to connect lines along parallels, for example). - For Cartesian data, points are simply connected, unless you append - **x** or **y** to construct stair-case paths whose first move is along - *x* or *y*, respectively. For polar projection, append **r** or **t** to - draw stair-case curves that whose first move is along *r* or *theta*, respectively. +**-A**\ [**x**\|\ **y**] + By default, geographic line segments are connected as great circle arcs by resampling + coarse input data along such arcs. To disable this sampling and connect them as + straight lines, use the |-A| flag. For Cartesian data, points are simply connected. + To adjust these behaviors, append a directive: + + - **x** - First follow *x*, then *y* for staircase curves. + - **y** - First follow *y*, then *x* for staircase curves. + + Here, *x* and *y* have the following meanings: + + - For Cartesian projections, *x* and *y* are the X- and Y-axis. + - For gragraphic projections, *x* and *y* are parallels and meridians. + - For polar projections, *x* and *y* are theta and radius. .. |Add_-B| replace:: |Add_-B_links| .. include:: explain_-B.rst_ diff --git a/doc/rst/source/psclip.rst b/doc/rst/source/psclip.rst index 4da5503b4c7..1dda3e67c46 100644 --- a/doc/rst/source/psclip.rst +++ b/doc/rst/source/psclip.rst @@ -14,7 +14,7 @@ Synopsis **gmt psclip** [ *table* ] |-J|\ *parameters* |-C|\ [*n*] |SYN_OPT-Rz| -[ |-A|\ [**m**\|\ **p**\|\ **x**\|\ **y**\|\ **r**\|\ **t**] ] +[ |-A|\ [**x**\|\ **y**] ] [ |SYN_OPT-B| ] [ |-K| ] [ |-N| ] [ |-O| ] [ |-P| ] [ |-T| ] diff --git a/src/psclip.c b/src/psclip.c index 287eeafd076..0c41f889a2e 100644 --- a/src/psclip.c +++ b/src/psclip.c @@ -37,7 +37,7 @@ #define THIS_MODULE_OPTIONS "-:>BJKOPRUVXYbdefghipqtxy" GMT_OPT("EZMmc") struct PSCLIP_CTRL { - struct PSCLIP_A { /* -A[m|y|p|x|r|t] */ + struct PSCLIP_A { /* -A[x|y] */ bool active; unsigned int mode; double step; @@ -79,7 +79,7 @@ static int usage (struct GMTAPI_CTRL *API, int level) { if (level == GMT_MODULE_PURPOSE) return (GMT_NOERROR); GMT_Usage (API, 0, "usage: %s -C[a|] [-K] [-O]\n", name); GMT_Usage (API, 1, "or\n"); - GMT_Usage (API, 0, "usage: %s [
] %s %s [-A[m|p|r|t|x|y]] [%s] %s[-N] %s%s[-T] " + GMT_Usage (API, 0, "usage: %s [
] %s %s [-A[x|y]] [%s] %s[-N] %s%s[-T] " "[%s] [%s] [-W[]] [%s] [%s] [%s] %s[%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s] [%s]\n", name, GMT_J_OPT, GMT_Rgeoz_OPT, GMT_B_OPT, API->K_OPT, API->O_OPT, API->P_OPT, GMT_U_OPT, GMT_V_OPT, GMT_X_OPT, GMT_Y_OPT, GMT_bi_OPT, API->c_OPT, GMT_di_OPT, GMT_e_OPT, GMT_f_OPT, GMT_g_OPT, GMT_h_OPT, @@ -94,15 +94,15 @@ static int usage (struct GMTAPI_CTRL *API, int level) { "Terminates all clipping; optionally append how many clip levels to restore [all]."); GMT_Option (API, "J-Z,R"); GMT_Message (API, GMT_TIME_NONE, "\n OPTIONAL ARGUMENTS:\n"); - GMT_Usage (API, 1, "\n-A[m|p|r|t|x|y]"); + GMT_Usage (API, 1, "\n-A[x|y]"); GMT_Usage (API, -2, "Suppress drawing geographic line segments as great circle arcs, i.e., draw " - "straight lines instead. Six optional directives instead convert paths to staircase curves:"); - GMT_Usage (API, 3, "m: First follow meridians, then parallels when connecting geographic points."); - GMT_Usage (API, 3, "p: First follow parallels, then meridians when connecting geographic point."); - GMT_Usage (API, 3, "r: First follow radius, then theta for staircase curves for Polar projection."); - GMT_Usage (API, 3, "t: First follow theta, then radius for staircase curves for Polar projection."); - GMT_Usage (API, 3, "x: First follow x, then y for staircase curves for Cartesian projections."); - GMT_Usage (API, 3, "y: First follow y, then x for staircase curves for Cartesian projections."); + "straight lines instead. Two optional directives instead convert paths to staircase curves:"); + GMT_Usage (API, 3, "x: First follow x, then y for staircase curves."); + GMT_Usage (API, 3, "y: First follow y, then x for staircase curves."); + GMT_Usage (API, -2, "Here, x and y have the following meanings: " + "For Cartesian projections, x and y are the X- and Y-axis; " + "For gragraphic projections, x and y are parallels and meridians; " + "For polar projections, x and y are theta and radius."); GMT_Option (API, "B-,K"); GMT_Usage (API, 1, "\n-N Use the outside of the polygons and the map boundary as clip paths."); GMT_Option (API, "O,P"); From f9375dbbacd1a948436071f8a77d3fe770ea12a7 Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Wed, 9 Apr 2025 22:57:26 +0800 Subject: [PATCH 6/9] Use consistent long option names --- src/longopt/psclip_inc.h | 2 +- src/longopt/psxy_inc.h | 2 +- src/longopt/psxyz_inc.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/longopt/psclip_inc.h b/src/longopt/psclip_inc.h index 7fc47f385b3..9926a94c565 100644 --- a/src/longopt/psclip_inc.h +++ b/src/longopt/psclip_inc.h @@ -25,7 +25,7 @@ static struct GMT_KEYWORD_DICTIONARY module_kw[] = { short_directives, long_directives, short_modifiers, long_modifiers, transproc_mask */ - { 0, 'A', "straightlines|steps", + { 0, 'A', "steps|stairs|straight_lines", "x,y", "x,y", "", "", GMT_TP_STANDARD }, diff --git a/src/longopt/psxy_inc.h b/src/longopt/psxy_inc.h index 6450499dd6c..3adde37f16c 100644 --- a/src/longopt/psxy_inc.h +++ b/src/longopt/psxy_inc.h @@ -25,7 +25,7 @@ static struct GMT_KEYWORD_DICTIONARY module_kw[] = { /* Local options for this m short_directives, long_directives, short_modifiers, long_modifiers, transproc_mask */ - { 0, 'A', "straightlines", + { 0, 'A', "steps|stairs|straight_lines", "x,y", "x,y", "", "", GMT_TP_STANDARD }, diff --git a/src/longopt/psxyz_inc.h b/src/longopt/psxyz_inc.h index 3dc89b0576d..7742eae38b4 100644 --- a/src/longopt/psxyz_inc.h +++ b/src/longopt/psxyz_inc.h @@ -25,7 +25,7 @@ static struct GMT_KEYWORD_DICTIONARY module_kw[] = { short_directives, long_directives, short_modifiers, long_modifiers, transproc_mask */ - { 0, 'A', "straightlines|straight_lines|straight_line", + { 0, 'A', "steps|stairs|straight_lines", "x,y", "x,y", "", "", GMT_TP_STANDARD }, From 8c5f598e11c76c4804bc77f506cbdf3cddc3e6ce Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Thu, 10 Apr 2025 10:20:34 +0800 Subject: [PATCH 7/9] Update l2sh tests --- test/psclip/psclip-l2s.sh | 4 ---- test/psxy/psxy-l2s.sh | 8 ++++---- test/psxyz/psxyz-l2s.sh | 6 +----- 3 files changed, 5 insertions(+), 13 deletions(-) diff --git a/test/psclip/psclip-l2s.sh b/test/psclip/psclip-l2s.sh index 1a150e98c5b..ed311407999 100755 --- a/test/psclip/psclip-l2s.sh +++ b/test/psclip/psclip-l2s.sh @@ -9,9 +9,7 @@ b=$m-l2s-b.txt rm -f $a $b ; touch $b cat << EOF > $a ---l2stranstest -Am -Ap --l2stranstest -Ax -Ay ---l2stranstest -Ar -At --l2stranstest -C -C5 --l2stranstest -N --l2stranstest -T @@ -19,9 +17,7 @@ cat << EOF > $a EOF # module-specific longopts -gmt $m $l2s --straightlines=meridian --steps=parallel >> $b gmt $m $l2s --straightlines=x --straightlines=y >> $b -gmt $m $l2s --straightlines=r --straightlines=theta >> $b gmt $m $l2s --endclip --endclip=5 >> $b gmt $m $l2s --invert >> $b gmt $m $l2s --clipregion >> $b diff --git a/test/psxy/psxy-l2s.sh b/test/psxy/psxy-l2s.sh index 6bb02b2f6dc..4adf3086876 100755 --- a/test/psxy/psxy-l2s.sh +++ b/test/psxy/psxy-l2s.sh @@ -9,8 +9,8 @@ b=$m-l2s-b.txt rm -f $a $b ; touch $b cat << EOF > $a ---l2stranstest -Am -Ap -Ax ---l2stranstest -Ay -Ar -At +--l2stranstest -Ax +--l2stranstest -Ay --l2stranstest -Csomecpt -Cred,green,blue -C#22aa33,#ff00ff,#0077ee --l2stranstest -D -D12/24 --l2stranstest -Ex+a -Ey+A @@ -30,8 +30,8 @@ cat << EOF > $a EOF # module-specific longopts -gmt $m $l2s --straightlines=mpfollow --straightlines=pmfollow --straightlines=xyalong >> $b -gmt $m $l2s --straightlines=yxalong --straightlines=rtalong --straightlines=tralong >> $b +gmt $m $l2s --straight_lines=x +gmt $m $l2s --straight_lines=y gmt $m $l2s --cpt=somecpt --cmap=red,green,blue --cpt=#22aa33,#ff00ff,#0077ee >> $b gmt $m $l2s --offset --offset=12/24 >> $b gmt $m $l2s --errorbars=xbar+asymmetrical --errorbars=ybar+lhbounds >> $b diff --git a/test/psxyz/psxyz-l2s.sh b/test/psxyz/psxyz-l2s.sh index 43c0f7caf3b..aef7afeea78 100755 --- a/test/psxyz/psxyz-l2s.sh +++ b/test/psxyz/psxyz-l2s.sh @@ -9,9 +9,7 @@ b=$m-l2s-b.txt rm -f $a $b ; touch $b cat << EOF > $a ---l2stranstest -Am -Ap --l2stranstest -Ax -Ay ---l2stranstest -Ar -At --l2stranstest -Csomecpt -Cred,green,blue --l2stranstest -C#22aa33,#ff00ff,#0077ee --l2stranstest -D -D12/24 @@ -30,9 +28,7 @@ cat << EOF > $a EOF # module-specific longopts -gmt $m $l2s --straightlines=mpfollow --straight_lines=pmfollow >> $b -gmt $m $l2s --straight_line=xyalong --straightlines=yxalong >> $b -gmt $m $l2s --straightlines=rtalong --straightlines=tralong >> $b +gmt $m $l2s --straight_lines=x --straight_lines=y gmt $m $l2s --cpt=somecpt --cmap=red,green,blue >> $b gmt $m $l2s --cpt=#22aa33,#ff00ff,#0077ee >> $b gmt $m $l2s --offset --offset=12/24 >> $b From 4c6004dbe1dc784c660f1a6a487f7b0f9a9e9933 Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Fri, 11 Apr 2025 08:03:48 +0800 Subject: [PATCH 8/9] Fixes --- src/longopt/psclip_inc.h | 2 +- src/longopt/psxy_inc.h | 2 +- src/longopt/psxyz_inc.h | 2 +- test/psxy/psxy-l2s.sh | 4 ++-- test/psxyz/psxyz-l2s.sh | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/longopt/psclip_inc.h b/src/longopt/psclip_inc.h index 9926a94c565..44942ee0fa6 100644 --- a/src/longopt/psclip_inc.h +++ b/src/longopt/psclip_inc.h @@ -26,7 +26,7 @@ static struct GMT_KEYWORD_DICTIONARY module_kw[] = { short_modifiers, long_modifiers, transproc_mask */ { 0, 'A', "steps|stairs|straight_lines", - "x,y", "x,y", + "x,y", "x,y", "", "", GMT_TP_STANDARD }, { 0, 'C', "endclip", "", "", "", "", GMT_TP_STANDARD }, diff --git a/src/longopt/psxy_inc.h b/src/longopt/psxy_inc.h index 3adde37f16c..faf4b80c886 100644 --- a/src/longopt/psxy_inc.h +++ b/src/longopt/psxy_inc.h @@ -26,7 +26,7 @@ static struct GMT_KEYWORD_DICTIONARY module_kw[] = { /* Local options for this m short_modifiers, long_modifiers, transproc_mask */ { 0, 'A', "steps|stairs|straight_lines", - "x,y", "x,y", + "x,y", "x,y", "", "", GMT_TP_STANDARD }, GMT_C_CPT_KW, diff --git a/src/longopt/psxyz_inc.h b/src/longopt/psxyz_inc.h index 7742eae38b4..4315c8df85d 100644 --- a/src/longopt/psxyz_inc.h +++ b/src/longopt/psxyz_inc.h @@ -26,7 +26,7 @@ static struct GMT_KEYWORD_DICTIONARY module_kw[] = { short_modifiers, long_modifiers, transproc_mask */ { 0, 'A', "steps|stairs|straight_lines", - "x,y", "x,y", + "x,y", "x,y", "", "", GMT_TP_STANDARD }, GMT_C_CPT_KW, diff --git a/test/psxy/psxy-l2s.sh b/test/psxy/psxy-l2s.sh index 4adf3086876..8e8e74e4923 100755 --- a/test/psxy/psxy-l2s.sh +++ b/test/psxy/psxy-l2s.sh @@ -30,8 +30,8 @@ cat << EOF > $a EOF # module-specific longopts -gmt $m $l2s --straight_lines=x -gmt $m $l2s --straight_lines=y +gmt $m $l2s --straight_lines=x >> $b +gmt $m $l2s --straight_lines=y >> $b gmt $m $l2s --cpt=somecpt --cmap=red,green,blue --cpt=#22aa33,#ff00ff,#0077ee >> $b gmt $m $l2s --offset --offset=12/24 >> $b gmt $m $l2s --errorbars=xbar+asymmetrical --errorbars=ybar+lhbounds >> $b diff --git a/test/psxyz/psxyz-l2s.sh b/test/psxyz/psxyz-l2s.sh index aef7afeea78..1877cad774c 100755 --- a/test/psxyz/psxyz-l2s.sh +++ b/test/psxyz/psxyz-l2s.sh @@ -28,7 +28,7 @@ cat << EOF > $a EOF # module-specific longopts -gmt $m $l2s --straight_lines=x --straight_lines=y +gmt $m $l2s --straight_lines=x --straight_lines=y >> $b gmt $m $l2s --cpt=somecpt --cmap=red,green,blue >> $b gmt $m $l2s --cpt=#22aa33,#ff00ff,#0077ee >> $b gmt $m $l2s --offset --offset=12/24 >> $b From 31e79ca10ee83605b6f32164ce56658a2e5b5241 Mon Sep 17 00:00:00 2001 From: Dongdong Tian Date: Fri, 11 Apr 2025 08:07:46 +0800 Subject: [PATCH 9/9] Fix --- test/psclip/psclip-l2s.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/psclip/psclip-l2s.sh b/test/psclip/psclip-l2s.sh index ed311407999..2c2034176c4 100755 --- a/test/psclip/psclip-l2s.sh +++ b/test/psclip/psclip-l2s.sh @@ -17,7 +17,7 @@ cat << EOF > $a EOF # module-specific longopts -gmt $m $l2s --straightlines=x --straightlines=y >> $b +gmt $m $l2s --straight_lines=x --straight_lines=y >> $b gmt $m $l2s --endclip --endclip=5 >> $b gmt $m $l2s --invert >> $b gmt $m $l2s --clipregion >> $b