]> SALOME platform Git repositories - modules/paravis.git/blob - src/ParaView/vtkParse.h
Salome HOME
change Open to Import to avoid confusion with SALOME Open
[modules/paravis.git] / src / ParaView / vtkParse.h
1 /*=========================================================================
2
3   Program:   Visualization Toolkit
4   Module:    $RCSfile$
5
6   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7   All rights reserved.
8   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10      This software is distributed WITHOUT ANY WARRANTY; without even
11      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12      PURPOSE.  See the above copyright notice for more information.
13
14 =========================================================================*/
15 #ifndef __vtkParse_h
16 #define __vtkParse_h
17
18 #if defined(__cplusplus)
19 #include <string>
20 #include <vector>
21 #endif
22
23 #define MAX_ARGS 20
24
25 typedef struct _FunctionInfo
26   {
27 #if defined(__cplusplus)
28     vtkstd::string Name;
29 #else
30     char *Name;
31 #endif
32     int   NumberOfArguments;
33     int   ArrayFailure;
34     int   IsPureVirtual;
35     int   IsPublic;
36     int   IsProtected;
37     int   IsOperator;
38     int   HaveHint;
39     int   HintSize;
40     int   ArgTypes[MAX_ARGS];
41     int   ArgCounts[MAX_ARGS];
42
43 #if defined(__cplusplus)
44     vtkstd::string ArgClasses[MAX_ARGS];
45 #else
46     char *ArgClasses[MAX_ARGS];
47 #endif
48     int ArgExternals[MAX_ARGS];
49     int   ReturnType;
50
51 #if defined(__cplusplus)
52     vtkstd::string ReturnClass;
53     vtkstd::string Comment;
54     vtkstd::string Signature;
55 #else
56     char *ReturnClass;
57     char *Comment;
58     char *Signature;
59 #endif
60     int ReturnExternal;
61     int   IsLegacy;
62   } FunctionInfo;
63
64 #if defined(__cplusplus)
65 #else
66 typedef struct _FileInfo
67   {
68     int   HasDelete;
69     int   IsAbstract;
70     int   IsConcrete;
71 #if defined(__cplusplus)
72     vtkstd::string ClassName;
73     vtkstd::string FileName;
74     vtkstd::string OutputFileName;
75     vtkstd::string SuperClasses[10];
76 #else
77     char *ClassName;
78     char *FileName;
79     char *OutputFileName;
80     char *SuperClasses[10];
81 #endif
82
83     int   NumberOfSuperClasses;
84     int   NumberOfFunctions;
85     FunctionInfo Functions[1000];
86 #if defined(__cplusplus)
87     vtkstd::string NameComment;
88     vtkstd::string Description;
89     vtkstd::string Caveats;
90     vtkstd::string SeeAlso;
91 #else
92     char *NameComment;
93     char *Description;
94     char *Caveats;
95     char *SeeAlso;
96 #endif
97
98   } FileInfo;
99
100 #endif
101 //--------------------------------------------------------------------------nix
102 /*
103  * This structure is used internally to sort+collect individual functions.
104  * Polymorphed functions will be combined and can be handeled together.
105  *
106  */
107 typedef struct _UniqueFunctionInfo
108 {
109 #if defined(__cplusplus)
110   vtkstd::string Name;
111 #else
112   char *Name;
113 #endif
114   int TotalPolymorphTypes;
115 #if defined(__cplusplus)
116   vtkstd::vector<FunctionInfo> Function;
117 #else
118   FunctionInfo Function[20];
119 #endif
120 }UniqueFunctionInfo;
121
122
123 //--------------------------------------------------------------------------nix
124 /*
125  * This structure is used to collect and hold class information. It is a
126  * modified version of FileInfo
127  *
128  */
129 typedef struct _ClassInfo
130 {
131   int   HasDelete;
132   int   IsAbstract;
133   int   IsConcrete;
134 #if defined(__cplusplus)
135   vtkstd::string ClassName;
136   vtkstd::string FileName;
137   vtkstd::string OutputFileName;
138   vtkstd::string SuperClasses[10];
139 #else
140   char *ClassName;
141   char *FileName;
142   char *OutputFileName;
143   char *SuperClasses[10];
144 #endif
145
146   int   NumberOfSuperClasses;
147   int   NumberOfFunctions;
148 #if defined(__cplusplus)
149   vtkstd::vector<UniqueFunctionInfo> Functions;
150 #else
151   UniqueFunctionInfo Functions[1000];
152 #endif
153 #if defined(__cplusplus)
154   vtkstd::string NameComment;
155   vtkstd::string Description;
156   vtkstd::string Caveats;
157   vtkstd::string SeeAlso;
158 #else
159   char *NameComment;
160   char *Description;
161   char *Caveats;
162   char *SeeAlso;
163 #endif
164 }ClassInfo;
165
166
167 #endif //__vtkParse_h