FUNCTION vu_vox_drawsphere, F, Pos, obj_val, sun=sun
;+
; NAME:
;	vu_vox_drawsphere
; PURPOSE:
;	Internal use by vu_vox only
; CATEGORY:
;	Volume Pro board
; INCLUDE:
	@compile_opt.pro			; On error, return to callers
; CALLS:
;	gridgen
; MODIFICATION HISTORY:
;	SEP-2001, Kevin Nguyen, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
;-

InitVar, sun, /key

ndim = (size(F, /dim))[0]

CASE ndim OF
128: BEGIN
	radius = (3.4 + sun*4.0)^2
	lim    = (3.0 + sun*4.0)
END
256: BEGIN
	radius = (7.5 + sun*8.0)^2
	lim    = (7.0 + sun*8.0)
END
ENDCASE

iPos = round(Pos)		; Voxel nearest to exact position

r = [1,1]#(iPos-Pos)+[-1,1]#replicate(lim,3)
r = gridgen( (2*lim+1)*[1,1,1], range=r)
r = total(r*r,1)

Fr = F[iPos[0]-lim:iPos[0]+lim, iPos[1]-lim:iPos[1]+lim, iPos[2]-lim:iPos[2]+lim]

i = where(r LE radius)
IF i[0] NE -1 THEN Fr[i] = obj_val

F[iPos[0]-lim:iPos[0]+lim, iPos[1]-lim:iPos[1]+lim, iPos[2]-lim:iPos[2]+lim] = Fr

RETURN, F  &  END
