#
# NEED_PARMS meshname color class fd angstep deltaang amplify angoff
#

DECLARE int $fd,$i
DECLARE struct $file,$math
DECLARE double $ang,$deltaang,$angstep,$lastrenderang,$angoff
DECLARE double $pi
DECLARE double $average
DECLARE double $amplify
DECLARE string $color,$meshname,$class

CECHO ${$pi=3.14159256}
CECHO ${$file=$root.func.file}
CECHO ${$math=$root.func.math}

IF ${ $argv[1]==(void)0 ||  $argv[2]==(void)0 || $argv[3]==(void)0 } QUIT
IF ${ $argv[4]==(void)0 ||  $argv[5]==(void)0 || $argv[6]==(void)0 } QUIT

CECHO ${$meshname=(string)$argv[1]}
CECHO ${$color   =(string)$argv[2]}
CECHO ${$class   =(string)$argv[3]}
CECHO ${$fd      =(int)$argv[4]}
CECHO ${$angstep =(double)$argv[5]}
CECHO ${$deltaang=(double)$argv[6]}
CECHO ${$amplify =(double)$argv[7]}
CECHO ${$angoff  =(double)$argv[8]}

CECHO ${$angstep = ($angstep<1.0) ? 1.0 : $angstep }

MESH_DEL ${$meshname}
MESH_ADD ${$meshname} 360 361
MESH_COLOR ${$color} ${$meshname}
MESH_VISFLAGS 0x03 ${$meshname}

# do measurement
MESH_SET ${$meshname}

CUTPLANE_ADD _MkAngle
CECHO ${$ang=0} ${$i=0} ${$lastrenderang=-300}
{ ANG ${$ang<360}
	CUTPLANE_DEF_NORM_BASE ${$math.cos(($ang+$angoff-$deltaang)*$pi/180.0)} ${$math.sin(($ang+$angoff-$deltaang)*$pi/180.0)} 0 ${$parent.mvec.x} ${$parent.mvec.y} ${$parent.mvec.z}
	CUTPLANE_MARK ${$class} 255
	CUTPLANE_DEF_NORM_BASE ${$math.cos(($ang+$angoff+$deltaang)*$pi/180.0)} ${$math.sin(($ang+$angoff+$deltaang)*$pi/180.0)} 0 ${$parent.mvec.x} ${$parent.mvec.y} ${$parent.mvec.z}
	CUTPLANE_MARK 255 ${$class}
	GETSTATS 255
	CECHO ${$average=$root.rc.average}
	CECHO ${$file.puts($fd,(string)$ang+";"+(string)$average+"\n")}
	MESH_SETPOINT ${$i} ${$parent.mvec.x-$math.sin(($ang+$angoff)*$pi/180.0)*$average*$amplify} ${$parent.mvec.y+$math.cos(($ang+$angoff)*$pi/180.0)*$average*$amplify} ${$parent.mvec.z}
	MESH_SETLINE ${$i} ${$i}
	# Render only every 30 degrees - speed things up.
	{ DORENDER ${$lastrenderang+20.0<=$ang}
		VIEW_RENDER
		CECHO ${$lastrenderang=$ang}
	} DORENDER 0 0
	MARKCC 255 ${$class}
} ANG ${$ang+=$angstep,$i++}
CUTPLANE_DEL _MkAngle

MESH_SETLINE ${$i} 0

