Applied John's updated ReadConfigFile() changes to the fractals demos.
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@220 7f0cb862-5218-0410-a997-914c9d46530a
This commit is contained in:
parent
25545149da
commit
45899e5ed9
@ -195,12 +195,15 @@ Special(int key, int x, int y)
|
|||||||
glutPostRedisplay();
|
glutPostRedisplay();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void readConfigFile ( char *fnme )
|
void readConfigFile ( char *fnme )
|
||||||
{
|
{
|
||||||
FILE *fptr = fopen ( fnme, "rt" ) ;
|
FILE *fptr = fopen ( fnme, "rt" ) ;
|
||||||
int i ;
|
int i ;
|
||||||
char inputline [ 256 ] ;
|
char inputline [ 256 ] ;
|
||||||
|
|
||||||
|
if ( fptr )
|
||||||
|
{
|
||||||
/* Read a header line */
|
/* Read a header line */
|
||||||
fgets ( inputline, 256, fptr ) ;
|
fgets ( inputline, 256, fptr ) ;
|
||||||
|
|
||||||
@ -230,13 +233,28 @@ void readConfigFile ( char *fnme )
|
|||||||
|
|
||||||
for ( i = 0; i < num_trans; i++ )
|
for ( i = 0; i < num_trans; i++ )
|
||||||
{
|
{
|
||||||
double m00, m01, m10, m11 ; /* Matrix "I" minus "A" */
|
|
||||||
double determ ; /* Determinant of this matrix */
|
|
||||||
|
|
||||||
/* Read an affine transformation definition */
|
/* Read an affine transformation definition */
|
||||||
fgets ( inputline, 256, fptr ) ;
|
fgets ( inputline, 256, fptr ) ;
|
||||||
sscanf ( inputline, "%lf %lf %lf %lf %lf %lf", &affine[i].a00, &affine[i].a01,
|
sscanf ( inputline, "%lf %lf %lf %lf %lf %lf", &affine[i].a00, &affine[i].a01,
|
||||||
&affine[i].a10, &affine[i].a11, &affine[i].b0, &affine[i].b1 ) ;
|
&affine[i].a10, &affine[i].a11, &affine[i].b0, &affine[i].b1 ) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else /* No data file, set a default */
|
||||||
|
{
|
||||||
|
printf ( "ERROR opening file <%s>\n", fnme ) ;
|
||||||
|
strcpy ( window_title, "Cantor Dust" ) ;
|
||||||
|
num_trans = 2 ;
|
||||||
|
affine = (AffineTrans *)malloc ( num_trans * sizeof(AffineTrans) ) ;
|
||||||
|
affine[0].a00 = 0.25 ; affine[0].a01 = 0.00 ; affine[0].a10 = 0.00 ; affine[0].a11 = 0.25 ;
|
||||||
|
affine[0].b0 = 0.0 ; affine[0].b1 = 0.0 ;
|
||||||
|
affine[1].a00 = 0.25 ; affine[1].a01 = 0.00 ; affine[1].a10 = 0.00 ; affine[1].a11 = 0.25 ;
|
||||||
|
affine[1].b0 = 0.5 ; affine[1].b1 = 0.0 ;
|
||||||
|
}
|
||||||
|
|
||||||
|
for ( i = 0; i < num_trans; i++ )
|
||||||
|
{
|
||||||
|
double m00, m01, m10, m11 ; /* Matrix "I" minus "A" */
|
||||||
|
double determ ; /* Determinant of this matrix */
|
||||||
|
|
||||||
/* Calculate the stationary point */
|
/* Calculate the stationary point */
|
||||||
|
|
||||||
|
@ -186,12 +186,15 @@ Special(int key, int x, int y)
|
|||||||
glutPostRedisplay();
|
glutPostRedisplay();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void readConfigFile ( char *fnme )
|
void readConfigFile ( char *fnme )
|
||||||
{
|
{
|
||||||
FILE *fptr = fopen ( fnme, "rt" ) ;
|
FILE *fptr = fopen ( fnme, "rt" ) ;
|
||||||
int i ;
|
int i ;
|
||||||
char inputline [ 256 ] ;
|
char inputline [ 256 ] ;
|
||||||
|
|
||||||
|
if ( fptr )
|
||||||
|
{
|
||||||
/* Read a header line */
|
/* Read a header line */
|
||||||
fgets ( inputline, 256, fptr ) ;
|
fgets ( inputline, 256, fptr ) ;
|
||||||
|
|
||||||
@ -221,13 +224,28 @@ void readConfigFile ( char *fnme )
|
|||||||
|
|
||||||
for ( i = 0; i < num_trans; i++ )
|
for ( i = 0; i < num_trans; i++ )
|
||||||
{
|
{
|
||||||
double m00, m01, m10, m11 ; /* Matrix "I" minus "A" */
|
|
||||||
double determ ; /* Determinant of this matrix */
|
|
||||||
|
|
||||||
/* Read an affine transformation definition */
|
/* Read an affine transformation definition */
|
||||||
fgets ( inputline, 256, fptr ) ;
|
fgets ( inputline, 256, fptr ) ;
|
||||||
sscanf ( inputline, "%lf %lf %lf %lf %lf %lf", &affine[i].a00, &affine[i].a01,
|
sscanf ( inputline, "%lf %lf %lf %lf %lf %lf", &affine[i].a00, &affine[i].a01,
|
||||||
&affine[i].a10, &affine[i].a11, &affine[i].b0, &affine[i].b1 ) ;
|
&affine[i].a10, &affine[i].a11, &affine[i].b0, &affine[i].b1 ) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else /* No data file, set a default */
|
||||||
|
{
|
||||||
|
printf ( "ERROR opening file <%s>\n", fnme ) ;
|
||||||
|
strcpy ( window_title, "Cantor Dust" ) ;
|
||||||
|
num_trans = 2 ;
|
||||||
|
affine = (AffineTrans *)malloc ( num_trans * sizeof(AffineTrans) ) ;
|
||||||
|
affine[0].a00 = 0.25 ; affine[0].a01 = 0.00 ; affine[0].a10 = 0.00 ; affine[0].a11 = 0.25 ;
|
||||||
|
affine[0].b0 = 0.0 ; affine[0].b1 = 0.0 ;
|
||||||
|
affine[1].a00 = 0.25 ; affine[1].a01 = 0.00 ; affine[1].a10 = 0.00 ; affine[1].a11 = 0.25 ;
|
||||||
|
affine[1].b0 = 0.5 ; affine[1].b1 = 0.0 ;
|
||||||
|
}
|
||||||
|
|
||||||
|
for ( i = 0; i < num_trans; i++ )
|
||||||
|
{
|
||||||
|
double m00, m01, m10, m11 ; /* Matrix "I" minus "A" */
|
||||||
|
double determ ; /* Determinant of this matrix */
|
||||||
|
|
||||||
/* Calculate the stationary point */
|
/* Calculate the stationary point */
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user