b311480e |
1 | /* |
2 | Copyright (c) 1999-2012 OPEN CASCADE SAS |
7fd59977 |
3 | |
b311480e |
4 | The content of this file is subject to the Open CASCADE Technology Public |
5 | License Version 6.5 (the "License"). You may not use the content of this file |
6 | except in compliance with the License. Please obtain a copy of the License |
7 | at http://www.opencascade.org and read it completely before using this file. |
8 | |
9 | The Initial Developer of the Original Code is Open CASCADE S.A.S., having its |
10 | main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France. |
11 | |
12 | The Original Code and all software distributed under the License is |
13 | distributed on an "AS IS" basis, without warranty of any kind, and the |
14 | Initial Developer hereby disclaims all such warranties, including without |
15 | limitation, any warranties of merchantability, fitness for a particular |
16 | purpose or non-infringement. Please see the License for the specific terms |
17 | and conditions governing the rights and limitations under the License. |
18 | |
19 | */ |
20 | |
21 | /* Appel externe aux routines de lecture (en C) */ |
7fd59977 |
22 | #include <stdio.h> |
23 | |
24 | /* structiges : */ |
25 | struct parlist { |
26 | struct oneparam *first, *last; |
27 | int nbparam; |
28 | }; |
29 | |
30 | struct dirpart { |
31 | int typ,poi,pdef,tra,niv,vue,trf,aff,blk,sub,use,her; /* ligne 1 */ |
32 | int typ2,epa,col,nbl,form; /* ligne 2 */ |
33 | char res1[10],res2[10],nom[10],num[10]; |
34 | struct parlist list; /* liste Psect */ |
35 | int numpart; /* n0 en Dsect */ |
36 | }; |
37 | |
38 | #ifdef __cplusplus |
39 | extern "C" { |
40 | #endif |
41 | |
42 | int igesread (char* nomfic,int lesect[6],int modefnes); |
43 | |
44 | /* structiges : */ |
45 | int iges_lirpart |
46 | (int* *tabval,char* *res1,char* *res2,char* *nom,char* *num,int* nbparam); |
47 | void iges_stats (int* nbpart, int* nbparam); |
48 | void iges_setglobal (); |
49 | void iges_nextpart (); |
50 | int iges_lirparam (int* typarg,char* *parval); |
51 | void iges_finfile (int mode); |
52 | struct dirpart *iges_get_curp (void); |
53 | |
54 | void iges_initfile(); |
55 | int iges_lire (FILE* lefic, int *numsec, char ligne[100], int modefnes); |
56 | void iges_newparam(int typarg,int longval, char *parval); |
57 | void iges_param(int *Pstat,char *ligne,char c_separ,char c_fin,int lonlin); |
58 | void iges_Dsect (int *Dstat,int numsec,char* ligne); |
59 | void iges_Psect(int *Pstat,int numsec,char ligne[80]); |
60 | |
61 | /* MGE 20/07/98 */ |
62 | void IGESFile_Check2 (int mode,char * code, int num, char * str); |
63 | void IGESFile_Check3 (int mode,char * code); |
64 | |
65 | #ifdef __cplusplus |
66 | } |
67 | #endif |
68 | |
69 | /* Definition des types de parametres de l'analyseur de base IGES */ |
70 | #define ArgVide 0 |
71 | #define ArgQuid 1 |
72 | #define ArgChar 2 |
73 | #define ArgInt 3 /* Entier non signe : peut evoluer vers Real ou Char */ |
74 | #define ArgSign 4 /* Entier signe : peut evoluer vers Real */ |
75 | #define ArgReal 5 |
76 | #define ArgExp 6 /* Real + lettre E : attendre confirmation */ |
77 | #define ArgRexp 7 /* Real + Exposant : se ramene a Real */ |
78 | #define ArgMexp 8 /* Real + Exposant INCOMPLET (pas de point decimal) */ |