//**************************************************
//	Digit Widgets Interpolate Module
// 	2,3,4 and Traveling Point Interpolation Script
//	Made to be called from Hyperlinked Digit_Widgets Script
//
// Version 3.0 - 09/12/01 - Added Animation Script to Widgets
//	Version 3.1 - 09/15/01 - Updated with Advanced and Standard Animation Scripts
//**************************************************
<zscriptinsert,"Digit_Widgets_Common.txt">
[PD]
[FontSetColor,255,200,0]Curve Object Interpolates[FontSetColor,160,160,160]
[PD]
//Create a Curve using 2 marks, straight,Spline, or Bezel
[VarDef,ccntr,0]
[VarDef,cptr,1]
[VarDef,crecurse,0]
[VarDef,Itmp,0]
[VarDef,ICTime,.1]
[VarDef,cmulti1,1]
[VarDef,cmulti2,1]
[VarDef,resultx,0]
[VarDef,resulty,0]
[VarDef,resultz,0]
[VarDef,resultxs,0]
[VarDef,resultys,0]
[VarDef,resultzs,0]
[VarDef,resultxr,0]
[VarDef,resultyr,0]
[VarDef,resultzr,0]
[VarDef,resultmx,0]
[VarDef,resultmy,0]
[VarDef,resultmz,0]
[VarDef,resultmxs,0]
[VarDef,resultmys,0]
[VarDef,resultmzs,0]
[VarDef,resultmxr,0]
[VarDef,resultmyr,0]
[VarDef,resultmzr,0]
[iSlider,"Number of Points ",10,1,0,1000,"Number of Points in Interpolation", 
	[varSet,Ipoints,zscript:NumberofPoints]
	[VarSet,ICtime,1.0/Ipoints]
	
,0,[TextCalcWidth,Distance14537890123]]
//[iSlider,"CTime ",.1,.1,0,1,"Curve Time value", 
//	[varSet,ICTime,zscript:CTime]
//,0,[TextCalcWidth,Distance1453]]
[iSlider,"StartMark ",1,1,1,10,"Starting Mark",[varSet,sel1,zscript:StartMark],0,[TextCalcWidth,Distance1453]]
[iSlider,"EndMark ",2,1,1,10,"Ending Mark",[varSet,sel2,zscript:EndMark],0,[TextCalcWidth,Distance1453]]
[PD]
[iSlider,"CDist1 ",0,.1,-4000,4000,"Move Spline Point Distance 1",
	[varSet,cmulti1,zscript:CDist1]
	[if,Cmulti1 <>0,
			//Loadpoint1 move current object to show where delibob is
			//rotate xyAxis
			[VarSet,tmp,dangle*2]
			[VarSet,tmp,180-tmp]
			[VarSet,dangle1,dangle+tmp]
			[if,dangle1<0,
				[VarSet,dangle1,360-ABS(dangle1)]]

			//calc XY angle
			[VarSet,tmp,COS(dangle1)]
			[VarSet,ypt,cmulti1*tmp]
			[VarSet,tmp,SIN(dangle1)]
			[VarSet,xpt,cmulti1*tmp]
		
			[VarSet,resultx,KpointX(0)+xpt]
			[VarSet,resulty,KpointY(0)+ypt]
			[VarSet,resultz,KpointZ(0)]
			[TransformSet,resultx,resulty,resultz,KpointXS(0),KpointYS(0),KpointZS(0),KpointXR(0),KpointYR(0),KpointZR(0)]

	]
,0,[TextCalcWidth,Distance1453]]
[iSlider,"CMultAngle1 ",0,.1,-1000,1000,"Move Spline Point Angle 1",
	[VarSet,dangle,zscript:CMultAngle1]
	//Loadpoint1 move current object to show where delibob is
	//rotate xyAxis
	[VarSet,tmp,dangle*2]
	[VarSet,tmp,180-tmp]
	[VarSet,dangle1,dangle+tmp]
	[if,dangle1<0,
		[VarSet,dangle1,360-ABS(dangle1)]]

	//calc XY angle
	[VarSet,tmp,COS(dangle1)]
	[VarSet,ypt,cmulti1*tmp]
	[VarSet,tmp,SIN(dangle1)]
	[VarSet,xpt,cmulti1*tmp]
		
	[VarSet,resultx,KpointX(0)+xpt]
	[VarSet,resulty,KpointY(0)+ypt]
	[VarSet,resultz,KpointZ(0)]
	[TransformSet,resultx,resulty,resultz,KpointXS(0),KpointYS(0),KpointZS(0),KpointXR(0),KpointYR(0),KpointZR(0)]
,0,[TextCalcWidth,XYAngle12345]]
[iSlider,"CDist2 ",0,.1,-4000,4000,"Move Spline Point Distance 2",
	[varSet,cmulti2,zscript:CDist2]
	[if,Cmulti2 <>0,
			//Loadpoint1 move current object to show where delibob is
			//rotate xyAxis
			[VarSet,tmp,zdangle*2]
			[VarSet,tmp,180-tmp]
			[VarSet,dangle1,zdangle+tmp]
			[if,dangle1<0,
				[VarSet,dangle1,360-ABS(dangle1)]]

			//calc XY angle
			[VarSet,tmp,COS(dangle1)]
			[VarSet,ypt,cmulti2*tmp]
			[VarSet,tmp,SIN(dangle1)]
			[VarSet,xpt,cmulti2*tmp]
		
			[VarSet,resultx,KpointX(1)+xpt]
			[VarSet,resulty,KpointY(1)+ypt]
			[VarSet,resultz,KpointZ(1)]
			[TransformSet,resultx,resulty,resultz,KpointXS(1),KpointYS(1),KpointZS(1),KpointXR(1),KpointYR(1),KpointZR(1)]
	]

,0,[TextCalcWidth,Distance1453]]
[iSlider,"CMultAngle2 ",0,.1,-1000,1000,"Move Spline Point Angle 2",
	[VarSet,zdangle,zscript:CMultAngle2]
	//Loadpoint1 move current object to show where delibob is
	//rotate xyAxis
	[VarSet,tmp,zdangle*2]
	[VarSet,tmp,180-tmp]
	[VarSet,dangle1,zdangle+tmp]
	[if,dangle1<0,
		[VarSet,dangle1,360-ABS(dangle1)]]

	//calc XY angle
	[VarSet,tmp,COS(dangle1)]
	[VarSet,ypt,cmulti2*tmp]
	[VarSet,tmp,SIN(dangle1)]
	[VarSet,xpt,cmulti2*tmp]
		
	[VarSet,resultx,KpointX(1)+xpt]
	[VarSet,resulty,KpointY(1)+ypt]
	[VarSet,resultz,KpointZ(1)]
	[TransformSet,resultx,resulty,resultz,KpointXS(1),KpointYS(1),KpointZS(1),KpointXR(1),KpointYR(1),KpointZR(1)]
,0,[TextCalcWidth,XYAngle12345]]
[PD]
[iSwitch,"2Point",1,"Straight Line Interpolate",
	[if,zscript:2Point,
		[ISetStatus,zscript:LoadPoint_1,0]
		[ISetStatus,zscript:LoadPoint_2,0]
		[IDisable,zscript:Move_1]
		[IDisable,zscript:Move_2]
	]
	[if,zscript:3Point,
		[IToggle,zscript:3Point]
	]
	[if,zscript:4Point,
		[IToggle,zscript:4Point]
	]
	[if,zscript:1TO2,
		[IToggle,zscript:1TO2]
	]
] 

[iSwitch,"3Point",0,"1 Point Spline Interpolate",
	[if,zscript:3Point,
		[ISetStatus,zscript:LoadPoint_1,1]
		[ISetStatus,zscript:LoadPoint_2,0]
		[IEnable,zscript:Move_1]
		[IDisable,zscript:Move_2]
	]
	[if,zscript:2Point,
		[IToggle,zscript:2Point]
	]
	[if,zscript:4Point,
		[IToggle,zscript:4Point]
	]
	[if,zscript:1TO2,
		[IToggle,zscript:1TO2]
	]
]

[iSwitch,"4Point",0,"2 Point Bezier Interpolate",
	[if,zscript:4Point,
		[ISetStatus,zscript:LoadPoint_1,1]
		[ISetStatus,zscript:LoadPoint_2,1]
		[IEnable,zscript:Move_1]
		[IEnable,zscript:Move_2]
	]
	[if,zscript:2Point,
		[IToggle,zscript:2Point]
	]
	[if,zscript:3Point,
		[IToggle,zscript:3Point]
	]
	[if,zscript:1TO2,
		[IToggle,zscript:1TO2]
	]
]

[iSwitch,"1TO2",0,"Make Spline point travel from LoadPt 1 to Loadpt 2",
	[if,zscript:1TO2,
		[ISetStatus,zscript:LoadPoint_1,1]
		[ISetStatus,zscript:LoadPoint_2,1]
		[IEnable,zscript:Move_1]
		[IEnable,zscript:Move_2]
	]
	[if,zscript:2Point,
		[IToggle,zscript:2Point]
	]
	[if,zscript:3Point,
		[IToggle,zscript:3Point]
	]
	[if,zscript:4Point,
		[IToggle,zscript:4Point]
	]
]
[PD]

[iSwitch,"C-Moveit",0,"Move to Position"] 
[iSwitch,"C-Sizeit",0,"Size to Position"] 
[iSwitch,"C-Snapshot",0,"Perform Snapshot"] 
[iSwitch,"C-Rotateit",0,"Interpolate Rotation"] 
[iSwitch,"C-Point",0,"Rotate Object to point at NosePoint"] 
[iSwitch,"C-LastPoint",0,"Rotate Object to point at Last Point drawn",
	//there is a problem with the first move in that what is the last move? so I will help this situation by doing this
	[if,[isDisabled,transform:move],
		//if no object is selected then make it the current pointer coords
		[VarSet,kx,curmX]
		[VarSet,ky,curmY]
		[VarSet,kz,curmZ]
	,//else
		//make it the current object coords
		[TransformGet,kx,ky,kz]
	]
] 
[iButton,"C-ShiftAxis","Change RGB Axis for Shifting Color",
	[VarInc,Aptr]
	[if,Aptr=3,[VarSet,Aptr,0]]
	[if,Aptr=0,	[note,"XYZ = RGB",,1]]
	[if,Aptr=1,	[note,"XYZ = GBR",,1]]
	[if,Aptr=2,	[note,"XYZ = BRG",,1]]
		
]
[iSwitch,"C-ShiftColor",0,"Span Color Gradient"] 
[iSwitch,"C-ZColorit",0,"Set Color according to Zdepth"] 
[PD]
[iButton," LoadPoint_1 ","Load Current Object Position to use as Spline Point in Curve",
[TransformGet,SpointX(0),SpointY(0),SpointZ(0),SpointXS(0),SpointYS(0),SpointZS(0),SpointXR(0),SpointYR(0),SpointZR(0)]
[VarSet,KpointX(0),SpointX(0)]
[VarSet,KpointY(0),SpointY(0)]
[VarSet,KpointZ(0),SpointZ(0)]
[VarSet,KpointXS(0),SpointXS(0)]
[VarSet,KpointYS(0),SpointYS(0)]
[VarSet,KpointZS(0),SpointZS(0)]
[VarSet,KpointXR(0),SpointXR(0)]
[VarSet,KpointYR(0),SpointYR(0)]
[VarSet,KpointZR(0),SpointZR(0)]
,1
]//End Load Point 1

[iButton," Move_1 ","Load Current Object Position to LoadPoint_1",
	[TransformSet,KpointX(0),KpointY(0),KpointZ(0),KpointXS(0),KpointYS(0),KpointZS(0),KpointXR(0),KpointYR(0),KpointZR(0)],1
]

[iButton," LoadPoint_2 ","Load Current Object Position to use as Spline Point in Curve",
[TransformGet,SpointX(1),SpointY(1),SpointZ(1),SpointXS(1),SpointYS(1),SpointZS(1),SpointXR(1),SpointYR(1),SpointZR(1)]
[VarSet,KpointX(1),SpointX(1)]
[VarSet,KpointY(1),SpointY(1)]
[VarSet,KpointZ(1),SpointZ(1)]
[VarSet,KpointXS(1),SpointXS(1)]
[VarSet,KpointYS(1),SpointYS(1)]
[VarSet,KpointZS(1),SpointZS(1)]
[VarSet,KpointXR(1),SpointXR(1)]
[VarSet,KpointYR(1),SpointYR(1)]
[VarSet,KpointZR(1),SpointZR(1)]
,1
]//End Load Point 2

[iButton," Move_2 ","Load Current Object Position to LoadPoint_2",
	[TransformSet,KpointX(1),KpointY(1),KpointZ(1),KpointXS(1),KpointYS(1),KpointZS(1),KpointXR(1),KpointYR(1),KpointZR(1)],1
]

[iButton,"Run Interpolation ","Execute Selected Interpolation",
	//first thing move to first mark and snapshot if required
	[TransformSet,MarkX(sel1),MarkY(sel1),MarkZ(sel1),MarkXS(sel1),MarkYS(sel1),MarkZS(sel1),MarkXR(sel1),MarkYR(sel1),MarkZR(sel1)]
	//go ahead and get all of the current data do only once for recursive
	[TransformGet,IcurrX,IcurrY,IcurrZ,IcurrXS,IcurrYS,IcurrZS,currXR,currYR,currZR]
	// see if any movement of spline point has occurred
	//initialize gradient variables if needed
	[if,[iGet,zscript:C-ShiftColor],
		[RoutineCall,ShiftColor,IcurrX,icurrY,IcurrZ,aptr]
	]
	[if,[iGet,zscript:C-ZColorit],
		[RoutineCall,ZcolorCalc,IcurrX,icurrY,IcurrZ]
	]

	[if,cmulti1<>0,
		[if,zscript:3point,

			//rotate xyAxis
			[VarSet,tmp,dangle*2]
			[VarSet,tmp,180-tmp]
			[VarSet,dangle1,dangle+tmp]
			[if,dangle1<0,
				[VarSet,dangle1,360-ABS(dangle1)]]

			//calc XY angle
			[VarSet,tmp,COS(dangle1)]
			[VarSet,ypt,cmulti1*tmp]
			[VarSet,tmp,SIN(dangle1)]
			[VarSet,xpt,cmulti1*tmp]
		
			[VarSet,SpointX(0),KpointX(0)+xpt]
			[VarSet,SpointY(0),KpointY(0)+ypt]
		]
		[if,zscript:4point,
//Loadpoint1 move
			//rotate xyAxis
			[VarSet,tmp,dangle*2]
			[VarSet,tmp,180-tmp]
			[VarSet,dangle1,dangle+tmp]
			[if,dangle1<0,
				[VarSet,dangle1,360-ABS(dangle1)]]

			//calc XY angle
			[VarSet,tmp,COS(dangle1)]
			[VarSet,ypt,cmulti1*tmp]
			[VarSet,tmp,SIN(dangle1)]
			[VarSet,xpt,cmulti1*tmp]
		
			[VarSet,SpointX(0),KpointX(0)+xpt]
			[VarSet,SpointY(0),KpointY(0)+ypt]


//loadpoint2 move
			//rotate xyAxis
			[VarSet,tmp,zdangle*2]
			[VarSet,tmp,180-tmp]
			[VarSet,dangle1,zdangle+tmp]
			[if,dangle1<0,
				[VarSet,dangle1,360-ABS(dangle1)]]

			//calc XY angle
			[VarSet,tmp,COS(dangle1)]
			[VarSet,ypt,cmulti2*tmp]
			[VarSet,tmp,SIN(dangle1)]
			[VarSet,xpt,cmulti2*tmp]
		
			[VarSet,SpointX(1),KpointX(1)+xpt]
			[VarSet,SpointY(1),KpointY(1)+ypt]

		]
		[if,zscript:1TO2,
//Loadpoint1 move
			//rotate xyAxis
			[VarSet,tmp,dangle*2]
			[VarSet,tmp,180-tmp]
			[VarSet,dangle1,dangle+tmp]
			[if,dangle1<0,
				[VarSet,dangle1,360-ABS(dangle1)]]

			//calc XY angle
			[VarSet,tmp,COS(dangle1)]
			[VarSet,ypt,cmulti1*tmp]
			[VarSet,tmp,SIN(dangle1)]
			[VarSet,xpt,cmulti1*tmp]
		
			[VarSet,SpointX(0),KpointX(0)+xpt]
			[VarSet,SpointY(0),KpointY(0)+ypt]


//loadpoint2 move
			//rotate xyAxis
			[VarSet,tmp,zdangle*2]
			[VarSet,tmp,180-tmp]
			[VarSet,dangle1,zdangle+tmp]
			[if,dangle1<0,
				[VarSet,dangle1,360-ABS(dangle1)]]

			//calc XY angle
			[VarSet,tmp,COS(dangle1)]
			[VarSet,ypt,cmulti2*tmp]
			[VarSet,tmp,SIN(dangle1)]
			[VarSet,xpt,cmulti2*tmp]
		
			[VarSet,SpointX(1),KpointX(1)+xpt]
			[VarSet,SpointY(1),KpointY(1)+ypt]

		]
	]
	[if,[iGet,zscript:C-Snapshot],
		[IPress,Transform:Snapshot]
	]//endif

	//how many time to recurse
	[VarSet,ccntr,1.0/ICTime]
	[VarSet,cptr,1]
	[VarInc,ccntr]
	[Loop,ccntr,
		//interpolate Straight, Spline, or Bezel line
		[VarSet,crecurse,ICTime*cptr]
		[if,zscript:2Point,
			[VarSet,resultx,[Interpolate,crecurse,MarkX(sel1),MarkX(sel2)]]
			[VarSet,resulty,[Interpolate,crecurse,MarkY(sel1),MarkY(sel2)]]
			[VarSet,resultz,[Interpolate,crecurse,MarkZ(sel1),MarkZ(sel2)]]
		]
		[if,zscript:3Point,
			[VarSet,resultx,[Interpolate,crecurse,MarkX(sel1),SpointX(0),MarkX(sel2)]]
			[VarSet,resulty,[Interpolate,crecurse,MarkY(sel1),SpointY(0),MarkY(sel2)]]
			[VarSet,resultz,[Interpolate,crecurse,MarkZ(sel1),SpointZ(0),MarkZ(sel2)]]
		]
		[if,zscript:4Point,
			[VarSet,resultx,[Interpolate,crecurse,SpointX(0),MarkX(sel1),MarkX(sel2),SpointX(1)]]
			[VarSet,resulty,[Interpolate,crecurse,SpointY(0),MarkY(sel1),MarkY(sel2),SpointY(1)]]
			[VarSet,resultz,[Interpolate,crecurse,SpointZ(0),MarkZ(sel1),MarkZ(sel2),SpointZ(1)]]
		]

		[if,zscript:1TO2,
			[VarSet,resultmx,[Interpolate,crecurse,SpointX(0),SpointX(1)]]
			[VarSet,resultmy,[Interpolate,crecurse,SpointY(0),SpointY(1)]]
			[VarSet,resultmz,[Interpolate,crecurse,SpointZ(0),SpointZ(1)]]

			[VarSet,resultx,[Interpolate,crecurse,MarkX(sel1),resultmx,MarkX(sel2)]]
			[VarSet,resulty,[Interpolate,crecurse,MarkY(sel1),resultmy,MarkY(sel2)]]
			[VarSet,resultz,[Interpolate,crecurse,MarkZ(sel1),resultmz,MarkZ(sel2)]]
		]
		//Size Object
		[if,[iGet,zscript:C-Sizeit],
			[if,zscript:2Point,
				[VarSet,resultxs,[Interpolate,crecurse,MarkXS(sel1),MarkXS(sel2)]]
				[VarSet,resultys,[Interpolate,crecurse,MarkYS(sel1),MarkYS(sel2)]]
				[VarSet,resultzs,[Interpolate,crecurse,MarkZS(sel1),MarkZS(sel2)]]
			]
			[if,zscript:3Point,
				[VarSet,resultxs,[Interpolate,crecurse,MarkXS(sel1),SpointXS(0),MarkXS(sel2)]]
				[VarSet,resultys,[Interpolate,crecurse,MarkYS(sel1),SpointYS(0),MarkYS(sel2)]]
				[VarSet,resultzs,[Interpolate,crecurse,MarkZS(sel1),SpointZS(0),MarkZS(sel2)]]
			]
			[if,zscript:4Point,
				[VarSet,resultxs,[Interpolate,crecurse,SpointXS(0),MarkXS(sel1),MarkXS(sel2),SpointXS(1)]]
				[VarSet,resultys,[Interpolate,crecurse,SpointYS(0),MarkYS(sel1),MarkYS(sel2),SpointYS(1)]]
				[VarSet,resultzs,[Interpolate,crecurse,SpointZS(0),MarkZS(sel1),MarkZS(sel2),SpointZS(1)]]
			]

			[if,zscript:1TO2,
				[VarSet,resultmxs,[Interpolate,crecurse,SpointXS(0),SpointXS(1)]]
				[VarSet,resultmys,[Interpolate,crecurse,SpointYS(0),SpointYS(1)]]
				[VarSet,resultmzs,[Interpolate,crecurse,SpointZS(0),SpointZS(1)]]
				
				[VarSet,resultxs,[Interpolate,crecurse,MarkXS(sel1),resultmxs,MarkXS(sel2)]]
				[VarSet,resultys,[Interpolate,crecurse,MarkYS(sel1),resultmys,MarkYS(sel2)]]
				[VarSet,resultzs,[Interpolate,crecurse,MarkZS(sel1),resultmzs,MarkZS(sel2)]]
			]
		,//else
			[VarSet,resultxs,MarkXS(sel1)]
			[VarSet,resultys,MarkYS(sel1)]
			[VarSet,resultzs,MarkZS(sel1)]
		]//Endif

		//Rotate Object
		[if,[iGet,zscript:C-Rotateit],
			[if,zscript:2Point,
				[VarSet,resultxr,[Interpolate,crecurse,MarkXR(sel1),MarkXR(sel2)]]
				[VarSet,resultyr,[Interpolate,crecurse,MarkYR(sel1),MarkYR(sel2)]]
				[VarSet,resultzr,[Interpolate,crecurse,MarkZR(sel1),MarkZR(sel2)]]
			]
			[if,zscript:3Point,
				[VarSet,resultxr,[Interpolate,crecurse,MarkXR(sel1),SpointXR(0),MarkXR(sel2)]]
				[VarSet,resultyr,[Interpolate,crecurse,MarkYR(sel1),SpointYR(0),MarkYR(sel2)]]
				[VarSet,resultzr,[Interpolate,crecurse,MarkZR(sel1),SpointZR(0),MarkZR(sel2)]]
			]
			[if,zscript:4Point,
				[VarSet,resultxr,[Interpolate,crecurse,SpointXR(0),MarkXR(sel1),MarkXR(sel2),SpointXR(1)]]
				[VarSet,resultyr,[Interpolate,crecurse,SpointYR(0),MarkYR(sel1),MarkYR(sel2),SpointYR(1)]]
				[VarSet,resultzr,[Interpolate,crecurse,SpointZR(0),MarkZR(sel1),MarkZR(sel2),SpointZR(1)]]
			]

			[if,zscript:1TO2,
				[VarSet,resultmxr,[Interpolate,crecurse,SpointXR(0),SpointXR(1)]]
				[VarSet,resultmyr,[Interpolate,crecurse,SpointYR(0),SpointYR(1)]]
				[VarSet,resultmzr,[Interpolate,crecurse,SpointZR(0),SpointZR(1)]]

				[VarSet,resultxr,[Interpolate,crecurse,MarkXR(sel1),resultmxr,MarkXR(sel2)]]
				[VarSet,resultyr,[Interpolate,crecurse,MarkYR(sel1),resultmyr,MarkYR(sel2)]]
				[VarSet,resultzr,[Interpolate,crecurse,MarkZR(sel1),resultmzr,MarkZR(sel2)]]
			]
		,//else
			[VarSet,resultxr,MarkXR(sel1)]
			[VarSet,resultyr,MarkYR(sel1)]
			[VarSet,resultzr,MarkZR(sel1)]
		]//Endif
		


		[if,[iGet,zscript:C-Moveit],
			[TransformSet,resultx,resulty,resultz,resultxs,resultys,resultzs,resultxr,resultyr,resultzr]
		]//endif

		[if,[IGet,zscript:C-Point],
			[routineCall,PointFromTo,resultx,resulty,resultz,curmX,curmY,curmZ,Xangle,Yangle]
			[transformSet,,,,,,,Xangle,Yangle,resultzr]
		]
	[if,[IGet,zscript:C-LastPoint],
		[routineCall,PointFromTo,resultx,resulty,resultz,kx,ky,kz,Xangle,Yangle]
		[transformSet,,,,,,,Xangle,Yangle,resultzr]
		[VarSet,KX,resultx]
		[VarSet,KY,resulty]
		[VarSet,KZ,resultz]
	]
		[if,[iGet,zscript:C-ShiftColor],
			[RoutineCall,ShiftColor,resultx,resulty,resultz,aptr]
		]
		
		[if,[iGet,zscript:C-ZColorit],
			[RoutineCall,ZcolorCalc,resultx,resulty,resultz]
		]

		[if,[iGet,zscript:C-Snapshot],
			[IPress,Transform:Snapshot]
		]//endif
		[VarInc,cptr]	//add one to ptr
	]//end loop
]//End Curveit_3
[PD]
[PD]
<zscriptinsert,"Widgets_Index_Include.txt">
[PD]
[PD]
[fontSetSizeSmall]\C00e0e0Digit Widget Interpolate Revision 3.3, created by Digits\Cc0c0c0
