@@ -5,8 +5,6 @@ Takes two 2-D grid files which represents the x- and y-components of a vector fi
55a vector field plot by drawing vectors with orientation and length according to the information
66in the files. Alternatively, polar coordinate r, theta grids may be given instead.
77
8- See full GMT docs at [`grdvector`]($(GMTdoc) grdvector.html)
9-
108Parameters
119----------
1210
@@ -55,9 +53,22 @@ Parameters
5553
5654To see the full documentation type: ``@? grdvector``
5755"""
58- function grdvector (arg1, arg2; first= true , kwargs... )
56+ grdvector (arg1, arg2; kw... ) = grdvector_helper (arg1, arg2; first= true , kw... )
57+ grdvector! (arg1, arg2; kw... ) = grdvector_helper (arg1, arg2; first= false , kw... )
58+ grdvector (arg1:: Matrix{<:Real} , arg2:: Matrix{<:Real} ; kw... ) = grdvector_helper (mat2grid (arg1), mat2grid (arg2); kw... )
59+ grdvector! (arg1:: Matrix{<:Real} , arg2:: Matrix{<:Real} ; kw... ) = grdvector_helper (mat2grid (arg1), mat2grid (arg2); first= false , kw... )
60+ grdvector (arg1:: Matrix{<:Real} , arg2:: Matrix{<:Real} , arg3:: Matrix{<:Real} , arg4:: Matrix{<:Real} ; kw... ) =
61+ grdvector_helper (mat2grid (arg3, x= Float64 .(arg1[1 ,:]), y= Float64 .(arg2[:,1 ])), mat2grid (arg4, x= Float64 .(arg1[1 ,:]), y= Float64 .(arg2[:,1 ])); kw... )
62+ grdvector! (arg1:: Matrix{<:Real} , arg2:: Matrix{<:Real} , arg3:: Matrix{<:Real} , arg4:: Matrix{<:Real} ; kw... ) =
63+ grdvector_helper (mat2grid (arg3, x= Float64 .(arg1[1 ,:]), y= Float64 .(arg2[:,1 ])), mat2grid (arg4, x= Float64 .(arg1[1 ,:]), y= Float64 .(arg2[:,1 ])); first= false , kw... )
5964
65+ function grdvector_helper (arg1, arg2; first= true , kwargs... )
6066 d, K, O = init_module (first, kwargs... ) # Also checks if the user wants ONLY the HELP mode
67+ grdvector_helper (arg1, arg2, K, O, d)
68+ end
69+
70+ # ---------------------------------------------------------------------------------------------------
71+ function grdvector_helper (arg1, arg2, K:: Bool , O:: Bool , d:: Dict{Symbol, Any} )
6172
6273 # Must call parse_R first to get opt_R that is needed in the get_grdinfo() call.
6374 cmd, opt_R = parse_R (d, " " , O= O)
@@ -72,7 +83,7 @@ function grdvector(arg1, arg2; first=true, kwargs...)
7283 DEF_FIG_AXES_:: String = (IamModern[]) ? " " : DEF_FIG_AXES[] # DEF_FIG_AXES is a global const
7384 cmd, opt_B = parse_B (d, cmd, (O ? " " : DEF_FIG_AXES_))
7485
75- cmd = parse_common_opts (d, cmd, [:UVXY :f :p :t :margin :params ]; first= first )[1 ]
86+ cmd = parse_common_opts (d, cmd, [:UVXY :f :p :t :margin :params ]; first= ! O )[1 ]
7687 ! (contains (cmd, " -V" )) && (cmd *= " -Ve" ) # Shut up annoying warnings if -S has no units
7788 cmd = parse_these_opts (cmd, d, [[:A :polar ], [:N :noclip :no_clip ], [:T :sign_scale ], [:Z :azimuth ]])
7889 opt_S = add_opt (d, " " , " S" , [:S :vscale :vec_scale ],
181192get_grdinfo (grd:: String , opt_R:: String ) = gmt_grdinfo_C (opt_R * " " * grd). data
182193get_grdinfo (grd:: GMTgrid , opt_R:: String ):: Matrix{Float64} = gmt (" grdinfo -C" * opt_R, grd). data
183194
184- # ---------------------------------------------------------------------------------------------------
185- grdvector! (arg1, arg2; kw... ) = grdvector (arg1, arg2; first= false , kw... )
186- grdvector (arg1:: Matrix{<:Real} , arg2:: Matrix{<:Real} ; kw... ) = grdvector (mat2grid (arg1), mat2grid (arg2); kw... )
187- grdvector! (arg1:: Matrix{<:Real} , arg2:: Matrix{<:Real} ; kw... ) = grdvector (mat2grid (arg1), mat2grid (arg2); first= false , kw... )
188- grdvector (arg1:: Matrix{<:Real} , arg2:: Matrix{<:Real} , arg3:: Matrix{<:Real} , arg4:: Matrix{<:Real} ; kw... ) =
189- grdvector (mat2grid (arg3, x= Float64 .(arg1[1 ,:]), y= Float64 .(arg2[:,1 ])), mat2grid (arg4, x= Float64 .(arg1[1 ,:]), y= Float64 .(arg2[:,1 ])); kw... )
190- grdvector! (arg1:: Matrix{<:Real} , arg2:: Matrix{<:Real} , arg3:: Matrix{<:Real} , arg4:: Matrix{<:Real} ; kw... ) =
191- grdvector (mat2grid (arg3, x= Float64 .(arg1[1 ,:]), y= Float64 .(arg2[:,1 ])), mat2grid (arg4, x= Float64 .(arg1[1 ,:]), y= Float64 .(arg2[:,1 ])); first= false , kw... )
192-
193195const quiver = grdvector # Aliases
194196const quiver! = grdvector!
0 commit comments