]> git.mxchange.org Git - flightgear.git/blob - Polygon/index.cxx
Use long int for index instead of just int.
[flightgear.git] / Polygon / index.cxx
1 // index.cxx -- routines to handle a unique/persistant integer polygon index
2 //
3 // Written by Curtis Olson, started February 1999.
4 //
5 // Copyright (C) 1999  Curtis L. Olson  - curt@flightgear.org
6 //
7 // This program is free software; you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by
9 // the Free Software Foundation; either version 2 of the License, or
10 // (at your option) any later version.
11 //
12 // This program is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 // GNU General Public License for more details.
16 //
17 // You should have received a copy of the GNU General Public License
18 // along with this program; if not, write to the Free Software
19 // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 //
21 // $Id$
22 // (Log is kept at end of this file)
23  
24 #include <Include/compiler.h>
25
26 #include STL_STRING
27
28 #include <stdio.h>
29
30 #include "index.hxx"
31
32
33 static long int poly_index;
34 static string poly_path;
35
36
37 // initialize the unique polygon index counter stored in path
38 bool poly_index_init( string path ) {
39     poly_path = path;
40
41     FILE *fp = fopen( poly_path.c_str(), "r" );
42
43     if ( fp == NULL ) {
44         cout << "Error cannot open " << poly_path << endl;
45         poly_index = 0;
46         return false;
47     }
48
49     fscanf( fp, "%ld", &poly_index );
50
51     fclose( fp );
52 }
53
54
55 // increment the persistant counter and return the next poly_index
56 long int poly_index_next() {
57     ++poly_index;
58
59     FILE *fp = fopen( poly_path.c_str(), "w" );
60
61     if ( fp == NULL ) {
62         cout << "Error cannot open " << poly_path << " for writing" << endl;
63     }
64
65     fprintf( fp, "%ld\n", poly_index );
66
67     fclose( fp );
68
69     return poly_index;
70 }
71
72
73 // $Log$
74 // Revision 1.2  1999/03/19 00:27:30  curt
75 // Use long int for index instead of just int.
76 //
77 // Revision 1.1  1999/02/25 21:30:24  curt
78 // Initial revision.
79 //