1 /*
2  * DATAUTIL.h : COPYRIGHT (C)1987-2002 Tecplot, Inc.
3  *                 ALL RIGHTS RESERVED
4  *
5  * NOTE:  THIS MODULE NOW IS PART OF THE TECPLOT SOURCE
6  *        ONLY EDIT THIS IN THE MAIN TECPLOT SOURCE DIRECTORY.
7  *
8  *
9  */
10 #ifndef DATAUTIL_H
11 #define DATAUTIL_H
12 #define DATAUTIL_VERSION 61
13 
14 #if defined MAKEARCHIVE
15 extern void InitInputSpecs(void);
16 #endif
17 
18 
19 /*
20  *
21  * Read a binary tecplot datafile.
22  *
23  * @param GetHeaderInfoOnly
24  *   Return only the header info from the datafile.
25  *
26  * @param FName
27  *  Name of the file to read.
28  *
29  * @param IVersion
30  *  Returns version of the input file.
31  *
32  * @param DataSetTitle
33  *  Allocates space for and returns dataset title.
34  *
35  * @param NumZones
36  *  Returns the number of zones.
37  *
38  * @param NumVars
39  *  Returns the number of variables.
40  *
41  * @param VarNames
42  *  Allocates space for and returns the var names.
43  *
44  * @param ZoneNames
45  *  Allocates space for and returns the zone names.
46  *
47  * @param NumPtsI, NumPtsJ, NumPtsK
48  *  Zone dimensions loaded into LgIndex_t arrays.
49  *
50  * @param ZoneNames
51  *  Zone types loaded into ZoneType_e array.
52  *
53  * @param UserRec
54  *  Allocates space for and returns the user records.
55  *
56  * @param DatasetAuxData
57  *  Allocates space for and returns Dataset Auxiliary Data.  This must be
58  *  deallocated with AuxDataDealloc.
59  *
60  * @param RawDataspaceAllocated
61  *  Only used if GetHeaderInfoOnly is FALSE. TRUE = calling program has alloced space for
62  *  the raw data. FALSE= let ReadTec allocate space for the raw data.
63  *
64  * @param NodeMap
65  *  Finite Element connectivity information. ReadTec
66  *  will allocate the space for you if RawDataspaceAllocated is FALSE.
67  *
68  * @param VDataBase
69  *  Raw field data loaded into double arrays.  ReadTec
70  *  will allocate the space for you if RawDataspaceAllocated is
71  *  FALSE.  If RawDataspaceAllocated is TRUE then ReadTec will
72  *  only load the arrays that have non NULL addresses.
73  *
74  */
75 LIBFUNCTION Boolean_t STDCALL ReadTec(Boolean_t       GetHeaderInfoOnly,
76                                       char           *FName,
77                                       short          *IVersion,
78                                       char          **DataSetTitle,
79                                       EntIndex_t     *NumZones,
80                                       EntIndex_t     *NumVars,
81                                       StringList_pa  *VarNames,
82                                       StringList_pa  *ZoneNames,
83                                       LgIndex_t     **NumPtsI,
84                                       LgIndex_t     **NumPtsJ,
85                                       LgIndex_t     **NumPtsK,
86                                       ZoneType_e    **ZoneType,
87                                       StringList_pa  *UserRec,
88                                       AuxData_pa     *DatasetAuxData,
89                                       Boolean_t       RawDataspaceAllocated,
90                                       NodeMap_t    ***NodeMap,
91                                       double       ***VDataBase);
92 
93 LIBFUNCTION void * STDCALL TecAlloc(size_t size);
94 
95 LIBFUNCTION void STDCALL TecFree(void *ptr);
96 
97 
98 #endif /* !DATAUTIL_H */
99