foam to Tecplot360 converter
[OpenFOAM-1.6.x.git] / applications / utilities / postProcessing / dataConversion / foamToTecplot360 / tecio / tecsrc / GLOBAL.h
blob21e35a947c20131cee3a77b1294ad7fdd9d39c7c
1 /*
2 * NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
4 * Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
6 * Tecplot hereby grants OpenCFD limited authority to distribute without
7 * alteration the source code to the Tecplot Input/Output library, known
8 * as TecIO, as part of its distribution of OpenFOAM and the
9 * OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
10 * granted access to the TecIO source code, and may redistribute it for the
11 * purpose of maintaining the converter. However, no authority is granted
12 * to alter the TecIO source code in any form or manner.
14 * This limited grant of distribution does not supersede Tecplot, Inc.'s
15 * copyright in TecIO. Contact Tecplot, Inc. for further information.
17 * Tecplot, Inc.
18 * 3535 Factoria Blvd, Ste. 550
19 * Bellevue, WA 98006, USA
20 * Phone: +1 425 653 1200
21 * http://www.tecplot.com/
24 /* BEGINREMOVEFROMADDON */
25 /* NOTE: All code contained between comments that look like
26 * BEGINREMOVEFROMADDON
27 * ENDREMOVEFROMADDON
28 * are pulled out to create the GLOBAL.h file used in addons.
30 /* ENDREMOVEFROMADDON */
33 ******************************************************************
34 ******************************************************************
35 ******* ********
36 ****** (C) 1988-2008 Tecplot, Inc. *******
37 ******* ********
38 ******************************************************************
39 ******************************************************************
42 #ifndef _GLOBAL_H
43 #define _GLOBAL_H
45 #if defined EXTERN
46 #undef EXTERN
47 #endif
48 #if defined Q_MAINMODULE && defined TECPLOTKERNEL
49 /* CORE SOURCE CODE REMOVED */
50 #else
51 #define EXTERN extern
52 #endif
54 #define EXPORT_DEPRECATED_INTERFACES_TO_ADK_ONLY
55 /* BEGINREMOVEFROMADDON */
57 * The reason for wrapping this test with "begin and end remove from addon" key
58 * words is so that the ADK users doesn't have to see this mess.
60 #if !defined COREAPI && \
61 !defined TECUTILMMODULE && \
62 !defined TECUTILOMODULE && \
63 !defined TECUTILQMODULE && \
64 !defined TECUTILSMODULE
65 /* we don't want Tecplot internals using deprecated interfaces */
66 # undef EXPORT_DEPRECATED_INTERFACES_TO_ADK_ONLY
67 #endif
68 /* ENDREMOVEFROMADDON */
71 /****************************************************************
72 * *
73 * MACROS *
74 * *
75 ****************************************************************/
76 #if defined TRUE
77 #undef TRUE
78 #endif
79 #if defined FALSE
80 #undef FALSE
81 #endif
82 #if defined MIN
83 #undef MIN
84 #endif
85 #if defined MAX
86 #undef MAX
87 #endif
88 #if defined ROUND
89 #undef ROUND
90 #endif
91 #if defined ROUND2
92 #undef ROUND2
93 #endif
94 #if defined TRUNC
95 #undef TRUNC
96 #endif
98 #define TRUE ((Boolean_t)1)
99 #define FALSE ((Boolean_t)0)
101 /****************************************************************
103 * MACROS *
105 ****************************************************************/
106 #define ABS(X) ((X) >= 0 ? (X) : -(X) )
107 #define MAX(X,Y) ((X) > (Y) ? (X) : (Y) )
108 #define MIN(X,Y) ((X) < (Y) ? (X) : (Y) )
109 #define BESTSHOWCOLOR(X) ((X) == White_C ? Black_C : White_C)
110 #define ROUND_TO_BYTE(X) ((BYTE)((X)+0.499))
111 #define ROUNDS(X) ((short)((X)+0.499))
112 #define ROUNDL(X) ((LgIndex_t)((X)+0.499))
113 #define ROUND2(X) ((X) >= 0 ? ((int)((X)+0.499)) : ((int)((X)-0.499)))
114 #define TRUNC(X) ((short) (X))
115 #define RAD_TO_DEG(rad) (180.*(rad)/PI)
116 #define DEG_TO_RAD(deg) (PI*(deg)/180.)
118 # define CAPITAL(C) ( ('a'<=(C)&&(C)<='z') ? ((C)+('A'-'a')) : (C) ) /* okay for UNICODE */
120 #include "TASSERT.h"
122 #if defined TECPLOTKERNEL && defined MSWIN
123 /* CORE SOURCE CODE REMOVED */
124 #else
125 #define ISEMPTYSTRING(S) ( ((const char*)(S))[0] == '\0' )
126 #endif
128 #define ISWHITESPACE(C) ((C == ' ') || (C == '\t') || (C == '\n'))
129 #define ISSEPARATOR(C) ((C == ' ') || (C == '\t') || (C == ','))
130 /* clamp the input to the specified range */
131 #define CLAMP(value,low,high) ((value)<(low) ? (low) : (value) > (high) ? (high) : (value))
132 /* integer division rounds any fraction up (for example n=16,d=3 results in 6) */
133 #define INTEGER_DIVIDE_AND_ROUND_UP(n, d) (((int)(n)+(int)(d)-1)/(int)(d))
135 /* BEGINREMOVEFROMADDON */
137 * Calcualtes the cell's primary corner or cell centered index from the I, J,
138 * and K indices.
140 * Consider this IJ zone dimensioned 4 by 3:
141 * @verbatim
142 +-------+-------+-------+-------+
143 | | | | |
144 | <8> | <9> | <10> | <11> | <--- ghost cells
145 | | | | |
146 |8 |9 |10 |11 |
147 +-------+-------+-------+-------+
148 | | | | |
149 | <4> | <5> | <6> | <7> |
150 | | | | |
151 |4 |5 |6 |7 |
152 +-------+-------+-------+-------+
153 | | | | |
154 | <0> | <1> | <2> | <3> |
155 | | | | |
156 |0 |1 |2 |3 |
157 +-------+-------+-------+-------+
162 ghost cells
163 @endverbatim
165 #define IJKINDEX(CZData,I,J,K) ((I) + \
166 ((J)*(CZData)->NumIPts) + \
167 ((K)*(CZData)->NumIJPts))
170 * Calculates the I indice from the cell's primary corner or cell centered
171 * index. See IJKINDEX() for a picture.
173 #define IINDEX(CZData,N) ((N) % (CZData)->NumIPts)
176 * Calculates the J indice from the cell's primary corner or cell centered
177 * index. See IJKINDEX() for a picture.
179 #define JINDEX(CZData,N) (((N) % (CZData)->NumIJPts)/(CZData)->NumIPts)
182 * Calculates the K indice from the cell's primary corner or cell centered
183 * index. See IJKINDEX() for a picture.
185 #define KINDEX(CZData,N) ((N)/(CZData)->NumIJPts)
186 /* ENDREMOVEFROMADDON */
188 /* */
189 #define SWITCH(Type,A,B) do {Type T = (A); (A) = (B); (B) = T;} while (FALSE)
190 #define SWITCH_DOUBLES(A,B) SWITCH(double, (A), (B))
191 #define FPRINTFOK(x) (Boolean_t)((x) > 0)
192 #define GRAPHICSARE3D(F) ((F->PlotType == PlotType_Cartesian3D))
194 /* convenience macros for implication, P -> Q, and equivalence, P <-> Q. */
195 #define IMPLICATION(P,Q) (!(P) || (Q))
196 #define EQUIVALENCE(P,Q) ((P) == (Q))
198 /* suppress compiler warnings about unused parameters */
199 #if defined UNUSED
200 #undef UNUSED
201 #endif
202 #define UNUSED(param) (void)param
205 * Converts a double into a float value
207 * param val
208 * double value to be converted
210 #define CONVERT_DOUBLE_TO_FLOAT(val) \
211 ( (val) >= SMALLFLOAT \
212 ? ( (val) < LARGEFLOAT \
213 ? (float)(val) \
214 : (float)LARGEFLOAT \
216 : ( (val) <= -SMALLFLOAT \
217 ? ( (val) > -LARGEFLOAT \
218 ? (float)(val) \
219 : (float)-LARGEFLOAT \
221 : (float)0.0 \
227 * Clamps a double at the limits of Tecplot's precision
229 * param val
230 * double value to be clamped
232 #define CLAMP_DOUBLE(val) \
233 ( (val) >= SMALLDOUBLE \
234 ? ( (val) < LARGEDOUBLE \
235 ? (double)(val) \
236 : (double)LARGEDOUBLE \
238 : ( (val) <= -SMALLDOUBLE \
239 ? ( (val) > -LARGEDOUBLE \
240 ? (double)(val) \
241 : (double)-LARGEDOUBLE \
243 : (double)0.0 \
249 * Converts a double into a 4-byte (signed) integer value
251 * param val
252 * double value to be converted
254 #define CONVERT_DOUBLE_TO_INT32(val) \
255 ( (val) >= 1.0 \
256 ? ( (val) < MAXINT32 \
257 ? (Int32_t)(val) \
258 : (Int32_t)MAXINT32 \
260 : ( (val) <= -1.0 \
261 ? ( (val) > (Int32_t)-MAXINT32 \
262 ? (Int32_t)(val) \
263 : (Int32_t)-MAXINT32 \
265 : (Int32_t)0.0 \
271 * Converts a double into a 2-byte (signed) integer value
273 * param val
274 * double value to be converted
276 #define CONVERT_DOUBLE_TO_INT16(val) \
277 ( (val) >= 1.0 \
278 ? ( (val) < MAXINT16 \
279 ? (Int16_t)(val) \
280 : (Int16_t)MAXINT16 \
282 : ( (val) <= -1.0 \
283 ? ( (val) > (Int16_t)-MAXINT16 \
284 ? (Int16_t)(val) \
285 : (Int16_t)-MAXINT16 \
287 : (Int16_t)0.0 \
292 * Copies two bytes from SrcBuffer to DstBuffer without causing a page
293 * fault due to misaligned words.
295 * param DstBuffer
296 * Pointer the buffer to send the two bytes to
297 * param SrcBuffer
298 * Pointer the buffer to get the two bytes from
300 #define COPY_2_UNALIGNED_BYTES(DstBuffer, SrcBuffer) \
301 do { \
302 /* cannot check sizeof(SrcBuffer) or sizeof(DstBuffer) because they are */ \
303 /* most likely single byte pointers into unaligned blocks of data */ \
304 ((Byte_t *)(DstBuffer))[0] = ((Byte_t *)(SrcBuffer))[0]; \
305 ((Byte_t *)(DstBuffer))[1] = ((Byte_t *)(SrcBuffer))[1]; \
306 } while (FALSE)
309 * Copies two bytes from SrcBuffer to DstBuffer swapping the bytes
310 * as it copies. Will not cause a page fault due to misaligned words.
312 * param DstBuffer
313 * Pointer the buffer to send the two bytes to
314 * param SrcBuffer
315 * Pointer the buffer to get the two bytes from
317 #define COPY_AND_REVERSE_2_UNALIGNED_BYTES(DstBuffer, SrcBuffer) \
318 do { \
319 /* cannot check sizeof(SrcBuffer) or sizeof(DstBuffer) because they are */ \
320 /* most likely single byte pointers into unaligned blocks of data */ \
321 ((Byte_t *)(DstBuffer))[0] = ((Byte_t *)(SrcBuffer))[1]; \
322 ((Byte_t *)(DstBuffer))[1] = ((Byte_t *)(SrcBuffer))[0]; \
323 } while (FALSE)
326 * Copies four bytes from SrcBuffer to DstBuffer without causing a page
327 * fault due to misaligned words.
329 * param DstBuffer
330 * Pointer the buffer to send the four bytes to
331 * param SrcBuffer
332 * Pointer the buffer to get the four bytes from
334 #define COPY_4_UNALIGNED_BYTES(DstBuffer, SrcBuffer) \
335 do { \
336 /* cannot check sizeof(SrcBuffer) or sizeof(DstBuffer) because they are */ \
337 /* most likely single byte pointers into unaligned blocks of data */ \
338 ((Byte_t *)(DstBuffer))[0] = ((Byte_t *)(SrcBuffer))[0]; \
339 ((Byte_t *)(DstBuffer))[1] = ((Byte_t *)(SrcBuffer))[1]; \
340 ((Byte_t *)(DstBuffer))[2] = ((Byte_t *)(SrcBuffer))[2]; \
341 ((Byte_t *)(DstBuffer))[3] = ((Byte_t *)(SrcBuffer))[3]; \
342 } while (FALSE)
345 * Copies four bytes from SrcBuffer to DstBuffer swapping the bytes
346 * as it copies. Will not cause a page fault due to misaligned words.
348 * param DstBuffer
349 * Pointer the buffer to send the four bytes to
350 * param SrcBuffer
351 * Pointer the buffer to get the four bytes from
353 #define COPY_AND_REVERSE_4_UNALIGNED_BYTES(DstBuffer, SrcBuffer) \
354 do { \
355 /* cannot check sizeof(SrcBuffer) or sizeof(DstBuffer) because they are */ \
356 /* most likely single byte pointers into unaligned blocks of data */ \
357 ((Byte_t *)(DstBuffer))[0] = ((Byte_t *)(SrcBuffer))[3]; \
358 ((Byte_t *)(DstBuffer))[1] = ((Byte_t *)(SrcBuffer))[2]; \
359 ((Byte_t *)(DstBuffer))[2] = ((Byte_t *)(SrcBuffer))[1]; \
360 ((Byte_t *)(DstBuffer))[3] = ((Byte_t *)(SrcBuffer))[0]; \
361 } while (FALSE)
364 * Copies four bytes from SrcBuffer to DstBuffer without causing a page
365 * fault due to misaligned words.
367 * param DstBuffer
368 * Pointer the buffer to send the four bytes to
369 * param SrcBuffer
370 * Pointer the buffer to get the four bytes from
372 #define COPY_8_UNALIGNED_BYTES(DstBuffer, SrcBuffer) \
373 do { \
374 /* cannot check sizeof(SrcBuffer) or sizeof(DstBuffer) because they are */ \
375 /* most likely single byte pointers into unaligned blocks of data */ \
376 ((Byte_t *)(DstBuffer))[0] = ((Byte_t *)(SrcBuffer))[0]; \
377 ((Byte_t *)(DstBuffer))[1] = ((Byte_t *)(SrcBuffer))[1]; \
378 ((Byte_t *)(DstBuffer))[2] = ((Byte_t *)(SrcBuffer))[2]; \
379 ((Byte_t *)(DstBuffer))[3] = ((Byte_t *)(SrcBuffer))[3]; \
380 ((Byte_t *)(DstBuffer))[4] = ((Byte_t *)(SrcBuffer))[4]; \
381 ((Byte_t *)(DstBuffer))[5] = ((Byte_t *)(SrcBuffer))[5]; \
382 ((Byte_t *)(DstBuffer))[6] = ((Byte_t *)(SrcBuffer))[6]; \
383 ((Byte_t *)(DstBuffer))[7] = ((Byte_t *)(SrcBuffer))[7]; \
384 } while (FALSE)
387 * Copies eight bytes from SrcBuffer to DstBuffer swapping the bytes
388 * as it copies. Will not cause a page fault due to misaligned words.
390 * param DstBuffer
391 * Pointer the buffer to send the four bytes to
392 * param SrcBuffer
393 * Pointer the buffer to get the four bytes from
395 #define COPY_AND_REVERSE_8_UNALIGNED_BYTES(DstBuffer, SrcBuffer) \
396 do { \
397 /* cannot check sizeof(SrcBuffer) or sizeof(DstBuffer) because they are */ \
398 /* most likely single byte pointers into unaligned blocks of data */ \
399 ((Byte_t *)(DstBuffer))[0] = ((Byte_t *)(SrcBuffer))[7]; \
400 ((Byte_t *)(DstBuffer))[1] = ((Byte_t *)(SrcBuffer))[6]; \
401 ((Byte_t *)(DstBuffer))[2] = ((Byte_t *)(SrcBuffer))[5]; \
402 ((Byte_t *)(DstBuffer))[3] = ((Byte_t *)(SrcBuffer))[4]; \
403 ((Byte_t *)(DstBuffer))[4] = ((Byte_t *)(SrcBuffer))[3]; \
404 ((Byte_t *)(DstBuffer))[5] = ((Byte_t *)(SrcBuffer))[2]; \
405 ((Byte_t *)(DstBuffer))[6] = ((Byte_t *)(SrcBuffer))[1]; \
406 ((Byte_t *)(DstBuffer))[7] = ((Byte_t *)(SrcBuffer))[0]; \
407 } while (FALSE)
410 * Reverses the byte order of the specified 2 byte buffer.
412 * param Buffer
413 * Pointer to the 2 bytes needing byte order reversal.
415 #define REVERSE_2_BYTES_1_AT_A_TIME(Buffer) \
416 do { \
417 Byte_t Byte0 = ((Byte_t *)(Buffer))[0]; \
418 CHECK(sizeof(*(Buffer))==1 || sizeof(*(Buffer))==2); \
419 ((Byte_t *)(Buffer))[0] = ((Byte_t *)(Buffer))[1]; \
420 ((Byte_t *)(Buffer))[1] = Byte0; \
421 } while (FALSE)
423 #define REVERSE_2_BYTES_2_AT_A_TIME(Buffer) \
424 do { \
425 UInt16_t data_bits = ((UInt16_t *)(Buffer))[0]; \
426 CHECK(sizeof(*(Buffer))==1 || sizeof(*(Buffer))==2); \
427 ((UInt16_t *)(Buffer))[0] = (((data_bits)<<8) | \
428 ((data_bits&0xff))); \
429 } while (FALSE)
431 /* REVERSE_2_BYTES_2_AT_A_TIME may actually be slower, needs testing. */
432 #define REVERSE_2_BYTES REVERSE_2_BYTES_1_AT_A_TIME
435 * Reverses the byte order of the specified 4 byte buffer.
437 * param Buffer
438 * Pointer to the 4 bytes needing byte order reversal.
440 * How this works:
442 * ABCD
443 * D--- <<24 (1)
445 * ABCD
446 * --C- &0x0000ff00
447 * -C-- <<8 (2)
449 * ABCD
450 * -B-- &0x00ff0000
451 * --B- >>8 (3)
453 * ABCD
454 * ---A >>24 (4)
456 * (1) | (2) | (3) | (4) = DCBA.
459 #define REVERSE_4_BYTES_1_AT_A_TIME(Buffer) \
460 do { \
461 Byte_t Byte0 = ((Byte_t *)(Buffer))[0]; \
462 Byte_t Byte1 = ((Byte_t *)(Buffer))[1]; \
463 CHECK(sizeof(*(Buffer))==1 || sizeof(*(Buffer))==4); \
464 ((Byte_t *)(Buffer))[0] = ((Byte_t *)(Buffer))[3]; \
465 ((Byte_t *)(Buffer))[1] = ((Byte_t *)(Buffer))[2]; \
466 ((Byte_t *)(Buffer))[2] = Byte1; \
467 ((Byte_t *)(Buffer))[3] = Byte0; \
468 } while (FALSE)
470 #define REVERSE_4_BYTES_4_AT_A_TIME(Buffer) \
471 do { \
472 UInt32_t data_bits = *((UInt32_t *)(Buffer)); \
473 CHECK(sizeof(*(Buffer))==1 || sizeof(*(Buffer))==4); \
474 *((UInt32_t *)(Buffer)) = (((data_bits)<<24) | \
475 ((data_bits&0x0000ff00)<<8) | \
476 ((data_bits&0x00ff0000)>>8) | \
477 ((data_bits)>>24)); \
478 } while (FALSE)
480 #if defined MSWIN
482 * The DevStuido compiler seems to be the only one that can truly handle this
483 * when optimization is turned on.
485 #define REVERSE_4_BYTES REVERSE_4_BYTES_4_AT_A_TIME
486 #else
487 #define REVERSE_4_BYTES REVERSE_4_BYTES_1_AT_A_TIME
488 #endif
491 * Reverses the byte order of the specified 8 byte buffer.
493 * param Buffer
494 * Pointer to the 8 bytes needing byte order reversal.
496 #define REVERSE_8_BYTES_1_AT_A_TIME(Buffer) \
497 do { \
498 Byte_t Byte0 = ((Byte_t *)(Buffer))[0]; \
499 Byte_t Byte1 = ((Byte_t *)(Buffer))[1]; \
500 Byte_t Byte2 = ((Byte_t *)(Buffer))[2]; \
501 Byte_t Byte3 = ((Byte_t *)(Buffer))[3]; \
502 CHECK(sizeof(*(Buffer))==1 || sizeof(*(Buffer))==8); \
503 ((Byte_t *)(Buffer))[0] = ((Byte_t *)(Buffer))[7]; \
504 ((Byte_t *)(Buffer))[1] = ((Byte_t *)(Buffer))[6]; \
505 ((Byte_t *)(Buffer))[2] = ((Byte_t *)(Buffer))[5]; \
506 ((Byte_t *)(Buffer))[3] = ((Byte_t *)(Buffer))[4]; \
507 ((Byte_t *)(Buffer))[4] = Byte3; \
508 ((Byte_t *)(Buffer))[5] = Byte2; \
509 ((Byte_t *)(Buffer))[6] = Byte1; \
510 ((Byte_t *)(Buffer))[7] = Byte0; \
511 } while (FALSE)
513 #define REVERSE_8_BYTES_2_AT_A_TIME(Buffer) \
514 do { \
515 UInt16_t data_bits_0 = ((UInt16_t *)(Buffer))[0]; \
516 UInt16_t data_bits_1 = ((UInt16_t *)(Buffer))[1]; \
517 UInt16_t data_bits_2 = ((UInt16_t *)(Buffer))[2]; \
518 UInt16_t data_bits_3 = ((UInt16_t *)(Buffer))[3]; \
519 CHECK(sizeof(*(Buffer))==1 || sizeof(*(Buffer))==8); \
520 ((UInt16_t *)(Buffer))[0] = (((data_bits_3)<<8) | \
521 ((data_bits_3&0xff))); \
522 ((UInt16_t *)(Buffer))[1] = (((data_bits_2)<<8) | \
523 ((data_bits_2&0xff))); \
524 ((UInt16_t *)(Buffer))[2] = (((data_bits_1)<<8) | \
525 ((data_bits_1&0xff))); \
526 ((UInt16_t *)(Buffer))[3] = (((data_bits_0)<<8) | \
527 ((data_bits_0&0xff))); \
528 } while (FALSE)
530 #define REVERSE_8_BYTES_4_AT_A_TIME(Buffer) \
531 do { \
532 UInt32_t data_bits_0 = ((UInt32_t *)(Buffer))[0]; \
533 UInt32_t data_bits_1 = ((UInt32_t *)(Buffer))[1]; \
534 CHECK(sizeof(*(Buffer))==1 || sizeof(*(Buffer))==8); \
535 ((UInt32_t *)(Buffer))[0] = (((data_bits_1)<<24) | \
536 ((data_bits_1&0x0000ff00)<<8) | \
537 ((data_bits_1&0x00ff0000)>>8) | \
538 ((data_bits_1)>>24)); \
539 ((UInt32_t *)(Buffer))[1] = (((data_bits_0)<<24) | \
540 ((data_bits_0&0x0000ff00)<<8) | \
541 ((data_bits_0&0x00ff0000)>>8) | \
542 ((data_bits_0)>>24)); \
543 } while (FALSE)
545 #define REVERSE_8_BYTES_8_AT_A_TIME(Buffer) \
546 do { \
547 UInt64_t data_bits = *((UInt64_t *)(Buffer)); \
548 CHECK(sizeof(*(Buffer))==1 || sizeof(*(Buffer))==8); \
549 *((UInt64_t *)(Buffer)) = (((data_bits)<<56) | \
550 ((data_bits&0x000000000000ff00)<<40) | \
551 ((data_bits&0x0000000000ff0000)<<24) | \
552 ((data_bits&0x00000000ff000000)<<8) | \
553 ((data_bits&0x000000ff00000000)>>8) | \
554 ((data_bits&0x0000ff0000000000)>>24) | \
555 ((data_bits&0x00ff000000000000)>>40) | \
556 ((data_bits)>>56)); \
557 } while (FALSE)
560 #if defined MSWIN
562 * The DevStuido compiler seems to be the only one that can truly handle this
563 * when optimization is turned on.
565 #define REVERSE_8_BYTES REVERSE_8_BYTES_4_AT_A_TIME
566 #else
567 #define REVERSE_8_BYTES REVERSE_8_BYTES_1_AT_A_TIME
568 #endif
571 /****************************************************************
573 * ADD-ON MSWIN IMPORT/EXPORT DEFINITIONS *
575 ****************************************************************/
576 #if defined MSWIN
577 # define STDCALL __stdcall
578 #else
579 # define STDCALL
580 #endif /* MSWIN */
582 #if defined (__cplusplus)
583 # define EXTERNC extern "C"
584 #else
585 # define EXTERNC
586 #endif /* __cplusplus */
588 #if defined MSWIN
589 #if defined AMTEC_INTERNAL_MAKELIBTEC || defined TECPLOTKERNEL
590 /* CORE SOURCE CODE REMOVED */
591 # else
592 # define TECPLOT_DLLAPI _declspec ( dllimport )
593 # endif
594 #else
595 # define TECPLOT_DLLAPI
596 #endif
598 #define LINKTOADDON EXTERNC TECPLOT_DLLAPI
603 * Usage:
604 * EXPORTFROMADDON void STDCALL InitTecAddOn(void) { ... }
607 #if defined MSWIN
608 # define EXPORTFROMADDON EXTERNC _declspec ( dllexport )
609 #else
610 # define EXPORTFROMADDON EXTERNC
611 #endif /* MSWIN */
613 #define EXPORTFROMDLL EXPORTFROMADDON
615 #define InitTecAddOn InitTecAddOn113
616 #define TEC_INIT_FUNCTION_NAME "InitTecAddOn113"
618 /* BEGINREMOVEFROMADDON */
619 /* Use INLINE for static functions that could be optimized as inline. */
620 #if defined (__cplusplus) && !defined _DEBUG
621 # define INLINE inline
622 #else
623 # define INLINE static
624 #endif /* __cplusplus */
625 /* ENDREMOVEFROMADDON */
628 /* BEGINREMOVEFROMADDON */
629 #if defined (MSWIN) ||\
630 defined (INTERX) ||\
631 defined (LINUX) ||\
632 defined (SUNSOLARIS86X) ||\
633 defined (COMPAQALPHA) ||\
634 defined (DEC) ||\
635 defined (__LITTLE_ENDIAN__)
636 #define MACHINE_DOES_INTEL_ORDER
637 #endif
639 #if defined( MACHINE_DOES_INTEL_ORDER )
640 # define SwapBytes(IntelOrder) (!(IntelOrder))
641 #else
642 # define SwapBytes(IntelOrder) (IntelOrder)
643 #endif
644 /* ENDREMOVEFROMADDON */
646 #if defined DECALPHA || \
647 defined LINUXALPHA || \
648 defined LINUXI64 || \
649 defined LINUX64 || \
650 defined MAC64 || \
651 defined COMPAQALPHA
652 #define LONGIS64
653 #endif
655 /****************************************************************
657 * HARD CONSTANTS *
659 ****************************************************************/
660 #define LARGEMEMORY ((size_t)-1)
662 /* BEGINREMOVEFROMADDON */
663 /* Tclinterp add-on barfs on these huge integer constants */
664 /* Note: Tecplot is conservative by one on LARGEINTs max */
665 #define LARGEINT64 9223372036854775806LL
666 /* ENDREMOVEFROMADDON */
667 #define LARGEINT32 2147483646
668 #define LARGEINT16 32766
669 #define LARGEINT8 126
671 /* BEGINREMOVEFROMADDON */
672 #define LARGEUINT64 18446744073709551614ULL
673 /* ENDREMOVEFROMADDON */
674 #define LARGEUINT32 4294967294
675 #define LARGEUINT16 65534
676 #define LARGEUINT8 254
678 #ifdef INDEX_16_BIT
679 #define MAXINDEX ((LgIndex_t)LARGEINT16)
680 #else
681 #define MAXINDEX ((LgIndex_t)LARGEINT32)
682 #endif
683 #define MAXZONEMAP MAXINDEX
684 #define LARGEDOUBLE 1.0e+150
685 #define SMALLDOUBLE 1.0e-150
686 #define LARGESTEXPONENT 150
687 #define SMALLESTEXPONENT -150
689 #define SMALLESTDOUBLE SMALLDOUBLE
691 #define LARGESTDOUBLEEXPONENT 308
692 #define SMALLESTDOUBLEEXPONENT -307
693 #define LARGESTDOUBLE 1.0e+308
694 #define LARGEFLOAT 3.40282347E+38
695 #define SMALLFLOAT 1.17549435E-38
696 #define SMALLSTDOUBLE 1.0e-307
698 /* Visual Studio 2008 defines MAXINT32, MAXINT16 which collide with ours */
699 #if defined MAXINT32
700 #undef MAXINT32
701 #endif
702 #if defined MAXINT16
703 #undef MAXINT16
704 #endif
706 #define MAXINT32 LARGEINT32
707 #define MAXINT16 LARGEINT16
708 #define ETX 3
709 #define LN2 0.69314718055994530942
710 #define LN10 2.30258509299404568402
711 #define PIOVER2 1.57079632679489661923
712 #define TWOPI 6.28318530717958647692
713 #if defined PI
714 #undef PI
715 #endif
716 #define PI 3.14159265358979323846
717 #define ANGLEEPSILON 1.0e-10
718 #define LARGESTANGLE (4*PI+ANGLEEPSILON)
719 #define DEGPERRADIANS 57.295779513082323
720 #define CMPERINCH 2.54
721 #define POINTSPERINCH 72.0
722 #define FONTMOVEMARK 192
723 #define FONTDECISIONMARK 128
724 #define FONTLINEMARK 64
725 #define BAD_SET_VALUE ((SetIndex_t)-1)
726 #define MENU_POSITION_FIRST (0)
727 #define MENU_POSITION_LAST (-1)
728 #define INVALID_UNIQUE_ID 0
730 #define BADSETVALUE BAD_SET_VALUE
731 #define SOLID_TRANSLUCENCY 0
732 #define BAD_DISTANCE (-1.0)
733 /* MIN_CIRCUMFERENTIAL_INDEX is the min J dimension for circular zones */
734 #define MIN_CIRCUMFERENTIAL_INDEX 4
736 #define VALID_STRAND_ID(StrandID) (0 <= (StrandID) && (StrandID) < MAXZONEMAP)
737 #define STRAND_ID_STATIC (-1)
738 #define STRAND_ID_PENDING (-2)
741 * Need 3 passes for "Rest of pie" method but can only use 3 clip planes
742 * Need only 1 pass for "Piece of pie" method and can use 6 clip planes
744 #define MAX_ALLOWABLE_CLIPPASSES 1
745 #define MAX_ALLOWABLE_CLIPPLANES 6
747 /* BEGINREMOVEFROMADDON */
748 #if defined TECPLOTKERNEL
749 /* CORE SOURCE CODE REMOVED */
750 #if defined _DEBUG
751 #else
752 #endif
753 #if 0 /* NOTUSED */
754 #endif
755 #endif /* TECPLOTKERNEL */
756 /* ENDREMOVEFROMADDON */
760 * NOTE: If you change TecplotBinaryFileVersion, you MUST also:
762 * 1. Update preplot:
763 * - Change this define symbol in preplot.cpp
764 * - Change version number in the data file format in the comments in preplot.cpp
765 * - Change the version number of Preplot itself in preplot.cpp
766 * 2. Maintain the ability to write the old plt file format:
767 * - Add a new entry to BinaryFileVersion_e
768 * - Add a concrete class of the VersionWriterInterface, and update
769 * VersionWriterAbstractFactory to return the correct instance for the previous and
770 * new BinaryFileVersion_e
771 * - Abstract away the difference in the two versions behind an interface (if one does
772 * not yet exist) and create concrete implementations that can write the old and the
773 * new versions. For a trivial example of this, see FileTypeWriterInterface and its
774 * associated factory and concrete classes.
776 #define TecplotBinaryFileVersion 112
777 #define TecplotInterfaceVersion 120
778 #define TecplotInterfaceVersionStr "120" /* stay in lockstep with TecplotInterfaceVersion */
779 #if defined FLEXLM
780 #define TecplotLicenseVersion 119 /* may vary from TecplotInterfaceVersion */
781 #define TecplotLicenseVersionStr "11.9" /* stay in lockstep with TecplotLicenseVersion */
782 #else /* FLEXLM */
783 #define TecplotLicenseVersion 120 /* may vary from TecplotInterfaceVersion */
784 #define TecplotLicenseVersionStr "12.0" /* stay in lockstep with TecplotLicenseVersion */
785 #endif /* FLEXLM */
786 /* Also change the macro version number in COMMAND.MASTER.h */
788 #define MaxNumZonesOrVars MAXZONEMAP
789 #define MaxXAxes 5
790 #define MaxYAxes 5
791 #define MaxGeoSegments 50
792 #define MaxPtsCircleOrEllipse 720
793 #define MaxFrames 2048
794 #define MaxCustomLabelSets 10
795 #define MaxFontMoves 20000
796 #define MaxColorMapOverrides 16
797 #define MaxValueBlankConstraints 8
798 #define MaxContourGroups 8
799 #define MaxIsoSurfaceGroups 8
800 #define MaxSliceGroups 8
802 #define MaxColorMapGroups 8
803 #define DefaultNumContLevels 15
806 #define DefaultColorMapGroup ((SmInteger_t)0)
807 #define BADGROUPNUMBER ((SmInteger_t)-1)
808 #define UNUSEDGROUPNUMBER ((SmInteger_t)0)
810 #define VALID_ISOSURFACE_GROUP(Group) (((((SmInteger_t)Group) >= 0) && (((SmInteger_t)Group) < MaxIsoSurfaceGroups)))
811 #define VALID_SLICE_GROUP(Group) (((((SmInteger_t)Group) >= 0) && (((SmInteger_t)Group) < MaxSliceGroups)))
812 #define VALID_COLORMAP_GROUP(Group) (((((SmInteger_t)Group) >= 0) && (((SmInteger_t)Group) < MaxColorMapGroups)))
817 * If any of these values changes its corresponding value in preplot.c must
818 * change to match it so that files created by preplot and Tecplot are
819 * consistent.
821 #define MaxChrsDatasetTitle 256
822 #define MaxChrsZnTitle 128
823 #define MaxChrsVarName 128
824 #define MaxChrsZnOrVarName 128
825 /* currently limited to MaxLineIndex in preplot.c */
826 #define MaxChrsAuxValueString 32000
828 #define MaxNumViews 16
829 #define MaxBasicSizes 5
830 #define MaxColorMapControlPoints 50
831 #define MaxRawColorMapEntries 800
832 #define MaxDataSetReaders 100
833 #define MaxExtendedCurveFits 100
834 #define MaxColorMapCycles 20
837 /* Dimension Limits */
839 #define MinPaperDimInWorkArea 0.5
840 #define MinFrameWidth 0.25
841 #define MinFrameHeight 0.25
842 #define MinAxisLength 0.1
845 #define BadEnumValue 255
847 /* BEGINREMOVEFROMADDON */
848 /* define class element limits */
849 #if defined TECPLOTKERNEL
850 /* CORE SOURCE CODE REMOVED */
851 #endif
852 /* ENDREMOVEFROMADDON */
855 * Floating point values are written to layouts with a certain precision.
856 * A high precision is necessary in some cases (like streamtrace starting locations)
857 * This used to be set to 12 which was not high enough. It is now set to 16 which
858 * appears to be sufficient. This also seems to jive with the number of digits of
859 * precision that are found in "ieee double precision" values which is 53 bits or
860 * equivalent to approximately 16 digits. -bdp
863 #define STYLE_FLOAT_PRECISION 16
867 * Auxiliary data common names.
869 * Define Name Data Name Data Type Data Location
870 * ------------------------------------------ ------------------------------------ --------- -------------
872 #define AuxData_Common_Incompressible "Common.Incompressible" /* Boolean_t Dataset */
873 #define AuxData_Common_Density "Common.Density" /* double Dataset */
874 #define AuxData_Common_SpecificHeat "Common.SpecificHeat" /* double Dataset */
875 #define AuxData_Common_SpecificHeatVar "Common.SpecificHeatVar" /* int Dataset */
876 #define AuxData_Common_GasConstant "Common.GasConstant" /* double Dataset */
877 #define AuxData_Common_GasConstantVar "Common.GasConstantVar" /* int Dataset */
878 #define AuxData_Common_Gamma "Common.Gamma" /* double Dataset */
879 #define AuxData_Common_GammaVar "Common.GammaVar" /* int Dataset */
880 #define AuxData_Common_Viscosity "Common.Viscosity" /* double Dataset */
881 #define AuxData_Common_ViscosityVar "Common.ViscosityVar" /* int Dataset */
882 #define AuxData_Common_Conductivity "Common.Conductivity" /* double Dataset */
883 #define AuxData_Common_ConductivityVar "Common.ConductivityVar" /* int Dataset */
884 #define AuxData_Common_AngleOfAttack "Common.AngleOfAttack" /* double Dataset */
885 #define AuxData_Common_SpeedOfSound "Common.SpeedOfSound" /* double Dataset */
886 #define AuxData_Common_ReferenceU "Common.ReferenceU" /* double Dataset */
887 #define AuxData_Common_ReferenceV "Common.ReferenceV" /* double Dataset */
888 #define AuxData_Common_XVar "Common.XVar" /* int Dataset */
889 #define AuxData_Common_YVar "Common.YVar" /* int Dataset */
890 #define AuxData_Common_ZVar "Common.ZVar" /* int Dataset */
891 #define AuxData_Common_CVar "Common.CVar" /* int Dataset */
892 #define AuxData_Common_UVar "Common.UVar" /* int Dataset */
893 #define AuxData_Common_VVar "Common.VVar" /* int Dataset */
894 #define AuxData_Common_WVar "Common.WVar" /* int Dataset */
895 #define AuxData_Common_VectorVarsAreVelocity "Common.VectorVarsAreVelocity" /* Boolean_t Dataset */
896 #define AuxData_Common_PressureVar "Common.PressureVar" /* int Dataset */
897 #define AuxData_Common_TemperatureVar "Common.TemperatureVar" /* int Dataset */
898 #define AuxData_Common_DensityVar "Common.DensityVar" /* int Dataset */
899 #define AuxData_Common_StagnationEnergyVar "Common.StagnationEnergyVar" /* int Dataset */
900 #define AuxData_Common_MachNumberVar "Common.MachNumberVar" /* int Dataset */
901 #define AuxData_Common_ReferenceMachNumber "Common.ReferenceMachNumber" /* double Dataset */
902 #define AuxData_Common_ReferenceW "Common.ReferenceW" /* double Dataset */
903 #define AuxData_Common_PrandtlNumber "Common.PrandtlNumber" /* double DataSet */
904 #define AuxData_Common_Axisymmetric "Common.Axisymmetric" /* Boolean_t Dataset */
905 #define AuxData_Common_AxisOfSymmetryVarAssignment "Common.AxisOfSymmetryVarAssignment" /* int Dataset */
906 #define AuxData_Common_AxisValue "Common.AxisValue" /* double Dataset */
907 #define AuxData_Common_SteadyState "Common.SteadyState" /* Boolean_t Dataset */
908 #define AuxData_Common_TurbulentKineticEnergyVar "Common.TurbulentKineticEnergyVar" /* int Dataset */
909 #define AuxData_Common_TurbulentDissipationRateVar "Common.TurbulentDissipationRateVar" /* int Dataset */
910 #define AuxData_Common_TurbulentViscosityVar "Common.TurbulentViscosityVar" /* int Dataset */
911 #define AuxData_Common_TurbulentFrequencyVar "Common.TurbulentFrequencyVar" /* int Dataset */
912 #define AuxData_Common_Gravity "Common.Gravity" /* double Dataset */
913 #define AuxData_Common_IsBoundaryZone "Common.IsBoundaryZone" /* Boolean_t Zone */
914 #define AuxData_Common_BoundaryCondition "Common.BoundaryCondition" /* BCondition Zone */
915 #define AuxData_Common_Time "Common.Time" /* double Zone */
916 #define AuxData_Common_Mean "Common.Mean" /* double Variable */
917 #define AuxData_Common_Median "Common.Median" /* double Variable */
918 #define AuxData_Common_Variance "Common.Variance" /* double Variable */
919 #define AuxData_Common_StdDev "Common.StdDev" /* double Variable */
920 #define AuxData_Common_AvgDev "Common.AvgDev" /* double Variable */
921 #define AuxData_Common_GeoMean "Common.GeoMean" /* double Variable */
922 #define AuxData_Common_ChiSqre "Common.ChiSqre" /* double Variable */
930 /* BEGINREMOVEFROMADDON */
931 #if defined TECPLOTKERNEL
932 /* CORE SOURCE CODE REMOVED */
933 #if defined THREED
934 #endif
935 #endif /* TECPLOTKERNEL */
936 /* ENDREMOVEFROMADDON */
938 /* Tecplot Add-on Custom Products */
940 /* BEGINREMOVEFROMADDON */
941 /* In activeX, the color constants are an enum type,
942 so the activeX source code parser handles these as
943 a special case, and the types do not need to be
944 indicated as with the other hard #define constants */
945 /* ENDREMOVEFROMADDON */
947 #define Black_C ((ColorIndex_t)0)
948 #define Red_C ((ColorIndex_t)1)
949 #define Green_C ((ColorIndex_t)2)
950 #define Blue_C ((ColorIndex_t)3)
951 #define Cyan_C ((ColorIndex_t)4)
952 #define Yellow_C ((ColorIndex_t)5)
953 #define Purple_C ((ColorIndex_t)6)
954 #define White_C ((ColorIndex_t)7)
956 #define Custom1_C ((ColorIndex_t)8)
957 #define Custom2_C ((ColorIndex_t)9)
958 #define Custom3_C ((ColorIndex_t)10)
959 #define Custom4_C ((ColorIndex_t)11)
960 #define Custom5_C ((ColorIndex_t)12)
961 #define Custom6_C ((ColorIndex_t)13)
962 #define Custom7_C ((ColorIndex_t)14)
963 #define Custom8_C ((ColorIndex_t)15)
964 #define Custom9_C ((ColorIndex_t)16)
966 #define Custom10_C ((ColorIndex_t)17)
967 #define Custom11_C ((ColorIndex_t)18)
968 #define Custom12_C ((ColorIndex_t)19)
969 #define Custom13_C ((ColorIndex_t)20)
970 #define Custom14_C ((ColorIndex_t)21)
971 #define Custom15_C ((ColorIndex_t)22)
972 #define Custom16_C ((ColorIndex_t)23)
973 #define Custom17_C ((ColorIndex_t)24)
974 #define Custom18_C ((ColorIndex_t)25)
975 #define Custom19_C ((ColorIndex_t)26)
977 #define Custom20_C ((ColorIndex_t)27)
978 #define Custom21_C ((ColorIndex_t)28)
979 #define Custom22_C ((ColorIndex_t)29)
980 #define Custom23_C ((ColorIndex_t)30)
981 #define Custom24_C ((ColorIndex_t)31)
982 #define Custom25_C ((ColorIndex_t)32)
983 #define Custom26_C ((ColorIndex_t)33)
984 #define Custom27_C ((ColorIndex_t)34)
985 #define Custom28_C ((ColorIndex_t)35)
986 #define Custom29_C ((ColorIndex_t)36)
988 #define Custom30_C ((ColorIndex_t)37)
989 #define Custom31_C ((ColorIndex_t)38)
990 #define Custom32_C ((ColorIndex_t)39)
991 #define Custom33_C ((ColorIndex_t)40)
992 #define Custom34_C ((ColorIndex_t)41)
993 #define Custom35_C ((ColorIndex_t)42)
994 #define Custom36_C ((ColorIndex_t)43)
995 #define Custom37_C ((ColorIndex_t)44)
996 #define Custom38_C ((ColorIndex_t)45)
997 #define Custom39_C ((ColorIndex_t)46)
999 #define Custom40_C ((ColorIndex_t)47)
1000 #define Custom41_C ((ColorIndex_t)48)
1001 #define Custom42_C ((ColorIndex_t)49)
1002 #define Custom43_C ((ColorIndex_t)50)
1003 #define Custom44_C ((ColorIndex_t)51)
1004 #define Custom45_C ((ColorIndex_t)52)
1005 #define Custom46_C ((ColorIndex_t)53)
1006 #define Custom47_C ((ColorIndex_t)54)
1007 #define Custom48_C ((ColorIndex_t)55)
1008 #define Custom49_C ((ColorIndex_t)56)
1010 #define Custom50_C ((ColorIndex_t)57)
1011 #define Custom51_C ((ColorIndex_t)58)
1012 #define Custom52_C ((ColorIndex_t)59)
1013 #define Custom53_C ((ColorIndex_t)60)
1014 #define Custom54_C ((ColorIndex_t)61)
1015 #define Custom55_C ((ColorIndex_t)62)
1016 #define Custom56_C ((ColorIndex_t)63)
1018 #define MultiColor_C ((ColorIndex_t)(-1))
1019 #define NoColor_C ((ColorIndex_t)(-2))
1020 #define MultiColor2_C ((ColorIndex_t)(-3))
1021 #define MultiColor3_C ((ColorIndex_t)(-4))
1022 #define MultiColor4_C ((ColorIndex_t)(-5))
1023 #define RGBColor_C ((ColorIndex_t)(-6))
1024 #define MultiColor5_C ((ColorIndex_t)(-7))
1025 #define MultiColor6_C ((ColorIndex_t)(-8))
1026 #define MultiColor7_C ((ColorIndex_t)(-9))
1027 #define MultiColor8_C ((ColorIndex_t)(-10))
1028 #define InvalidColor_C ((ColorIndex_t)(-255))
1030 #define FirstCustomColor Custom1_C
1031 #define LastCustomColor Custom56_C
1032 #define NumCustomColors (LastCustomColor-FirstCustomColor+1)
1034 #define FirstBasicColor Black_C
1035 #define LastBasicColor LastCustomColor
1036 #define NumBasicColors (LastBasicColor-FirstBasicColor+1)
1038 /* BEGINREMOVEFROMADDON */
1041 * V8 and earlier used this for MultiColor_C. We adjust this
1042 * to the new value in the SetValue layer so old addons work.
1044 #define OldMultiColor_C ((ColorIndex_t)255)
1046 * Gray is only used in the interface for workspace background and
1047 * for insensitive buttons in Motif.
1048 * True Black and True White are also interface only. They draw
1049 * true black or true white - regardless of what the user has set
1050 * the RGB values for the black and white basic colors.
1051 * XOrColor_C is also for interface only.
1053 #define Gray_C (LastBasicColor+1)
1054 #define DarkGray_C (LastBasicColor+2) /* Used for inactive frame border color */
1055 #define XOrColor_C (LastBasicColor+3)
1056 #define FirstInterfaceColor Gray_C
1057 #define LastInterfaceColor XOrColor_C
1059 #define NumInterfaceColors (LastInterfaceColor-FirstInterfaceColor+1)
1060 #define NumContourShades (GeneralBase.Limits.MaxNumContourLevels+1)
1061 #define NumColorsInColorTable (NumBasicColors+NumInterfaceColors+NumContourShades)
1062 #define BasicColorOffset (0)
1063 #define InterfaceColorOffset (NumBasicColors)
1064 #define ContourColorOffset (NumBasicColors+NumInterfaceColors)
1066 #define BadKey (short)31
1067 #define Plus (short)43
1068 #define Minus (short)45
1069 #define RetKey (short)13
1070 #define DeleteKey (short)127
1071 #define ShiftDelete (short)128
1072 #define BackSpace (short)8
1073 #define LeftArrow (short)29
1074 #define RightArrow (short)30
1075 #define UpArrow (short)11
1076 #define DownArrow (short)10
1077 #define Toggle (short)19
1078 #define Esc (short)27
1079 #define RegFrame (short)18
1080 #define DoBitDump (short)2
1083 /* File Markers */
1084 #define ZoneMarker 299.0
1085 #define GeomMarker 399.0
1086 #define TextMarker 499.0
1087 #define CustomLabelMarker 599.0
1088 #define UserRecMarker 699.0
1089 #define DataSetAuxMarker 799.0
1090 #define VarAuxMarker 899.0
1091 #define EndHeaderMarker 357.0
1095 * Additional objects that have plotter
1096 * pens assigned to them.
1098 #define AxisPen Custom8_C+1
1099 #define MajGridPen Custom8_C+2
1100 #define MinGridPen Custom8_C+3
1101 #define StreamlinePen Custom8_C+4
1102 #define ColoredLinePen Custom8_C+5
1103 #define BoundaryPen Custom8_C+6
1104 #define LabelPen Custom8_C+7
1105 #define NumPlotterPens Custom8_C+8
1106 /* AutoSelectPen will select the correct pen from Black_C thru Custom8_C or ColoredLinePen */
1107 #define AutoSelectPen Custom8_C+9
1108 #define InvalidPen Custom8_C+99
1110 #define FirstObjectPen AxisPen
1111 #define LastObjectPen LabelPen
1113 #define DelZFactor 0.0001
1115 #define BadBaseValue NULL
1119 * NOTES ON TYPEDEFS:
1121 * TYPEDEF TYPE Suffix
1122 * ------------ ------
1123 * simple _t
1124 * enumerated _e
1125 * structure _s
1126 * union _u
1127 * abstract _a
1128 * pointer to simple _pt
1129 * pointer to enumerated _pe
1130 * pointer to structure _ps
1131 * pointer to union _pu
1132 * pointer to abstract _pa
1133 * pointer to function _pf
1136 * The only execption is char * typedef's these use _t
1138 * Abstract types are intentionally made to be
1139 * obscure. The programmer should not have to know
1140 * what the underlying structure really is for abstract
1141 * types.
1146 #ifdef MSWIN
1147 # define DIR_SEPARATOR "\\"
1148 #else
1149 # define DIR_SEPARATOR "/"
1150 #endif
1152 /* ENDREMOVEFROMADDON */
1154 /* BEGINREMOVEFROMADDON */
1155 #if defined MSWIN
1156 #define TP_FWRITE fwrite
1157 #define TP_FFLUSH fflush
1158 #define TP_FCLOSE fclose
1160 #if defined TECPLOTKERNEL
1161 /* CORE SOURCE CODE REMOVED */
1162 #else
1163 #define TP_UNLINK remove
1164 #define TP_RMDIR _rmdir
1165 #define TP_FREAD ::fread
1166 #define TP_FOPEN ::fopen
1167 #define TP_FREOPEN ::freopen
1168 #define TP_STAT ::_stat
1169 #define TP_GETENV ::getenv
1170 #endif /* TECPLOTKERNEL */
1172 #if defined _WIN64
1173 #define TP_FSEEK(stream,offset,whence) _fseeki64((stream),(__int64)(offset),(whence))
1174 #define TP_FTELL _ftelli64
1175 #else
1176 #define TP_FSEEK(stream, offset, whence) fseek((stream), (long)(offset), (whence))
1177 #define TP_FTELL ftell
1178 #endif
1180 #else
1181 #define TP_RMDIR rmdir
1182 #define TP_UNLINK unlink
1183 #define TP_FOPEN fopen
1184 #define TP_FREOPEN freopen
1185 #define TP_FCLOSE fclose
1186 #define TP_FREAD fread
1187 #define TP_FWRITE fwrite
1188 #define TP_FFLUSH fflush
1189 #define TP_FSEEK fseeko
1190 #define TP_FTELL ftello
1191 #define TP_STAT stat
1192 #define _stat stat // ...make the UNIXX and MSWIN platforms have the same syntax to use "struct _stat"
1193 #define TP_GETENV getenv
1194 #endif
1195 /* ENDREMOVEFROMADDON */
1197 /****************************************************************
1199 * SIMPLE TYPEDEFS *
1201 ****************************************************************/
1205 /* How to define UInt64_t/Int64_t is platform specific, but they are always 8-bytes */
1206 #if defined MSWIN
1207 typedef unsigned __int64 UInt64_t;
1208 typedef __int64 Int64_t;
1209 #else
1210 #if defined CRAY
1211 typedef unsigned int UInt64_t;
1212 typedef int Int64_t;
1213 #else
1214 #if defined LONGIS64
1215 typedef unsigned long UInt64_t;
1216 typedef long Int64_t;
1217 #else
1218 typedef unsigned long long UInt64_t;
1219 typedef long long Int64_t;
1220 #endif
1221 #endif
1222 #endif
1224 #if defined LONGIS64
1225 typedef unsigned int UInt32_t;
1226 typedef int Int32_t;
1227 typedef int LgInteger_t;
1228 #else
1229 typedef unsigned int UInt32_t;
1230 typedef int Int32_t;
1231 typedef int LgInteger_t;
1232 #endif
1234 typedef short Int16_t;
1235 typedef unsigned short UInt16_t;
1236 typedef signed char Int8_t;
1237 typedef unsigned char UInt8_t;
1239 #ifdef INDEX_16_BIT
1240 typedef Int16_t LgIndex_t;
1241 #else
1242 typedef Int32_t LgIndex_t;
1243 #endif
1244 typedef LgIndex_t NodeMap_t;
1245 typedef LgIndex_t ScreenDim_t;
1248 * ArbParam_t type is used for passing arbitrary integers or pointers in
1249 * parameters. HgIndex_t is used for counting node maps and other things that
1250 * may individually be LgIndex_t, but in total exceed 32-bit.
1251 * The general rule is that these are 4 bytes on "32-bit" machines
1252 * and 8 bytes on "64-bit" machines.
1254 #if defined CRAY
1255 typedef char *ArbParam_t;
1256 typedef long HgIndex_t;
1257 #elif defined LONGIS64
1258 typedef long ArbParam_t;
1259 typedef long HgIndex_t;
1260 #elif defined MSWIN && (defined _M_IA64 || defined _M_AMD64)
1261 typedef INT_PTR ArbParam_t;
1262 typedef INT_PTR HgIndex_t;
1263 #else
1264 typedef int ArbParam_t;
1265 typedef int HgIndex_t;
1266 #endif
1268 typedef ArbParam_t UniqueID_t;
1270 /* 64 bit offset used to hold file offset and size values. */
1271 typedef Int64_t FileOffset_t;
1274 * 64 bit offset for memory mapped I/O.
1276 typedef UInt64_t MemMapOffset_t;
1279 * SmInteger must be at least a short....
1282 typedef unsigned char Byte_t;
1283 typedef short SmInteger_t;
1284 typedef SmInteger_t ColorIndex_t;
1285 #ifdef INDEX_16_BIT
1286 typedef Int16_t EntIndex_t;
1287 #else
1288 typedef Int32_t EntIndex_t;
1289 #endif
1290 typedef Int16_t SubZoneIndex_t;
1292 typedef char Boolean_t;
1293 typedef char *ZoneName_t;
1294 typedef char *VarName_t;
1295 typedef char *LString_t;
1297 typedef LgIndex_t Strand_t;
1298 typedef LgIndex_t HeapLength_t;
1299 typedef LgIndex_t SegPtsArray_t[MaxGeoSegments];
1300 typedef double BasicSize_t[MaxBasicSizes];
1301 typedef double *VarList_t;
1303 typedef long SetIndex_t;
1305 typedef unsigned long SetData_t;
1306 typedef SetData_t *SetData_pt;
1308 /* BEGINREMOVEFROMADDON */
1309 #if defined TECPLOTKERNEL
1310 /* CORE SOURCE CODE REMOVED */
1311 #endif /* TECPLOTKERNEL */
1313 /* The following list identifies items that can be inhibited. */
1314 #define FEATURE_3D (1L << 0)
1315 #define FEATURE_3DVOLUME (1L << 1)
1316 #define FEATURE_2D (1L << 2)
1317 #define FEATURE_XY (1L << 3)
1318 #define FEATURE_DATAALTER (1L << 4)
1319 #define FEATURE_UNSTRUCTUREDDATA (1L << 5)
1320 #define FEATURE_MULTIPLEFRAMES1 (1L << 6)
1321 #define FEATURE_MULTIPLEZONES1 (1L << 7)
1322 #define FEATURE_MULTIPLEFRAMES5 (1L << 8)
1323 #define FEATURE_MULTIPLEZONES5 (1L << 9)
1324 #define FEATURE_MULTIPLEFRAMES10 (1L << 10)
1325 #define FEATURE_MULTIPLEZONES10 (1L << 11)
1326 #define FEATURE_READNONOEMDATA (1L << 12) /* Added 07/22/2000 */
1327 #define FEATURE_DATALOADERS (1L << 13) /* Added 07/22/2000 */
1328 #define FEATURE_DATALOADERS_EXCEPTONE (1L << 14) /* Added 11/26/2001 */
1329 #define FEATURE_LOADONDEMAND (1L << 15) /* Added 09/13/2007 */
1330 #define FEATURE_MULTIPLEWORKERTHREADS (1L << 16) /* Added 09/13/2007 */
1331 #define FEATURE_ISOSURFACEGROUPS (1L << 17) /* Added 09/21/2007 */
1332 #define FEATURE_SLICEGROUPS (1L << 18) /* Added 09/21/2007 */
1333 #define FEATURE_STREAMTRACEGROUPS (1L << 19) /* Added 09/25/2007 not used yet */
1334 #define FEATURE_FEPOLYHEDRON (1L << 20) /* Added 09/25/2007 */
1335 #define FEATURE_FEPOLYGON (1L << 21) /* Added 09/25/2007 */
1338 * KnowFeaturesToInhibit must be updated whenever a new
1339 * item is added above.
1341 #define KnownFeaturesToInhibit (FEATURE_3D |\
1342 FEATURE_3DVOLUME |\
1343 FEATURE_2D |\
1344 FEATURE_XY |\
1345 FEATURE_DATAALTER |\
1346 FEATURE_UNSTRUCTUREDDATA |\
1347 FEATURE_MULTIPLEFRAMES1 |\
1348 FEATURE_MULTIPLEZONES1 |\
1349 FEATURE_MULTIPLEFRAMES5 |\
1350 FEATURE_MULTIPLEZONES5 |\
1351 FEATURE_MULTIPLEFRAMES10 |\
1352 FEATURE_MULTIPLEZONES10 |\
1353 FEATURE_READNONOEMDATA |\
1354 FEATURE_DATALOADERS |\
1355 FEATURE_DATALOADERS_EXCEPTONE |\
1356 FEATURE_LOADONDEMAND |\
1357 FEATURE_MULTIPLEWORKERTHREADS |\
1358 FEATURE_ISOSURFACEGROUPS |\
1359 FEATURE_SLICEGROUPS |\
1360 FEATURE_STREAMTRACEGROUPS |\
1361 FEATURE_FEPOLYHEDRON |\
1362 FEATURE_FEPOLYGON)
1364 #define VALID_FEATURE_INHIBIT_FLAG(feature) (((feature) & KnownFeaturesToInhibit) != 0)
1365 #define VALID_FEATURE_INHIBIT_MASK(mask) (((mask) & ~KnownFeaturesToInhibit)==0)
1369 /* The following are used by the OEM libs, so they need
1370 to be outside of TECPLOTKERNEL */
1371 typedef unsigned long FeatureFlag_t;
1372 typedef unsigned long FeatureMask_t;
1374 /* ENDREMOVEFROMADDON */
1376 typedef char SymbolChar_t[3];
1379 * Face node offset used for identifying which node of a polytope face is
1380 * desired.
1382 typedef LgIndex_t FaceNodeOffset_t;
1385 * Element face offset used for identifying which face of a polytope element is
1386 * desired.
1388 typedef LgIndex_t ElemFaceOffset_t;
1391 * Face boundary item offset used for identifying which boundary item of a
1392 * polytope face is desired.
1394 typedef LgIndex_t FaceBndryItemOffset_t;
1396 /****************************************************************
1398 * ENUMERATED TYPEDEFS *
1400 ****************************************************************/
1402 typedef enum
1404 PlacementPlaneOrientation_X,
1405 PlacementPlaneOrientation_Y,
1406 PlacementPlaneOrientation_Z,
1407 END_PlacementPlaneOrientation_e,
1408 PlacementPlaneOrientation_Invalid = BadEnumValue
1409 } PlacementPlaneOrientation_e;
1411 typedef enum
1413 StringMode_ASCII,
1414 StringMode_UTF8,
1415 StringMode_Blend,
1416 END_StringMode_e,
1417 StringMode_Invalid = BadEnumValue
1419 } StringMode_e;
1421 typedef enum
1423 SidebarSizing_MaxOfAll,
1424 SidebarSizing_Dynamic,
1425 END_SidebarSizing_e,
1426 SidebarSizing_Invalid = BadEnumValue
1428 } SidebarSizing_e;
1430 typedef enum
1432 SidebarLocation_Left,
1433 SidebarLocation_Right, /* Not allowed at this time */
1434 SidebarLocation_Top, /* Not allowed at this time */
1435 SidebarLocation_Bottom, /* Not allowed at this time */
1436 END_SidebarLocation_e,
1437 SidebarLocation_Invalid = BadEnumValue
1439 } SidebarLocation_e;
1441 typedef enum
1443 MenuItem_Option,
1444 MenuItem_Toggle,
1445 MenuItem_Separator,
1446 MenuItem_SubMenu,
1447 END_MenuItem_e,
1448 MenuItem_Invalid = BadEnumValue
1449 } MenuItem_e;
1451 typedef enum
1453 StandardMenu_File,
1454 StandardMenu_Edit,
1455 StandardMenu_View,
1456 StandardMenu_Plot,
1457 StandardMenu_Insert,
1458 StandardMenu_Data,
1459 StandardMenu_Frame,
1460 StandardMenu_Workspace, /* deprecated: use Options instead */
1461 StandardMenu_Tools,
1462 StandardMenu_Help,
1463 StandardMenu_Animate,
1464 StandardMenu_Options,
1465 StandardMenu_Scripting,
1466 END_StandardMenu_e,
1467 StandardMenu_Invalid = BadEnumValue
1468 } StandardMenu_e;
1470 typedef enum
1472 FieldProbeDialogPage_NodalValues,
1473 FieldProbeDialogPage_CellCenteredValues,
1474 FieldProbeDialogPage_ZoneCellInfo,
1475 FieldProbeDialogPage_FaceNeighbors,
1476 END_FieldProbeDialogPage_e,
1477 FieldProbeDialogPage_Invalid = BadEnumValue
1478 } FieldProbeDialogPage_e;
1480 /* BEGINREMOVEFROMADDON */
1482 /* used for caches of boolean type */
1483 typedef enum
1485 BooleanCache_False, /* Value is cached and is FALSE */
1486 BooleanCache_True, /* Value is cached and is TRUE */
1487 BooleanCache_Uncached, /* Value is not cached. Value is unknown. */
1488 END_BooleanCache_e,
1489 BooleanCache_Invalid = BadEnumValue
1490 } BooleanCache_e;
1493 * For determining pick location along a line
1495 typedef enum
1497 LinePickLocation_None,
1498 LinePickLocation_StartHandle,
1499 LinePickLocation_MidLineOnHandle,
1500 LinePickLocation_MidLineOffHandles,
1501 LinePickLocation_EndHandle,
1502 END_LinePickLocation_e,
1503 LinePickLocation_Invalid = BadEnumValue
1504 } LinePickLocation_e;
1508 * Defines destination for setting up views: hardware (ie, OpenGL) or
1509 * software (ie, internal transformation matrices).
1511 typedef enum
1513 ViewDest_Hardware,
1514 ViewDest_Software,
1515 END_ViewDest_e,
1516 ViewDest_Invalid = BadEnumValue
1517 } ViewDest_e;
1519 /* used for identifying the origin of the dataset reader */
1520 typedef enum
1522 DataSetReaderOrigin_Native, /* created by Tecplot */
1523 DataSetReaderOrigin_Foreign, /* created by an add-on */
1524 END_DataSetReaderOrigin_e,
1525 DataSetReaderOrigin_Invalid = BadEnumValue
1526 } DataSetReaderOrigin_e;
1528 /* used for identifying the origin of the extended curve fit */
1529 typedef enum
1531 ExtendedCurveFitOrigin_Native, /* created by Tecplot */
1532 ExtendedCurveFitOrigin_Foreign, /* created by an add-on */
1533 END_ExtendedCurveFitOrigin_e,
1534 ExtendedCurveFitOrigin_Invalid = BadEnumValue
1535 } ExtendedCurveFitOrigin_e;
1537 typedef enum
1539 CollapsedStatus_NotCollapsed,
1540 CollapsedStatus_CollapsedToPoint,
1541 CollapsedStatus_CollapsedToLine,
1542 CollapsedStatus_CollapsedToSegmentedLine,
1543 CollapsedStatus_CollapsedToTriangle,
1544 END_CollapsedStatus_e,
1545 CollapsedStatus_Invalid = BadEnumValue
1546 } CollapsedStatus_e;
1547 /* ENDREMOVEFROMADDON */
1551 typedef enum
1553 UndoStateCategory_Frame,
1554 UndoStateCategory_Picked, /* picked changes, not the pick itself */
1555 UndoStateCategory_Text,
1556 UndoStateCategory_Geom,
1557 UndoStateCategory_View,
1558 UndoStateCategory_WorkspaceView,
1559 UndoStateCategory_Style, /* style less text and geometries */
1560 UndoStateCategory_SpecificStyle, /* meaning that specific undo style will be added by the caller */
1561 UndoStateCategory_Data,
1562 UndoStateCategory_DataAndStyle,
1563 UndoStateCategory_StyleIncTextGeom, /* style including text and geometires */
1564 UndoStateCategory_GlobalStyle, /* style less field, map, text and geometries */
1565 UndoStateCategory_PageAction,
1566 END_UndoStateCategory_e,
1567 UndoStateCategory_Invalid = BadEnumValue
1568 } UndoStateCategory_e;
1572 * Used only for Action_PropagateLinking
1574 typedef enum
1576 LinkType_WithinFrame,
1577 LinkType_BetweenFrames,
1578 END_LinkType_e,
1579 LinkType_Invalid = BadEnumValue
1580 } LinkType_e;
1582 typedef enum
1584 FrameCollection_All,
1585 FrameCollection_Picked,
1586 END_FrameCollection_e,
1587 FrameCollection_Invalid = BadEnumValue
1588 } FrameCollection_e;
1592 typedef enum
1594 LegendProcess_DrawLegend,
1595 LegendProcess_EraseLegend,
1596 LegendProcess_GetExtents,
1597 END_LegendProcess_e,
1598 LegendProcess_Invalid = BadEnumValue
1599 } LegendProcess_e;
1602 typedef enum
1604 RGBLegendOrientation_RGB,
1605 RGBLegendOrientation_GBR,
1606 RGBLegendOrientation_BRG,
1607 RGBLegendOrientation_RBG,
1608 RGBLegendOrientation_GRB,
1609 RGBLegendOrientation_BGR,
1610 END_RGBLegendOrientation_e,
1611 RGBLegendOrientation_Invalid = BadEnumValue
1612 } RGBLegendOrientation_e;
1616 /* BEGINREMOVEFROMADDON */
1617 /* Used by some of the image exporters/animators */
1618 typedef struct
1620 Byte_t R;
1621 Byte_t G;
1622 Byte_t B;
1623 } RGBTriple_s;
1625 typedef RGBTriple_s RGBPalette_t[256];
1627 /* ENDREMOVEFROMADDON */
1629 /* BEGINREMOVEFROMADDON */
1630 /* The tag on the following line is so that the Windows
1631 build script can parse all of the current state changes
1632 out of this file, and compare them to the state changes
1633 found in the main.c template file.
1634 Do not change or delete the line below.*/
1635 /*StateChange_e_BeginDef*/
1636 /* ENDREMOVEFROMADDON */
1638 typedef enum
1640 StateChange_VarsAltered,
1641 StateChange_VarsAdded,
1642 StateChange_ZonesDeleted,
1643 StateChange_ZonesAdded,
1644 StateChange_NodeMapsAltered,
1645 StateChange_FrameDeleted,
1646 StateChange_NewTopFrame, /* deprecated: use NewActiveFrame and/or FrameOrderChange */
1647 StateChange_Style,
1648 StateChange_DataSetReset,
1649 StateChange_NewLayout,
1650 StateChange_CompleteReset, /* deprecated: no longer broadcast */
1651 StateChange_LineMapAssignment, /* was StateChange_XYMapAssignment */
1652 StateChange_ContourLevels,
1653 StateChange_ModalDialogLaunch,
1654 StateChange_ModalDialogDismiss,
1655 StateChange_QuitTecplot,
1656 StateChange_ZoneName,
1657 StateChange_VarName,
1658 StateChange_LineMapName, /* was StateChange_XYMapName */
1659 StateChange_LineMapAddDeleteOrReorder, /* was StateChange_XYMapAddDeleteOrReorder */
1660 StateChange_View,
1661 StateChange_ColorMap,
1662 StateChange_ContourVar,
1663 StateChange_Streamtrace,
1664 StateChange_NewAxisVariables,
1665 StateChange_MouseModeUpdate,
1666 StateChange_PickListCleared,
1667 StateChange_PickListGroupSelect,
1668 StateChange_PickListSingleSelect,
1669 StateChange_PickListStyle,
1670 StateChange_DataSetFileName,
1671 StateChange_UnsuspendInterface, /* was StateChange_DrawGraphicsOn */
1672 StateChange_SuspendInterface, /* was StateChange_DrawGraphicsOff */
1673 StateChange_DataSetLockOn,
1674 StateChange_DataSetLockOff,
1675 StateChange_Text,
1676 StateChange_Geom,
1677 StateChange_DataSetTitle,
1678 StateChange_DrawingInterrupted,
1679 StateChange_PrintPreviewLaunch,
1680 StateChange_PrintPreviewDismiss,
1681 StateChange_AuxDataAdded,
1682 StateChange_AuxDataDeleted,
1683 StateChange_AuxDataAltered,
1684 StateChange_VarsDeleted,
1685 StateChange_TecplotIsInitialized,
1686 StateChange_ImageExported,
1687 StateChange_VariableLockOn,
1688 StateChange_VariableLockOff,
1689 StateChange_PageDeleted,
1690 StateChange_NewTopPage,
1691 StateChange_NewActiveFrame,
1692 StateChange_FrameOrderChanged,
1693 END_StateChange_e,
1694 StateChange_Invalid = BadEnumValue,
1695 /* deprecated values */
1696 StateChange_DrawGraphicsOn = StateChange_UnsuspendInterface,
1697 StateChange_DrawGraphicsOff = StateChange_SuspendInterface,
1698 StateChange_XYMapAssignment = StateChange_LineMapAssignment,
1699 StateChange_XYMapName = StateChange_LineMapName,
1700 StateChange_XYMapAddDeleteOrReorder = StateChange_LineMapAddDeleteOrReorder
1701 } StateChange_e;
1703 typedef enum
1705 StateChangeMode_v75,
1706 StateChangeMode_v80,
1707 StateChangeMode_v100,
1708 StateChangeMode_v113,
1709 END_StateChangeMode_e,
1710 StateChangeMode_Invalid = BadEnumValue
1711 } StateChangeMode_e;
1713 typedef enum
1715 StateChangeCallbackAPI_Classic,
1716 StateChangeCallbackAPI_ChangeOnly,
1717 StateChangeCallbackAPI_ChangePlusClient,
1718 END_StateChangeCallbackAPI_e,
1719 StateChangeCallbackAPI_Invalid = BadEnumValue
1720 } StateChangeCallbackAPI_e;
1722 typedef enum
1724 AppMode_Normal,
1725 AppMode_Demo,
1726 AppMode_OEM,
1727 END_AppMode_e,
1728 AppMode_Invalid = BadEnumValue
1729 } AppMode_e;
1731 typedef enum
1733 ProductFlavor_TecplotFocus,
1734 ProductFlavor_Tecplot360,
1735 ProductFlavor_TecplotRS,
1736 ProductFlavor_TecplotSDK,
1737 END_ProductFlavor_e,
1738 ProductFlavor_Invalid = BadEnumValue,
1739 ProductFlavor_Focus = ProductFlavor_TecplotFocus, /* deprecated */
1740 ProductFlavor_360 = ProductFlavor_Tecplot360, /* deprecated */
1741 ProductFlavor_RS = ProductFlavor_TecplotRS, /* deprecated */
1742 ProductFlavor_SDK = ProductFlavor_TecplotSDK /* deprecated */
1743 } ProductFlavor_e;
1745 typedef enum
1747 LayoutPackageObject_Image,
1748 LayoutPackageObject_Layout,
1749 LayoutPackageObject_Data,
1750 END_LayoutPackageObject_e,
1751 LayoutPackageObject_Invalid = BadEnumValue
1752 } LayoutPackageObject_e;
1754 typedef enum
1756 VarLoadMode_ByName,
1757 VarLoadMode_ByPosition,
1758 END_VarLoadMode_e,
1759 VarLoadMode_Invalid = BadEnumValue
1760 } VarLoadMode_e;
1762 typedef enum
1764 ImageSelection_OnePerFrame,
1765 ImageSelection_WorkspaceOnly,
1766 END_ImageSelection_e,
1767 ImageSelection_Invalid = BadEnumValue
1768 } ImageSelection_e;
1770 typedef enum
1772 LibraryType_Foreign,
1773 LibraryType_V7Standard,
1774 LibraryType_V7ActiveX,
1775 END_LibraryType_e,
1776 LibraryType_Invalid = BadEnumValue
1777 } LibraryType_e; /* <help> "Add-on types" */
1780 typedef enum
1782 AssignOp_Equals,
1783 AssignOp_PlusEquals,
1784 AssignOp_MinusEquals,
1785 AssignOp_TimesEquals,
1786 AssignOp_DivideEquals,
1787 AssignOp_ConvertFromCm,
1788 AssignOp_ConvertFromIn,
1789 AssignOp_ConvertFromPt,
1790 AssignOp_ConvertFromPix,
1791 END_AssignOp_e,
1792 AssignOp_Invalid = BadEnumValue
1793 } AssignOp_e;
1795 typedef enum
1797 Dialog_ColorMap,
1798 Dialog_Equation,
1799 Dialog_MacroViewer,
1800 Dialog_ZoneMapStyle, /* was Dialog_PlotAttributes*/
1801 Dialog_QuickEdit,
1802 Dialog_QuickMacroPanel,
1803 Dialog_ValueBlanking,
1804 Dialog_Probe, /* used for dialog positioning only */
1805 Dialog_ProbeAt,
1806 Dialog_NewLayout,
1807 Dialog_OpenLayout,
1808 Dialog_Save,
1809 Dialog_SaveAs,
1810 Dialog_LoadData,
1811 Dialog_WriteData,
1812 Dialog_Print,
1813 Dialog_Import,
1814 Dialog_Export,
1815 Dialog_MacroPlay,
1816 Dialog_MacroRecord,
1817 Dialog_AxisEdit,
1818 Dialog_SpatialVars,
1819 Dialog_Reset3DAxes,
1820 Dialog_ThreeDAxisLimits,
1821 Dialog_ThreeDOrientationAxis,
1822 Dialog_Streamtraces,
1823 Dialog_IsoSurfaces,
1824 Dialog_Slices,
1825 Dialog_Contour,
1826 Dialog_VectorLength,
1827 Dialog_VectorVars,
1828 Dialog_VectorArrowheads,
1829 Dialog_VectorReferenceVector,
1830 Dialog_ScatterSizeAndFont,
1831 Dialog_ScatterLegend,
1832 Dialog_ScatterReferenceSymbol,
1833 Dialog_RGBColorVarsAndRange,
1834 Dialog_RGBColorLegend,
1835 Dialog_LineMapLegend,
1836 Dialog_IJKBlanking,
1837 Dialog_DepthBlanking,
1838 Dialog_LightSource,
1839 Dialog_Advanced3DControl,
1840 Dialog_TwoDDrawOrder,
1841 Dialog_PolarDrawingOptions,
1842 Dialog_DataLabels,
1843 Dialog_StyleLinking,
1844 Dialog_Smooth,
1845 Dialog_TransformCoordinates,
1846 Dialog_Rotate2DData,
1847 Dialog_Create1DLine,
1848 Dialog_CreateRectangularZone,
1849 Dialog_CreateCircularZone,
1850 Dialog_DuplicateZone,
1851 Dialog_MirrorZone,
1852 Dialog_CreateZoneFromPolylines,
1853 Dialog_CreateZoneFromValues,
1854 Dialog_DeleteVariables,
1855 Dialog_DeleteZones,
1856 Dialog_ExtractContourLines,
1857 Dialog_ExtractFEBoundary,
1858 Dialog_ExtractIsoSurfaces,
1859 Dialog_ExtractSlices,
1860 Dialog_ExtractSliceFromPlane,
1861 Dialog_ExtractStreamtraces,
1862 Dialog_ExtractSubZone,
1863 Dialog_ExtractDiscretePoints,
1864 Dialog_ExtractPointsFromPolyline,
1865 Dialog_ExtractPointsFromGeometry,
1866 Dialog_LinearInterpolation,
1867 Dialog_InverseDistanceInterpolation,
1868 Dialog_KrigingInterpolation,
1869 Dialog_Triangulate,
1870 Dialog_DataInfo,
1871 Dialog_CurveInfo,
1872 Dialog_DataSpreadsheet,
1873 Dialog_PaperSetup,
1874 Dialog_OrderFrames,
1875 Dialog_RulerGrid,
1876 Dialog_ThreeDViewRotate,
1877 Dialog_ThreeDViewDetails,
1878 Dialog_TranslateMagnify,
1879 Dialog_PrintPreview,
1880 Dialog_ColorPreferences,
1881 Dialog_MiscPreferences,
1882 Dialog_SizePreferences,
1883 Dialog_SaveConfiguration,
1884 Dialog_SaveColorMap,
1885 Dialog_LoadColorMap,
1886 Dialog_HelpAboutTecplot,
1887 Dialog_HelpAboutAddOns,
1888 Dialog_Publish,
1889 Dialog_EditFrame,
1890 Dialog_CopyToClipboard,
1891 Dialog_ThreeDEdge,
1892 Dialog_TimeDetails,
1893 Dialog_Performance,
1894 END_Dialog_e,
1895 Dialog_Invalid = BadEnumValue,
1896 /* deprecated values */
1897 Dialog_PlotAttributes = Dialog_ZoneMapStyle
1898 } Dialog_e; /* <help> "Tecplot dialog types" */
1900 typedef enum
1902 AnchorAlignment_TopLeft,
1903 AnchorAlignment_TopCenter,
1904 AnchorAlignment_TopRight,
1905 AnchorAlignment_MiddleLeft,
1906 AnchorAlignment_MiddleCenter,
1907 AnchorAlignment_MiddleRight,
1908 AnchorAlignment_BottomLeft,
1909 AnchorAlignment_BottomCenter,
1910 AnchorAlignment_BottomRight,
1911 END_AnchorAlignment_e,
1912 AnchorAlignment_Invalid = BadEnumValue
1913 } AnchorAlignment_e;
1915 /* BEGINREMOVEFROMADDON */
1916 typedef enum
1918 PositionAtAnchor_Never,
1919 PositionAtAnchor_Once,
1920 PositionAtAnchor_Always,
1921 END_PositionAtAnchor_e,
1922 PositionAtAnchor_Invalid = BadEnumValue
1923 } PositionAtAnchor_e;
1924 /* ENDREMOVEFROMADDON */
1926 /* BEGINREMOVEFROMADDON */
1927 typedef struct
1929 AnchorAlignment_e AnchorAlignment;
1930 Boolean_t AnchorHorizontalInside;
1931 Boolean_t AnchorVerticalInside;
1932 SmInteger_t MinVisibilityPercentage;
1933 LgIndex_t IOffset;
1934 LgIndex_t JOffset;
1935 PositionAtAnchor_e PositionAtAnchor;
1936 Boolean_t HasBeenPositioned; /* not persistent */
1937 } DialogPosition_s;
1938 /* ENDREMOVEFROMADDON */
1941 #if defined EXPORT_DEPRECATED_INTERFACES_TO_ADK_ONLY
1943 * @deprecated
1944 * Please use \ref CurveInfoMode_e instead.
1946 typedef enum
1948 ProcessXYMode_NotUsed1, /* deprecated: do not use */
1949 ProcessXYMode_NotUsed2, /* deprecated: do not use */
1950 ProcessXYMode_NotUsed3, /* deprecated: do not use */
1951 ProcessXYMode_NotUsed4, /* deprecated: do not use */
1952 ProcessXYMode_NotUsed5, /* deprecated: do not use */
1953 ProcessXYMode_NotUsed6, /* deprecated: do not use */
1954 ProcessXYMode_NotUsed7, /* deprecated: do not use */
1955 ProcessXYMode_NotUsed8, /* deprecated: do not use */
1956 ProcessXYMode_NotUsed9, /* deprecated: do not use */
1957 ProcessXYMode_WriteCurveCoef, /* deprecated: use CurveInfoMode_Coefficients */
1958 ProcessXYMode_WriteCurvePoints, /* deprecated: use CurveInfoMode_RawData */
1959 END_ProcessXYMode_e,
1960 ProcessXYMode_Invalid = BadEnumValue
1961 } ProcessXYMode_e;
1962 #endif
1964 typedef enum
1966 CurveInfoMode_Coefficients, /* ProcessXYMode_WriteCurveCoef */
1967 CurveInfoMode_RawData, /* ProcessXYMode_WriteCurvePoints */
1968 CurveInfoMode_Macro, /* ProcessXYMode_WriteCurveCoefMacro */
1969 END_CurveInfoMode_e,
1970 CurveInfoMode_Invalid = BadEnumValue
1971 } CurveInfoMode_e;
1973 /* BEGINREMOVEFROMADDON */
1974 typedef enum
1976 ProcessLineMapMode_Draw,
1977 ProcessLineMapMode_GetXYMinMax,
1978 ProcessLineMapMode_GetDataMinMax,
1979 ProcessLineMapMode_GetSinglePick,
1980 ProcessLineMapMode_CheckOnlyForGroupPick,
1981 ProcessLineMapMode_GetGroupPick,
1982 ProcessLineMapMode_GetFirstValidDataPoint,
1983 ProcessLineMapMode_GetNearestPoint,
1984 ProcessLineMapMode_GetDependentValue,
1985 ProcessLineMapMode_GetRSquaredGoodness,
1986 ProcessLineMapMode_DisplayCurveCoef,
1987 ProcessLineMapMode_WriteCurveCoef,
1988 ProcessLineMapMode_WriteCurvePoints,
1989 ProcessLineMapMode_InsertLabels,
1990 ProcessLineMapMode_GetIndependentValue,
1991 ProcessLineMapMode_WriteCurveCoefMacro,
1992 END_ProcessLineMapMode_e,
1993 ProcessLineMapMode_Invalid = BadEnumValue
1994 } ProcessLineMapMode_e;
1995 /* ENDREMOVEFROMADDON */
1997 typedef enum
1999 StyleBase_Factory,
2000 StyleBase_Config,
2001 END_StyleBase_e,
2002 StyleBase_Invalid = BadEnumValue
2003 } StyleBase_e;
2006 typedef enum
2008 ReadDataOption_NewData,
2009 ReadDataOption_AppendData,
2010 ReadDataOption_ReplaceData,
2011 END_ReadDataOption_e,
2012 ReadDataOption_Invalid = BadEnumValue
2013 } ReadDataOption_e;
2015 #if defined EXPORT_DEPRECATED_INTERFACES_TO_ADK_ONLY
2017 * @deprecated
2018 * Please use \ref LabelType_e instead.
2020 typedef enum
2022 NodeLabel_Index, /* deprecated: use LabelType_Index */
2023 NodeLabel_VarValue, /* deprecated: use LabelType_VarValue */
2024 NodeLabel_XAndYVarValue, /* deprecated: use LabelType_XAndYVarValue */
2025 END_NodeLabel_e,
2026 NodeLabel_Invalid = BadEnumValue
2027 } NodeLabel_e;
2028 #endif
2030 typedef enum
2032 LabelType_Index, /* NodeLabel_Index */
2033 LabelType_VarValue, /* NodeLabel_VarValue */
2034 LabelType_XAndYVarValue, /* NodeLabel_XAndYVarValue */
2035 END_LabelType_e,
2036 LabelType_Invalid = BadEnumValue
2037 } LabelType_e;
2040 #if defined EXPORT_DEPRECATED_INTERFACES_TO_ADK_ONLY
2042 * @deprecated
2043 * Please use \ref BorderAction_e instead.
2045 typedef enum
2047 SubBoundaryEditOption_All, /* deprecated: use BorderAction_AddAll */
2048 SubBoundaryEditOption_Add, /* deprecated: use BorderAction_Add */
2049 SubBoundaryEditOption_Remove, /* deprecated: use BorderAction_Remove */
2050 SubBoundaryEditOption_AddOnly, /* deprecated: use BorderAction_AddOnly */
2051 END_SubBoundaryEditOption_e,
2052 SubBoundaryEditOption_Invalid = BadEnumValue
2053 } SubBoundaryEditOption_e;
2054 #endif
2056 typedef enum
2058 BorderAction_AddAll, /* SubBoundaryEditOption_All */
2059 BorderAction_Add, /* SubBoundaryEditOption_Add */
2060 BorderAction_Remove, /* SubBoundaryEditOption_Remove */
2061 BorderAction_AddOnly, /* SubBoundaryEditOption_AddOnly */
2062 END_BorderAction_e,
2063 BorderAction_Invalid = BadEnumValue
2064 } BorderAction_e;
2067 typedef enum
2069 PointerStyle_NotUsed1,
2070 PointerStyle_NotUsed2,
2071 PointerStyle_NotUsed3,
2072 PointerStyle_AllDirections,
2073 PointerStyle_NotUsed4,
2074 PointerStyle_NotUsed5,
2075 PointerStyle_NotUsed6,
2076 PointerStyle_UpperLeftBracket,
2077 PointerStyle_UpperRightBracket,
2078 PointerStyle_LeftBracket,
2079 PointerStyle_LowerLeftBracket,
2080 PointerStyle_LowerRightBracket,
2081 PointerStyle_RightBracket,
2082 PointerStyle_BottomBracket,
2083 PointerStyle_TopBracket,
2084 PointerStyle_UpDown,
2085 PointerStyle_LeftRight,
2086 END_PointerStyle_e,
2087 PointerStyle_Invalid = BadEnumValue
2088 } PointerStyle_e;
2090 typedef enum
2092 CursorStyle_Undefined,
2093 CursorStyle_StandardArrow,
2094 CursorStyle_AdjusterArrow,
2095 CursorStyle_AllDirections,
2096 CursorStyle_Rotate,
2097 CursorStyle_Zoom,
2098 CursorStyle_Locate,
2099 CursorStyle_UpperLeftBracket,
2100 CursorStyle_UpperRightBracket,
2101 CursorStyle_LeftBracket,
2102 CursorStyle_LowerLeftBracket,
2103 CursorStyle_LowerRightBracket,
2104 CursorStyle_RightBracket,
2105 CursorStyle_BottomBracket,
2106 CursorStyle_TopBracket,
2107 CursorStyle_UpDown,
2108 CursorStyle_LeftRight,
2109 CursorStyle_Waiting,
2110 END_CursorStyle_e,
2111 CursorStyle_Invalid = BadEnumValue
2112 } CursorStyle_e;
2115 typedef enum
2117 PickSubPosition_All,
2118 PickSubPosition_Top,
2119 PickSubPosition_Bottom,
2120 PickSubPosition_Left,
2121 PickSubPosition_Right,
2122 PickSubPosition_TopLeft,
2123 PickSubPosition_TopRight,
2124 PickSubPosition_BottomLeft,
2125 PickSubPosition_BottomRight,
2126 PickSubPosition_BottomAndTop,
2127 PickSubPosition_LeftAndRight,
2128 END_PickSubPosition_e,
2129 PickSubPosition_Invalid = BadEnumValue
2130 } PickSubPosition_e;
2132 typedef enum
2134 TecEngInitReturnCode_Ok,
2135 TecEngInitReturnCode_LicenseIsInvalid,
2136 TecEngInitReturnCode_LicenseExpired,
2137 TecEngInitReturnCode_InternalInitializationError,
2138 END_TecEngInitReturnCode_e,
2139 TecEngInitReturnCode_Invalid = BadEnumValue
2140 } TecEngInitReturnCode_e;
2142 typedef enum
2144 GetValueReturnCode_Ok,
2145 GetValueReturnCode_ResultTypeError,
2146 GetValueReturnCode_SyntaxError,
2147 GetValueReturnCode_ContextError,
2148 GetValueReturnCode_DeprecatedError,
2149 END_GetValueReturnCode_e,
2150 GetValueReturnCode_Invalid = BadEnumValue,
2151 /* deprecated values */
2152 GetValue_Ok = GetValueReturnCode_Ok, /* deprecated */
2153 GetValue_ResultTypeError = GetValueReturnCode_ResultTypeError, /* deprecated */
2154 GetValue_SyntaxError = GetValueReturnCode_SyntaxError, /* deprecated */
2155 GetValue_ContextError = GetValueReturnCode_ContextError, /* deprecated */
2156 GetValue_DeprecatedError = GetValueReturnCode_DeprecatedError, /* deprecated */
2157 GetValue_Invalid = GetValueReturnCode_Invalid /* deprecated */
2158 } GetValueReturnCode_e;
2160 typedef enum
2162 SetValueReturnCode_Ok,
2163 SetValueReturnCode_DuplicateValue,
2164 SetValueReturnCode_InvalidCommandOption,
2165 SetValueReturnCode_NoAttachedDatasetError,
2166 SetValueReturnCode_NoAttachedFrameError,
2167 SetValueReturnCode_NotAllowedInConfigError,
2168 SetValueReturnCode_ValueRangeError,
2169 SetValueReturnCode_ValueSyntaxError,
2170 SetValueReturnCode_AssignOpError,
2171 SetValueReturnCode_InvalidVarOrZone,
2172 SetValueReturnCode_InternalMemoryError,
2173 SetValueReturnCode_ContextError1,
2174 SetValueReturnCode_ContextError2,
2175 SetValueReturnCode_OnlyAllowedInConfigError,
2176 SetValueReturnCode_FeatureNotAvailable,
2177 END_SetValueReturnCode_e,
2178 /* BEGINREMOVEFROMADDON */
2179 /* For now this value is only used in Tecplot code.
2180 * the value is here as an option for the future. */
2181 SetValueReturnCode_Ignored = SetValueReturnCode_DuplicateValue,
2182 /* ENDREMOVEFROMADDON */
2183 SetValueReturnCode_Invalid = BadEnumValue,
2184 /* deprecated values */
2185 SetValue_Ok = SetValueReturnCode_Ok, /* deprecated */
2186 SetValue_DuplicateValue = SetValueReturnCode_DuplicateValue, /* deprecated */
2187 SetValue_InvalidCommandOption = SetValueReturnCode_InvalidCommandOption, /* deprecated */
2188 SetValue_NoAttachedDatasetError = SetValueReturnCode_NoAttachedDatasetError, /* deprecated */
2189 SetValue_NoAttachedFrameError = SetValueReturnCode_NoAttachedFrameError, /* deprecated */
2190 SetValue_NotAllowedInConfigError = SetValueReturnCode_NotAllowedInConfigError, /* deprecated */
2191 SetValue_ValueRangeError = SetValueReturnCode_ValueRangeError, /* deprecated */
2192 SetValue_ValueSyntaxError = SetValueReturnCode_ValueSyntaxError, /* deprecated */
2193 SetValue_AssignOpError = SetValueReturnCode_AssignOpError, /* deprecated */
2194 SetValue_InvalidVarOrZone = SetValueReturnCode_InvalidVarOrZone, /* deprecated */
2195 SetValue_InternalMemoryError = SetValueReturnCode_InternalMemoryError, /* deprecated */
2196 SetValue_ContextError1 = SetValueReturnCode_ContextError1, /* deprecated */
2197 SetValue_ContextError2 = SetValueReturnCode_ContextError2, /* deprecated */
2198 SetValue_OnlyAllowedInConfigError = SetValueReturnCode_OnlyAllowedInConfigError, /* deprecated */
2199 SetValue_FeatureNotAvailable = SetValueReturnCode_FeatureNotAvailable, /* deprecated */
2200 /* BEGINREMOVEFROMADDON */
2201 SetValue_Ignored = SetValueReturnCode_Ignored, /* deprecated */
2202 /* ENDREMOVEFROMADDON */
2203 SetValue_Invalid = SetValueReturnCode_Invalid /* deprecated */
2204 } SetValueReturnCode_e;
2207 typedef enum
2209 ObjectAlign_LeftJustify,
2210 ObjectAlign_RightJustify,
2211 ObjectAlign_Center,
2212 ObjectAlign_Top,
2213 ObjectAlign_Bottom,
2214 END_ObjectAlign_e,
2215 ObjectAlign_Invalid = BadEnumValue
2216 } ObjectAlign_e;
2220 * For 3D axis labels only.
2222 typedef enum
2224 LabelAlignment_ByAngle,
2225 LabelAlignment_AlongAxis,
2226 LabelAlignment_PerpendicularToAxis,
2227 END_LabelAlignment_e,
2228 LabelAlignment_Invalid = BadEnumValue
2229 } LabelAlignment_e; /* <help> Label alignment for 3D axis labels only" */
2232 * View_SetMagnification added 02/24/03 so all plot types
2233 * can behave the same way "do a 'centered' magnifacation change".
2234 * Line plots will still accept View_Scale option and zoom towards
2235 * the corner so old macros/addons still work.
2237 typedef enum
2239 View_Fit,
2240 View_DataFit,
2241 View_AxisFit,
2242 View_Scale, /* deprecated, Use SetMagnification */
2243 View_Center,
2244 View_Translate,
2245 View_Zoom,
2246 View_Last,
2247 View_Copy,
2248 View_Paste,
2249 View_Push, /* End of V9 enums */
2250 View_SetMagnification,
2251 View_NiceFit,
2252 View_AxisNiceFit,
2253 View_MakeCurrentViewNice,
2254 View_AxisMakeCurrentValuesNice,
2255 View_AxisResetToEntireCircle,
2256 View_FitSurfaces,
2257 END_View_e,
2258 View_Invalid = BadEnumValue
2259 } View_e;
2263 typedef enum
2265 WorkspaceView_FitSelectedFrames,
2266 WorkspaceView_FitAllFrames,
2267 WorkspaceView_FitPaper,
2268 WorkspaceView_Maximize,
2269 WorkspaceView_LastView,
2270 WorkspaceView_Zoom,
2271 WorkspaceView_Translate,
2272 WorkspaceView_UnMaximize,
2273 END_WorkspaceView_e,
2274 WorkspaceView_Invalid = BadEnumValue
2275 } WorkspaceView_e;
2278 typedef enum
2280 ArrowheadStyle_Plain,
2281 ArrowheadStyle_Filled,
2282 ArrowheadStyle_Hollow,
2283 END_ArrowheadStyle_e,
2284 ArrowheadStyle_Invalid = BadEnumValue,
2285 /* deprecated values */
2286 Arrowhead_Plain = ArrowheadStyle_Plain, /* deprecated */
2287 Arrowhead_Filled = ArrowheadStyle_Filled, /* deprecated */
2288 Arrowhead_Hollow = ArrowheadStyle_Hollow, /* deprecated */
2289 Arrowhead_Invalid = ArrowheadStyle_Invalid /* deprecated */
2290 } ArrowheadStyle_e;
2293 typedef enum
2295 ArrowheadAttachment_None,
2296 ArrowheadAttachment_AtBeginning,
2297 ArrowheadAttachment_AtEnd,
2298 ArrowheadAttachment_AtBothEnds,
2299 END_ArrowheadAttachment_e,
2300 ArrowheadAttachment_Invalid = BadEnumValue,
2301 /* deprecated values */
2302 ArrowheadAttach_None = ArrowheadAttachment_None, /* deprecated */
2303 ArrowheadAttach_AtBeginning = ArrowheadAttachment_AtBeginning, /* deprecated */
2304 ArrowheadAttach_AtEnd = ArrowheadAttachment_AtEnd, /* deprecated */
2305 ArrowheadAttach_AtBothEnds = ArrowheadAttachment_AtBothEnds, /* deprecated */
2306 ArrowheadAttach_Invalid = ArrowheadAttachment_Invalid /* deprecated */
2307 } ArrowheadAttachment_e;
2309 typedef enum
2311 Clipping_ClipToViewport,
2312 Clipping_ClipToFrame,
2313 END_Clipping_e,
2314 Clipping_Invalid = BadEnumValue
2315 } Clipping_e;
2317 typedef enum
2319 StatusInfo_Hover,
2320 StatusInfo_Identify,
2321 StatusInfo_Instruction,
2322 StatusInfo_Working,
2323 StatusInfo_PercentDone,
2324 END_StatusInfo_e,
2325 StatusInfo_Invalid = BadEnumValue
2326 } StatusInfo_e;
2329 #if defined EXPORT_DEPRECATED_INTERFACES_TO_ADK_ONLY
2331 * @deprecated
2332 * Please use \ref PlotType_e instead.
2334 typedef enum
2336 FrameMode_Empty, /* deprecated: use PlotType_Automatic */
2337 FrameMode_ThreeD, /* deprecated: use PlotType_Cartesian3D */
2338 FrameMode_TwoD, /* deprecated: use PlotType_Cartesian2D */
2339 FrameMode_XY, /* deprecated: use PlotType_XYLine */
2340 FrameMode_Sketch, /* deprecated: use PlotType_Sketch */
2341 END_FrameMode_e,
2342 FrameMode_Invalid = BadEnumValue,
2343 /* deprecated values */
2344 Frame_Empty = FrameMode_Empty, /* deprecated */
2345 Frame_ThreeD = FrameMode_ThreeD, /* deprecated */
2346 Frame_TwoD = FrameMode_TwoD, /* deprecated */
2347 Frame_XY = FrameMode_XY, /* deprecated */
2348 Frame_Sketch = FrameMode_Sketch, /* deprecated */
2349 Frame_Invalid = FrameMode_Invalid /* deprecated */
2350 } FrameMode_e;
2351 #endif
2354 typedef enum
2356 PlotType_Automatic, /* Frame_Empty */
2357 PlotType_Cartesian3D, /* Frame_ThreeD */
2358 PlotType_Cartesian2D, /* Frame_TwoD */
2359 PlotType_XYLine, /* Frame_XY */
2360 PlotType_Sketch, /* Frame_Sketch */
2361 PlotType_PolarLine,
2362 END_PlotType_e,
2363 PlotType_Invalid = BadEnumValue
2364 } PlotType_e;
2367 #define VALID_PLOTTYPE(PlotType) ( VALID_ENUM((PlotType), PlotType_e) && \
2368 ((PlotType) != PlotType_Automatic) )
2369 #define VALID_LINEPLOT_PLOTTYPE(PlotType) ( (PlotType) == PlotType_XYLine || \
2370 (PlotType) == PlotType_PolarLine )
2371 #define VALID_FIELDPLOT_PLOTTYPE(PlotType) ( (PlotType) == PlotType_Cartesian2D || \
2372 (PlotType) == PlotType_Cartesian3D )
2373 #define PLOTTYPE_USES_FIELDZONES(PlotType) VALID_FIELDPLOT_PLOTTYPE((PlotType))
2374 #define PLOTTYPE_USES_LINEMAPS(PlotType) VALID_LINEPLOT_PLOTTYPE((PlotType))
2375 #define VALID_V9_PLOTTYPE(PlotType) ( (PlotType) == PlotType_Sketch || \
2376 (PlotType) == PlotType_XYLine || \
2377 (PlotType) == PlotType_Cartesian2D || \
2378 (PlotType) == PlotType_Cartesian3D )
2381 typedef enum
2383 ContLineCreateMode_OneZonePerContourLevel,
2384 ContLineCreateMode_OneZonePerIndependentPolyline,
2385 END_ContLineCreateMode_e,
2386 ContLineCreateMode_Invalid = BadEnumValue
2387 } ContLineCreateMode_e;
2390 typedef enum
2392 PickObjects_None,
2393 PickObjects_Frame,
2394 PickObjects_Axis,
2395 PickObjects_ThreeDOrientationAxis,
2396 PickObjects_Geom,
2397 PickObjects_Text,
2398 PickObjects_ContourLegend,
2399 PickObjects_ContourLabel,
2400 PickObjects_ScatterLegend,
2401 PickObjects_LineLegend,
2402 PickObjects_ReferenceVector,
2403 PickObjects_ReferenceScatterSymbol,
2404 PickObjects_StreamtracePosition,
2405 PickObjects_StreamtraceTermLine,
2406 PickObjects_Paper,
2407 PickObjects_Zone,
2408 PickObjects_XYMapping, /* deprecated: use PickObject_LineMapping */
2409 PickObjects_StreamtraceCOB,
2410 PickObjects_SliceCOB,
2411 PickObjects_IsoSurfaceCOB,
2412 PickObjects_RGBLegend,
2413 PickObjects_LineMapping,
2414 END_PickObjects_e,
2415 PickObjects_Invalid = BadEnumValue,
2416 /* deprecated values */
2417 PickObject_None = PickObjects_None, /* deprecated */
2418 PickObject_Frame = PickObjects_Frame, /* deprecated */
2419 PickObject_Axis = PickObjects_Axis, /* deprecated */
2420 PickObject_3DOrientationAxis = PickObjects_ThreeDOrientationAxis, /* deprecated */
2421 PickObject_Geom = PickObjects_Geom, /* deprecated */
2422 PickObject_Text = PickObjects_Text, /* deprecated */
2423 PickObject_ContourLegend = PickObjects_ContourLegend, /* deprecated */
2424 PickObject_ContourLabel = PickObjects_ContourLabel, /* deprecated */
2425 PickObject_ScatterLegend = PickObjects_ScatterLegend, /* deprecated */
2426 PickObject_LineLegend = PickObjects_LineLegend, /* deprecated */
2427 PickObject_XYLegend = PickObjects_LineLegend, /* deprecated */
2428 PickObject_ReferenceVector = PickObjects_ReferenceVector, /* deprecated */
2429 PickObject_ReferenceScatterSymbol = PickObjects_ReferenceScatterSymbol, /* deprecated */
2430 PickObject_StreamtracePosition = PickObjects_StreamtracePosition, /* deprecated */
2431 PickObject_StreamtraceTermLine = PickObjects_StreamtraceTermLine, /* deprecated */
2432 PickObject_Paper = PickObjects_Paper, /* deprecated */
2433 PickObject_Zone = PickObjects_Zone, /* deprecated */
2434 PickObject_XYMapping = PickObjects_XYMapping, /* deprecated */
2435 PickObject_StreamtraceCOB = PickObjects_StreamtraceCOB, /* deprecated */
2436 PickObject_SliceCOB = PickObjects_SliceCOB, /* deprecated */
2437 PickObject_IsoSurfaceCOB = PickObjects_IsoSurfaceCOB, /* deprecated */
2438 PickObject_RGBLegend = PickObjects_RGBLegend, /* deprecated */
2439 PickObject_LineMapping = PickObjects_LineMapping, /* deprecated */
2440 PickObject_Invalid = PickObjects_Invalid /* deprecated */
2441 } PickObjects_e;
2444 /* BEGINREMOVEFROMADDON */
2445 typedef enum
2447 SingleEditState_NotEditing,
2448 SingleEditState_ActivelyEditing,
2449 SingleEditState_WasEditing,
2450 END_SingleEditState_e,
2451 EditingInvalid = BadEnumValue
2452 } SingleEditState_e;
2455 typedef enum
2457 AxisSubObject_GridArea,
2458 AxisSubObject_AxisLine,
2459 AxisSubObject_Title,
2460 END_AxisSubObject_e,
2461 AxisSubObject_Invalid = BadEnumValue
2462 } AxisSubObject_e;
2464 typedef enum
2466 AxisSubPosition_GridMinBorder,
2467 AxisSubPosition_GridMaxBorder,
2468 AxisSubPosition_MainAxisLine,
2469 AxisSubPosition_BackAxisLine,
2470 AxisSubPosition_PerpAxisLine,
2471 AxisSubPosition_PerpBackAxisLine,
2472 END_AxisSubPosition_e,
2473 AxisSubPosition_Invalid = BadEnumValue,
2474 AxisSubPosition_2DStart = AxisSubPosition_GridMinBorder,
2475 AxisSubPosition_2DEnd = AxisSubPosition_MainAxisLine,
2476 AxisSubPosition_PolarStart = AxisSubPosition_GridMinBorder,
2477 AxisSubPosition_PolarEnd = AxisSubPosition_PerpBackAxisLine
2478 } AxisSubPosition_e;
2479 /* ENDREMOVEFROMADDON */
2482 * NOTE: The _NoOp value is not at the top so this
2483 * enumeration aligns with the old AltMouseButtonMode_e
2484 * enumeration.
2486 typedef enum
2488 MouseButtonClick_Redraw,
2489 MouseButtonClick_RevertToSelect,
2490 MouseButtonClick_NoOp,
2491 END_MouseButtonClick_e,
2492 MouseButtonClick_Invalid = BadEnumValue
2493 } MouseButtonClick_e;
2496 typedef enum
2498 MouseButtonDrag_NoOp,
2499 MouseButtonDrag_ZoomPaper,
2500 MouseButtonDrag_TranslatePaper,
2501 MouseButtonDrag_ZoomData,
2502 MouseButtonDrag_TranslateData,
2503 MouseButtonDrag_RlrBallRtatData,
2504 MouseButtonDrag_SpherRtatData,
2505 MouseButtonDrag_XRotateData,
2506 MouseButtonDrag_YRotateData,
2507 MouseButtonDrag_ZRotateData,
2508 MouseButtonDrag_TwistRotateData,
2509 MouseButtonDrag_ZoomViewer,
2510 MouseButtonDrag_TranslateViewer,
2511 MouseButtonDrag_RlrBallRtatVwr,
2512 MouseButtonDrag_SpherRotateVwr,
2513 MouseButtonDrag_XRotateViewer,
2514 MouseButtonDrag_YRotateViewer,
2515 MouseButtonDrag_ZRotateViewer,
2516 MouseButtonDrag_TwistRotateViewer,
2517 END_MouseButtonDrag_e,
2518 MouseButtonDrag_Invalid = BadEnumValue
2519 } MouseButtonDrag_e;
2522 /* BEGINREMOVEFROMADDON */
2523 typedef struct
2525 MouseButtonClick_e ButtonClick;
2526 MouseButtonDrag_e SimpleDrag;
2527 MouseButtonDrag_e ControlledDrag;
2528 MouseButtonDrag_e AltedDrag;
2529 MouseButtonDrag_e ShiftedDrag;
2530 MouseButtonDrag_e ControlAltedDrag;
2531 MouseButtonDrag_e ControlShiftedDrag;
2532 MouseButtonDrag_e AltShiftedDrag;
2533 MouseButtonDrag_e ControlAltShiftedDrag;
2534 } MouseButtonAction_s;
2537 typedef struct
2539 MouseButtonAction_s MiddleButton;
2540 MouseButtonAction_s RightButton;
2541 } MouseActions_s;
2542 /* ENDREMOVEFROMADDON */
2545 typedef enum /* deprecated */
2547 AltMouseButtonMode_Regen,
2548 AltMouseButtonMode_RevertToSelect,
2549 END_AltMouseButtonMode_e,
2550 AltMouseButtonMode_Invalid = BadEnumValue
2551 } AltMouseButtonMode_e;
2554 typedef enum
2556 MouseButtonMode_NoMode,
2557 MouseButtonMode_Select,
2558 MouseButtonMode_Adjust,
2559 MouseButtonMode_Zoom,
2560 MouseButtonMode_Translate,
2561 MouseButtonMode_Probe,
2562 MouseButtonMode_Text,
2563 MouseButtonMode_GeomPolyline,
2564 MouseButtonMode_GeomSquare,
2565 MouseButtonMode_GeomCircle,
2566 MouseButtonMode_GeomRectangle,
2567 MouseButtonMode_GeomEllipse,
2568 MouseButtonMode_GeomSpline,
2569 MouseButtonMode_CreateFrame,
2570 MouseButtonMode_RotateSpherical,
2571 MouseButtonMode_RotateRollerBall,
2572 MouseButtonMode_RotateTwist,
2573 MouseButtonMode_RotateXAxis,
2574 MouseButtonMode_RotateYAxis,
2575 MouseButtonMode_RotateZAxis,
2576 MouseButtonMode_ContourLabel,
2577 MouseButtonMode_ContourAdd,
2578 MouseButtonMode_ContourDelete,
2579 MouseButtonMode_StreamPoints,
2580 MouseButtonMode_StreamEndLine,
2581 MouseButtonMode_ExtractPoints,
2582 MouseButtonMode_ExtractLine,
2583 MouseButtonMode_CreateRectangularZone,
2584 MouseButtonMode_CreateCircularZone,
2585 MouseButtonMode_Slice,
2586 MouseButtonMode_LightSource,
2587 MouseButtonMode_User1,
2588 MouseButtonMode_User2,
2589 MouseButtonMode_User3,
2590 MouseButtonMode_User4,
2591 END_MouseButtonMode_e,
2592 MouseButtonMode_Invalid = BadEnumValue,
2593 /* deprecated values */
2594 Mouse_NoMode = MouseButtonMode_NoMode, /* deprecated */
2595 Mouse_Select = MouseButtonMode_Select, /* deprecated */
2596 Mouse_Adjust = MouseButtonMode_Adjust, /* deprecated */
2597 Mouse_Zoom = MouseButtonMode_Zoom, /* deprecated */
2598 Mouse_Translate = MouseButtonMode_Translate, /* deprecated */
2599 Mouse_Probe = MouseButtonMode_Probe, /* deprecated */
2600 Mouse_Text = MouseButtonMode_Text, /* deprecated */
2601 Mouse_GeomPolyline = MouseButtonMode_GeomPolyline, /* deprecated */
2602 Mouse_GeomSquare = MouseButtonMode_GeomSquare, /* deprecated */
2603 Mouse_GeomCircle = MouseButtonMode_GeomCircle, /* deprecated */
2604 Mouse_GeomRectangle = MouseButtonMode_GeomRectangle, /* deprecated */
2605 Mouse_GeomEllipse = MouseButtonMode_GeomEllipse, /* deprecated */
2606 Mouse_GeomSpline = MouseButtonMode_GeomSpline, /* deprecated */
2607 Mouse_CreateFrame = MouseButtonMode_CreateFrame, /* deprecated */
2608 Mouse_RotateSpherical = MouseButtonMode_RotateSpherical, /* deprecated */
2609 Mouse_RotateRollerBall = MouseButtonMode_RotateRollerBall, /* deprecated */
2610 Mouse_RotateTwist = MouseButtonMode_RotateTwist, /* deprecated */
2611 Mouse_RotateXAxis = MouseButtonMode_RotateXAxis, /* deprecated */
2612 Mouse_RotateYAxis = MouseButtonMode_RotateYAxis, /* deprecated */
2613 Mouse_RotateZAxis = MouseButtonMode_RotateZAxis, /* deprecated */
2614 Mouse_ContourLabel = MouseButtonMode_ContourLabel, /* deprecated */
2615 Mouse_ContourAdd = MouseButtonMode_ContourAdd, /* deprecated */
2616 Mouse_ContourDelete = MouseButtonMode_ContourDelete, /* deprecated */
2617 Mouse_StreamPoints = MouseButtonMode_StreamPoints, /* deprecated */
2618 Mouse_StreamEndLine = MouseButtonMode_StreamEndLine, /* deprecated */
2619 Mouse_ExtractPoints = MouseButtonMode_ExtractPoints, /* deprecated */
2620 Mouse_ExtractLine = MouseButtonMode_ExtractLine, /* deprecated */
2621 Mouse_CreateRectangularZone = MouseButtonMode_CreateRectangularZone, /* deprecated */
2622 Mouse_CreateCircularZone = MouseButtonMode_CreateCircularZone, /* deprecated */
2623 Mouse_Slice = MouseButtonMode_Slice, /* deprecated */
2624 Mouse_User1 = MouseButtonMode_User1, /* deprecated */
2625 Mouse_User2 = MouseButtonMode_User2, /* deprecated */
2626 Mouse_User3 = MouseButtonMode_User3, /* deprecated */
2627 Mouse_User4 = MouseButtonMode_User4, /* deprecated */
2628 Mouse_Invalid = MouseButtonMode_Invalid /* deprecated */
2629 } MouseButtonMode_e;
2632 typedef enum
2634 DetailsButtonState_QuickEdit,
2635 DetailsButtonState_ObjectDetails,
2636 DetailsButtonState_ToolDetails,
2637 END_DetailsButtonState_e,
2638 DetailsButtonState_Invalid = BadEnumValue
2639 } DetailsButtonState_e;
2642 typedef enum
2644 Event_ButtonPress,
2645 Event_ButtonRelease,
2646 Event_ButtonDoublePress,
2647 Event_Motion,
2648 Event_Drag,
2649 Event_KeyPress,
2650 END_Event_e,
2651 Event_Invalid = BadEnumValue
2652 } Event_e;
2655 typedef enum
2657 ObjectDrawMode_DrawFirst,
2658 ObjectDrawMode_Move,
2659 ObjectDrawMode_Remove,
2660 ObjectDrawMode_Place,
2661 END_ObjectDrawMode_e,
2662 ObjectDrawMode_Invalid = BadEnumValue
2663 } ObjectDrawMode_e;
2666 typedef enum
2668 ThreeDViewChangeDrawLevel_Full,
2669 ThreeDViewChangeDrawLevel_Trace,
2670 END_ThreeDViewChangeDrawLevel_e,
2671 ThreeDViewChangeDrawLevel_Invalid = BadEnumValue
2672 } ThreeDViewChangeDrawLevel_e; /* <help> "ThreeDViewChangeDrawLevel is deprecated. Use PlotApproximateMode.\n"*/
2674 typedef enum
2676 NonCurrentFrameRedrawLevel_Full,
2677 NonCurrentFrameRedrawLevel_Trace,
2678 END_NonCurrentFrameRedrawLevel_e,
2679 NonCurrentFrameRedrawLevel_Invalid = BadEnumValue
2680 } NonCurrentFrameRedrawLevel_e; /* <help> "NonCurrentFrameRedrawLevel is deprecated. Use PlotApproximateMode.\n"*/
2684 * Enumerates the redraw reasons and is passed as an argument to registered
2685 * draw event callbacks.
2687 * - RedrawReason_UserReqRedrawActiveFrame:\n
2688 * The full draw event is in response to the "redraw" action function.
2690 * - RedrawReason_UserReqTraceActiveFrame:\n
2691 * The approximate draw event is in response to the "redraw" action function.
2693 * - RedrawReason_UserReqRedrawAllFrames:\n
2694 * The full draw event is in response to the "redraw all" action function.
2696 * - RedrawReason_UserReqTraceAllFrames:\n
2697 * The approximate draw event is in response to the "redraw all" action function.
2699 * - RedrawReason_InteractiveDataViewChange:\n
2700 * The draw event is in response to an interactive data view change such as
2701 * rotate, translate, zoom, etc.
2703 * - RedrawReason_InteractivePaperViewChange:\n
2704 * The draw event is in response to an interactive paper translate view or
2705 * paper zoom view change.
2707 * - RedrawReason_InteractiveStyleChange:\n
2708 * The draw event is in response to an interactive style changes such as
2709 * dragging a contour level or a slice.
2711 * - RedrawReason_Animation:\n
2712 * The draw event is in response to an animation.
2714 * - RedrawReason_AutoRedraw:\n
2715 * The draw event is in response to an auto redraw.
2717 * - RedrawReason_RedrawForcedViewUpdate:\n
2718 * The draw event is in response to forced view update when auto redraw is
2719 * off such as a view fit or movement of the frame.
2721 * - RedrawReason_RedrawForcedStyleUpdate:\n
2722 * The draw event is in response to forced view update when auto redraw is
2723 * off such as deleting a contour level.
2725 * - RedrawReason_PreFullRedrawTraceOfAllFrames:\n
2726 * The draw event is an approximate redraw done prior to a full redraw.
2728 * @sa TecUtilEventAddPreDrawCallback(), TecUtilEventAddPostDrawCallback()
2730 typedef enum
2732 RedrawReason_UserReqRedrawActiveFrame,
2733 RedrawReason_UserReqTraceActiveFrame,
2734 RedrawReason_UserReqRedrawAllFrames,
2735 RedrawReason_UserReqTraceAllFrames,
2736 RedrawReason_InteractiveDataViewChange,
2737 RedrawReason_InteractivePaperViewChange,
2738 RedrawReason_InteractiveStyleChange,
2739 RedrawReason_Animation,
2740 RedrawReason_AutoRedraw,
2741 RedrawReason_RedrawForcedViewUpdate,
2742 RedrawReason_RedrawForcedStyleUpdate,
2743 RedrawReason_PreFullRedrawTraceOfAllFrames,
2744 END_RedrawReason_e,
2745 RedrawReason_Invalid = BadEnumValue,
2746 RedrawReason_UserReqRedrawCurrentFrame = RedrawReason_UserReqRedrawActiveFrame,
2747 RedrawReason_UserReqTraceCurrentFrame = RedrawReason_UserReqTraceActiveFrame
2748 } RedrawReason_e;
2750 typedef enum
2752 RotationMode_XYZAxis,
2753 RotationMode_Spherical,
2754 RotationMode_RollerBall,
2755 END_RotationMode_e,
2756 RotationMode_Invalid = BadEnumValue
2757 } RotationMode_e;
2759 typedef enum
2761 RotateAxis_X,
2762 RotateAxis_Y,
2763 RotateAxis_Z,
2764 RotateAxis_Psi,
2765 RotateAxis_Theta,
2766 RotateAxis_Alpha,
2767 RotateAxis_Twist,
2768 RotateAxis_VertRollerBall,
2769 RotateAxis_HorzRollerBall,
2770 RotateAxis_AboutVector,
2771 /* BEGINREMOVEFROMADDON */
2772 RotateAxis_DontCare, /* internal use only */
2773 /* ENDREMOVEFROMADDON */
2774 END_RotateAxis_e,
2775 RotateAxis_Invalid = BadEnumValue
2776 } RotateAxis_e;
2778 typedef enum
2780 RotateOriginLocation_DefinedOrigin,
2781 RotateOriginLocation_Viewer,
2782 END_RotateOriginLocation_e,
2783 RotateOriginLocation_Invalid = BadEnumValue
2784 } RotateOriginLocation_e;
2787 * NOTE: This is only used with the $!Reset3DOrigin command.
2789 typedef enum
2791 OriginResetLocation_DataCenter,
2792 OriginResetLocation_ViewCenter,
2793 END_OriginResetLocation_e,
2794 OriginResetLocation_Invalid = BadEnumValue
2795 } OriginResetLocation_e;
2798 * NOTE: This is only used with the $!CreateSliceZoneFromPlane command.
2800 typedef enum
2802 SliceSource_SurfaceZones,
2803 SliceSource_VolumeZones,
2804 SliceSource_SurfacesOfVolumeZones,
2805 SliceSource_LinearZones,
2806 END_SliceSource_e,
2807 SliceSource_Invalid = BadEnumValue
2808 } SliceSource_e;
2814 typedef enum
2816 Input_SmInteger,
2817 Input_Short,
2818 Input_Integer,
2819 Input_Float,
2820 Input_Double,
2821 Input_Radians,
2822 Input_TimeDateDouble,
2823 Input_ElapsedTimeDouble,
2824 END_Input_e,
2825 Input_Invalid = BadEnumValue
2826 } Input_e;
2830 typedef enum
2832 PtSelection_All,
2833 PtSelection_NearestN,
2834 PtSelection_OctantN,
2835 END_PtSelection_e,
2836 PtSelection_Invalid = BadEnumValue
2837 } PtSelection_e;
2841 typedef enum
2843 Drift_None,
2844 Drift_Linear,
2845 Drift_Quad,
2846 END_Drift_e,
2847 Drift_Invalid = BadEnumValue
2848 } Drift_e;
2852 /* atpoint is simple boundary condition.
2853 atpointb2 is better boundary condition.
2855 typedef enum
2857 DerivPos_atpoint,
2858 DerivPos_atpointb2,
2859 DerivPos_kphalf,
2860 DerivPos_jphalf,
2861 DerivPos_iphalf,
2862 END_DerivPos_e,
2863 DerivPos_Invalid = BadEnumValue
2864 } DerivPos_e; /*<help>"atpoint is the simple boundary condition\n"*/
2865 /*<help>"atpointb2 is a better boundary condition"*/
2868 typedef enum
2870 LinearInterpMode_DontChange,
2871 LinearInterpMode_SetToConst,
2872 END_LinearInterpMode_e,
2873 LinearInterpMode_Invalid = BadEnumValue
2874 } LinearInterpMode_e;
2876 typedef enum
2878 VolumeCellInterpolationMode_PiecewiseLinear,
2879 VolumeCellInterpolationMode_TriLinear,
2880 END_VolumeCellInterpolationMode_e,
2881 VolumeCellInterpolationMode_Invalid = BadEnumValue
2882 } VolumeCellInterpolationMode_e;
2884 typedef enum
2886 PolyCellInterpolationMode_UseCCValue,
2887 PolyCellInterpolationMode_AverageNodes,
2888 END_PolyCellInterpolationMode_e,
2889 PolyCellInterpolationMode_Invalid = BadEnumValue
2890 } PolyCellInterpolationMode_e;
2892 typedef enum
2894 ConstraintOp2Mode_UseVar,
2895 ConstraintOp2Mode_UseConstant,
2896 END_ConstraintOp2Mode_e,
2897 ConstraintOp2Mode_Invalid = BadEnumValue
2898 } ConstraintOp2Mode_e;
2901 * Controls how data is loaded for interactive probe events.
2902 * DataProbeVarLoadMode_IncrementallyLoadAll will load as much data as possible within
2903 * load-on-demand time/space thresholds. DataProbeVarLoadMode_LoadRequiredVarsOnly will
2904 * load only the data necessary to complete the probe request.
2905 * DataProbeVarLoadMode_IncrementallyLoadAll is the default.
2907 typedef enum
2909 DataProbeVarLoadMode_IncrementallyLoadAll,
2910 DataProbeVarLoadMode_LoadRequiredVarsOnly,
2911 END_DataProbeVarLoadMode_e,
2912 DataProbeVarLoadMode_Invalid = BadEnumValue
2913 } DataProbeVarLoadMode_e;
2915 typedef enum
2917 ValueBlankCellMode_AllCorners,
2918 ValueBlankCellMode_AnyCorner,
2919 ValueBlankCellMode_PrimaryValue,
2920 END_ValueBlankCellMode_e,
2921 ValueBlankCellMode_Invalid = BadEnumValue,
2922 /* deprecated values */
2923 ValueBlankCellMode_PrimaryCorner = ValueBlankCellMode_PrimaryValue
2924 } ValueBlankCellMode_e;
2928 * deprecated: ValueBlankMode_e enumeration will not be supported after
2929 * version 8. This API was retained for add-on developers
2930 * using the TecUtilStyleSetLowLevel API.
2932 typedef enum
2934 ValueBlankMode_AndRule,
2935 ValueBlankMode_OrRule,
2936 ValueBlankMode_CornerRule,
2937 END_ValueBlankMode_e,
2938 ValueBlankMode_Invalid = BadEnumValue
2939 } ValueBlankMode_e; /*<help>"DEPRECATED: ValueBlankMode_e will not be supported after version 8"*/
2942 typedef enum
2944 CellBlankedCond_NotBlanked,
2945 CellBlankedCond_PartiallyBlanked,
2946 CellBlankedCond_EntirelyBlanked,
2947 CellBlankedCond_Uncertain,
2948 END_CellBlankedCond_e,
2949 CellBlankedCond_Invalid = BadEnumValue
2950 } CellBlankedCond_e;
2953 typedef enum
2955 RelOp_LessThanOrEqual,
2956 RelOp_GreaterThanOrEqual,
2957 RelOp_LessThan,
2958 RelOp_GreaterThan,
2959 RelOp_EqualTo,
2960 RelOp_NotEqualTo,
2961 END_RelOp_e,
2962 RelOp_Invalid = BadEnumValue
2963 } RelOp_e;
2967 typedef enum
2969 IJKBlankMode_BlankInterior,
2970 IJKBlankMode_BlankExterior,
2971 END_IJKBlankMode_e,
2972 IJKBlankMode_Invalid = BadEnumValue
2973 } IJKBlankMode_e;
2976 typedef enum
2978 PlotApproximationMode_Automatic,
2979 PlotApproximationMode_NonCurrentAlwaysApproximated,
2980 PlotApproximationMode_AllFramesAlwaysApproximated,
2981 END_PlotApproximationMode_e,
2982 PlotApproximationMode_Invalid = BadEnumValue
2983 } PlotApproximationMode_e;
2985 typedef enum
2987 SphereScatterRenderQuality_Low,
2988 SphereScatterRenderQuality_Medium,
2989 SphereScatterRenderQuality_High,
2990 END_SphereScatterRenderQuality_e,
2991 SphereScatterRenderQuality_Invalid = BadEnumValue
2992 } SphereScatterRenderQuality_e;
2995 * NOTE: FillPat_e is deprecated. It must be retained to maintain
2996 * backward compatibility with the TecUtil layer however.
2997 * This has been replaced by Translucency_e.
2999 typedef enum
3001 Pattern_Solid,
3002 Pattern_LowTranslucent,
3003 Pattern_MedTranslucent,
3004 Pattern_HighTranslucent,
3005 END_FillPat_e,
3006 Pattern_Invalid = BadEnumValue
3007 } FillPat_e; /*<help>"DEPRECATED: Replaced by Translucency_e"*/
3010 typedef enum
3012 Translucency_Solid,
3013 Translucency_Low,
3014 Translucency_Medium,
3015 Translucency_High,
3016 END_Translucency_e,
3017 Translucency_Invalid = BadEnumValue
3018 } Translucency_e;
3022 typedef enum
3024 SunRaster_OldFormat,
3025 SunRaster_Standard,
3026 SunRaster_ByteEncoded,
3027 END_SunRaster_e,
3028 SunRaster_Invalid = BadEnumValue
3029 } SunRaster_e;
3032 typedef enum
3034 BoundaryCondition_Fixed,
3035 BoundaryCondition_ZeroGradient,
3036 BoundaryCondition_Zero2nd,
3037 END_BoundaryCondition_e,
3038 BoundaryCondition_Invalid = BadEnumValue
3039 } BoundaryCondition_e;
3043 /* Note:
3044 * In 2D: AxisMode_Independent and AxisMode_XYDependent are used;
3045 * in 3D: AxisMode_Independent, AxisMode_XYZDependent, and AxisMode_XYDependent are used.
3047 typedef enum
3049 AxisMode_Independent,
3050 AxisMode_XYZDependent,
3051 AxisMode_XYDependent,
3052 END_AxisMode_e,
3053 AxisMode_Invalid = BadEnumValue
3054 } AxisMode_e;/*<help>"In 2D AxisMode_Independent and AxisMode_XYDependent are used\n"*/
3055 /*<help>"In 3D AxisMode_Independent, "*/
3056 /*<help>"AxisMode_XYZDependent, and AxisMode_XYDependent are used."*/
3058 typedef enum
3060 Quick_LineColor,
3061 Quick_FillColor,
3062 Quick_TextColor,
3063 END_QuickColorMode_e,
3064 Quick_Invalid = BadEnumValue
3065 } QuickColorMode_e;
3068 typedef enum
3070 FillMode_None,
3071 FillMode_UseSpecificColor,
3072 FillMode_UseLineColor,
3073 FillMode_UseBackgroundColor,
3074 END_FillMode_e,
3075 FillMode_Invalid = BadEnumValue
3076 } FillMode_e;
3079 typedef enum
3081 LinePattern_Solid,
3082 LinePattern_Dashed,
3083 LinePattern_DashDot,
3084 LinePattern_Dotted,
3085 LinePattern_LongDash,
3086 LinePattern_DashDotDot,
3087 END_LinePattern_e,
3088 LinePattern_Invalid = BadEnumValue
3089 } LinePattern_e;
3093 typedef enum
3095 Join_Miter,
3096 Join_Round,
3097 Join_Bevel,
3098 END_LineJoin_e,
3099 Join_Invalid = BadEnumValue
3100 } LineJoin_e;
3104 typedef enum
3106 Cap_Flat,
3107 Cap_Round,
3108 Cap_Square,
3109 END_LineCap_e,
3110 Cap_Invalid = BadEnumValue
3111 } LineCap_e;
3115 typedef enum
3117 GeomForm_LineSegs,
3118 GeomForm_Rectangle,
3119 GeomForm_Square,
3120 GeomForm_Circle,
3121 GeomForm_Ellipse,
3122 GeomForm_LineSegs3D, /* deprecated: use GeomForm_LineSegs with CoordSys_Grid3D */
3123 GeomForm_Image,
3124 END_GeomForm_e,
3125 GeomForm_Invalid = BadEnumValue,
3126 /* new value names */
3127 GeomType_LineSegs = GeomForm_LineSegs,
3128 GeomType_Rectangle = GeomForm_Rectangle,
3129 GeomType_Square = GeomForm_Square,
3130 GeomType_Circle = GeomForm_Circle,
3131 GeomType_Ellipse = GeomForm_Ellipse,
3132 GeomType_LineSegs3D = GeomForm_LineSegs3D, /* deprecated: use GeomType_LineSegs with CoordSys_Grid3D */
3133 GeomType_Image = GeomForm_Image,
3134 END_GeomType_e = END_GeomForm_e,
3135 GeomType_Invalid = GeomForm_Invalid
3136 } GeomForm_e;
3138 typedef GeomForm_e GeomType_e;
3140 typedef enum
3142 VariableDerivationMethod_Fast,
3143 VariableDerivationMethod_Accurate,
3144 END_VariableDerivationMethod_e,
3145 VariableDerivationMethod_Invalid = BadEnumValue
3146 } VariableDerivationMethod_e;
3150 typedef enum
3152 AuxDataType_String,
3153 END_AuxDataType_e,
3154 AuxDataType_Invalid = BadEnumValue
3155 } AuxDataType_e;
3159 typedef enum
3161 AuxDataLocation_Zone,
3162 AuxDataLocation_DataSet,
3163 AuxDataLocation_Frame,
3164 AuxDataLocation_Var,
3165 AuxDataLocation_LineMap,
3166 AuxDataLocation_Page,
3167 END_AuxDataLocation_e,
3168 AuxDataLocation_Invalid = BadEnumValue
3169 } AuxDataLocation_e;
3172 /* Note: This replaces Element_e */
3173 typedef enum
3175 ZoneType_Ordered,
3176 ZoneType_FETriangle,
3177 ZoneType_FEQuad,
3178 ZoneType_FETetra,
3179 ZoneType_FEBrick,
3180 ZoneType_FELineSeg,
3181 ZoneType_FEPolygon,
3182 ZoneType_FEPolyhedron,
3183 END_ZoneType_e,
3184 ZoneType_Invalid = BadEnumValue
3185 } ZoneType_e;
3187 typedef enum
3189 ZoneOrder_I,
3190 ZoneOrder_J,
3191 ZoneOrder_K,
3192 ZoneOrder_IJ,
3193 ZoneOrder_IK,
3194 ZoneOrder_JK,
3195 ZoneOrder_IJK,
3196 END_ZoneOrder_e,
3197 ZoneOrder_Invalid = BadEnumValue
3198 } ZoneOrder_e;
3200 /* deprecated: replaced by ZoneType_e DataPacking_e */
3201 typedef enum
3203 DataFormat_IJKBlock,
3204 DataFormat_IJKPoint,
3205 DataFormat_FEBlock,
3206 DataFormat_FEPoint,
3207 END_DataFormat_e,
3208 DataFormat_Invalid = BadEnumValue
3209 } DataFormat_e;
3211 typedef enum
3213 DataPacking_Block,
3214 DataPacking_Point,
3215 END_DataPacking_e,
3216 DataPacking_Invalid = BadEnumValue
3217 } DataPacking_e;
3221 typedef enum
3223 PD_HPGL,
3224 PD_HPGL2,
3225 PD_PS,
3226 PD_LASERG, /* deprecated */
3227 PD_EPS,
3228 PD_WINDOWS, /* Windows Print Driver */
3229 PD_WMF, /* Windows MetaFile (used from Export only) */
3230 PD_X3D,
3231 END_PrinterDriver_e,
3232 PD_Invalid = BadEnumValue
3233 } PrinterDriver_e;
3237 typedef enum
3239 Image_None,
3240 Image_TIFF,
3241 Image_EPSI2,
3242 Image_FRAME,
3243 END_EPSPreviewImage_e,
3244 Image_Invalid = BadEnumValue
3245 } EPSPreviewImage_e;
3247 typedef enum
3249 TIFFByteOrder_Intel,
3250 TIFFByteOrder_Motorola,
3251 END_TIFFByteOrder_e,
3252 TIFFByteOrder_Invalid = BadEnumValue
3253 } TIFFByteOrder_e;
3255 typedef enum
3257 JPEGEncoding_Standard,
3258 JPEGEncoding_Progressive,
3259 END_JPEGEncoding_e,
3260 JPEGEncoding_Invalid = BadEnumValue
3261 } JPEGEncoding_e;
3264 typedef enum
3266 FlashImageType_Lossless,
3267 FlashImageType_JPEG,
3268 FlashImageType_Color256,
3269 END_FlashImageType_e,
3270 FlashImageType_Invalid = BadEnumValue,
3271 /* deprecated values */
3272 FlashImageType_256Color = FlashImageType_Color256
3273 } FlashImageType_e;
3275 typedef enum
3277 FlashCompressionType_BestSpeed,
3278 FlashCompressionType_SmallestSize,
3279 END_FlashCompressionType_e,
3280 FlashCompressionType_Invalid = BadEnumValue
3281 } FlashCompressionType_e;
3284 typedef enum
3286 ExportFormat_RasterMetafile,
3287 ExportFormat_TIFF,
3288 ExportFormat_SGI,
3289 ExportFormat_SunRaster,
3290 ExportFormat_XWindows,
3291 ExportFormat_PSImage, /* deprecated */
3292 ExportFormat_HPGL,
3293 ExportFormat_HPGL2,
3294 ExportFormat_PS,
3295 ExportFormat_EPS,
3296 ExportFormat_LaserGraphics, /* deprecated */
3297 ExportFormat_WindowsMetafile,
3298 ExportFormat_BMP,
3299 ExportFormat_PNG,
3300 ExportFormat_AVI,
3301 ExportFormat_Custom, /* May be used in a future version */
3302 ExportFormat_JPEG,
3303 ExportFormat_Flash,
3304 ExportFormat_X3D,
3305 ExportFormat_TecplotViewer,
3306 END_ExportFormat_e,
3307 ExportFormat_Invalid = BadEnumValue
3308 } ExportFormat_e;
3310 typedef enum
3312 AVICompression_ColorPreserving,
3313 AVICompression_LinePreserving,
3314 AVICompression_LosslessUncompressed,
3315 END_AVICompression_e,
3316 AVICompression_Invalid = BadEnumValue
3317 } AVICompression_e;
3319 typedef enum
3321 AnimationDest_Screen,
3322 AnimationDest_AVI,
3323 AnimationDest_RM,
3324 AnimationDest_Flash,
3325 END_AnimationDest_e,
3326 AnimationDest_Invalid = BadEnumValue
3327 } AnimationDest_e;
3331 typedef enum
3333 AnimationOperation_Forward,
3334 AnimationOperation_Backward,
3335 AnimationOperation_Loop,
3336 AnimationOperation_Bounce,
3337 END_AnimationOperation_e,
3338 AnimationOperation_Invalid = BadEnumValue
3339 } AnimationOperation_e;
3341 typedef enum
3343 AnimationStep_First,
3344 AnimationStep_Second,
3345 AnimationStep_Current,
3346 AnimationStep_SecondToLast,
3347 AnimationStep_Last,
3348 AnimationStep_Previous,
3349 AnimationStep_Next,
3350 END_AnimationStep_e,
3351 AnimationStep_Invalid = BadEnumValue
3352 } AnimationStep_e;
3354 typedef enum
3356 ZoneAnimationMode_StepByNumber,
3357 ZoneAnimationMode_GroupStepByNumber,
3358 ZoneAnimationMode_StepByTime,
3359 END_ZoneAnimationMode_e,
3360 ZoneAnimationMode_Invalid = BadEnumValue
3361 } ZoneAnimationMode_e;
3363 #if defined EXPORT_DEPRECATED_INTERFACES_TO_ADK_ONLY
3365 * @deprecated
3366 * Please use \ref ExportRegion_e instead.
3368 typedef enum
3370 BitDumpRegion_CurrentFrame,
3371 BitDumpRegion_AllFrames,
3372 BitDumpRegion_WorkArea,
3373 END_BitDumpRegion_e,
3374 BitDumpRegion_Invalid = BadEnumValue
3375 } BitDumpRegion_e;
3376 #endif
3378 typedef enum
3380 ExportRegion_CurrentFrame,
3381 ExportRegion_AllFrames,
3382 ExportRegion_WorkArea,
3383 END_ExportRegion_e,
3384 ExportRegion_Invalid = BadEnumValue
3385 } ExportRegion_e;
3387 typedef enum
3389 Paper_Letter,
3390 Paper_Double,
3391 Paper_A4,
3392 Paper_A3,
3393 Paper_Custom1,
3394 Paper_Custom2,
3395 END_PaperSize_e,
3396 Paper_Invalid = BadEnumValue
3397 } PaperSize_e;
3401 typedef enum
3403 PaperUnitSpacing_HalfCentimeter,
3404 PaperUnitSpacing_OneCentimeter,
3405 PaperUnitSpacing_TwoCentimeters,
3406 PaperUnitSpacing_QuarterInch,
3407 PaperUnitSpacing_HalfInch,
3408 PaperUnitSpacing_OneInch,
3409 PaperUnitSpacing_TenPoints,
3410 PaperUnitSpacing_TwentyFourPoints,
3411 PaperUnitSpacing_ThirtySixPoints,
3412 PaperUnitSpacing_FiftyPoints,
3413 PaperUnitSpacing_SeventyTwoPoints,
3414 PaperUnitSpacing_OneTenthInch,
3415 PaperUnitSpacing_OneTenthCentimeter,
3416 END_PaperUnitSpacing_e,
3417 PaperUnitSpacing_Invalid = BadEnumValue
3418 } PaperUnitSpacing_e;
3421 typedef enum
3423 Palette_Monochrome,
3424 Palette_PenPlotter,
3425 Palette_Color,
3426 END_Palette_e,
3427 Palette_Invalid = BadEnumValue
3428 } Palette_e;
3431 typedef enum
3433 PrintRenderType_Vector,
3434 PrintRenderType_Image,
3435 END_PrintRenderType_e,
3436 PrintRenderType_Invalid = BadEnumValue
3437 } PrintRenderType_e;
3440 typedef enum
3442 Units_Grid,
3443 Units_Frame,
3444 Units_Point,
3445 Units_Screen,
3446 Units_AxisPercentage,
3447 END_Units_e,
3448 Units_Invalid = BadEnumValue
3449 } Units_e;
3452 typedef enum
3454 CoordScale_Linear,
3455 CoordScale_Log,
3456 END_CoordScale_e,
3457 CoordScale_Invalid = BadEnumValue,
3458 /* old names for the same values */
3459 Scale_Linear = CoordScale_Linear,
3460 Scale_Log = CoordScale_Log,
3461 Scale_Invalid = CoordScale_Invalid
3462 } CoordScale_e;
3464 /* BEGINREMOVEFROMADDON */
3465 #define GetLog10(R) ( ((R) < SMALLDOUBLE) ? SMALLESTEXPONENT : ( ((R) > LARGEDOUBLE) ? LARGESTEXPONENT : log10((R)) ) )
3466 /* ENDREMOVEFROMADDON */
3468 typedef enum
3470 CoordSys_Grid,
3471 CoordSys_Frame,
3472 CoordSys_FrameOffset,
3473 CoordSys_Paper,
3474 CoordSys_Screen,
3475 CoordSys_Hardcopy,
3476 CoordSys_Grid3D,
3477 END_CoordSys_e,
3478 CoordSys_Invalid = BadEnumValue
3479 } CoordSys_e;
3482 * NOTE: CoordSys_FrameOffset always is stored in inches internally.
3483 * in stylesheet this may be written in other units if
3484 * appropriate suffix is added.
3490 typedef enum
3492 Scope_Global,
3493 Scope_Local,
3494 END_Scope_e,
3495 Scope_Invalid = BadEnumValue
3496 } Scope_e;
3499 typedef enum
3501 TextAnchor_Left,
3502 TextAnchor_Center,
3503 TextAnchor_Right,
3504 TextAnchor_MidLeft,
3505 TextAnchor_MidCenter,
3506 TextAnchor_MidRight,
3507 TextAnchor_HeadLeft,
3508 TextAnchor_HeadCenter,
3509 TextAnchor_HeadRight,
3510 TextAnchor_OnSide,
3511 END_TextAnchor_e,
3512 TextAnchor_Invalid = BadEnumValue
3513 } TextAnchor_e;
3517 typedef enum
3519 TextBox_None,
3520 TextBox_Filled,
3521 TextBox_Hollow,
3522 END_TextBox_e,
3523 TextBox_Invalid = BadEnumValue
3524 } TextBox_e;
3528 typedef enum
3530 GeomShape_Square,
3531 GeomShape_Del,
3532 GeomShape_Grad,
3533 GeomShape_RTri,
3534 GeomShape_LTri,
3535 GeomShape_Diamond,
3536 GeomShape_Circle,
3537 GeomShape_Cube,
3538 GeomShape_Sphere,
3539 GeomShape_Octahedron,
3540 GeomShape_Point,
3541 END_GeomShape_e,
3542 GeomShape_Invalid = BadEnumValue
3543 } GeomShape_e;
3546 typedef enum
3548 BasicSize_Tiny,
3549 BasicSize_Small,
3550 BasicSize_Medium,
3551 BasicSize_Large,
3552 BasicSize_Huge,
3553 END_BasicSize_e,
3554 BasicSize_Invalid = BadEnumValue
3555 } BasicSize_e;
3560 * NOTE: LineForm_e is deprecated. It must be retained to maintain
3561 * backward compatibility with the TecUtil layer however.
3562 * This has been replaced by CurveType_e.
3564 typedef enum
3566 LineForm_LineSeg,
3567 LineForm_CurvFit,
3568 LineForm_EToRFit,
3569 LineForm_PowerFit,
3570 LineForm_Spline,
3571 LineForm_ParaSpline,
3572 END_LineForm_e,
3573 LineForm_Invalid = BadEnumValue
3574 } LineForm_e;
3577 typedef enum
3579 CurveType_LineSeg,
3580 CurveType_PolynomialFit,
3581 CurveType_EToRFit,
3582 CurveType_PowerFit,
3583 CurveType_Spline,
3584 CurveType_ParaSpline,
3585 CurveType_Extended,
3586 END_CurveType_e,
3587 CurveType_Invalid = BadEnumValue,
3588 CurveType_CurvFit = CurveType_PolynomialFit
3589 } CurveType_e;
3591 typedef enum
3593 Script_None,
3594 Script_Super,
3595 Script_Sub,
3596 END_Script_e,
3597 Script_Invalid = BadEnumValue
3598 } Script_e;
3601 typedef enum
3603 Font_Helvetica,
3604 Font_HelveticaBold,
3605 Font_Greek,
3606 Font_Math,
3607 Font_UserDefined,
3608 Font_Times,
3609 Font_TimesItalic,
3610 Font_TimesBold,
3611 Font_TimesItalicBold,
3612 Font_Courier,
3613 Font_CourierBold,
3614 END_Font_e,
3615 Font_Invalid = BadEnumValue
3616 } Font_e;
3618 typedef enum
3620 TwoDDrawOrder_ByZone,
3621 TwoDDrawOrder_ByLayer,
3622 END_TwoDDrawOrder_e,
3623 TwoDDrawOrder_Invalid = BadEnumValue
3624 } TwoDDrawOrder_e;
3626 typedef enum
3628 DrawOrder_AfterData,
3629 DrawOrder_BeforeData,
3630 END_DrawOrder_e,
3631 DrawOrder_Invalid = BadEnumValue
3632 } DrawOrder_e;
3636 * NOTE: Streamtrace_TwoDLine is new. All 2D
3637 * streamtraces are assigned this value.
3639 typedef enum
3641 Streamtrace_SurfaceLine,
3642 Streamtrace_SurfaceRibbon,
3643 Streamtrace_VolumeLine,
3644 Streamtrace_VolumeRibbon,
3645 Streamtrace_VolumeRod,
3646 Streamtrace_TwoDLine,
3647 END_Streamtrace_e,
3648 Streamtrace_Invalid = BadEnumValue
3649 } Streamtrace_e;
3653 typedef enum
3655 StreamDir_Forward,
3656 StreamDir_Reverse,
3657 StreamDir_Both,
3658 END_StreamDir_e,
3659 StreamDir_Invalid = BadEnumValue
3660 } StreamDir_e;
3662 typedef enum
3664 IsoSurfaceSelection_AllContourLevels,
3665 IsoSurfaceSelection_OneSpecificValue,
3666 IsoSurfaceSelection_TwoSpecificValues,
3667 IsoSurfaceSelection_ThreeSpecificValues,
3668 END_IsoSurfaceSelection_e,
3669 IsoSurfaceSelection_Invalid = BadEnumValue
3670 } IsoSurfaceSelection_e;
3673 typedef enum
3675 ValueLocation_CellCentered,
3676 ValueLocation_Nodal,
3677 END_ValueLocation_e,
3678 ValueLocation_Invalid = BadEnumValue
3679 } ValueLocation_e;
3681 typedef enum
3683 FieldDataType_Reserved, /* never use */
3684 FieldDataType_Float,
3685 FieldDataType_Double,
3686 FieldDataType_Int32,
3687 FieldDataType_Int16,
3688 FieldDataType_Byte,
3689 FieldDataType_Bit,
3690 END_FieldDataType_e,
3691 FieldDataType_IJKFunction, /* Not used yet */
3692 FieldDataType_Int64, /* Not used yet */
3693 #if defined EXPORT_DEPRECATED_INTERFACES_TO_ADK_ONLY
3694 FieldDataType_LongInt = FieldDataType_Int32,
3695 FieldDataType_ShortInt = FieldDataType_Int16,
3696 #endif
3697 FieldDataType_Invalid = BadEnumValue
3698 } FieldDataType_e;
3700 #define VALID_FIELD_DATA_TYPE(FieldDataType) (VALID_ENUM((FieldDataType),FieldDataType_e) && \
3701 (FieldDataType)!=FieldDataType_Reserved)
3703 #if defined EXPORT_DEPRECATED_INTERFACES_TO_ADK_ONLY
3705 * @deprecated
3706 * Please use \ref MeshType_e instead.
3708 typedef enum
3710 Mesh_Wireframe, /* deprecated: use MeshType_Wireframe */
3711 Mesh_Overlay, /* deprecated: use MeshType_Overlay */
3712 Mesh_HiddenLine, /* deprecated: use MeshType_HiddenLine */
3713 END_MeshPlotType_e,
3714 Mesh_Invalid = BadEnumValue
3715 } MeshPlotType_e;
3716 #endif
3718 typedef enum
3720 MeshType_Wireframe, /* Mesh_Wireframe */
3721 MeshType_Overlay, /* Mesh_Overlay */
3722 MeshType_HiddenLine, /* Mesh_HiddenLine */
3723 END_MeshType_e,
3724 MeshType_Invalid = BadEnumValue
3725 } MeshType_e;
3730 #if defined EXPORT_DEPRECATED_INTERFACES_TO_ADK_ONLY
3732 * @deprecated
3733 * Please use \ref ContourType_e instead.
3735 typedef enum
3737 Contour_Lines, /* deprecated: use ContourType_Lines */
3738 Contour_Flood, /* deprecated: use ContourType_Flood */
3739 Contour_Overlay, /* deprecated: use ContourType_Overlay */
3740 Contour_AverageCell, /* deprecated: use ContourType_AverageCell */
3741 Contour_CornerCell, /* deprecated: use ContourType_PrimaryValue */
3742 END_ContourPlotType_e,
3743 Contour_Invalid = BadEnumValue
3744 } ContourPlotType_e;
3745 #endif
3748 typedef enum
3750 ContourType_Lines, /* Contour_Lines */
3751 ContourType_Flood, /* Contour_Flood */
3752 ContourType_Overlay, /* Contour_Overlay */
3753 ContourType_AverageCell, /* Contour_AverageCell */
3754 ContourType_PrimaryValue, /* Contour_CornerCell */
3755 END_ContourType_e,
3756 ContourType_Invalid = BadEnumValue
3757 } ContourType_e;
3759 typedef enum
3761 ContourColoring_RGB,
3762 ContourColoring_Group1,
3763 ContourColoring_Group2,
3764 ContourColoring_Group3,
3765 ContourColoring_Group4,
3766 ContourColoring_Group5,
3767 ContourColoring_Group6,
3768 ContourColoring_Group7,
3769 ContourColoring_Group8,
3770 END_ContourColoring_e,
3771 ContourColoring_Invalid = BadEnumValue
3772 } ContourColoring_e;
3774 #if defined EXPORT_DEPRECATED_INTERFACES_TO_ADK_ONLY
3776 * @deprecated
3777 * Please use \ref VectorType_e instead.
3779 typedef enum
3781 Vector_TailAtPoint, /* deprecated: use VectorType_TailAtPoint */
3782 Vector_HeadAtPoint, /* deprecated: use VectorType_HeadAtPoint */
3783 Vector_MidAtPoint, /* deprecated: use VectorType_MidAtPoint */
3784 Vector_HeadOnly, /* deprecated: use VectorType_HeadOnly */
3785 END_VectorPlotType_e,
3786 Vector_Invalid = BadEnumValue
3787 } VectorPlotType_e;
3788 #endif
3791 typedef enum
3793 VectorType_TailAtPoint, /* Vector_TailAtPoint */
3794 VectorType_HeadAtPoint, /* Vector_HeadAtPoint */
3795 VectorType_MidAtPoint, /* Vector_MidAtPoint */
3796 VectorType_HeadOnly, /* Vector_HeadOnly */
3797 END_VectorType_e,
3798 VectorType_Invalid = BadEnumValue
3799 } VectorType_e;
3803 * NOTE: ShadePlotType_e is deprecated. It must be retained to maintain
3804 * backward compatibility with the TecUtil layer however.
3805 * This has been replaced by LightingEffect_e.
3807 typedef enum
3809 Shade_SolidColor,
3810 Shade_Paneled,
3811 Shade_Gouraud,
3812 Shade_ColoredPaneled,
3813 Shade_ColoredGouraud,
3814 END_ShadePlotType_e,
3815 Shade_Invalid = BadEnumValue
3816 } ShadePlotType_e;
3819 * NOTE: LightingEffect_None is deprecated. It must remain
3820 * in the list to allow macro processing of older
3821 * (i.e. early v9) macros.
3823 typedef enum
3825 LightingEffect_Paneled,
3826 LightingEffect_Gouraud,
3827 LightingEffect_None,
3828 END_LightingEffect_e,
3829 LightingEffect_Invalid = BadEnumValue
3830 } LightingEffect_e;
3832 typedef enum
3834 IJKLines_I,
3835 IJKLines_J,
3836 IJKLines_K,
3837 END_IJKLines_e,
3838 IJKLines_Invalid = BadEnumValue,
3839 /* deprecated values */
3840 Lines_I = IJKLines_I, /* deprecated */
3841 Lines_J = IJKLines_J, /* deprecated */
3842 Lines_K = IJKLines_K, /* deprecated */
3843 Lines_Invalid = IJKLines_Invalid /* deprecated */
3844 } IJKLines_e;
3846 typedef enum
3848 IJKCellType_Planes,
3849 IJKCellType_FacePlanes,
3850 IJKCellType_Volume,
3851 END_IJKCellType_e,
3852 IJKCellType_Invalid = BadEnumValue
3853 } IJKCellType_e;
3857 * Ver 6 used PlaneSet. Ver 7 uses CellType and Planes variables.
3859 * "PlaneSet" in version 6 vs. IJKPlanes in v7:
3861 * 'A' = AllPlanes CellType = IJKCellType_Volume
3862 * 'd','e','f','C' = ComboPlanes CellType = IJKCellType_Planes, IJKPlanes = depends on defC
3863 * 'F' = Faces Planes Only CellType = IJKCellType_FacePlanes
3864 * 'I' = I-Planes CellType = IJKCellType_Planes, IJKPlanes = IJKPlanes_I
3865 * 'J' = J-Planes CellType = IJKCellType_Planes, IJKPlanes = IJKPlanes_J
3866 * 'K' = K-Planes CellType = IJKCellType_Planes, IJKPlanes = IJKPlanes_K
3869 * NOTE: IJKPlanes_e is still used internally in tecplot (and in the TecUtil layer).
3870 * it has been relagated to communicating which planes of an IJK zone are in
3871 * use.
3875 typedef enum
3877 IJKPlanes_I,
3878 IJKPlanes_J,
3879 IJKPlanes_K,
3880 IJKPlanes_Face, /* used on the panel heap */
3881 IJKPlanes_IJ, /* deprecated */
3882 IJKPlanes_JK, /* deprecated */
3883 IJKPlanes_IK, /* deprecated */
3884 IJKPlanes_IJK, /* deprecated */
3885 IJKPlanes_Volume,
3886 IJKPlanes_Unused,
3887 END_IJKPlanes_e,
3888 IJKPlanes_Invalid = BadEnumValue,
3889 /* deprecated values */
3890 Planes_I = IJKPlanes_I, /* deprecated */
3891 Planes_J = IJKPlanes_J, /* deprecated */
3892 Planes_K = IJKPlanes_K, /* deprecated */
3893 Planes_IJ = IJKPlanes_IJ, /* deprecated */
3894 Planes_JK = IJKPlanes_JK, /* deprecated */
3895 Planes_IK = IJKPlanes_IK, /* deprecated */
3896 Planes_IJK = IJKPlanes_IJK, /* deprecated */
3897 Planes_Face = IJKPlanes_Face, /* deprecated */
3898 Planes_Volume = IJKPlanes_Volume, /* deprecated */
3899 Planes_Unused = IJKPlanes_Unused, /* deprecated */
3900 Planes_Invalid = IJKPlanes_Invalid /* deprecated */
3901 } IJKPlanes_e;
3905 typedef enum
3907 SurfacesToPlot_BoundaryFaces,
3908 SurfacesToPlot_ExposedCellFaces,
3909 SurfacesToPlot_IPlanes,
3910 SurfacesToPlot_JPlanes,
3911 SurfacesToPlot_KPlanes,
3912 SurfacesToPlot_IJPlanes,
3913 SurfacesToPlot_JKPlanes,
3914 SurfacesToPlot_IKPlanes,
3915 SurfacesToPlot_IJKPlanes,
3916 SurfacesToPlot_All,
3917 SurfacesToPlot_None,
3918 END_SurfacesToPlot_e,
3919 SurfacesToPlot_Invalid = BadEnumValue
3920 } SurfacesToPlot_e;
3922 typedef enum
3924 PointsToPlot_SurfaceNodes, /* was _SurfacesOnly */
3925 PointsToPlot_AllNodes, /* was _All */
3926 PointsToPlot_SurfaceCellCenters,
3927 PointsToPlot_AllCellCenters,
3928 PointsToPlot_AllConnected,
3929 END_PointsToPlot_e,
3930 #if defined EXPORT_DEPRECATED_INTERFACES_TO_ADK_ONLY
3931 PointsToPlot_SurfacesOnly = PointsToPlot_SurfaceNodes, /* deprecated */
3932 PointsToPlot_All = PointsToPlot_AllNodes, /* deprecated */
3933 #endif
3934 PointsToPlot_Invalid = BadEnumValue
3935 } PointsToPlot_e;
3938 typedef enum
3940 SliceSurface_XPlanes,
3941 SliceSurface_YPlanes,
3942 SliceSurface_ZPlanes,
3943 SliceSurface_IPlanes,
3944 SliceSurface_JPlanes,
3945 SliceSurface_KPlanes,
3946 END_SliceSurface_e,
3947 SliceSurface_Invalid = BadEnumValue
3948 } SliceSurface_e;
3951 typedef enum
3953 ClipPlane_None,
3954 ClipPlane_BelowPrimarySlice,
3955 ClipPlane_AbovePrimarySlice,
3956 END_ClipPlane_e,
3957 ClipPlane_Invalid = BadEnumValue
3958 } ClipPlane_e;
3960 typedef enum
3962 Skip_ByIndex,
3963 Skip_ByFrameUnits,
3964 END_SkipMode_e,
3965 Skip_Invalid = BadEnumValue
3966 } SkipMode_e;
3969 typedef enum
3971 EdgeType_Borders,
3972 EdgeType_Creases,
3973 EdgeType_BordersAndCreases,
3974 END_EdgeType_e,
3975 EdgeType_Invalid = BadEnumValue
3976 } EdgeType_e;
3978 #if defined EXPORT_DEPRECATED_INTERFACES_TO_ADK_ONLY
3980 * @deprecated
3981 * Please use \ref BorderLocation_e instead.
3983 typedef enum
3985 Boundary_None, /* deprecated: use BoundaryType_None */
3986 Boundary_Min, /* deprecated: use BoundaryType_Min */
3987 Boundary_Max, /* deprecated: use BoundaryType_Max */
3988 Boundary_Both, /* deprecated: use BoundaryType_Both */
3989 END_BoundPlotType_e,
3990 Boundary_Invalid = BadEnumValue
3991 } BoundPlotType_e;
3992 #endif
3994 typedef enum
3996 BoundaryType_None, /* Boundary_None */
3997 BoundaryType_Min, /* Boundary_Min */
3998 BoundaryType_Max, /* Boundary_Max */
3999 BoundaryType_Both, /* Boundary_Both */
4000 END_BoundaryType_e,
4001 BoundaryType_Invalid = BadEnumValue
4002 } BoundaryType_e; /* deprecated */
4004 typedef enum
4006 BorderLocation_None, /* Boundary_None */
4007 BorderLocation_Min, /* Boundary_Min */
4008 BorderLocation_Max, /* Boundary_Max */
4009 BorderLocation_Both, /* Boundary_Both */
4010 END_BorderLocation_e,
4011 BorderLocation_Invalid = BadEnumValue
4012 } BorderLocation_e;
4014 typedef enum
4016 ContourColorMap_SmRainbow,
4017 ContourColorMap_LgRainbow,
4018 ContourColorMap_Modern,
4019 ContourColorMap_GrayScale,
4020 ContourColorMap_Wild,
4021 ContourColorMap_UserDef,
4022 ContourColorMap_TwoColor,
4023 ContourColorMap_RawUserDef,
4024 END_ContourColorMap_e,
4025 ContourColorMap_Invalid = BadEnumValue,
4026 /* deprecated values */
4027 ColorMap_SmRainbow = ContourColorMap_SmRainbow, /* deprecated */
4028 ColorMap_LgRainbow = ContourColorMap_LgRainbow, /* deprecated */
4029 ColorMap_Modern = ContourColorMap_Modern, /* deprecated */
4030 ColorMap_GrayScale = ContourColorMap_GrayScale, /* deprecated */
4031 ColorMap_Wild = ContourColorMap_Wild, /* deprecated */
4032 ColorMap_UserDef = ContourColorMap_UserDef, /* deprecated */
4033 ColorMap_TwoColor = ContourColorMap_TwoColor, /* deprecated */
4034 ColorMap_RawUserDef = ContourColorMap_RawUserDef, /* deprecated */
4035 ColorMap_Invalid = ContourColorMap_Invalid /* deprecated */
4036 } ContourColorMap_e;
4040 typedef enum
4042 ErrorBar_Up,
4043 ErrorBar_Down,
4044 ErrorBar_Left,
4045 ErrorBar_Right,
4046 ErrorBar_Horz,
4047 ErrorBar_Vert,
4048 ErrorBar_Cross,
4049 END_ErrorBar_e,
4050 ErrorBar_Invalid = BadEnumValue
4051 } ErrorBar_e;
4055 typedef enum
4057 ContourLineMode_UseZoneLineType,
4058 ContourLineMode_SkipToSolid,
4059 ContourLineMode_DashNegative,
4060 END_ContourLineMode_e,
4061 ContourLineMode_Invalid = BadEnumValue
4062 } ContourLineMode_e;
4065 /* BEGINREMOVEFROMADDON */
4066 typedef enum
4068 Panel_Bad,
4069 Panel_Cell, /* FieldZone */
4070 Panel_Vector, /* FieldZone */
4071 Panel_Scatter, /* FieldZone */
4072 Panel_IJKBorderLine, /* FieldZone IJK border lines */
4073 Panel_CellEdge, /* FieldZone border lines and creases */
4074 Panel_FEBoundaryCell, /* FieldZone */
4075 Panel_NodeLabel, /* FieldZone */
4076 Panel_CellLabel, /* FieldZone */
4077 Panel_StreamtraceCell, /* Streamtrace COB */
4078 Panel_StreamtraceMarker, /* StreamtraceMarker COB (Scatter Symbol) */
4079 Panel_StreamtraceArrowhead, /* StreamtraceArrowhead COB (Vector) */
4080 Panel_IsoSurfaceCell, /* IsoSurface COB */
4081 Panel_IsoSurfaceCellEdge, /* IsoSurface COB border lines and creases (border lines and creases not currently used) */
4082 Panel_SliceCell, /* Slice COB */
4083 Panel_SliceVector, /* Slice COB */
4084 Panel_SliceIJKBorderLine, /* Slice COB IJK border lines */
4085 Panel_SliceCellEdge, /* Slice COB border lines and creases (creases not currently used) */
4086 Panel_Geom, /* Misc */
4087 Panel_Text, /* Misc */
4088 END_Panel_e,
4089 Panel_Invalid = BadEnumValue
4090 } Panel_e;
4091 /* ENDREMOVEFROMADDON */
4094 typedef enum
4096 MessageBoxType_Error,
4097 MessageBoxType_Warning,
4098 MessageBoxType_Information,
4099 MessageBoxType_Question, /* Ok, Cancel buttons */
4100 MessageBoxType_YesNo,
4101 MessageBoxType_YesNoCancel,
4102 MessageBoxType_WarningOkCancel,
4103 END_MessageBoxType_e,
4104 MessageBoxType_Invalid = BadEnumValue,
4105 /* deprecated values */
4106 MessageBox_Error = MessageBoxType_Error, /* deprecated */
4107 MessageBox_Warning = MessageBoxType_Warning, /* deprecated */
4108 MessageBox_Information = MessageBoxType_Information, /* deprecated */
4109 MessageBox_Question = MessageBoxType_Question, /* deprecated */
4110 MessageBox_YesNo = MessageBoxType_YesNo, /* deprecated */
4111 MessageBox_YesNoCancel = MessageBoxType_YesNoCancel, /* deprecated */
4112 MessageBox_WarningOkCancel = MessageBoxType_WarningOkCancel, /* deprecated */
4113 MessageBox_Invalid = MessageBoxType_Invalid /* deprecated */
4114 } MessageBoxType_e;
4117 typedef enum
4119 MessageBoxReply_Yes,
4120 MessageBoxReply_No,
4121 MessageBoxReply_Cancel,
4122 MessageBoxReply_Ok,
4123 END_MessageBoxReply_e,
4124 MessageBoxReply_Invalid = BadEnumValue
4125 } MessageBoxReply_e;
4127 typedef enum
4129 NumberFormat_Integer,
4130 NumberFormat_FixedFloat,
4131 NumberFormat_Exponential,
4132 NumberFormat_BestFloat,
4133 NumberFormat_SuperScript,
4134 NumberFormat_CustomLabel,
4135 NumberFormat_LogSuperScript,
4136 NumberFormat_RangeBestFloat,
4137 NumberFormat_DynamicLabel,
4138 NumberFormat_TimeDate,
4139 END_NumberFormat_e,
4140 NumberFormat_Invalid = BadEnumValue
4141 } NumberFormat_e;
4143 /* For backward compatibility with v9- */
4144 typedef NumberFormat_e ValueFormat_e;
4147 typedef enum
4149 BackingStoreMode_QuickAndDirty,
4150 BackingStoreMode_RealTimeUpdate,
4151 BackingStoreMode_PeriodicUpdate,
4152 END_BackingStoreMode_e,
4153 BackingStoreMode_Invalid = BadEnumValue
4154 } BackingStoreMode_e;
4157 typedef enum
4159 TickDirection_In,
4160 TickDirection_Out,
4161 TickDirection_Centered,
4162 END_TickDirection_e,
4163 TickDirection_Invalid = BadEnumValue
4164 } TickDirection_e;
4166 /* This enumerated type is no longer used as of Tecplot V10. */
4167 typedef enum
4169 AxisTitlePosition_Left,
4170 AxisTitlePosition_Center,
4171 AxisTitlePosition_Right,
4172 END_AxisTitlePosition_e,
4173 AxisTitlePosition_Invalid = BadEnumValue
4174 } AxisTitlePosition_e;
4176 typedef enum
4178 AxisTitleMode_NoTitle,
4179 AxisTitleMode_UseVarName,
4180 AxisTitleMode_UseText,
4181 END_AxisTitleMode_e,
4182 AxisTitleMode_Invalid = BadEnumValue
4183 } AxisTitleMode_e;
4185 typedef enum
4187 AxisAlignment_WithViewport,
4188 AxisAlignment_WithOpposingAxisValue,
4189 AxisAlignment_WithGridMin,
4190 AxisAlignment_WithGridMax,
4191 AxisAlignment_WithSpecificAngle,
4192 AxisAlignment_WithGridAreaTop,
4193 AxisAlignment_WithGridAreaBottom,
4194 AxisAlignment_WithGridAreaLeft,
4195 AxisAlignment_WithGridAreaRight,
4196 END_AxisAlignment_e,
4197 AxisAlignment_Invalid = BadEnumValue
4198 } AxisAlignment_e;
4200 typedef enum
4202 FunctionDependency_XIndependent,
4203 FunctionDependency_YIndependent,
4204 END_FunctionDependency_e,
4205 FunctionDependency_Invalid = BadEnumValue,
4206 FunctionDependency_ThetaIndependent = FunctionDependency_XIndependent,
4207 FunctionDependency_RIndependent = FunctionDependency_YIndependent
4208 } FunctionDependency_e;
4210 typedef enum
4212 LegendShow_Yes,
4213 LegendShow_No,
4214 LegendShow_Auto,
4215 END_LegendShow_e,
4216 LegendShow_Invalid = BadEnumValue
4217 } LegendShow_e;
4219 typedef enum
4221 LineMapSort_None,
4222 LineMapSort_IndependentVar,
4223 LineMapSort_DependentVar,
4224 LineMapSort_SpecificVar,
4225 END_LineMapSort_e,
4226 LineMapSort_Invalid = BadEnumValue
4227 } LineMapSort_e;
4229 typedef enum
4231 ContLegendLabelLocation_ContourLevels,
4232 ContLegendLabelLocation_Increment,
4233 ContLegendLabelLocation_ColorMapDivisions,
4234 END_ContLegendLabelLocation_e,
4235 ContLegendLabelLocation_Invalid = BadEnumValue
4236 } ContLegendLabelLocation_e;
4238 typedef enum
4240 ThetaMode_Degrees,
4241 ThetaMode_Radians,
4242 ThetaMode_Arbitrary,
4243 END_ThetaMode_e,
4244 ThetaMode_Invalid = BadEnumValue
4245 } ThetaMode_e;
4247 typedef enum
4249 Transform_PolarToRect,
4250 Transform_SphericalToRect,
4251 Transform_RectToPolar,
4252 Transform_RectToSpherical,
4253 END_Transform_e,
4254 Transform_Invalid = BadEnumValue
4255 } Transform_e;
4257 typedef enum
4259 LaunchDialogMode_ModalSync,
4260 LaunchDialogMode_Modeless,
4261 LaunchDialogMode_ModalAsync,
4262 END_LaunchDialogMode_e,
4263 LaunchDialogMode_Invalid = BadEnumValue
4264 } LaunchDialogMode_e;
4267 typedef enum
4269 SelectFileOption_ReadSingleFile,
4270 SelectFileOption_ReadMultiFile,
4271 SelectFileOption_AllowMultiFileRead,
4272 SelectFileOption_WriteFile,
4273 SelectFileOption_SelectDirectory,
4274 END_SelectFileOption_e,
4275 SelectFileOption_Invalid = BadEnumValue
4276 } SelectFileOption_e;
4278 typedef enum
4280 BinaryFileVersion_Tecplot2006,
4281 BinaryFileVersion_Tecplot2008,
4282 BinaryFileVersion_Tecplot2009,
4283 BinaryFileVersion_Current,
4284 END_BinaryFileVersion_e,
4285 BinaryFileVersion_Invalid = BadEnumValue
4286 } BinaryFileVersion_e;
4288 /* CURRENTLY NOT USED .... */
4289 typedef enum
4291 ViewActionDrawMode_NoDraw,
4292 ViewActionDrawMode_DrawTrace,
4293 ViewActionDrawMode_DrawFull,
4294 END_ViewActionDrawMode_e,
4295 ViewActionDrawMode_Invalid = BadEnumValue
4296 } ViewActionDrawMode_e;
4298 typedef enum
4300 PageAction_Create,
4301 PageAction_Delete,
4302 PageAction_Clear,
4303 PageAction_SetCurrentToNext,
4304 PageAction_SetCurrentToPrev,
4305 PageAction_SetCurrentByName,
4306 PageAction_SetCurrentByUniqueID,
4307 END_PageAction_e,
4308 PageAction_Invalid = BadEnumValue
4309 } PageAction_e;
4311 typedef enum
4313 FrameAction_PushTop,
4314 FrameAction_PopByNumber,
4315 FrameAction_PopAtPosition,
4316 FrameAction_DeleteActive,
4317 FrameAction_FitAllToPaper,
4318 FrameAction_PushByName,
4319 FrameAction_PopByName,
4320 FrameAction_PushByNumber,
4321 FrameAction_ActivateTop,
4322 FrameAction_ActivateNext,
4323 FrameAction_ActivatePrevious,
4324 FrameAction_ActivateAtPosition,
4325 FrameAction_ActivateByName,
4326 FrameAction_ActivateByNumber,
4327 FrameAction_MoveToTopActive,
4328 FrameAction_MoveToTopByName,
4329 FrameAction_MoveToTopByNumber,
4330 FrameAction_MoveToBottomActive,
4331 FrameAction_MoveToBottomByName,
4332 FrameAction_MoveToBottomByNumber,
4333 END_FrameAction_e,
4334 FrameAction_Invalid = BadEnumValue,
4335 FrameAction_Pop = FrameAction_PopByNumber,
4336 FrameAction_Push = FrameAction_PushByNumber,
4337 FrameAction_DeleteTop = FrameAction_DeleteActive
4338 } FrameAction_e;
4340 typedef enum
4342 DoubleBufferAction_On,
4343 DoubleBufferAction_Off,
4344 DoubleBufferAction_Swap,
4345 END_DoubleBufferAction_e,
4346 DoubleBufferAction_Invalid = BadEnumValue
4347 } DoubleBufferAction_e;
4350 * PickAction_CheckToAdd had the side effects of popping a frame that was selected
4351 * only if not collecting. Pick_AddAtPosition avoids this.
4353 typedef enum
4355 PickAction_CheckToAdd, /* deprecated: use Pick_AddAtPosition */
4356 PickAction_AddAll,
4357 PickAction_AddAllInRegion,
4358 PickAction_Edit,
4359 PickAction_Cut,
4360 PickAction_Copy,
4361 PickAction_Clear,
4362 PickAction_Paste,
4363 PickAction_PasteAtPosition,
4364 PickAction_Shift,
4365 PickAction_Magnify,
4366 PickAction_Push,
4367 PickAction_Pop,
4368 PickAction_SetMouseMode,
4369 PickAction_DeselectAll,
4370 PickAction_AddZones,
4371 PickAction_AddXYMaps, /* deprecated: use PickAction_AddLineMaps */
4372 PickAction_AddLineMaps,
4373 PickAction_AddAtPosition,
4374 END_PickAction_e,
4375 PickAction_Invalid = BadEnumValue
4376 } PickAction_e;
4379 typedef enum
4381 ContourLevelAction_Add,
4382 ContourLevelAction_New,
4383 ContourLevelAction_DeleteRange,
4384 ContourLevelAction_Reset,
4385 ContourLevelAction_ResetToNice,
4386 ContourLevelAction_DeleteNearest,
4387 END_ContourLevelAction_e,
4388 ContourLevelAction_Invalid = BadEnumValue
4389 } ContourLevelAction_e;
4391 typedef enum
4393 ContourLabelAction_Add,
4394 ContourLabelAction_DeleteAll,
4395 END_ContourLabelAction_e,
4396 ContourLabelAction_Invalid = BadEnumValue
4397 } ContourLabelAction_e;
4399 typedef enum
4401 StreamtraceAction_Add,
4402 StreamtraceAction_DeleteAll,
4403 StreamtraceAction_DeleteRange,
4404 StreamtraceAction_SetTerminationLine,
4405 StreamtraceAction_ResetDeltaTime,
4406 END_StreamtraceAction_e,
4407 StreamtraceAction_Invalid = BadEnumValue
4408 } StreamtraceAction_e;
4410 typedef enum
4412 ColorMapControlAction_RedistributeControlPoints,
4413 ColorMapControlAction_CopyCannedColorMap,
4414 ColorMapControlAction_ResetToFactoryDefaults,
4415 END_ColorMapControlAction_e,
4416 ColorMapControlAction_Invalid = BadEnumValue
4417 } ColorMapControlAction_e;
4419 typedef enum
4421 ColorMapDistribution_Continuous,
4422 ColorMapDistribution_Banded,
4423 END_ColorMapDistribution_e,
4424 ColorMapDistribution_Invalid = BadEnumValue
4425 } ColorMapDistribution_e;
4427 typedef enum
4429 RGBMode_SpecifyRGB,
4430 RGBMode_SpecifyRG,
4431 RGBMode_SpecifyRB,
4432 RGBMode_SpecifyGB,
4433 END_RGBMode_e,
4434 RGBMode_Invalid = BadEnumValue
4435 } RGBMode_e;
4437 typedef enum
4439 TecUtilErr_None,
4440 TecUtilErr_Undetermined,
4441 END_TecUtilErr_e,
4442 TecUtilErr_Invalid = BadEnumValue
4443 } TecUtilErr_e;
4445 /* BEGINREMOVEFROMADDON */
4446 /* deprecated type from alpha/beta v10 */
4447 typedef enum
4449 AxisShape_Ray,
4450 AxisShape_LineTwoDirections,
4451 AxisShape_LShape,
4452 AxisShape_CrossOrBox,
4453 END_AxisShape_e,
4454 AxisShape_Invalid = BadEnumValue
4455 } AxisShape_e;
4457 /* licensing enums : keep hidden */
4458 typedef enum
4460 RunMode_Demo,
4461 RunMode_Eval,
4462 RunMode_Full,
4463 /**/
4464 END_RunMode_e,
4465 /**/
4466 RunMode_Invalid = BadEnumValue
4467 } RunMode_e;
4469 /* ENDREMOVEFROMADDON */
4471 typedef enum /* Custom exporter error message */
4473 ExportCustReturnCode_Ok,
4474 ExportCustReturnCode_Failed,
4475 ExportCustReturnCode_TecplotLocked,
4476 ExportCustReturnCode_ExporterNotLoaded,
4477 ExportCustReturnCode_ExportCallbackFailed,
4478 ExportCustReturnCode_NotAnImageExporter,
4479 ExportCustReturnCode_NotAFieldDataExporter,
4480 END_ExportCustReturnCode_e,
4481 ExportCustReturnCode_Invalid = BadEnumValue
4482 } ExportCustReturnCode_e;
4485 * COB/Zone types.
4487 typedef enum
4489 CZType_FieldDataZone,
4490 CZType_FEBoundaryCOB,
4491 CZType_IsoSurfaceCOB,
4492 CZType_SliceCOB,
4493 CZType_StreamtraceCOB,
4494 CZType_StreamtraceMarkerCOB,
4495 CZType_StreamtraceArrowheadCOB,
4496 END_CZType_e,
4497 CZType_Invalid = BadEnumValue
4498 } CZType_e;
4502 typedef enum
4504 FaceNeighborMode_LocalOneToOne,
4505 FaceNeighborMode_LocalOneToMany,
4506 FaceNeighborMode_GlobalOneToOne,
4507 FaceNeighborMode_GlobalOneToMany,
4508 END_FaceNeighborMode_e,
4509 FaceNeighborMode_Invalid = BadEnumValue
4510 } FaceNeighborMode_e;
4514 * Page render destinations.
4516 typedef enum
4518 PageRenderDest_None,
4519 PageRenderDest_OnScreen,
4520 PageRenderDest_OffScreen,
4521 END_PageRenderDest_e,
4522 PageRenderDest_Invalid = BadEnumValue
4523 } PageRenderDest_e;
4525 /* BEGINREMOVEFROMADDON */
4527 * Destination for all internal rendering (VDI/Gr) functions. For external
4528 * linkage we translate RenderDest_WorkArea to PageRenderDest_OnScreen,
4529 * RenderDest_OffscreenBitmap to PageRenderDest_OffScreen and
4530 * RenderDest_Invalid to PageRenderDest_None.
4532 typedef enum
4534 RenderDest_WorkArea, /* Do not move from start of screen entries */
4535 RenderDest_ExampleText,
4536 RenderDest_ExampleLightSourcePosition,
4537 RenderDest_ExampleColorMap,
4538 RenderDest_ExampleBasicColor, /* Do not move from end of screen entries */
4539 RenderDest_OffscreenBitmap,
4540 RenderDest_Hardcopy,
4541 END_RenderDest_e,
4542 RenderDest_Invalid = BadEnumValue,
4544 * These next two are optimizations to make the
4545 * RDT_IsScreen() macro as efficient as possible.
4547 RenderDest_FirstScreenEntry = RenderDest_WorkArea,
4548 RenderDest_LastScreenEntry = RenderDest_ExampleBasicColor
4549 } RenderDest_e;
4550 /* ENDREMOVEFROMADDON */
4552 typedef enum
4554 Stipple_All,
4555 Stipple_Critical,
4556 Stipple_None,
4557 END_Stipple_e,
4558 Stipple_Invalid = BadEnumValue
4559 } Stipple_e;
4561 typedef enum
4563 DataFileType_Full,
4564 DataFileType_Grid,
4565 DataFileType_Solution,
4566 END_DataFileType_e,
4567 DataFileType_Invalid = BadEnumValue
4568 } DataFileType_e;
4570 typedef enum
4572 ConditionAwakeReason_Signaled,
4573 ConditionAwakeReason_TimedOut,
4574 END_ConditionAwakeReason_e,
4575 ConditionAwakeReason_Invalid = BadEnumValue
4576 } ConditionAwakeReason_e;
4578 /****************************************************************
4580 * STRUCTURE TYPEDEFS *
4582 ****************************************************************/
4585 * These are defined to work with pthreads, more work for WINAPI needed
4587 typedef struct _Mutex_a* Mutex_pa;
4589 typedef void*(STDCALL *ThreadFunction_pf)(ArbParam_t ThreadData);
4591 typedef struct _Condition_a* Condition_pa;
4593 typedef struct _JobControl_s* JobControl_pa;
4595 typedef void (STDCALL *ThreadPoolJob_pf)(ArbParam_t JobData);
4597 /* BEGINREMOVEFROMADDON */
4598 #if defined TECPLOTKERNEL
4599 /* CORE SOURCE CODE REMOVED */
4600 #if defined USE_OOSTYLE
4601 #endif
4602 #endif /* TECPLOTKERNEL */
4603 /* ENDREMOVEFROMADDON */
4605 typedef struct _StringList_s *StringList_pa;
4606 typedef struct _Menu_s *Menu_pa;
4607 /* BEGINREMOVEFROMADDON */
4608 typedef struct _ArrayList_s *ArrayList_pa;
4609 /* ENDREMOVEFROMADDON */
4611 typedef enum
4613 ImageResizeFilter_Texture,
4614 ImageResizeFilter_Box,
4615 ImageResizeFilter_Lanczos2,
4616 ImageResizeFilter_Lanczos3,
4617 ImageResizeFilter_Triangle,
4618 ImageResizeFilter_Bell,
4619 ImageResizeFilter_BSpline,
4620 ImageResizeFilter_Cubic,
4621 ImageResizeFilter_Mitchell,
4622 ImageResizeFilter_Gaussian,
4623 END_ImageResizeFilter_e,
4624 ImageResizeFilter_Invalid = BadEnumValue
4625 } ImageResizeFilter_e;
4627 typedef enum
4629 VarStatus_Passive,
4630 VarStatus_Custom,
4631 VarStatus_Map,
4632 VarStatus_Heap,
4633 VarStatus_NotLoaded,
4634 END_VarStatus_e,
4635 VarStatus_Invalid = BadEnumValue
4636 } VarStatus_e;
4640 /* BEGINREMOVEFROMADDON */
4642 /* here until GR and GRHW layer can be rearranged. */
4643 #if defined TECPLOTKERNEL
4644 /* CORE SOURCE CODE REMOVED */
4645 # if !defined NO_ASSERTS
4646 # endif
4647 #endif /* TECPLOTKERNEL */
4649 /* ENDREMOVEFROMADDON */
4651 typedef struct _Set_a *Set_pa;
4653 typedef struct
4655 double X;
4656 double Y;
4657 double Z;
4658 } XYZ_s;
4660 /* BEGINREMOVEFROMADDON */
4662 typedef struct _Generic3Var_s
4664 double V1;
4665 double V2;
4666 double V3;
4667 } Generic3Var_s;
4669 typedef struct _ThetaR_s
4671 double Theta;
4672 double R;
4673 } ThetaR_s;
4676 * This union is designed to allow different plottypes
4677 * to access the same values by different names. In
4678 * C++ we could use member access functions, or we
4679 * could have used macros, but instead we use this
4680 * union. NOTE: This only works if all the structures
4681 * have the same alignment.
4683 typedef union _AnchorPos_u
4685 Generic3Var_s Generic;
4686 XYZ_s XYZ;
4687 ThetaR_s ThetaR;
4688 } AnchorPos_u;
4690 typedef struct _DataFileInfo_s
4692 char *PrimaryFName;
4693 char *TempBinaryFName;
4694 DataFileType_e FileType;
4695 FileOffset_t DataFileOffset;
4696 StringList_pa VarName;
4697 EntIndex_t NumZones;
4698 EntIndex_t NumVars;
4699 double SolutionFileTime;
4700 struct _DataFileInfo_s *NextFile;
4701 } DataFileInfo_s;
4703 typedef struct _StylesheetIOFlags_s
4705 Boolean_t IncludePlotStyle;
4706 Boolean_t IncludeFieldAndMapStyle; /* Only used for undo */
4707 Boolean_t IncludeUniqueIDs; /* Only used for undo */
4708 Boolean_t IncludeText;
4709 Boolean_t IncludeGeom;
4710 Boolean_t IncludeGeomImageData;
4711 Boolean_t IncludeAuxData;
4712 Boolean_t IncludeStreamPositions;
4713 Boolean_t IncludeContourLevels;
4714 Boolean_t IncludeFactoryDefaults; /* Only used when writing */
4715 Boolean_t CompressStyleCommands; /* Only used when writing */
4716 Boolean_t MergeStyle; /* Only used when reading */
4717 Boolean_t IncludeFrameSizeAndPosition; /* Only used when reading */
4718 Boolean_t UseRelativePaths;
4719 } StylesheetIOFlags_s;
4724 typedef struct
4726 Boolean_t Show; /* power switch */
4727 Boolean_t ShowMesh;
4728 Boolean_t ShowContour;
4729 Boolean_t ShowShade;
4730 Boolean_t UseLightingEffect;
4731 Boolean_t UseTranslucency;
4732 } IsoSurfaceLayers_s;
4736 typedef struct
4738 Boolean_t Show; /* power switch */
4739 Boolean_t ShowMesh;
4740 Boolean_t ShowContour;
4741 Boolean_t ShowVector;
4742 Boolean_t ShowShade;
4743 Boolean_t ShowEdge;
4744 Boolean_t UseLightingEffect;
4745 Boolean_t UseTranslucency;
4746 } SliceLayers_s;
4750 typedef struct
4752 Boolean_t Show; /* power switch */
4753 Boolean_t ShowPaths;
4754 Boolean_t ShowDashes;
4755 Boolean_t ShowArrowheads;
4756 Boolean_t ShowMesh;
4757 Boolean_t ShowContour;
4758 Boolean_t ShowShade;
4759 Boolean_t ShowMarkers;
4760 Boolean_t UseLightingEffect;
4761 Boolean_t UseTranslucency;
4762 } StreamtraceLayers_s;
4766 typedef struct
4768 #if 0 /* in the future we may add a main power switch */
4769 Boolean_t Show; /* power switch */
4770 #endif
4771 TwoDDrawOrder_e TwoDDrawOrder;
4772 Boolean_t ShowMesh;
4773 Boolean_t ShowContour;
4774 Boolean_t ShowVector;
4775 Boolean_t ShowScatter;
4776 Boolean_t ShowShade;
4777 Boolean_t ShowEdge;
4778 Boolean_t UseLightingEffect;
4779 Boolean_t UseTranslucency;
4780 } FieldLayers_s;
4783 * General purpose field layers structure used for low level drawing code only.
4784 * SetupXxxx is responsible for populating this general field layers structure
4785 * from the specific layer structures above for CZInfo.
4787 typedef struct
4789 Boolean_t ShowMesh;
4790 Boolean_t ShowContour;
4791 Boolean_t ShowVector;
4792 Boolean_t ShowScatter;
4793 Boolean_t ShowShade;
4794 Boolean_t ShowEdge;
4795 Boolean_t UseLightingEffect;
4796 Boolean_t UseTranslucency;
4797 } CZFieldLayers_s;
4801 typedef struct _LinePlotLayers_s
4803 #if 0 /* in the future we may add a main power switch */
4804 Boolean_t Show; /* power switch */
4805 #endif
4806 Boolean_t ShowLines;
4807 Boolean_t ShowSymbols;
4808 Boolean_t ShowBarCharts;
4809 Boolean_t ShowErrorBars;
4810 } LinePlotLayers_s;
4813 typedef union _InterfaceAdjust_u
4815 double ScaleFact;
4816 LgIndex_t Shift;
4817 } InterfaceAdjust_u;
4819 typedef Boolean_t (*SuffixModifier_pf)(TP_IN_OUT double* Value,
4820 const char* Suffix);
4822 typedef struct _InputSpecs_s
4824 Input_e Type;
4825 double Min;
4826 double Max;
4827 InterfaceAdjust_u InterfaceAdjust;
4828 SuffixModifier_pf SuffixModifier;
4829 } InputSpec_s;
4832 typedef struct _RGB_s
4834 ColorIndex_t R;
4835 ColorIndex_t G;
4836 ColorIndex_t B;
4837 } RGB_s;
4840 typedef struct _ControlPoint_s
4842 double ColorMapFraction;
4843 RGB_s LeadRGB;
4844 RGB_s TrailRGB;
4845 } ControlPoint_s;
4848 typedef struct _ColorMapBand_s
4850 short NumControlPoints;
4851 ControlPoint_s ControlPoint[MaxColorMapControlPoints];
4852 } ColorMapBand_s;
4855 typedef struct _EventAction_s
4857 int I;
4858 int J;
4859 int LastI;
4860 int LastJ;
4861 int BaseI;
4862 int BaseJ;
4863 int ButtonOrKey;
4864 Event_e Event;
4865 Boolean_t IsShifted;
4866 Boolean_t IsAlted;
4867 Boolean_t IsControlled;
4868 Boolean_t WasShiftedOnButtonPress;
4869 Boolean_t WasAltedOnButtonPress;
4870 Boolean_t WasControlledOnButtonPress;
4871 } EventAction_s;
4873 typedef struct _MacroCmd_s
4875 LString_t MacroLine;
4876 struct _MacroCmd_s *NextCmd;
4877 } MacroCmd_s;
4880 typedef struct _IntegerRect_s
4882 LgIndex_t X1;
4883 LgIndex_t Y1;
4884 LgIndex_t X2;
4885 LgIndex_t Y2;
4886 } IntegerRect_s;
4889 typedef struct _Rect_s
4891 double X1;
4892 double Y1;
4893 double X2;
4894 double Y2;
4895 } Rect_s;
4897 typedef struct _XY_s
4899 double X;
4900 double Y;
4901 } XY_s;
4903 typedef struct _IJKSkip_s
4905 LgIndex_t I;
4906 LgIndex_t J;
4907 LgIndex_t K;
4908 } IJKSkip_s;
4914 * NOTE ON RANGES (Ent and Index)
4916 * Min, Max and Skip all use the following assignment logic:
4918 * 0 = First element
4919 * -1 = mxindex value, (X[mxindex-1] in c)
4920 * -n = mxindex-n+1 value (X[mxindex+n] in c)
4921 * n = n+1 value (X[n] in c)
4926 * 2/28/95: NOTE: EntRange_s is no longer used but may be
4927 * needed later.
4930 typedef struct _EntRange_s
4932 EntIndex_t Min;
4933 EntIndex_t Max;
4934 EntIndex_t Skip;
4935 } EntRange_s;
4938 typedef struct _IndexRange_s
4940 LgIndex_t Min;
4941 LgIndex_t Max;
4942 LgIndex_t Skip;
4943 } IndexRange_s;
4946 #if defined TECPLOTKERNEL
4947 /* CORE SOURCE CODE REMOVED */
4948 #if defined (THREED)
4949 #endif
4950 #endif /* TECPLOTKERNEL */
4952 typedef struct _TextShape_s
4954 Font_e Font;
4955 double Height;
4956 Units_e SizeUnits;
4957 } TextShape_s;
4959 #define AsciiShapeFontIsGreek(S) (((S)->UseBaseFont == FALSE) && ((S)->FontOverride == Font_Greek))
4960 #define AsciiShapeFontIsMath(S) (((S)->UseBaseFont == FALSE) && ((S)->FontOverride == Font_Math))
4961 #define AsciiShapeFontIsUserDefined(S) (((S)->UseBaseFont == FALSE) && ((S)->FontOverride == Font_UserDefined))
4964 typedef struct
4966 Boolean_t UseBaseFont; /* (Default = TRUE) */
4967 Font_e FontOverride;/* (Default = Font_Math)*/
4968 SymbolChar_t Char;
4969 } AsciiShape_s;
4971 typedef struct _SymbolShape_s
4973 GeomShape_e GeomShape;
4974 Boolean_t IsAscii;
4975 AsciiShape_s AsciiShape;
4976 } SymbolShape_s;
4978 #ifdef NOT_USED
4979 struct _AddOnList_a
4981 /* added temporarily so Windows makelibtec works */
4982 int dummy;
4984 #endif
4986 /* ENDREMOVEFROMADDON */
4988 typedef struct _AddOnList_a *AddOn_pa;
4990 typedef struct _NodeMap_a *NodeMap_pa;
4992 /* BEGINREMOVEFROMADDON */
4993 typedef struct _StylePointState_a *StylePointState_pa;
4994 typedef struct _DataElementState_a *DataElementState_pa;
4995 typedef struct _StyleElementState_a *StyleElementState_pa;
4996 typedef struct _NormalCache_a *NormalCache_pa;
4997 /* ENDREMOVEFROMADDON */
5000 #define INVALID_INDEX (-1)
5002 /* used to indicate that no neighboring element or zone exists */
5003 #define NO_NEIGHBORING_ELEMENT (-1)
5004 #define NO_NEIGHBORING_ZONE (-1)
5006 typedef struct _FaceNeighbor_a *FaceNeighbor_pa;
5010 typedef struct _FaceMap_a *FaceMap_pa;
5014 typedef struct _ElemToFaceMap_a *ElemToFaceMap_pa;
5018 typedef struct _NodeToElemMap_a *NodeToElemMap_pa;
5020 /* BEGINREMOVEFROMADDON */
5023 * Enumerates the face neighbor array members to make indexed members
5024 * identifiable.
5026 typedef enum
5028 FaceNeighborMemberArray_CellFaceNbrs,
5029 FaceNeighborMemberArray_BndryConnectNbrsCompObscure,
5030 FaceNeighborMemberArray_BndryConnectFaceToCellsMap,
5031 FaceNeighborMemberArray_BndryConnectIsPerfectNbr,
5032 FaceNeighborMemberArray_BndryConnectCellList,
5033 FaceNeighborMemberArray_BndryConnectZoneList,
5034 END_FaceNeighborMemberArray_e,
5035 FaceNeighborMemberArray_Invalid = BadEnumValue
5036 } FaceNeighborMemberArray_e;
5038 int const FaceNeighborNumMemberArrays = (int)END_FaceNeighborMemberArray_e;
5041 * Enumerates the face map's array members to make indexed members
5042 * identifiable.
5044 typedef enum
5046 FaceMapMemberArray_FaceNodeOffsets,
5047 FaceMapMemberArray_FaceNodes,
5048 FaceMapMemberArray_FaceLeftElems,
5049 FaceMapMemberArray_FaceRightElems,
5050 FaceMapMemberArray_FaceBndryItemOffsets,
5051 FaceMapMemberArray_FaceBndryItemElems,
5052 FaceMapMemberArray_FaceBndryItemElemZones,
5053 END_FaceMapMemberArray_e,
5054 FaceMapMemberArray_Invalid = BadEnumValue
5055 } FaceMapMemberArray_e;
5057 const int FaceMapNumMemberArrays = (int)END_FaceMapMemberArray_e;
5060 * Enumerates the element to face map's array members to make indexed members
5061 * identifiable.
5063 typedef enum
5065 ElemToFaceMapMemberArray_ElemFaceOffsets,
5066 ElemToFaceMapMemberArray_ElemFaces,
5067 END_ElemToFaceMapMemberArray_e,
5068 ElemToFaceMapMemberArray_Invalid = BadEnumValue
5069 } ElemToFaceMapMemberArray_e;
5071 const int ElemToFaceMapNumMemberArrays = (int)END_ElemToFaceMapMemberArray_e;
5074 * Enumerates the element map's array members to make indexed members
5075 * identifiable.
5077 typedef enum
5079 NodeToElemMapMemberArray_NodeElemOffsets,
5080 NodeToElemMapMemberArray_NodeElems,
5081 END_NodeToElemMapMemberArray_e,
5082 NodeToElemMapMemberArray_Invalid = BadEnumValue
5083 } NodeToElemMapMemberArray_e;
5085 const int NodeToElemMapNumMemberArrays = (int)END_NodeToElemMapMemberArray_e;
5087 /* ENDREMOVEFROMADDON */
5090 typedef struct _FieldData_a *FieldData_pa;
5094 typedef struct _AuxData_s *AuxData_pa;
5098 * Enumerates the data value structure of a variable in a data file.
5099 * For all but ordered cell centered data the classic, classic padded and
5100 * classic plus formats are identical. All values are laid out contiguously
5101 * in the file. The number of values written depends upon the value location:
5103 * - FE nodal:\n
5104 * The number of values equals the number of data points.
5105 * - FE cell centered:\n
5106 * The number of values equals the number of elements.
5107 * - Ordered nodal:\n
5108 * The number of values equals the number of data points.
5109 * - Ordered cell centered:\n
5110 * There are three formats:
5111 * -# Classic (binary version < 103):\n
5112 * Classic is a compressed format of ordered cell centered data in
5113 * that it does not include ghost cells. The cell index of each cell
5114 * does not correspond to the lowest corner point index of each cell
5115 * as it does internally in Tecplot.\n
5116 * The number of values in the data file is calculated as follows:
5117 * @code
5118 * NumValues = MAX(IMax-1,1) * MAX(JMax-1,1) * MAX(KMax-1,1);
5119 * @endcode
5120 * Where IMax, JMax, and KMax are the maximum point dimensions of the
5121 * zone.
5122 * -# Classic padded (binary version < 104):\n
5123 * Classic padded is an intermediary format that was available only
5124 * within Tecplot, Inc. The cell centered data includes the ghost cells
5125 * and each cell index corresponds to the lowest corner point index of
5126 * each cell.\n
5127 * The number of values in the data file (including ghost cells) is
5128 * calculated as follows:
5129 * @code
5130 * NumValues = IMax * JMax * KMax;
5131 * @endcode
5132 * Where IMax, JMax, and KMax are the maximum point dimensions of the
5133 * zone. The contents of the ghost cells is undefined and should not
5134 * be used.
5135 * -# Classic plus (binary version >= 104):\n
5136 * Classic plus is similar to classic padded except that it does not
5137 * include the ghost cells of the slowest moving index greater than
5138 * one.\n
5139 * The number of values in the data file (including ghost cells) is
5140 * calculated as follows:
5141 * @code
5142 * FinalIMax = IMax;
5143 * FinalJMax = JMax;
5144 * FinalKMax = KMax;
5146 * // decrement the max index of the slowest moving index greater than 1
5147 * if (KMax > 1)
5148 * FinalKMax--;
5149 * else if (JMax > 1)
5150 * FinalJMax--;
5151 * else if (IMax > 1)
5152 * FinalIMax--;
5154 * NumValues = FinalIMax * FinalJMax * FinalKMax;
5155 * @endcode
5156 * Where IMax, JMax, and KMax are the maximum point dimensions of the
5157 * zone. The contents of the ghost cells is undefined and should not
5158 * be used.
5160 typedef enum
5162 DataValueStructure_Classic,
5163 DataValueStructure_ClassicPadded,
5164 DataValueStructure_ClassicPlus,
5165 END_DataValueStructure_e,
5166 /* BEGINREMOVEFROMADDON */
5167 DataValueStructure_Latest = (END_DataValueStructure_e - 1),
5168 /* ENDREMOVEFROMADDON */
5169 DataValueStructure_Invalid = BadEnumValue
5170 } DataValueStructure_e;
5173 * Enumerates the data node structure of a node map in a data file. The classic
5174 * format uses 1 based nodes while the classic plus format uses zero based
5175 * node.
5177 typedef enum
5179 DataNodeStructure_Classic, /* ones based node maps */
5180 DataNodeStructure_ClassicPlus, /* zero based node maps */
5181 END_DataNodeStructure_e,
5182 DataNodeStructure_Invalid = BadEnumValue
5183 } DataNodeStructure_e;
5186 * Enumerates the variable locking modes. The \ref VarLockMode_ValueChange mode
5187 * prevents modification of the values in a variable but permits deletion, and
5188 * the \ref VarLockMode_Delete mode prevents deletion of a varaible but permits
5189 * modification.
5191 typedef enum
5193 VarLockMode_ValueChange,
5194 VarLockMode_Delete,
5195 END_VarLockMode_e,
5196 VarLockMode_Invalid = BadEnumValue
5197 } VarLockMode_e;
5199 typedef enum
5201 FieldMapMode_UseStrandID,
5202 FieldMapMode_UseZoneSet,
5203 END_FieldMapMode_e,
5204 FieldMapMode_Invalid = BadEnumValue
5205 } FieldMapMode_e;
5207 typedef enum
5209 UnloadStrategy_Auto,
5210 UnloadStrategy_NeverUnload,
5211 UnloadStrategy_MinimizeMemoryUse,
5212 END_UnloadStrategy_e,
5213 UnloadStrategy_Invalid = BadEnumValue
5214 } UnloadStrategy_e;
5216 /* BEGINREMOVEFROMADDON */
5220 typedef struct
5222 ColorIndex_t PresetZoneColor;
5223 Boolean_t IsInBlockFormat;
5224 } ZoneLoadInfo_s;
5227 * Note: For FE Data, NumPtsI = Number of data points.
5228 * NumPtsJ = Number of elements.
5229 * NumPtsK = Number of points per element.
5232 typedef struct _ZoneSpec_s
5234 UniqueID_t UniqueID;
5235 ZoneName_t Name;
5236 EntIndex_t ParentZone;
5237 Strand_t StrandID;
5238 double SolutionTime;
5239 LgIndex_t NumPtsI; // ...NumDataPts
5240 LgIndex_t NumPtsJ; // ...NumElements
5241 LgIndex_t NumPtsK; // ...NumPtsPerElem or NumFaces
5242 LgIndex_t ICellDim; // ...currently not used
5243 LgIndex_t JCellDim; // ...currently not used
5244 LgIndex_t KCellDim; // ...currently not used
5245 ZoneType_e Type;
5246 ZoneLoadInfo_s ZoneLoadInfo;
5247 AuxData_pa AuxData;
5248 Boolean_t BuildZoneOptInfo;
5250 /* classic data only */
5251 FaceNeighborMode_e FNMode;
5252 Boolean_t FNAreCellFaceNbrsSupplied; // ...meaning we don't need to update them
5254 /* polytope data only */
5255 LgIndex_t NumFaceNodes;
5256 LgIndex_t NumFaceBndryFaces;
5257 LgIndex_t NumFaceBndryItems;
5258 } ZoneSpec_s;
5262 #if defined TECPLOTKERNEL
5263 /* CORE SOURCE CODE REMOVED */
5264 #endif /* TECPLOTKERNEL */
5266 typedef struct _GenericImage_a *GenericImage_pa;
5268 typedef struct _TextBox_s
5270 TextBox_e BoxType; /* Used to be textbox */
5271 double Margin; /* Used to be textboxmargin */
5272 double LineThickness; /* Used to be textboxmargin */
5273 ColorIndex_t BColor; /* Used to be textboxcolor */
5274 ColorIndex_t FillBColor; /* Used to be textboxfillcolor */
5275 } TextBox_s;
5278 typedef struct _Text_s
5280 UniqueID_t UniqueID; /* Not used yet */
5281 AnchorPos_u AnchorPos;
5282 CoordSys_e PositionCoordSys;
5283 EntIndex_t Zone;
5284 Boolean_t AttachToZone; /* New */
5285 ColorIndex_t BColor; /* Used to be TextColor */
5286 TextShape_s TextShape;
5287 TextBox_s Box; /* Box items used to be here*/
5288 double Angle; /* NOTE: short in v6, now in rad */
5289 TextAnchor_e Anchor; /* New */
5290 double LineSpacing; /* New */
5291 Scope_e Scope;
5292 char *MacroFunctionCommand;
5293 Clipping_e Clipping;
5294 char *Text;
5295 struct _Text_s *NextText;
5296 struct _Text_s *PrevText;
5297 } Text_s;
5300 typedef struct _GenericGeomData_s
5302 FieldData_pa V1Base;
5303 FieldData_pa V2Base;
5304 FieldData_pa V3Base;
5305 } GenericGeomData_s;
5307 typedef struct _PolarGeomData_s
5309 FieldData_pa ThetaBase;
5310 FieldData_pa RBase;
5311 } PolarGeomData_s;
5313 typedef struct _CartesianGeomData_s
5315 FieldData_pa XBase;
5316 FieldData_pa YBase;
5317 FieldData_pa ZBase;
5318 } CartesianGeomData_s;
5321 * This union is designed to allow different plottypes
5322 * to access the same values by different names. In
5323 * C++ we could use member access functions, or we
5324 * could have used macros, but instead we use this
5325 * union. NOTE: This only works if all the structures
5326 * have the same alignment.
5328 typedef union _GeomData_u
5330 GenericGeomData_s Generic;
5331 CartesianGeomData_s XYZ;
5332 PolarGeomData_s ThetaR;
5333 } GeomData_u;
5335 typedef struct _Geom_s
5337 UniqueID_t UniqueID;
5338 GeomType_e GeomType;
5339 CoordSys_e PositionCoordSys;
5340 AnchorPos_u AnchorPos;
5341 Boolean_t AttachToZone;
5342 EntIndex_t Zone;
5343 ColorIndex_t BColor;
5344 Boolean_t IsFilled;
5345 ColorIndex_t FillBColor;
5346 LinePattern_e LinePattern;
5347 double PatternLength;
5348 double LineThickness;
5349 Scope_e Scope;
5350 DrawOrder_e DrawOrder;
5351 Clipping_e Clipping;
5352 FieldDataType_e DataType;
5353 char *MacroFunctionCommand;
5354 ArrowheadStyle_e ArrowheadStyle;
5355 ArrowheadAttachment_e ArrowheadAttachment;
5356 double ArrowheadSize;
5357 double ArrowheadAngle;
5358 SmInteger_t NumEllipsePts;
5359 char *ImageFileName;
5360 LgIndex_t ImageNumber; /* used only to locate images within .lpk files */
5361 Boolean_t MaintainAspectRatio;
5362 double PixelAspectRatio; /* VerticalPixelsPerHorizontalPixel */
5363 SmInteger_t NumSegments;
5364 SegPtsArray_t NumSegPts;
5365 GeomData_u GeomData;
5366 ImageResizeFilter_e ImageResizeFilter;
5367 /* Internal Scratch */
5368 GenericImage_pa _ImageData;
5369 struct _Geom_s *_NextGeom;
5370 struct _Geom_s *_PrevGeom;
5371 } Geom_s;
5374 typedef struct _Text_s *Text_pa;
5375 typedef struct _Geom_s *Geom_pa;
5378 #if defined TECPLOTKERNEL
5379 /* CORE SOURCE CODE REMOVED */
5380 #if defined USE_OOSTYLE
5381 #endif
5382 #if defined USE_OOSTYLE
5383 #endif
5384 #endif /* TECPLOTKERNEL */
5386 /* ENDREMOVEFROMADDON */
5387 /* - NO DOXYGEN COMMENT GENERATION -
5388 * Page creation callback is responsible for creating a RenderHandler for the page and
5389 * calling @ref TecEngPageCreateNew(ArbParam_t RenderHandle)
5391 * The RenderHandler type can be anything, for example,a pointer to a class instance that will
5392 * be responsible for handling requests from the engine to perform operations on
5393 * a page.
5395 * @param PageConstructionHints a string list of construction hints that can be used for deciding
5396 * how the page should be displayed in an application's UI. The construction hints could have been
5397 * restored from a saved layout file or passed to @ref TecUtilPageCreateNew function.
5399 * @param RegistrationClientData
5400 * Client data that was registered with the callback.
5402 * @return TRUE if page create request was handled and TecEngPageCreateNew() returned TRUE.
5404 * @sa TecEngPageCreateRegisterCallback, TecEngPageCreateNew
5406 * @since
5407 * 11.0-5-014
5409 typedef Boolean_t (STDCALL *PageCreateCallback_pf)(StringList_pa PageConstructionHints,
5410 ArbParam_t RegistrationClientData);
5412 /* - NO DOXYGEN COMMENT GENERATION -
5413 * Page destruction callback responsible for destroying a page.
5415 * @param PageClientData
5416 * Data associated with a page that was returned from the PageCreateCallback_pf
5417 * callback function. You will get a different value for each page.
5419 * @param RegistrationClientData
5420 * Data associated with the registration of this function. This will always return
5421 * the value supplied in the original registration of this function.
5423 * @sa TecEngPageDestroyRegisterCallback, PageCreateCallback_pf
5425 * @since
5426 * 11.0-5-014
5428 typedef void (STDCALL *PageDestroyCallback_pf)(ArbParam_t PageClientData,
5429 ArbParam_t RegistrationClientData);
5431 /* - NO DOXYGEN COMMENT GENERATION -
5432 * Callback responsible for informing the parent application of a new current page.
5433 * Note that this could be done via a state change monitor but a more secure method
5434 * is needed as state changes may be shut down from time to time.
5436 * @param PageClientData
5437 * Data associated with a page that was returned from the PageCreateCallback_pf
5438 * callback function. You will get a different value for each page.
5440 * @param RegistrationClientData
5441 * Data associated with the registration of this function. This will always return
5442 * the value supplied in the original registration of this function.
5444 * @since
5445 * 11.0-5-017
5447 typedef void (STDCALL *PageNewCurrentCallback_pf)(ArbParam_t PageClientData,
5448 ArbParam_t RegistrationClientData);
5450 /* - NO DOXYGEN COMMENT GENERATION -
5451 * Callback responsible for creation of an offscreen image.
5453 * @param RegistrationClientData
5454 * Data associated with the registration of this function. This will always return
5455 * the value supplied in the original registration of this function.
5457 * @param ImageHandle handle to a newly created image. This is an output parameter.
5459 * @return TRUE if an offscreen image was created successfully.
5461 * @since
5462 * 11.2-0-054
5464 typedef Boolean_t (STDCALL *OffscreenImageCreateCallback_pf)(ScreenDim_t Width,
5465 ScreenDim_t Height,
5466 ArbParam_t RegistrationClientData,
5467 TP_OUT ArbParam_t* ImageHandle);
5469 /* - NO DOXYGEN COMMENT GENERATION -
5470 * Callback responsible for destruction of an offscreen image.
5472 * @param ImageHandle handle to an offscreen image to be destroyed.
5474 * @param RegistrationClientData
5475 * Data associated with the registration of this function. This will always return
5476 * the value supplied in the original registration of this function.
5478 * @since
5479 * 11.2-0-054
5481 typedef void (STDCALL *OffscreenImageDestroyCallback_pf)(ArbParam_t ImageHandle,
5482 ArbParam_t RegistrationClientData);
5484 /* - NO DOXYGEN COMMENT GENERATION -
5485 * Callback responsible for returning RGB values for a row.
5487 * @param ImageHandle
5488 * Handle to an off-screen image from which RGB values to be retrieved.
5490 * @param Row
5491 * Row for which RGB values to be retrieved.
5493 * @param RedArray
5494 * Array to receive the red byte values for the specified Row. The number of values in
5495 * the array must equal the width of the image. The array address is maintained by the
5496 * Tecplot Engine until the image is destroyed however it is reused for each invocation
5497 * of this callback.
5499 * @param GreenArray
5500 * Array to receive the green byte values for the specified Row. The number of values in
5501 * the array must equal the width of the image. The array address is maintained by the
5502 * Tecplot Engine until the image is destroyed however it is reused for each invocation
5503 * of this callback.
5505 * @param BlueArray
5506 * Array to receive the blue byte values for the specified Row. The number of values in
5507 * the array must equal the width of the image. The array address is maintained by the
5508 * Tecplot Engine until the image is destroyed however it is reused for each invocation
5509 * of this callback.
5511 * @param RegistrationClientData
5512 * Data associated with the registration of this function. This will always return
5513 * the value supplied in the original registration of this function.
5515 * @return TRUE if successful, FALSE otherwise.
5517 * @since
5518 * 11.2-0-054
5520 typedef Boolean_t (STDCALL *OffscreenImageGetRGBRowCallback_pf)(ArbParam_t ImageHandle,
5521 ScreenDim_t Row,
5522 ArbParam_t RegistrationClientData,
5523 TP_ARRAY_OUT Byte_t* RedArray,
5524 TP_ARRAY_OUT Byte_t* GreenArray,
5525 TP_ARRAY_OUT Byte_t* BlueArray);
5527 #if defined MSWIN
5528 /* - NO DOXYGEN COMMENT GENERATION -
5529 * Callback responsible for printing an image on the specified printer DC
5531 * @param PrintDC a device context of a printer on which the printing should be performed.
5533 * @param ImageHandle handle to an image to print.
5535 * @param Palette specifies if an image should be printed as a color or monochrome image.
5537 * @param RegistrationClientData
5538 * Data associated with the registration of this function. This will always return
5539 * the value supplied in the original registration of this function.
5541 * @return TRUE if the printing operation was successfull.
5543 * @since
5544 * 11.2-0-463
5546 typedef Boolean_t (STDCALL *WinPrintImageCallback_pf)(HDC PrintDC,
5547 ArbParam_t ImageHandle,
5548 Palette_e Palette,
5549 ArbParam_t RegistrationClientData);
5551 #endif /* MSWIN */
5553 #if defined MSWIN
5554 /* - NO DOXYGEN COMMENT GENERATION -
5555 * Callback responsible for providing a printer context.
5557 * @param RegistrationClientData
5558 * Data associated with the registration of this function. This will always return
5559 * the value supplied in the original registration of this function.
5561 * @return HDC context of the destination printer.
5563 * @since
5564 * 11.2-0-468
5566 typedef HDC(STDCALL *WinPrinterGetContextCallback_pf)(ArbParam_t RegistrationClientData);
5568 #endif /* MSWIN */
5570 /* - NO DOXYGEN COMMENT GENERATION -
5571 * Render destination callback responsible for switching the render destination
5572 * of the OpenGL drawing state when requested by the Tecplot engine.
5574 * @since
5575 * 11.0-0-397
5577 * @param PageRenderDest
5578 * Enumeration of page render destination of interest.
5580 * @param RenderDestClientData
5581 * Data associated with a render destination, such as returned from the PageCreateCallback_pf or
5582 * OffscreenImageCreate_pf callback functions.
5584 * @param RegistrationClientData
5585 * Data associated with the registration of this function. This will always return
5586 * the value supplied in the original registration of this function.
5588 * @return
5589 * TRUE if render destination was set successfully. FALSE, otherwise.
5591 * @sa TecEngRenderDestRegisterCallback
5593 typedef Boolean_t (STDCALL *RenderDestCallback_pf)(PageRenderDest_e PageRenderDest,
5594 ArbParam_t RenderDestClientData,
5595 ArbParam_t RegistrationClientData);
5597 /* - NO DOXYGEN COMMENT GENERATION -
5598 * Render query callback responsible for informing Tecplot if the page
5599 * associated with the PageClientData should be rendered into.
5601 * @since
5602 * 11.0-5-018
5604 * @param PageClientData
5605 * Data associated with a page that was returned from the
5606 * PageCreateCallback_pf callback function.
5607 * @param RegistrationClientData
5608 * Data associated with the registration of this function. This will always
5609 * return the value supplied in the original registration of this function.
5612 * @return
5613 * TRUE if Tecplot should render to the page identified by the
5614 * PageClientData, FALSE otherwise.
5616 * @sa TecEngRenderQueryRegisterCallback
5618 typedef Boolean_t (STDCALL *RenderQueryCallback_pf)(ArbParam_t PageClientData,
5619 ArbParam_t RegistrationClientData);
5620 /* - NO DOXYGEN COMMENT GENERATION -
5621 * Render destination size callback responsible for returning the size of the
5622 * specified render destination when requested by the Tecplot engine.
5624 * @since
5625 * 11.0-0-397
5627 * @param PageClientData
5628 * Data associated with a page that was returned from the
5629 * PageCreateCallback_pf callback function.
5630 * @param RegistrationClientData
5631 * Client data that was registered with the callback.
5632 * @param Width
5633 * Pointer who's contents should receive the width of the current render
5634 * destination.
5635 * @param Height
5636 * Pointer who's contents should receive the height of the current render
5637 * destination.
5639 * @sa TecEngRenderDestSizeRegisterCallback
5641 typedef void (STDCALL *RenderDestSizeCallback_pf)(ArbParam_t PageClientData,
5642 ArbParam_t RegistrationClientData,
5643 TP_OUT LgIndex_t* Width,
5644 TP_OUT LgIndex_t* Height);
5646 /* - NO DOXYGEN COMMENT GENERATION -
5647 * Callback responsible for swapping the front and back buffers for the current
5648 * OpenGL drawing state's render destination when requested by the Tecplot
5649 * engine.
5651 * @since
5652 * 11.0-0-397
5654 * @param RegistrationClientData
5655 * Client data that was registered with the callback.
5657 * @sa TecUtilpBuffersRegisterCallback
5659 typedef void (STDCALL *SwapBuffersCallback_pf)(ArbParam_t RegistrationClientData);
5662 /* - NO DOXYGEN COMMENT GENERATION -
5663 * Callback responsible for querying of key states.
5665 * @since
5666 * 11.0-0-399
5668 * @param RegistrationClientData
5669 * Client data that was registered with the callback.
5670 * @param IsShiftKeyDown
5671 * Boolean pointer. If non-NULL, set the boolean to TRUE if the Shift key is
5672 * down or FALSE if it is up.
5673 * @param IsAltKeyDown
5674 * Boolean pointer. If non-NULL, set the boolean to TRUE if the Alt key is
5675 * down or FALSE if it is up.
5676 * @param IsCntrlKeyDown
5677 * Boolean pointer. If non-NULL, set the boolean to TRUE if the Cntrl key is
5678 * down or FALSE if it is up.
5680 * @sa TecEngKeyStateRegisterCallback
5682 typedef void (STDCALL *KeyStateCallback_pf)(ArbParam_t RegistrationClientData,
5683 TP_OUT Boolean_t* IsShiftKeyDown,
5684 TP_OUT Boolean_t* IsAltKeyDown,
5685 TP_OUT Boolean_t* IsCntrlKeyDown);
5687 /* - NO DOXYGEN COMMENT GENERATION -
5688 * Callback responsible for querying of a mouse button state.
5690 * @since
5691 * 11.0-0-424
5693 * @param Button
5694 * Mouse button number to query. Button numbers start at one.
5695 * @param RegistrationClientData
5696 * Client data that was registered with the callback.
5698 * @return
5699 * TRUE if the specified mouse button is down, FALSE otherwise.
5701 * @sa TecEngMouseButtonStateRegisterCallback
5703 typedef Boolean_t (STDCALL *MouseButtonStateCallback_pf)(int Button,
5704 ArbParam_t RegistrationClientData);
5706 /* - NO DOXYGEN COMMENT GENERATION -
5707 * Callback responsible for setting wait cursor when requested by the kernel
5709 * @since
5710 * 11.2-0-302
5712 * @param Activate
5713 * TRUE if the kernel is requesting that the wait cursor be activated.
5714 * FALSE if the kernel is requesting that the wait cursor be deactivated.
5715 * @param RegistractionClientData
5716 * Client data that was registered with the callback.
5718 * @sa TecEngWaitCursorStateRegisterCallback
5720 typedef void (STDCALL *WaitCursorStateCallback_pf)(Boolean_t Activate,
5721 ArbParam_t RegistrationClientData);
5723 /* - NO DOXYGEN COMMENT GENERATION -
5724 * Callback responsible for setting cursor style when requested by the kernel
5726 * @since
5727 * 11.2-0-302
5729 * @param CursorStyle
5730 * The cursor style which the kernel is requesting.
5731 * @param RenderHandle
5732 * Handle to page where new cursor shape is being set.
5733 * @param RegistractionClientData
5734 * Client data that was registered with the callback.
5736 * @sa TecEngBaseCursorStyleRegisterCallback
5738 typedef void (STDCALL *BaseCursorStyleCallback_pf)(CursorStyle_e CursorStyle,
5739 ArbParam_t RenderHandle,
5740 ArbParam_t RegistrationClientData);
5742 /* - NO DOXYGEN COMMENT GENERATION -
5743 * Callback responsible for processing events when the Tecplot engine is busy
5744 * peforming a requested operation. This callback will be called at regular
5745 * intervals to repair the interface and if required check for interrupts. Very
5746 * little work should be done by this function.
5748 * @since
5749 * 11.0-0-415
5751 * @param RegistrationClientData
5752 * Client data that was registered with the callback.
5754 * @sa TecEngProcessBusyEventsRegisterCallback, TecUtilInterrupt
5756 typedef void (STDCALL *ProcessBusyEventsCallback_pf)(ArbParam_t RegistrationClientData);
5758 /* - NO DOXYGEN COMMENT GENERATION -
5759 * Callback responsible for launching a dialog.
5761 * @since
5762 * 11.0-0-415
5764 * @param RegistrationClientData
5765 * Client data that was registered with this launch dialog callback.
5767 * @return
5768 * TRUE if the dialog was launched, FALSE if it could not be launched
5769 * programmatically.
5771 * @sa TecUtilDialogLaunch, TecUtilDialogDrop
5773 typedef Boolean_t (STDCALL *DialogLaunchCallback_pf)(ArbParam_t RegistrationClientData);
5775 /* - NO DOXYGEN COMMENT GENERATION -
5776 * Callback responsible for dropping a dialog.
5778 * @since
5779 * 11.0-0-407
5781 * @param RegistrationClientData
5782 * Client data that was registered with this drop dialog callback.
5784 * @sa TecUtilDialogLaunch, TecUtilDialogDrop
5786 typedef void (STDCALL *DialogDropCallback_pf)(ArbParam_t RegistrationClientData);
5788 /* - NO DOXYGEN COMMENT GENERATION -
5789 * Callback responsible for querying of the physical display's horizontal and
5790 * vertical dot pitch.
5792 * @since
5793 * 11.0-0-407
5795 * @param RegistrationClientData
5796 * Client data that was registered with the callback.
5797 * @param IDotsPerCm
5798 * Pointer who's contents should receive the physical display's horizontal
5799 * dot pitch in terms of the number of dots per centimeter.
5800 * @param JDotsPerCm
5801 * Pointer who's contents should receive the physical display's vertical
5802 * dot pitch in terms of the number of dots per centimeter.
5804 * @sa TecEngDotPitchRegisterCallback
5806 typedef void (STDCALL *DotPitchCallback_pf)(ArbParam_t RegistrationClientData,
5807 TP_OUT double* IDotsPerCm,
5808 TP_OUT double* JDotsPerCm);
5810 /* - NO DOXYGEN COMMENT GENERATION -
5811 * Callback responsible for querying of the physical display's width and
5812 * height in pixels.
5814 * @since
5815 * 11.2-0-471
5817 * @param RegistrationClientData
5818 * Client data that was registered with the callback.
5819 * @param WidthInPixels
5820 * Pointer who's contents should receive the physical display's width
5821 * in pixels. NULL may be passed.
5822 * @param HeightInPixels
5823 * Pointer who's contents should receive the physical display's height
5824 * in pixels. NULL may be passed.
5826 * @sa TecEngScreenSizeRegisterCallback
5828 typedef void (STDCALL *ScreenSizeCallback_pf)(ArbParam_t RegistrationClientData,
5829 TP_OUT int* WidthInPixels,
5830 TP_OUT int* HeightInPixels);
5832 /* - NO DOXYGEN COMMENT GENERATION -
5833 * Callback responsible for displaying a message box dialog and returning the
5834 * user's response.
5836 * @since
5837 * 11.0-0-415
5839 * @param MessageString
5840 * Message string to display in the dialog.
5841 * @param MessageBoxType
5842 * Type of message box to display.
5843 * @param RegistrationClientData
5844 * Client data that was registered with the callback.
5846 * @return
5847 * Result of user's response to the dialog.
5849 * @sa TecEngDialogMessageBoxRegisterCallback
5851 typedef MessageBoxReply_e(STDCALL *DialogMessageBoxCallback_pf)(const char* MessageString,
5852 MessageBoxType_e MessageBoxType,
5853 ArbParam_t RegistrationClientData);
5855 /* - NO DOXYGEN COMMENT GENERATION -
5856 * Callback responsible for displaying a status line
5858 * @since
5859 * 11.2-0-085
5861 * @param StatusString
5862 * Message string to display in the dialog.
5864 * @param RegistrationClientData
5865 * Client data that was registered with the callback.
5867 * @sa TecEngStatusLineRegisterCallback
5869 typedef void (STDCALL *StatusLineCallback_pf)(const char* StatusString,
5870 ArbParam_t RegistrationClientData);
5872 /* - NO DOXYGEN COMMENT GENERATION -
5873 * Callback that will be called with the updated progress status.
5875 * @since 11.2-0-098
5878 * @param ProgressStatus
5879 * Percentage of the progress.
5881 * @param RegistrationClientData
5882 * Client data that was registered with the callback.
5884 * @sa TecEngProgressMonitorRegisterCallback
5886 typedef void (STDCALL *ProgressMonitorCallback_pf)(int ProgressStatus,
5887 ArbParam_t RegistrationClientData);
5888 /* - NO DOXYGEN COMMENT GENERATION -
5889 * Callback that will be called with Tecplot Engine is about to perform a lengthy operation.
5890 * The client that registers such the callback may present a user with a progress bar,
5891 * if the ShowProgressBar argument is TRUE, and a stop button that would interrupt the operation by
5892 * calling TecUtilInterrupt().
5894 * @since 11.2-0-098
5896 * @param ShowProgressBar
5897 * Boolean indicating if the progress steps can be monitored for an operation. If TRUE, Tecplot Engine will be calling
5898 * the registered ProgressMonitorCallback_pf function with the updated progress status.
5900 * @param IsInterruptible
5901 * Boolean indicating if the operation can be interrupted before completion.
5903 * @param RegistrationClientData
5904 * Client data that was registered with the callback.
5906 * @sa TecEngProgressMonitorRegisterCallback
5908 typedef void (STDCALL *ProgressMonitorStartCallback_pf)(Boolean_t ShowProgressBar,
5909 Boolean_t IsInterruptible,
5910 ArbParam_t RegistrationClientData);
5911 /* - NO DOXYGEN COMMENT GENERATION -
5912 * Callback tht will be called with Tecplot Engine has finished performing a lengthy operation.
5913 * At this point, client may hide progress bar that was shown during handling of ProgressMonitorStartCallback callback and
5914 * disable or hide the stop button.
5916 * @since 11.2-0-098
5918 * @param RegistrationClientData
5919 * Client data that was registered with the callback.
5921 * @sa TecEngProgressMonitorRegisterCallback
5923 typedef void (STDCALL *ProgressMonitorFinishCallback_pf)(ArbParam_t RegistrationClientData);
5925 /*********************************************************
5926 * Add-on Timers
5927 *********************************************************/
5929 * This is called when a registered timer fires.
5931 * @par Limitation:
5932 * Unix and Linux versions of Tecplot currently do not fire timer events when
5933 * Tecplot is running in batch mode (with the -b flag). This behavior
5934 * limitation is subject to change.
5936 * @param ClientData
5937 * Arbitrary client data.
5939 * @return
5940 * Return TRUE if the timer should be reinstated. Return FALSE
5941 * to stop subsequent callbacks.
5944 * <FortranSyntax>
5945 * INTEGER*4 FUNCTION MyAddOnTimerCallback(
5946 * & ClientDataPtr)
5947 * POINTER (ClientDataPtr,DummyClientData)
5948 * </FortranSyntax>
5950 typedef Boolean_t (STDCALL *AddOnTimerCallback_pf)(ArbParam_t ClientData);
5952 /* - NO DOXYGEN COMMENT GENERATION -
5953 * Callback that will be called when Tecplot Engine has requested an event timer to be created.
5955 * @since 12.0.1.5642
5957 * @param ClientData
5958 * ClientData that should be sent in the callback.
5960 * @param TimerCallback
5961 * Callback to fire when the timer interval has expired.
5963 * @param Interval
5964 * The time (in milliseconds) after which the timer callback should be called.
5966 * @param RegistrationClientData
5967 * Client data that was registered via TecEngTimerRegisterCallback.
5969 * @return
5970 * Return TRUE if the timer was successfully created, FALSE if not.
5972 typedef Boolean_t (STDCALL *TimerCallback_pf)(AddOnTimerCallback_pf TimerCallback,
5973 ArbParam_t ClientData,
5974 UInt32_t Interval,
5975 ArbParam_t RegistrationClientData);
5978 * This function is called when the user activates a menu item
5979 * added via TecUtilMenuInsertOption or TecUtilMenuInsertToggle.
5981 * @param RegistrationClientData
5982 * Arbitrary client data.
5984 typedef void (STDCALL *MenuActivateCallback_pf)(ArbParam_t RegistrationClientData);
5987 * This function is called when the a menu is deleted.
5989 * @param RegistrationClientData
5990 * Arbitrary client data.
5992 typedef void (STDCALL *MenuDeleteCallback_pf)(ArbParam_t RegistrationClientData);
5995 * This function is called to determine the sensitivity for a menu item (option,
5996 * toggle or submenu).
5998 * @param RegistrationClientData
5999 * Arbitrary client data.
6001 * @return
6002 * Return TRUE if the menu item should be sensitive to user input,
6003 * or FALSE if it should be insensitive to user input (gray).
6005 typedef Boolean_t (STDCALL *MenuGetSensitivityCallback_pf)(ArbParam_t RegistrationClientData);
6008 * This function is called to determine the checked state for a toggle menu item.
6010 * @param RegistrationClientData
6011 * Arbitrary client data.
6013 * @return
6014 * Return TRUE if the toggle should be checked,
6015 * or FALSE if it should be unchecked.
6017 typedef Boolean_t (STDCALL *MenuGetToggleStateCallback_pf)(ArbParam_t RegistrationClientData);
6021 * This function is called when the user performs a probe event.
6023 * @param IsNearestPoint
6024 * This is TRUE if the previous probe event was a nearest point probe.
6025 * This is FALSE if it was an interpolated probe.
6027 * <FortranSyntax>
6028 * SUBROUTINE MyProbeDestinationCallback(
6029 * IsNearestPoint)
6030 * INTEGER*4 IsNearestPoint
6031 * </FortranSyntax>
6033 typedef void (STDCALL *ProbeDestination_pf)(Boolean_t IsNearestPoint);
6037 * This function type called when a probe callback is installed via
6038 * TecUtilProbeInstallCallbackX.
6040 * @param WasSuccessful
6041 * This is TRUE if the previous probe event was successful.
6042 * This is FALSE if it was the probe failed. Probe events may fail if the
6043 * user probes in a region of the plot that contains no data.
6045 * @param IsNearestPoint
6046 * This is TRUE if the previous probe event was a nearest point probe.
6047 * This is FALSE if it was an interpolated probe.
6049 * @param ClientData
6050 * Arbitrary client data.
6053 typedef void (STDCALL *ProbeDestinationX_pf)(Boolean_t WasSuccessful,
6054 Boolean_t IsNearestPoint,
6055 ArbParam_t ClientData);
6059 * DynamicMenu Functions are called upon a user selecting
6060 * a menu item added via TecUtilMenuAddOption.
6062 * <FortranSyntax>
6063 * SUBROUTINE MyDynamicMenuCallback()
6064 * </FortranSyntax>
6066 typedef void (STDCALL *DynamicMenuCallback_pf)(void);
6069 * This callback signature is used to perform redraw events.
6071 * @since
6072 * 11.0-0-363
6074 * @param RedrawReason
6075 * An enumerated value describing the reason for the re-draw event.
6076 * @param ClientData
6077 * Client data that was registered with the callback.
6079 * @return
6080 * TRUE if successfull, FALSE otherwise.
6082 * <FortranSyntax>
6083 * INTEGER*4 FUNCTION DrawEventCallback(
6084 * & RedrawReason,
6085 * & ClientDataPtr)
6086 * INTEGER*4 RedrawReason
6087 * POINTER (ClientDataPtr,ClientData)
6088 * </FortranSyntax>
6090 * @sa TecUtilEventAddPreDrawCallback(), TecUtilEventAddPostDrawCallback()
6092 typedef Boolean_t (STDCALL *DrawEventCallback_pf)(RedrawReason_e RedrawReason,
6093 ArbParam_t ClientData);
6097 * Compares two strings from a list string. Note that either string may be NULL
6098 * as StringLists allow for NULL elements.
6100 * @param String1
6101 * String to compare against String2.
6102 * @param String2
6103 * String to compare against String1.
6104 * @param ClientData
6105 * Contextual information that was passed to the 'StringListSort' function.
6107 * @return
6108 * - A value less than zero if String1 is less than String2.
6109 * - A value of zero if String1 is equal to String2.
6110 * - A value greater than zero if String1 is greater than String2.
6112 typedef int (STDCALL *StringListStringComparator_pf)(const char* String1,
6113 const char* String2,
6114 ArbParam_t ClientData);
6117 * Gets a value at the specified point index using, if necessary, the private
6118 * client data retrieved from the field data handle.
6120 * @par Note:
6121 * This callback is called asynchronously. This callback should NOT
6122 * lock/unlock Tecplot.
6124 * @since
6125 * 10.0-3-128
6127 * @param FD
6128 * Field data handle for which to set the value. This
6129 * FieldValueGetFunction_pf must have been retrieved from this field data
6130 * handle via TecUtilDataValueRefGetGetFunc.
6132 * @param pt
6133 * Zero-based index into the field data.
6135 * @return
6136 * Value for that index, always passed as a double precision floating-point
6137 * value regardless of the data type of the field data handle.
6139 * @sa TecUtilDataValueCustomLOD(), TecUtilDataValueGetClientData()
6141 typedef double(STDCALL *FieldValueGetFunction_pf)(const FieldData_pa FD,
6142 LgIndex_t pt);
6145 * Sets a value at the specified index using the private client data retrieved
6146 * from the field data handle.
6148 * @par Note:
6149 * This callback is called asynchronously. This callback should NOT
6150 * lock/unlock Tecplot.
6152 * @since
6153 * 10.0-3-128
6155 * @param FD
6156 * Field data handle for which to set the value. This
6157 * FieldValueSetFunction_pf must have been retrieved from this field data
6158 * handle via TecUtilDataValueRefGetSetFunc.
6160 * @param pt
6161 * Zero-based index into the field data.
6163 * @param val
6164 * New value for that index, always passed as a double precision
6165 * floating-point value regardless of the data type of the field data handle.
6167 * @sa TecUtilDataValueCustomLOD(), TecUtilDataValueGetClientData()
6169 typedef void (STDCALL *FieldValueSetFunction_pf)(FieldData_pa FD,
6170 LgIndex_t pt,
6171 double val);
6174 * Callback responsible for loading the specified variable for Tecplot using
6175 * the private client data retrieved from the field data handle.
6177 * @par Note:
6178 * This callback is called asynchronously. With the exception of calls to
6179 * modify the field data all calls back to Tecplot through the TecUtil layer
6180 * should be limited to queries.
6182 * @since
6183 * 11.0-0-001
6185 * @param FieldData
6186 * Field data handle of the variable load.
6188 * @result
6189 * TRUE if the variable was loaded, FALSE if unable to do so.
6191 * @code
6192 * typedef struct
6194 * char *DataFileName;
6195 * long SeekOffset;
6196 * LgIndex_t NumValues;
6197 * ... other information needed to load variable data
6198 * } MyVariableClientData_s;
6200 * Boolean_t STDCALL MyVariableLoader(FieldData_pa FieldData)
6202 * REQUIRE(VALID_REF(FieldData));
6204 * MyVariableClientData_s *MyClientData = (MyVariableClientData_s *)TecUtilDataValueGetClientData(FieldData);
6206 * // open the data file
6207 * FILE *MyDataFile = fopen(MyClientData->DataFileName, "rb");
6208 * Boolean_t IsOk = (MyDataFile != NULL);
6210 * // seek to the place in the file where the variable data is located
6211 * IsOk = IsOk && (fseek(MyDataFile, MyClientData->SeekOffset, SEEK_SET) == 0);
6212 * if (IsOk)
6214 * // load the data into the variable's field data
6215 * IsOk = ReadMyDataInfoVariable(MyDataFile, MyClientData, FieldData);
6218 * // cleanup
6219 * if (MyDataFile != NULL)
6220 * fclose(MyDataFile);
6222 * ENSURE(VALID_BOOLEAN(IsOk));
6223 * return IsOk;
6225 * @endcode
6227 * @sa TecUtilDataValueCustomLOD(), TecUtilDataValueGetClientData()
6229 typedef Boolean_t (STDCALL *LoadOnDemandVarLoad_pf)(FieldData_pa FieldData);
6232 * Callback responsible for performing private actions associated with a
6233 * variable being unloaded using the private client data retrieved from the
6234 * field data handle. Whenever possible the callback should honor Tecplot's
6235 * request to unload the variable by returning TRUE. This callback is
6236 * responsible for performing private actions associated with a variable being
6237 * unloaded.
6239 * Most add-ons should simply supply NULL for this callback thereby instructing
6240 * Tecplot to handle the unloading (and subsequent reloading) of the variable
6241 * without the intervention of the add-on.
6243 * @par Note:
6244 * This callback is called asynchronously. All calls back to Tecplot through
6245 * the TecUtil layer should be limited to queries.
6247 * @since
6248 * 11.0-0-001
6250 * @param FieldData
6251 * Field data handle of the variable Tecplot wants to unload.
6253 * @code
6254 * typedef struct
6256 * char *DataFileName;
6257 * long SeekOffset;
6258 * LgIndex_t NumValues;
6259 * ... other information needed to load variable data
6260 * } MyVariableClientData_s;
6262 * Boolean_t STDCALL MyVariableUnload(FieldData_pa FieldData)
6264 * REQUIRE(VALID_REF(FieldData));
6266 * // We don't have any private data to cleanup (i.e in addition to the
6267 * // private client data which we don't cleanup here) so all we have to do
6268 * // is return TRUE or FALSE letting Tecplot know that it can or can not
6269 * // unload the variable.
6270 * Boolean_t Result = TRUE; // ...tell Tecplot to go ahead and unload the variable
6272 * ENSURE(VALID_BOOLEAN(Result));
6273 * return Result;
6275 * @endcode
6277 * @result
6278 * TRUE if the variable can be unloaded, FALSE otherwise. The add-on should
6279 * if at all possible honor the request to unload the variable. Most add-ons
6280 * should return TRUE.
6282 * @sa TecUtilDataValueCustomLOD(), TecUtilDataValueGetClientData()
6284 typedef Boolean_t (STDCALL *LoadOnDemandVarUnload_pf)(FieldData_pa FieldData);
6287 * Callback responsible for performing private actions associated with a
6288 * variable being cleaned up using the private client data retrieved from the
6289 * field data handle. Most add-ons will need to register this callback in order
6290 * to cleanup privately allocated client data.
6292 * @par Note:
6293 * This callback is called asynchronously. All calls back to Tecplot through
6294 * the TecUtil layer should be limited to queries.
6296 * @since
6297 * 11.0-0-001
6299 * @param FieldData
6300 * Field data handle of the variable being cleaned up.
6302 * @code
6303 * typedef struct
6305 * char *DataFileName;
6306 * long SeekOffset;
6307 * LgIndex_t NumValues;
6308 * ... other information needed to load variable data
6309 * } MyVariableClientData_s;
6311 * void STDCALL MyVariableCleanup(FieldData_pa FieldData)
6313 * REQUIRE(VALID_REF(FieldData));
6315 * MyVariableClientData_s *MyClientData = (MyVariableClientData_s *)TecUtilDataValueGetClientData(FieldData);
6317 * // cleanup privately allocated resources
6318 * free(MyClientData->DataFileName);
6319 * free(MyClientData);
6321 * @endcode
6323 * @sa TecUtilDataValueCustomLOD(), TecUtilDataValueGetClientData()
6325 typedef void (STDCALL *LoadOnDemandVarCleanup_pf)(FieldData_pa FieldData);
6328 * Callback responsible for loading the specified node mapping for Tecplot
6329 * using the private client data retrieved from the node mapping handle.
6331 * @par Note:
6332 * This callback is called asynchronously. With the exception of calls to
6333 * modify the node mapping, all calls back to Tecplot through the TecUtil
6334 * layer should be limited to queries.
6336 * @since
6337 * 11.3-0-010
6339 * @param NodeMap
6340 * Handle of the node mapping.
6342 * @result
6343 * TRUE if the node mapping was loaded, FALSE if unable to do so.
6345 * @code
6346 * typedef struct
6348 * char *DataFileName;
6349 * long SeekOffset;
6350 * ... other information needed to load node map data
6351 * } MyNodeMapClientData_s;
6353 * Boolean_t STDCALL MyNodeMapLoader(NodeMap_pa NodeMap)
6355 * REQUIRE(VALID_REF(NodeMap));
6357 * MyNodeMapClientData_s *MyClientData =
6358 * (MyNodeMapClientData_s *)TecUtilDataNodeGetClientData(NodeMap);
6360 * // open the data file
6361 * FILE *MyDataFile = fopen(MyClientData->DataFileName, "rb");
6362 * Boolean_t IsOk = (MyDataFile != NULL);
6364 * // seek to the place in the file where the node map data is located
6365 * IsOk = IsOk && (fseek(MyDataFile, MyClientData->SeekOffset, SEEK_SET) == 0);
6366 * if (IsOk)
6368 * // load the data into the zone's node map
6369 * IsOk = ReadMyNodeMapDataIntoZone(MyDataFile, MyClientData, NodeMap);
6372 * // cleanup
6373 * if (MyDataFile != NULL)
6374 * fclose(MyDataFile);
6376 * ENSURE(VALID_BOOLEAN(IsOk));
6377 * return IsOk;
6379 * @endcode
6381 * @sa TecUtilDataNodeCustomLOD(), TecUtilDataNodeGetClientData()
6383 typedef Boolean_t (STDCALL *LoadOnDemandNodeMapLoad_pf)(NodeMap_pa NodeMap);
6386 * Callback responsible for performing private actions associated with a
6387 * node mapping being unloaded using the private client data retrieved from the
6388 * node mapping handle. Whenever possible the callback should honor Tecplot's
6389 * request to unload the node mapping by returning TRUE.
6391 * Most add-ons should simply supply NULL for this callback thereby instructing
6392 * Tecplot to handle the unloading (and subsequent reloading) of the node mapping
6393 * without the intervention of the add-on.
6395 * @par Note:
6396 * This callback is called asynchronously. All calls back to Tecplot through
6397 * the TecUtil layer should be limited to queries.
6399 * @since
6400 * 11.3-0-010
6402 * @param NodeMap
6403 * Node mapping handle of the node mapping Tecplot wants to unload.
6405 * @code
6406 * Boolean_t STDCALL MyNodeMapUnload(NodeMap_pa NodeMap)
6408 * REQUIRE(VALID_REF(NodeMap));
6410 * // We don't have any private data to cleanup (i.e in addition to the
6411 * // private client data which we don't cleanup here) so all we have to do
6412 * // is return TRUE or FALSE letting Tecplot know that it can or can not
6413 * // unload the variable.
6414 * Boolean_t Result = TRUE; // ...tell Tecplot to go ahead and unload the node mapping
6416 * ENSURE(VALID_BOOLEAN(Result));
6417 * return Result;
6419 * @endcode
6421 * @result
6422 * TRUE if the node mapping can be unloaded, FALSE otherwise. The add-on should
6423 * if at all possible honor the request to unload the node mapping. Most add-ons
6424 * should return TRUE.
6426 * @sa TecUtilDataNodeCustomLOD(), TecUtilDataNodeGetClientData()
6428 typedef Boolean_t (STDCALL *LoadOnDemandNodeMapUnload_pf)(NodeMap_pa NodeMap);
6431 * Callback responsible for performing private actions associated with a
6432 * node mapping being cleaned up using the private client data retrieved from the
6433 * node mapping handle. Most add-ons will need to register this callback in order
6434 * to cleanup privately allocated client data.
6436 * @par Note:
6437 * This callback is called asynchronously. All calls back to Tecplot through
6438 * the TecUtil layer should be limited to queries.
6440 * @since
6441 * 11.3-0-010
6443 * @param NodeMap
6444 * Node Mapping data handle of the node mapping being cleaned up.
6446 * @code
6447 * typedef struct
6449 * char *DataFileName;
6450 * long SeekOffset;
6451 * ... other information needed to load node map data
6452 * } MyNodeMapClientData_s;
6454 * void STDCALL MyNodeMapCleanup(NodeMap_pa NodeMap)
6456 * REQUIRE(VALID_REF(NodeMap));
6458 * MyNodeMapClientData_s *MyClientData = (MyNodeMapClientData_s *)TecUtilDataNodeGetClientData(NodeMap);
6460 * // cleanup privately allocated resources
6461 * free(MyClientData->DataFileName);
6462 * free(MyClientData);
6464 * @endcode
6466 * @sa TecUtilDataNodeCustomLOD(), TecUtilDataNodeGetClientData()
6468 typedef void (STDCALL *LoadOnDemandNodeMapCleanup_pf)(NodeMap_pa NodeMap);
6471 * Callback responsible for loading the specified face neighbor for Tecplot
6472 * using the private client data retrieved from the face neighbor handle.
6474 * @par Note:
6475 * This callback is called asynchronously. With the exception of calls to
6476 * modify the face neighbors, all calls back to Tecplot through the TecUtil
6477 * layer should be limited to queries.
6479 * @since
6480 * 11.3-0-010
6482 * @param FaceNeighbor
6483 * Handle of the face neighbors.
6485 * @result
6486 * TRUE if the face neighbors was loaded, FALSE if unable to do so.
6488 * @code
6489 * typedef struct
6491 * char *DataFileName;
6492 * long SeekOffset;
6493 * ...other information needed to load face neighbor data
6494 * } MyFaceNeighborClientData_s;
6496 * Boolean_t STDCALL MyFaceNeighborLoader(FaceNeighbor_pa FaceNeighbor)
6498 * REQUIRE(VALID_REF(FaceNeighbor));
6500 * MyFaceNeighborClientData_s *MyClientData =
6501 * (MyFaceNeighborClientData_s*)TecUtilDataFaceNbrGetClientData(FaceNeighbor);
6503 * // open the data file
6504 * FILE *MyDataFile = fopen(MyClientData->DataFileName, "rb");
6505 * Boolean_t IsOk = (MyDataFile != NULL);
6507 * // seek to the place in the file where the face neighbor data is located
6508 * IsOk = IsOk && (fseek(MyDataFile, MyClientData->SeekOffset, SEEK_SET) == 0);
6509 * if (IsOk)
6511 * // load the data into the zone's face neighbor
6512 * IsOk = ReadMyFaceNeighborDataIntoZone(MyDataFile, MyClientData, FaceNeighbor);
6515 * // cleanup
6516 * if (MyDataFile != NULL)
6517 * fclose(MyDataFile);
6519 * ENSURE(VALID_BOOLEAN(IsOk));
6520 * return IsOk;
6522 * @endcode
6524 * @sa TecUtilDataFaceNbrCustomLOD(), TecUtilDataFaceNbrGetClientData()
6526 typedef Boolean_t (STDCALL *LoadOnDemandFaceNeighborLoad_pf)(FaceNeighbor_pa FaceNeighbor);
6529 * Callback responsible for performing private actions associated with a
6530 * face neighbors being unloaded using the private client data retrieved from
6531 * the face neighbor handle. Whenever possible the callback should honor
6532 * Tecplot's request to unload the face neighbors by returning TRUE.
6534 * Most add-ons should simply supply NULL for this callback thereby instructing
6535 * Tecplot to handle the unloading (and subsequent reloading) of the face
6536 * neighbors without the intervention of the add-on.
6538 * @par Note:
6539 * This callback is called asynchronously. All calls back to Tecplot through
6540 * the TecUtil layer should be limited to queries.
6542 * @since
6543 * 11.3-0-010
6545 * @param FaceNeighbor
6546 * Face neighbor handle of the face neighbors Tecplot wants to unload.
6548 * @code
6549 * Boolean_t STDCALL MyFaceNeighborUnload(FaceNeighbor_pa FaceNeighbor)
6551 * REQUIRE(VALID_REF(FaceNeighbor));
6553 * // We don't have any private data to cleanup (i.e in addition to the
6554 * // private client data which we don't cleanup here) so all we have to do
6555 * // is return TRUE or FALSE letting Tecplot know that it can or can not
6556 * // unload the variable.
6557 * Boolean_t Result = TRUE; // ...tell Tecplot to go ahead and unload the face neighbors
6559 * ENSURE(VALID_BOOLEAN(Result));
6560 * return Result;
6562 * @endcode
6564 * @result
6565 * TRUE if the face neighbors can be unloaded, FALSE otherwise. The add-on
6566 * should if at all possible honor the request to unload the face neighbors.
6567 * Most add-ons should return TRUE.
6569 * @sa TecUtilDataFaceNbrCustomLOD(), TecUtilDataFaceNbrGetClientData()
6571 typedef Boolean_t (STDCALL *LoadOnDemandFaceNeighborUnload_pf)(FaceNeighbor_pa FaceNeighbor);
6574 * Callback responsible for performing private actions associated with a face
6575 * neighbors being cleaned up using the private client data retrieved from the
6576 * face neighbor handle. Most add-ons will need to register this callback in
6577 * order to cleanup privately allocated client data.
6579 * @par Note:
6580 * This callback is called asynchronously. All calls back to Tecplot through
6581 * the TecUtil layer should be limited to queries.
6583 * @since
6584 * 11.3-0-010
6586 * @param FaceNeighbor
6587 * Face neighbor data handle of the Face neighbors being cleaned up.
6589 * @code
6590 * typedef struct
6592 * char *DataFileName;
6593 * long SeekOffset;
6594 * ... other information needed to load face neighbor data
6595 * } MyFaceNeighborClientData_s;
6597 * void STDCALL MyFaceNeighborCleanup(FaceNeighbor_pa FaceNeighbor)
6599 * REQUIRE(VALID_REF(FaceNeighbor));
6601 * MyFaceNeighborClientData_s *MyClientData = (MyFaceNeighborClientData_s *)TecUtilDataFaceNbrGetClientData(FaceNeighbor);
6603 * // cleanup privately allocated resources
6604 * free(MyClientData->DataFileName);
6605 * free(MyClientData);
6607 * @endcode
6609 * @sa TecUtilDataFaceNbrCustomLOD(), TecUtilDataFaceNbrGetClientData()
6611 typedef void (STDCALL *LoadOnDemandFaceNeighborCleanup_pf)(FaceNeighbor_pa FaceNeighbor);
6614 * Callback responsible for loading the specified face mapping for Tecplot
6615 * using the private client data retrieved from the face mapping handle.
6617 * @par Note:
6618 * This callback is called asynchronously. With the exception of calls to
6619 * modify the face mapping, all calls back to Tecplot through the TecUtil
6620 * layer should be limited to queries.
6622 * @since
6623 * 11.2-1-0
6625 * @param FaceMap
6626 * Handle of the face mapping.
6628 * @result
6629 * TRUE if the face mapping was loaded, FALSE if unable to do so.
6631 * @code
6632 * typedef struct
6634 * char *DataFileName;
6635 * long SeekOffset;
6636 * ... other information needed to load face map data
6637 * } MyFaceMapClientData_s;
6639 * Boolean_t STDCALL MyFaceMapLoader(FaceMap_pa FaceMap)
6641 * REQUIRE(VALID_REF(FaceMap));
6643 * MyFaceMapClientData_s *MyClientData =
6644 * (MyFaceMapClientData_s *)TecUtilDataFaceMapGetClientData(FaceMap);
6646 * // open the data file
6647 * FILE *MyDataFile = fopen(MyClientData->DataFileName, "rb");
6648 * Boolean_t IsOk = (MyDataFile != NULL);
6650 * // seek to the place in the file where the face map data is located
6651 * IsOk = IsOk && (fseek(MyDataFile, MyClientData->SeekOffset, SEEK_SET) == 0);
6652 * if (IsOk)
6654 * // load the data into the zone's face map
6655 * IsOk = ReadMyFaceMapDataIntoZone(MyDataFile, MyClientData, FaceMap);
6658 * // cleanup
6659 * if (MyDataFile != NULL)
6660 * fclose(MyDataFile);
6662 * ENSURE(VALID_BOOLEAN(IsOk));
6663 * return IsOk;
6665 * @endcode
6667 * @sa TecUtilDataFaceMapCustomLOD(), TecUtilDataFaceMapGetClientData()
6669 typedef Boolean_t (STDCALL *LoadOnDemandFaceMapLoad_pf)(FaceMap_pa FaceMap);
6672 * Callback responsible for performing private actions associated with a
6673 * face mapping being unloaded using the private client data retrieved from the
6674 * face mapping handle. Whenever possible the callback should honor Tecplot's
6675 * request to unload the face mapping by returning TRUE.
6677 * Most add-ons should simply supply NULL for this callback thereby instructing
6678 * Tecplot to handle the unloading (and subsequent reloading) of the face mapping
6679 * without the intervention of the add-on.
6681 * @par Note:
6682 * This callback is called asynchronously. All calls back to Tecplot through
6683 * the TecUtil layer should be limited to queries.
6685 * @since
6686 * 11.2-1-0
6688 * @param FaceMap
6689 * Face mapping handle of the face mapping Tecplot wants to unload.
6691 * @code
6692 * Boolean_t STDCALL MyFaceMapUnload(FaceMap_pa FaceMap)
6694 * REQUIRE(VALID_REF(FaceMap));
6696 * // We don't have any private data to cleanup (i.e in addition to the
6697 * // private client data which we don't cleanup here) so all we have to do
6698 * // is return TRUE or FALSE letting Tecplot know that it can or can not
6699 * // unload the variable.
6700 * Boolean_t Result = TRUE; // ...tell Tecplot to go ahead and unload the face mapping
6702 * ENSURE(VALID_BOOLEAN(Result));
6703 * return Result;
6705 * @endcode
6707 * @result
6708 * TRUE if the face mapping can be unloaded, FALSE otherwise. The add-on should
6709 * if at all possible honor the request to unload the face mapping. Most add-ons
6710 * should return TRUE.
6712 * @sa TecUtilDataFaceMapCustomLOD(), TecUtilDataFaceMapGetClientData()
6714 typedef Boolean_t (STDCALL *LoadOnDemandFaceMapUnload_pf)(FaceMap_pa FaceMap);
6717 * Callback responsible for performing private actions associated with a
6718 * face mapping being cleaned up using the private client data retrieved from the
6719 * face mapping handle. Most add-ons will need to register this callback in order
6720 * to cleanup privately allocated client data.
6722 * @par Note:
6723 * This callback is called asynchronously. All calls back to Tecplot through
6724 * the TecUtil layer should be limited to queries.
6726 * @since
6727 * 11.2-1-0
6729 * @param FaceMap
6730 * Face Mapping data handle of the face mapping being cleaned up.
6732 * @code
6733 * typedef struct
6735 * char *DataFileName;
6736 * long SeekOffset;
6737 * ... other information needed to load face map data
6738 * } MyFaceMapClientData_s;
6740 * void STDCALL MyFaceMapCleanup(FaceMap_pa FaceMap)
6742 * REQUIRE(VALID_REF(FaceMap));
6744 * MyFaceMapClientData_s *MyClientData = (MyFaceMapClientData_s *)TecUtilDataFaceMapGetClientData(FaceMap);
6746 * // cleanup privately allocated resources
6747 * free(MyClientData->DataFileName);
6748 * free(MyClientData);
6750 * @endcode
6752 * @sa TecUtilDataFaceMapCustomLOD(), TecUtilDataFaceMapGetClientData()
6754 typedef void (STDCALL *LoadOnDemandFaceMapCleanup_pf)(FaceMap_pa FaceMap);
6758 * ExtractDestination functions are called upon successful completion of an
6759 * extract polyline or extract discrete points operation.
6761 * @param NumPts
6762 * Number of points extracted.
6764 * @param XValues
6765 * Double precision array of X-Coordinates of the extracted polyline.
6767 * @param YValues
6768 * Double precision array of Y-Coordinates of the extracted polyline.
6770 * <FortranSyntax>
6771 * INTEGER*4 FUNCTION MyExtractDestinationCallback(
6772 * & NumPts,
6773 * & XValues,
6774 * & YValues)
6775 * INTEGER*4 NumPts
6776 * REAL*8 XValues
6777 * REAL*8 YValues
6778 * </FortranSyntax>
6780 typedef void (STDCALL *ExtractDestination_pf)(LgIndex_t NumPts,
6781 double* XValues,
6782 double* YValues);
6787 * SelectFileOptionsCallback Functions are called when the
6788 * "Options" button is pressed in the modal file selection
6789 * dialog.
6791 * <FortranSyntax>
6792 * SUBROUTINE MySelectFileOptionsCallback()
6793 * </FortranSyntax>
6795 typedef void (STDCALL *SelectFileOptionsCallback_pf)(void);
6801 * Post data load instruction callback for "Converter-Plus" addons.
6803 * @param PreviousInstructions
6804 * The previous set of instructions used by the converter.
6806 * @param PreviousRawData
6807 * The previous raw data associated with the instructions.
6809 * @param PreviousZones
6810 * Set of zones loaded with the previous instructions.
6812 * <FortranSyntax>
6813 * SUBROUTINE MyConverterPostReadCallback(
6814 * & PreviousInstructions,
6815 * & PreviousRawData,
6816 * & PreviousZones)
6817 * CHARACTER*(*) CommandString
6818 * CHARACTER*(*) ErrMsgString
6819 * POINTER (PreviousZones,DummyPreviousZonesData)
6820 * </FortranSyntax>
6823 typedef void (STDCALL *ConverterPostReadCallback_pf)(const char* PreviousInstructions,
6824 const char* PreviousRawData,
6825 const Set_pa PreviousZones);
6829 * Callback registered by your addon to convert a foreign datafile into a
6830 * Tecplot Binary datafile format.
6832 * @return
6833 * Return TRUE if the conversion is successful. Otherwise return FALSE.
6834 * If FALSE is returned then *MessageString is assumed to contain an error
6835 * message.
6837 * @param DataFName
6838 * Name of the original foreign data file to be converted.
6840 * @param TempBinFName
6841 * Name of the temporary binary datafile that is created (by your converter).
6843 * @param MessageString
6844 * Reference to a string. If an error occurs during conversion allocate space
6845 * for an error message and copy the message string into that allocated
6846 * space otherwise be sure to assign *MessageString to NULL. If
6847 * *MessageString is non NULL Tecplot will release the allocated memory when
6848 * finished.
6850 * <FortranSyntax>
6851 * INTEGER*4 FUNCTION MyDataSetConverterCallback(
6852 * & DataFName,
6853 * & TempBinFName,
6854 * & MessageString)
6855 * CHARACTER*(*) DataFName
6856 * CHARACTER*(*) TempBinFName
6857 * CHARACTER*(*) MessageString
6858 * </FortranSyntax>
6861 typedef Boolean_t (STDCALL *DataSetConverter_pf)(char* DataFName,
6862 char* TempBinFName,
6863 TP_GIVES char** MessageString);
6872 * Callback registered by your addon to process foreign loader instructions.
6873 * When called, it must parse the supplied instructions and load the data into Tecplot.
6875 * @return
6876 * Return TRUE if the data is loaded successfully. Otherwise, FALSE.
6878 * @param Instructions
6879 * This contains all of the instructions needed to load the data.
6882 * <FortranSyntax>
6883 * INTEGER*4 FUNCTION MyDataSetLoaderCallback(
6884 * & Instructions)
6885 * POINTER (Instructions,DummyInstructionsData)
6886 * </FortranSyntax>
6888 typedef Boolean_t (STDCALL *DataSetLoader_pf)(StringList_pa Instructions);
6895 * Callback used to provide the ability to override data loader instructions
6896 * while processing a layout.
6898 * @return
6899 * Return TRUE if the instructions are successfully replaced or left alone.
6900 * Return FALSE if the user cancels the operation.
6902 * @param Instructions
6903 * The original instructions needed to load the data.
6905 * <FortranSyntax>
6906 * INTEGER*4 FUNCTION MyDataSetLoaderInstOverCallback(
6907 * & Instructions)
6908 * POINTER (Instructions,DummyInstructionsData)
6909 * </FortranSyntax>
6912 typedef Boolean_t (STDCALL *DataSetLoaderInstructionOverride_pf)(StringList_pa Instructions);
6917 * Callback used to assign extended curve settings.
6918 * This is called when the user presses the "Curve Settings"
6919 * button in the mapping style dialog.
6921 * @param LineMapSet
6922 * Set of line maps currently selected.
6923 * @param SelectedLineMapSettings
6924 * A string list of the curve settings for the Line-maps that are selected in the
6925 * Line mappings dialog.
6927 * <FortranSyntax>
6928 * SUBROUTINE MyGetCurveSettingsCallback(
6929 * & LineMapSet,
6930 * & SelectedLineMapSettings)
6931 * POINTER (LineMapSet,DummyLineMapData)
6932 * POINTER (SelectedLineMapSettings,DummyLineMapSettings)
6933 * </FortranSyntax>
6935 typedef void (STDCALL *GetCurveSettingsCallback_pf)(Set_pa LineMapSet,
6936 StringList_pa SelectedLineMapSettings);
6942 * Callback function that returns an abbreviated version of the curve settings
6943 * for a particular Line Map for display in the Line Mappings dialog.
6945 * @param LineMap
6946 * The map number that is currently being operated on.
6947 * @param CurveSettings
6948 * The string that Tecplot maintains which contains the extended curve fit
6949 * settings for the current Line-map. This argument may be NULL indicating
6950 * that defaults should be used.
6951 * @param AbbreviatedSettings
6952 * The short form of the CurveSettings that is allocated and returned from
6953 * your function and used by Tecplot. This must be allocated by the addon
6954 * using TecUtilStringAlloc().
6956 * <FortranSyntax>
6957 * SUBROUTINE MyGetAbrevSettingsStringCallback(
6958 * & LineMap,
6959 * & CurveSettings,
6960 * & AbbreviatedSettings),
6961 * INTEGER*4 LineMap
6962 * CHARACTER*(*) CurveSettings
6963 * CHARACTER*(*) AbbreviatedSettings
6964 * </FortranSyntax>
6966 typedef void (STDCALL *GetAbbreviatedSettingsStringCallback_pf)(EntIndex_t LineMap,
6967 char* CurveSettings,
6968 TP_GIVES char** AbbreviatedSettings);
6974 * This function returns a string (CurveInfoString) for Tecplot to display
6975 * information about a particular curve in the curve info dialog.
6977 * @param RawIndV
6978 * The handle to the raw field data of the independent variable.
6979 * @param RawDepV
6980 * The handle to the raw field data of the dependent variable.
6981 * @param IndVCoordScale
6982 * An enumerated variable whose values are Scale_linear when the independent variable
6983 * axis has a linear scale and Scale_log when it has a log scale.
6984 * @param DepVCoordScale
6985 * An enumerated variable whose values are Scale_linear when the dependent variable axis
6986 * has a linear scale and Scale_log when it has a log scale.
6987 * @param NumRawPts
6988 * number of raw field data values.
6989 * @param LineMap
6990 * The map number that is currently being operated on.
6991 * @param CurveSettings
6992 * The curve settings string for the current Line-map. This argument may be
6993 * NULL indicating that defaults should be used.
6994 * @param CurveInfoString
6995 * The string that is allocated and returned by your function and be
6996 * presented in the Data/XY-Plot Curve Info dialog. The CurveInfoString must
6997 * be allocated by the addon using TecUtilStringAlloc().
6999 * @return
7000 * Return TRUE if the curve info string can be generated, otherwise FALSE.
7002 * <FortranSyntax>
7003 * INTEGER*4 FUNCTION MyGetCurveInfoStringCallback(
7004 * & RawIndV,
7005 * & RawDepV,
7006 * & IndVCoordScale,
7007 * & DepVCoordScale,
7008 * & NumRawPts,
7009 * & LineMap,
7010 * & CurveSettings,
7011 * & CurveInfoString)
7012 * POINTER (RawIndV,DummyRawIndVData)
7013 * POINTER (RawDepV,DummyRawDepVData)
7014 * INTEGER*4 IndVCoordScale
7015 * INTEGER*4 DepVCoordScale
7016 * INTEGER*4 NumRawPts
7017 * INTEGER*4 LineMap
7018 * CHARACTER*(*) CurveSettings
7019 * CHARACTER*(*) CurveInfoString
7020 * </FortranSyntax>
7022 typedef Boolean_t (STDCALL *GetCurveInfoStringCallback_pf)(FieldData_pa RawIndV,
7023 FieldData_pa RawDepV,
7024 CoordScale_e IndVCoordScale,
7025 CoordScale_e DepVCoordScale,
7026 LgIndex_t NumRawPts,
7027 EntIndex_t LineMap,
7028 char* CurveSettings,
7029 TP_GIVES char** CurveInfoString);
7032 * Callback function used to calculate data points for an extended curve fit.
7034 * @return
7035 * Return TRUE if the curve can be calculated, otherwise FALSE.
7037 * @param RawIndV
7038 * The handle to the raw field data of the independent variable.
7039 * @param RawDepV
7040 * The handle to the raw field data of the dependent variable.
7041 * @param IndVCoordScale
7042 * An enumerated variable whose values are Scale_linear when the independent variable
7043 * axis has a linear scale and Scale_log when it has a log scale.
7044 * @param DepVCoordScale
7045 * An enumerated variable whose values are Scale_linear when the dependent variable axis
7046 * has a linear scale and Scale_log when it has a log scale.
7047 * @param NumRawPts
7048 * number of raw field data values.
7049 * @param NumCurvePts
7050 * The number of points that will construct the curve fit.
7051 * @param LineMap
7052 * The line map to operated on.
7053 * @param CurveSettings
7054 * The curve settings string for the current Line-map. This argument may be
7055 * NULL indicating that defaults should be used.
7056 * @param IndCurveValues
7057 * A pre-allocated array of size NumCurvePts which the addon will populate with
7058 * the independent values for the curve fit
7059 * @param DepCurveValues.
7060 * A pre-allocated array of size NumCurvePts which the add-on will populate
7061 * with the dependent values for the curve fit.
7063 * <FortranSyntax>
7064 * INTEGER*4 FUNCTION MyGetLinePlotDataPointsCallback(
7065 * & RawIndV,
7066 * & RawDepV,
7067 * & IndVCoordScale,
7068 * & DepVCoordScale,
7069 * & NumRawPts,
7070 * & NumCurvePts,
7071 * & LineMap,
7072 * & CurveSettings,
7073 * & IndCurveValues,
7074 * & DepCurveValues)
7075 * POINTER (RawIndV,DummyRawIndVData)
7076 * POINTER (RawDepV,DummyRawDepVData)
7077 * INTEGER*4 IndVCoordScale
7078 * INTEGER*4 DepVCoordScale
7079 * INTEGER*4 NumRawPts
7080 * INTEGER*4 NumCurvePts
7081 * INTEGER*4 LineMap
7082 * CHARACTER*(*) CurveSettings
7083 * REAL*8 IndCurveValues()
7084 * REAL*8 DepCurveValues()
7085 * </FortranSyntax>
7087 typedef Boolean_t (STDCALL *GetLinePlotDataPointsCallback_pf)(FieldData_pa RawIndV,
7088 FieldData_pa RawDepV,
7089 CoordScale_e IndVCoordScale,
7090 CoordScale_e DepVCoordScale,
7091 LgIndex_t NumRawPts,
7092 LgIndex_t NumCurvePts,
7093 EntIndex_t LineMap,
7094 char* CurveSettings,
7095 TP_OUT double* IndCurveValues,
7096 TP_OUT double* DepCurveValues);
7097 #if defined EXPORT_DEPRECATED_INTERFACES_TO_ADK_ONLY
7099 * @deprecated
7100 * Please use \ref GetLinePlotDataPointsCallback_pf instead.
7102 typedef GetLinePlotDataPointsCallback_pf GetXYDataPointsCallback_pf;
7103 #endif
7109 * A Callback function used to obtain an interpolated dependent value for an
7110 * extended curve fit given an independent value.
7112 * @return
7113 * Return TRUE if it is possible to obtain the interpolated value, otherwise FALSE.
7115 * @param RawIndV
7116 * handle to the raw field data of the independent variable.
7117 * @param RawDepV
7118 * The handle to the raw field data of the dependent variable.
7119 * @param IndVCoordScale
7120 * An enumerated variable whose values are Scale_linear when the independent variable
7121 * axis has a linear scale and Scale_log when it has a log scale.
7122 * @param DepVCoordScale
7123 * An enumerated variable whose values are Scale_linear when the dependent variable axis
7124 * has a linear scale and Scale_log when it has a log scale.
7125 * @param NumRawPts
7126 * The number of field data values.
7127 * @param NumCurvePts
7128 * The number of points used to construct the curve fit.
7129 * @param LineMapNum
7130 * The line map number currently being operated on.
7131 * @param CurveSettings
7132 * The curve settings string for the current Line-map. This argument may be
7133 * NULL indicating that defaults should be used.
7134 * @param ProbeIndValue
7135 * The independent value location of the probe (supplied).
7136 * @param ProbeDepValue
7137 * Reference to the calculated dependent value location of the probe.
7139 * <FortranSyntax>
7140 * INTEGER*4 FUNCTION MyGetProbeValueCallback(
7141 * & RawIndV,
7142 * & RawDepV,
7143 * & IndVCoordScale,
7144 * & DepVCoordScale,
7145 * & NumRawPts,
7146 * & NumCurvePts,
7147 * & LineMapNum,
7148 * & CurveSettings,
7149 * & CurveInfoString,
7150 * & ProbeIndValue,
7151 * & ProbeDepValue)
7152 * POINTER (RawIndV,DummyRawIndVData)
7153 * POINTER (RawDepV,DummyRawDepVData)
7154 * INTEGER*4 IndVCoordScale
7155 * INTEGER*4 DepVCoordScale
7156 * INTEGER*4 NumRawPts
7157 * INTEGER*4 NumCurvePts
7158 * INTEGER*4 LineMapNum
7159 * CHARACTER*(*) CurveSettings
7160 * REAL*8 ProbeIndValue
7161 * REAL*8 ProbeDepValue
7162 * </FortranSyntax>
7165 typedef Boolean_t (STDCALL *GetProbeValueCallback_pf)(FieldData_pa RawIndV,
7166 FieldData_pa RawDepV,
7167 CoordScale_e IndVCoordScale,
7168 CoordScale_e DepVCoordScale,
7169 LgIndex_t NumRawPts,
7170 LgIndex_t NumCurvePts,
7171 EntIndex_t LineMapNum,
7172 char* CurveSettings,
7173 double ProbeIndValue,
7174 TP_OUT double* ProbeDepValue);
7178 #if defined MSWIN
7179 typedef Boolean_t (STDCALL *PreTranslateMessage_pf)(MSG *pMsg);
7180 #endif
7184 * Callback function pointer for providing a Dynamic Axis labels.
7185 * @since
7186 * 10.0-6-015
7187 * @param Value
7188 * Value that corresponds to a tick label that will be drwan.
7190 * @param ClientData
7191 * Convenience storage of user client data.
7193 * @param LabelString
7194 * Output label for the tick mark.
7195 * This must be allocated by the addon using TecUtilStringAlloc().
7197 * @return
7198 * Returns TRUE if the LabelString has been successfully allocated.
7199 * Otherwise, FALSE is returned.
7201 typedef Boolean_t (STDCALL *DynamicLabelCallback_pf)(double Value,
7202 ArbParam_t ClientData,
7203 TP_GIVES char** LabelString);
7206 * This is called when Tecplot is idle.
7208 * @par Note:
7209 * Tecplot is never idle when running in batch mode (with the -b flag).
7211 * @param ClientData
7212 * Arbitrary client data.
7214 * <FortranSyntax>
7215 * INTEGER*4 FUNCTION MyOnIdleCallback(
7216 * & ClientDataPtr)
7217 * POINTER (ClientDataPtr,DummyClientData)
7218 * </FortranSyntax>
7221 typedef void (STDCALL *OnIdleCallback_pf)(ArbParam_t ClientData);
7224 * Callback responsible for executing the specified script file.
7226 * @since
7227 * 11.0-2-005
7229 * @param ScriptFileName
7230 * Relative or absolute file name of the script to execute. If the path
7231 * is relative it is relative to the current working directory.
7232 * @param ClientData
7233 * Client data registered with the callback.
7235 * @return
7236 * TRUE if the script executed successfully, FALSE otherwise.
7238 * @sa TecUtilScriptExecRegisterCallback
7240 typedef Boolean_t (STDCALL *ScriptExecCallback_pf)(const char *ScriptFileName,
7241 ArbParam_t ClientData);
7243 /* BEGINREMOVEFROMADDON */
7244 #if defined TECPLOTKERNEL
7245 /* CORE SOURCE CODE REMOVED */
7246 #if 0 /* NOTUSED */
7247 #endif
7248 #if !defined NO_ASSERTS
7249 #endif
7250 #if defined MSWIN
7251 #endif /* MSWIN */
7252 #if !defined (MSWIN)
7253 #endif
7254 #if defined Q_MAINMODULE
7255 #else
7256 #endif
7257 #if 0 /* NOTUSED */
7258 #endif
7259 #endif /* TECPLOTKERNEL */
7261 #if defined TECPLOTKERNEL
7262 /* CORE SOURCE CODE REMOVED */
7263 #endif /* TECPLOTKERNEL */
7266 /* ENDREMOVEFROMADDON */
7267 struct _ViewState_a;
7268 typedef struct _ViewState_a *SavedView_pa, *ViewState_pa;
7271 #endif /* _GLOBAL_H */