r3.showdspf(1)	       Grass User's Manual	   r3.showdspf(1)



NNAAMMEE
       rr33..sshhoowwddssppff  -  Visualization program which loads the iso-
       surfaces previously calculated using  r3.mkdspf	and  dis-
       plays them according to commands given at the prompt.

       _(_G_R_A_S_S _3_D _P_r_o_g_r_a_m_)

SSYYNNOOPPSSIISS
       rr33..sshhoowwddssppff ggrriidd33==_n_a_m_e ddssppff==_n_a_m_e [[ccoolloorr==_n_a_m_e]]

   PPaarraammeetteerrss::
       ggrriidd33  Name of an existing 3dcell map

       ddssppff   Name of an existing display file

       ccoolloorr  Name of existing color table


DDEESSCCRRIIPPTTIIOONN
       Visualization  program  which loads the isosurfaces previ-
       ously calculated using r3.mkdspf and displays them accord-
       ing  to commands given at the prompt.  r3.mkdspf creates a
       dspf file from the 3D raster  and  r3.showdspf  uses  this
       dspf  file to draw isosurfaces and g3d file to draw planes
       and everything related (boxes, etc).

       Upon initialization of the program, two	graphics  windows
       are opened, one for the color table and the other for data
       display.  The display  window  initially  contains  a  red
       bounding  box.	Command  options  are then printed to the
       terminal and user is prompted for drawing instructions:

       THE INTERACTIVE OPTIONS ARE:

       ?, (l #), L, (t #), (T # #), I, +, -
       (x #) (y #) (z #) r (X #) (Y #) (Z #)
       (B(x,y,z)#), (E(x,y,z)#), S, R, F, C, c, s, b, g, n, p[#],
       d, D, w, Q, h

	USAGE AND MEANING:

	??	  lists available thresholds
	ll iinnddeexx## [[iinnddeexx##......]]  add threshold to display list
	LL	  Draw current display list
	tt iinnddeexx##  reset so only this threshold is displayed
	TT iinnddeexx## iinnddeexx##   show thresholds between hi & lo
	II	  toggle thresholds INSIDE hi/lo or OUTSIDE hi/lo
	++((++++++))	  display thresholds with consecutively  increas-
       ing index#
	--((------))	   display thresholds with consecutively decreas-
       ing index#

	xx iinntt##	absolute rotation around x-axis in degrees(int)
	yy iinntt##	absolute rotation around y-axis in degrees(int)
	zz iinntt##	absolute rotation around z-axis in degrees(int)
	rr	rotate_model
	XX iinntt##	scale model in x
	YY iinntt##	scale model in y
	ZZ iinntt##	scale model in z

	BB((xx,,yy,,zz))iinntt##  begin display along (x,y,z) axis at #
	EE((xx,,yy,,zz))iinntt##  end display along (x,y,z)axis #
	SS iinntt##	      specular highlight control
	RR   resets display along axis to show all data
	FF _g_r_i_d_3_n_a_m_e _c_o_l_o_r_t_a_b_l_e_n_a_m_e load new color file

	CC   toggles the clear flag
	cc   clears the display (no thresholds)
	ss   swap buffers
	bb   toggles draw a box
	gg   toggles grid
	nn   toggle surface normal direction

	pp   draw all walls
	pp##   draw  a  wall:  1-top,  2-bottom,	3-east,   4-west,
       5-north, 6-south

	dd   draw (implement the option)
	DD    draw  a  solid  defined  by  T(isosurface + parts of
       walls)

	ww   dump image to a file
	QQ   QUIT
	hh   help

	enter desired manipulations then press return
	>>





   HHiinnttss::
		     To navigate around the data, use the rr  com-
		     mand,  then  place  the mouse pointer in the
		     graphics window and drag with the left mouse
		     to  rotate the bounding box.  To zoom in and
		     out, drag right  or  left	with  the  middle
		     mouse.  When  satisfied with the new viewing
		     position, click with the right mouse.

		     To quickly view  a  series  of  isosurfaces,
		     enter  a  series  of + or - characters, i.e.
		     ++++++++++++++

		     Scripts using  above  commands  on  separate
		     lines  may  be  directed  to  r3.showdspf as
		     standard input.  Use the ## sign as the first
		     character on a line to indicate a comment.

EEXXAAMMPPLLEE
       After  generating  a  "dspf"  control  file with _r_3_._m_k_d_s_p_f
       start _r_3_._s_h_o_w_d_s_p_f. Display/add the layers using "+".

       List available thresholds with "?". Use "l" to select iso-
       surfaces (available number can be adjusted with _r_3_._m_k_d_s_p_f)
       and "L" to display:

       l 1 2 3 4 5
	L


       To select and display a single threshold (here: 2), use:

       t 2


       To select and display a range of thresholds  (here:  3-5),
       use:

       T 3 5

       D


       To draw a box, enter

       p

       the p# to plot a selected wall (here top wall):

       p1


       Tp draw a cut-off box, define it's position

       Ex20

       p

       Here  Ex20 defines the x coordinate of the end of the box.


       In general - p draws a side of a box, E, B,  define  where
       that  box  starts or ends, so to make a fence diagram, the
       user draws sides of a series of	boxes  which  have  their
       starting  (or  ending)  side shifting by a given interval.
       (this way the user can draw even more complex  fence  dia-
       grams which have perpendicular fences, by using Ey or By).
       It is sufficient to use only  E	or  B  depending  whether
       fence  are  drawn by using the end side or front side of a
       box).

       To draw a fence, a sequence like this would be needed

       Ex10

       p5

       Ex15

       p5

       Ex20

       p5

       Ex25

       p5

       or the same would be

       Bx10

       p6

       Bx15

       p6

       Bx20

       p6


       The _p is needed for the fence diagram, solids and boxes.

SSEEEE AALLSSOO
       _r_3_._m_k_d_s_p_f

AAUUTTHHOORRSS
       Bill Brown, brown@gis.uiuc.edu

       _L_a_s_t _c_h_a_n_g_e_d_: _$_D_a_t_e_: _2_0_0_2_/_0_1_/_2_5 _0_5_:_4_5_:_3_5 _$



GRASS 5.0					   r3.showdspf(1)
