/*
	Test program for C code from An Introduction to NURBS
	by David F. Rogers. Copyright (C) 2000 David F. Rogers,
	All rights reserved.
	
	Name: tparam.c
	Purpose: Test the chord approximate param routine
	Language: C
	Subroutines called: tparam.c
	Book reference:  Chapter 3
*/
	#include <stdio.h>
	
	main(){

	int i;
	int dpts;
	int ch;

	float d[31];  /* allows for up to 10  data points */
	double tparm[11];
	
	dpts = 4;

	for (i = 1; i <= 3*dpts; i++){
		d[i] = 0.;
	}

	for (i = 1; i <= dpts; i++){
		tparm[i] = 0.;
	}

/*
	Define the data points
*/	
	d[1]=1;
	d[2]=1;
	d[3]=1;
	d[4]=2;
	d[5]=3;
	d[6]=1;
	d[7]=4;
	d[8]=3;
	d[9]=1;
	d[10]=3;
	d[11]=1;
	d[12]=1;

	param(dpts,d,tparm);

	printf("\nPolygon points\n\n");

	for (i = 1; i <= 3*dpts; i=i+3){
		printf(" %f %f %f \n",d[i],d[i+1],d[i+2]);
	}

	ch = getchar();

	printf("\nParameter values\n\n");

	for (i = 1; i <= dpts; i++){
		printf("%d %f \n",i,tparm[i]);
	}
}
