b311480e |
1 | /* |
973c2be1 |
2 | Copyright (c) 1999-2014 OPEN CASCADE SAS |
7fd59977 |
3 | |
973c2be1 |
4 | This file is part of Open CASCADE Technology software library. |
b311480e |
5 | |
d5f74e42 |
6 | This library is free software; you can redistribute it and/or modify it under |
7 | the terms of the GNU Lesser General Public License version 2.1 as published |
973c2be1 |
8 | by the Free Software Foundation, with special exception defined in the file |
9 | OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT |
10 | distribution for complete text of the license and disclaimer of any warranty. |
b311480e |
11 | |
973c2be1 |
12 | Alternatively, this file may be used under the terms of Open CASCADE |
13 | commercial license or contractual agreement. |
b311480e |
14 | */ |
15 | |
16 | /* Appel externe aux routines de lecture (en C) */ |
7fd59977 |
17 | #include <stdio.h> |
18 | |
19 | /* structiges : */ |
20 | struct parlist { |
21 | struct oneparam *first, *last; |
22 | int nbparam; |
23 | }; |
24 | |
25 | struct dirpart { |
26 | int typ,poi,pdef,tra,niv,vue,trf,aff,blk,sub,use,her; /* ligne 1 */ |
27 | int typ2,epa,col,nbl,form; /* ligne 2 */ |
28 | char res1[10],res2[10],nom[10],num[10]; |
29 | struct parlist list; /* liste Psect */ |
30 | int numpart; /* n0 en Dsect */ |
31 | }; |
32 | |
33 | #ifdef __cplusplus |
34 | extern "C" { |
35 | #endif |
36 | |
37 | int igesread (char* nomfic,int lesect[6],int modefnes); |
38 | |
39 | /* structiges : */ |
40 | int iges_lirpart |
41 | (int* *tabval,char* *res1,char* *res2,char* *nom,char* *num,int* nbparam); |
42 | void iges_stats (int* nbpart, int* nbparam); |
43 | void iges_setglobal (); |
44 | void iges_nextpart (); |
45 | int iges_lirparam (int* typarg,char* *parval); |
46 | void iges_finfile (int mode); |
47 | struct dirpart *iges_get_curp (void); |
48 | |
49 | void iges_initfile(); |
50 | int iges_lire (FILE* lefic, int *numsec, char ligne[100], int modefnes); |
51 | void iges_newparam(int typarg,int longval, char *parval); |
52 | void iges_param(int *Pstat,char *ligne,char c_separ,char c_fin,int lonlin); |
53 | void iges_Dsect (int *Dstat,int numsec,char* ligne); |
498ce76b |
54 | void iges_Psect(int numsec,char ligne[80]); |
7fd59977 |
55 | |
56 | /* MGE 20/07/98 */ |
57 | void IGESFile_Check2 (int mode,char * code, int num, char * str); |
58 | void IGESFile_Check3 (int mode,char * code); |
59 | |
60 | #ifdef __cplusplus |
61 | } |
62 | #endif |
63 | |
64 | /* Definition des types de parametres de l'analyseur de base IGES */ |
65 | #define ArgVide 0 |
66 | #define ArgQuid 1 |
67 | #define ArgChar 2 |
68 | #define ArgInt 3 /* Entier non signe : peut evoluer vers Real ou Char */ |
69 | #define ArgSign 4 /* Entier signe : peut evoluer vers Real */ |
70 | #define ArgReal 5 |
71 | #define ArgExp 6 /* Real + lettre E : attendre confirmation */ |
72 | #define ArgRexp 7 /* Real + Exposant : se ramene a Real */ |
73 | #define ArgMexp 8 /* Real + Exposant INCOMPLET (pas de point decimal) */ |