0024428: Implementation of LGPL license
[occt.git] / src / IGESFile / igesread.h
CommitLineData
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
973c2be1 6 This library is free software; you can redistribute it and / or modify it
7 under the terms of the GNU Lesser General Public version 2.1 as published
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 : */
20struct parlist {
21 struct oneparam *first, *last;
22 int nbparam;
23};
24
25struct 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
34extern "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) */