• Main Page
  • Related Pages
  • Modules
  • Namespaces
  • Data Structures
  • Files

GLOBAL.h

Go to the documentation of this file.
00001 /* CORE SOURCE CODE REMOVED */
00002 
00003 /*
00004 ******************************************************************
00005 ******************************************************************
00006 *******                                                   ********
00007 ******  (C) 1988-2008 Tecplot, Inc.                        *******
00008 *******                                                   ********
00009 ******************************************************************
00010 ******************************************************************
00011 */
00012 
00013 #ifndef _GLOBAL_H
00014 
00015 #if defined EXTERN
00016 #undef EXTERN
00017 #endif
00018 #if defined Q_MAINMODULE && defined TECPLOTKERNEL
00019 #define EXTERN
00020 #else
00021 #define EXTERN extern
00022 #endif
00023 
00024 #define EXPORT_DEPRECATED_INTERFACES_TO_ADK_ONLY
00025 /* CORE SOURCE CODE REMOVED */
00026 
00027 
00028 /****************************************************************
00029  *                                                              *
00030  *                          MACROS                              *
00031  *                                                              *
00032  ****************************************************************/
00033 #if defined TRUE
00034 #undef TRUE
00035 #endif
00036 #if defined FALSE
00037 #undef FALSE
00038 #endif
00039 #if defined MIN
00040 #undef MIN
00041 #endif
00042 #if defined MAX
00043 #undef MAX
00044 #endif
00045 #if defined ROUND
00046 #undef ROUND
00047 #endif
00048 #if defined ROUND2
00049 #undef ROUND2
00050 #endif
00051 #if defined TRUNC
00052 #undef TRUNC
00053 #endif
00054 
00055 #define TRUE                  ((Boolean_t)1)
00056 #define FALSE                 ((Boolean_t)0)
00057 
00058 /****************************************************************
00059  *                                                              *
00060  *                           MACROS                             *
00061  *                                                              *
00062  ****************************************************************/
00063 #define ABS(X)                ((X) >= 0 ? (X) : -(X) )
00064 #define MAX(X,Y)              ((X) > (Y) ? (X) : (Y) )
00065 #define MIN(X,Y)              ((X) < (Y) ? (X) : (Y) )
00066 #define BESTSHOWCOLOR(X)      ((X) == White_C ? Black_C : White_C)
00067 #define ROUND_TO_BYTE(X)      ((BYTE)((X)+0.499))
00068 #define ROUNDS(X)             ((short)((X)+0.499))
00069 #define ROUNDL(X)             ((LgIndex_t)((X)+0.499))
00070 #define ROUND2(X)             ((X) >= 0 ? ((int)((X)+0.499)) : ((int)((X)-0.499)))
00071 #define TRUNC(X)              ((short) (X))
00072 #define RAD_TO_DEG(rad)       (180.*(rad)/PI)
00073 #define DEG_TO_RAD(deg)       (PI*(deg)/180.)
00074 
00075 # define CAPITAL(C) ( ('a'<=(C)&&(C)<='z') ? ((C)+('A'-'a')) : (C) ) /* okay for UNICODE */
00076 
00077 #include "TASSERT.h"
00078 
00079 #if defined TECPLOTKERNEL && defined MSWIN
00080   #define ISEMPTYSTRING(S)      tecplot::strutil::IsEmptyString(S) 
00081 #else
00082   #define ISEMPTYSTRING(S)      ( ((const char*)(S))[0] == '\0' )
00083 #endif
00084 
00085 #define ISWHITESPACE(C)       ((C == ' ') || (C == '\t') || (C == '\n'))
00086 #define ISSEPARATOR(C)        ((C == ' ') || (C == '\t') || (C == ','))
00087 /* clamp the input to the specified range */
00088 #define CLAMP(value,low,high) ((value)<(low) ? (low) : (value) > (high) ? (high) : (value))
00089 /* integer division rounds any fraction up (for example n=16,d=3 results in 6) */
00090 #define INTEGER_DIVIDE_AND_ROUND_UP(n, d) (((int)(n)+(int)(d)-1)/(int)(d))
00091 
00092 /* CORE SOURCE CODE REMOVED */
00093 
00094 /* */
00095 #define SWITCH(Type,A,B)      do {Type T = (A); (A) = (B); (B) = T;} while (FALSE)
00096 #define SWITCH_DOUBLES(A,B)   SWITCH(double, (A), (B))
00097 #define FPRINTFOK(x)          (Boolean_t)((x) > 0)
00098 #define GRAPHICSARE3D(F)      ((F->PlotType == PlotType_Cartesian3D))
00099 
00100 /* convenience macros for implication, P -> Q, and equivalence, P <-> Q. */
00101 #define IMPLICATION(P,Q) (!(P) || (Q))
00102 #define EQUIVALENCE(P,Q) ((P) == (Q))
00103 
00104 /* suppress compiler warnings about unused parameters */
00105 #if defined UNUSED
00106   #undef UNUSED
00107 #endif
00108 #define UNUSED(param) (void)param
00109 
00116 #define CONVERT_DOUBLE_TO_FLOAT(val) \
00117   ( (val) >= SMALLFLOAT \
00118     ? ( (val) < LARGEFLOAT \
00119         ? (float)(val) \
00120         : (float)LARGEFLOAT \
00121       ) \
00122     : ( (val) <= -SMALLFLOAT  \
00123         ? ( (val) > -LARGEFLOAT \
00124             ? (float)(val) \
00125             : (float)-LARGEFLOAT \
00126           ) \
00127         : (float)0.0 \
00128       ) \
00129   )
00130 
00131 
00138 #define CLAMP_DOUBLE(val) \
00139   ( (val) >= SMALLDOUBLE \
00140     ? ( (val) < LARGEDOUBLE \
00141         ? (double)(val) \
00142         : (double)LARGEDOUBLE \
00143       ) \
00144     : ( (val) <= -SMALLDOUBLE  \
00145         ? ( (val) > -LARGEDOUBLE \
00146             ? (double)(val) \
00147             : (double)-LARGEDOUBLE \
00148           ) \
00149         : (double)0.0 \
00150       ) \
00151   )
00152 
00153 
00160 #define CONVERT_DOUBLE_TO_INT32(val) \
00161   ( (val) >= 1.0 \
00162     ? ( (val) < MAXINT32 \
00163         ? (Int32_t)(val) \
00164         : (Int32_t)MAXINT32 \
00165       ) \
00166     : ( (val) <= -1.0  \
00167         ? ( (val) > (Int32_t)-MAXINT32 \
00168             ? (Int32_t)(val) \
00169             : (Int32_t)-MAXINT32 \
00170           ) \
00171         : (Int32_t)0.0 \
00172       ) \
00173   )
00174 
00175 
00182 #define CONVERT_DOUBLE_TO_INT16(val) \
00183   ( (val) >= 1.0 \
00184     ? ( (val) < MAXINT16 \
00185         ? (Int16_t)(val) \
00186         : (Int16_t)MAXINT16 \
00187       ) \
00188     : ( (val) <= -1.0  \
00189         ? ( (val) > (Int16_t)-MAXINT16 \
00190             ? (Int16_t)(val) \
00191             : (Int16_t)-MAXINT16 \
00192           ) \
00193         : (Int16_t)0.0 \
00194       ) \
00195   )
00196 
00206 #define COPY_2_UNALIGNED_BYTES(DstBuffer, SrcBuffer) \
00207         do { \
00208           /* cannot check sizeof(SrcBuffer) or sizeof(DstBuffer) because they are */ \
00209           /* most likely single byte pointers into unaligned blocks of data */ \
00210           ((Byte_t *)(DstBuffer))[0] = ((Byte_t *)(SrcBuffer))[0]; \
00211           ((Byte_t *)(DstBuffer))[1] = ((Byte_t *)(SrcBuffer))[1]; \
00212         } while (FALSE)
00213 
00223 #define COPY_AND_REVERSE_2_UNALIGNED_BYTES(DstBuffer, SrcBuffer) \
00224         do { \
00225           /* cannot check sizeof(SrcBuffer) or sizeof(DstBuffer) because they are */ \
00226           /* most likely single byte pointers into unaligned blocks of data */ \
00227           ((Byte_t *)(DstBuffer))[0] = ((Byte_t *)(SrcBuffer))[1]; \
00228           ((Byte_t *)(DstBuffer))[1] = ((Byte_t *)(SrcBuffer))[0]; \
00229         } while (FALSE)
00230 
00240 #define COPY_4_UNALIGNED_BYTES(DstBuffer, SrcBuffer) \
00241         do { \
00242           /* cannot check sizeof(SrcBuffer) or sizeof(DstBuffer) because they are */ \
00243           /* most likely single byte pointers into unaligned blocks of data */ \
00244           ((Byte_t *)(DstBuffer))[0] = ((Byte_t *)(SrcBuffer))[0]; \
00245           ((Byte_t *)(DstBuffer))[1] = ((Byte_t *)(SrcBuffer))[1]; \
00246           ((Byte_t *)(DstBuffer))[2] = ((Byte_t *)(SrcBuffer))[2]; \
00247           ((Byte_t *)(DstBuffer))[3] = ((Byte_t *)(SrcBuffer))[3]; \
00248         } while (FALSE)
00249 
00259 #define COPY_AND_REVERSE_4_UNALIGNED_BYTES(DstBuffer, SrcBuffer) \
00260         do { \
00261           /* cannot check sizeof(SrcBuffer) or sizeof(DstBuffer) because they are */ \
00262           /* most likely single byte pointers into unaligned blocks of data */ \
00263           ((Byte_t *)(DstBuffer))[0] = ((Byte_t *)(SrcBuffer))[3]; \
00264           ((Byte_t *)(DstBuffer))[1] = ((Byte_t *)(SrcBuffer))[2]; \
00265           ((Byte_t *)(DstBuffer))[2] = ((Byte_t *)(SrcBuffer))[1]; \
00266           ((Byte_t *)(DstBuffer))[3] = ((Byte_t *)(SrcBuffer))[0]; \
00267         } while (FALSE)
00268 
00278 #define COPY_8_UNALIGNED_BYTES(DstBuffer, SrcBuffer) \
00279         do { \
00280           /* cannot check sizeof(SrcBuffer) or sizeof(DstBuffer) because they are */ \
00281           /* most likely single byte pointers into unaligned blocks of data */ \
00282           ((Byte_t *)(DstBuffer))[0] = ((Byte_t *)(SrcBuffer))[0]; \
00283           ((Byte_t *)(DstBuffer))[1] = ((Byte_t *)(SrcBuffer))[1]; \
00284           ((Byte_t *)(DstBuffer))[2] = ((Byte_t *)(SrcBuffer))[2]; \
00285           ((Byte_t *)(DstBuffer))[3] = ((Byte_t *)(SrcBuffer))[3]; \
00286           ((Byte_t *)(DstBuffer))[4] = ((Byte_t *)(SrcBuffer))[4]; \
00287           ((Byte_t *)(DstBuffer))[5] = ((Byte_t *)(SrcBuffer))[5]; \
00288           ((Byte_t *)(DstBuffer))[6] = ((Byte_t *)(SrcBuffer))[6]; \
00289           ((Byte_t *)(DstBuffer))[7] = ((Byte_t *)(SrcBuffer))[7]; \
00290         } while (FALSE)
00291 
00301 #define COPY_AND_REVERSE_8_UNALIGNED_BYTES(DstBuffer, SrcBuffer) \
00302         do { \
00303           /* cannot check sizeof(SrcBuffer) or sizeof(DstBuffer) because they are */ \
00304           /* most likely single byte pointers into unaligned blocks of data */ \
00305           ((Byte_t *)(DstBuffer))[0] = ((Byte_t *)(SrcBuffer))[7]; \
00306           ((Byte_t *)(DstBuffer))[1] = ((Byte_t *)(SrcBuffer))[6]; \
00307           ((Byte_t *)(DstBuffer))[2] = ((Byte_t *)(SrcBuffer))[5]; \
00308           ((Byte_t *)(DstBuffer))[3] = ((Byte_t *)(SrcBuffer))[4]; \
00309           ((Byte_t *)(DstBuffer))[4] = ((Byte_t *)(SrcBuffer))[3]; \
00310           ((Byte_t *)(DstBuffer))[5] = ((Byte_t *)(SrcBuffer))[2]; \
00311           ((Byte_t *)(DstBuffer))[6] = ((Byte_t *)(SrcBuffer))[1]; \
00312           ((Byte_t *)(DstBuffer))[7] = ((Byte_t *)(SrcBuffer))[0]; \
00313         } while (FALSE)
00314 
00321 #define REVERSE_2_BYTES_1_AT_A_TIME(Buffer) \
00322           do { \
00323             Byte_t Byte0 = ((Byte_t *)(Buffer))[0]; \
00324             CHECK(sizeof(*(Buffer))==1 || sizeof(*(Buffer))==2); \
00325             ((Byte_t *)(Buffer))[0] = ((Byte_t *)(Buffer))[1]; \
00326             ((Byte_t *)(Buffer))[1] = Byte0; \
00327           } while (FALSE)
00328 
00329 #define REVERSE_2_BYTES_2_AT_A_TIME(Buffer) \
00330           do { \
00331             UInt16_t data_bits = ((UInt16_t *)(Buffer))[0]; \
00332             CHECK(sizeof(*(Buffer))==1 || sizeof(*(Buffer))==2); \
00333             ((UInt16_t *)(Buffer))[0] = (((data_bits)<<8) | \
00334                                          ((data_bits&0xff))); \
00335           } while (FALSE)
00336 
00337 /* REVERSE_2_BYTES_2_AT_A_TIME may actually be slower, needs testing. */
00338 #define REVERSE_2_BYTES REVERSE_2_BYTES_1_AT_A_TIME
00339 
00365 #define REVERSE_4_BYTES_1_AT_A_TIME(Buffer) \
00366           do { \
00367             Byte_t Byte0 = ((Byte_t *)(Buffer))[0]; \
00368             Byte_t Byte1 = ((Byte_t *)(Buffer))[1]; \
00369             CHECK(sizeof(*(Buffer))==1 || sizeof(*(Buffer))==4); \
00370             ((Byte_t *)(Buffer))[0] = ((Byte_t *)(Buffer))[3]; \
00371             ((Byte_t *)(Buffer))[1] = ((Byte_t *)(Buffer))[2]; \
00372             ((Byte_t *)(Buffer))[2] = Byte1; \
00373             ((Byte_t *)(Buffer))[3] = Byte0; \
00374           } while (FALSE)
00375 
00376 #define REVERSE_4_BYTES_4_AT_A_TIME(Buffer) \
00377           do { \
00378             UInt32_t data_bits = *((UInt32_t *)(Buffer)); \
00379             CHECK(sizeof(*(Buffer))==1 || sizeof(*(Buffer))==4); \
00380             *((UInt32_t *)(Buffer)) = (((data_bits)<<24)            | \
00381                                        ((data_bits&0x0000ff00)<<8)  | \
00382                                        ((data_bits&0x00ff0000)>>8)  | \
00383                                        ((data_bits)>>24)); \
00384           } while (FALSE)
00385 
00386 #if defined MSWIN
00387   /*
00388    * The DevStuido compiler seems to be the only one that can truly handle this
00389    * when optimization is turned on.
00390    */
00391   #define REVERSE_4_BYTES REVERSE_4_BYTES_4_AT_A_TIME
00392 #else
00393   #define REVERSE_4_BYTES REVERSE_4_BYTES_1_AT_A_TIME
00394 #endif
00395 
00402 #define REVERSE_8_BYTES_1_AT_A_TIME(Buffer) \
00403         do { \
00404             Byte_t Byte0 = ((Byte_t *)(Buffer))[0]; \
00405             Byte_t Byte1 = ((Byte_t *)(Buffer))[1]; \
00406             Byte_t Byte2 = ((Byte_t *)(Buffer))[2]; \
00407             Byte_t Byte3 = ((Byte_t *)(Buffer))[3]; \
00408             CHECK(sizeof(*(Buffer))==1 || sizeof(*(Buffer))==8); \
00409             ((Byte_t *)(Buffer))[0] = ((Byte_t *)(Buffer))[7]; \
00410             ((Byte_t *)(Buffer))[1] = ((Byte_t *)(Buffer))[6]; \
00411             ((Byte_t *)(Buffer))[2] = ((Byte_t *)(Buffer))[5]; \
00412             ((Byte_t *)(Buffer))[3] = ((Byte_t *)(Buffer))[4]; \
00413             ((Byte_t *)(Buffer))[4] = Byte3; \
00414             ((Byte_t *)(Buffer))[5] = Byte2; \
00415             ((Byte_t *)(Buffer))[6] = Byte1; \
00416             ((Byte_t *)(Buffer))[7] = Byte0; \
00417         } while (FALSE)
00418 
00419 #define REVERSE_8_BYTES_2_AT_A_TIME(Buffer) \
00420         do { \
00421           UInt16_t data_bits_0 = ((UInt16_t *)(Buffer))[0]; \
00422           UInt16_t data_bits_1 = ((UInt16_t *)(Buffer))[1]; \
00423           UInt16_t data_bits_2 = ((UInt16_t *)(Buffer))[2]; \
00424           UInt16_t data_bits_3 = ((UInt16_t *)(Buffer))[3]; \
00425           CHECK(sizeof(*(Buffer))==1 || sizeof(*(Buffer))==8); \
00426           ((UInt16_t *)(Buffer))[0] = (((data_bits_3)<<8) | \
00427                                        ((data_bits_3&0xff))); \
00428           ((UInt16_t *)(Buffer))[1] = (((data_bits_2)<<8) | \
00429                                        ((data_bits_2&0xff))); \
00430           ((UInt16_t *)(Buffer))[2] = (((data_bits_1)<<8) | \
00431                                        ((data_bits_1&0xff))); \
00432           ((UInt16_t *)(Buffer))[3] = (((data_bits_0)<<8) | \
00433                                        ((data_bits_0&0xff))); \
00434         } while (FALSE)
00435 
00436 #define REVERSE_8_BYTES_4_AT_A_TIME(Buffer) \
00437         do { \
00438           UInt32_t data_bits_0 = ((UInt32_t *)(Buffer))[0]; \
00439           UInt32_t data_bits_1 = ((UInt32_t *)(Buffer))[1]; \
00440           CHECK(sizeof(*(Buffer))==1 || sizeof(*(Buffer))==8); \
00441           ((UInt32_t *)(Buffer))[0] = (((data_bits_1)<<24)           | \
00442                                        ((data_bits_1&0x0000ff00)<<8) | \
00443                                        ((data_bits_1&0x00ff0000)>>8) | \
00444                                        ((data_bits_1)>>24)); \
00445           ((UInt32_t *)(Buffer))[1] = (((data_bits_0)<<24)           | \
00446                                        ((data_bits_0&0x0000ff00)<<8) | \
00447                                        ((data_bits_0&0x00ff0000)>>8) | \
00448                                        ((data_bits_0)>>24)); \
00449         } while (FALSE)
00450 
00451 #define REVERSE_8_BYTES_8_AT_A_TIME(Buffer) \
00452         do { \
00453           UInt64_t data_bits = *((UInt64_t *)(Buffer)); \
00454           CHECK(sizeof(*(Buffer))==1 || sizeof(*(Buffer))==8); \
00455           *((UInt64_t *)(Buffer)) = (((data_bits)<<56) | \
00456                                      ((data_bits&0x000000000000ff00)<<40) | \
00457                                      ((data_bits&0x0000000000ff0000)<<24) | \
00458                                      ((data_bits&0x00000000ff000000)<<8)  | \
00459                                      ((data_bits&0x000000ff00000000)>>8)  | \
00460                                      ((data_bits&0x0000ff0000000000)>>24) | \
00461                                      ((data_bits&0x00ff000000000000)>>40) | \
00462                                      ((data_bits)>>56)); \
00463         } while (FALSE)
00464 
00465 
00466 #if defined MSWIN
00467   /*
00468    * The DevStuido compiler seems to be the only one that can truly handle this
00469    * when optimization is turned on.
00470    */
00471   #define REVERSE_8_BYTES REVERSE_8_BYTES_4_AT_A_TIME
00472 #else
00473   #define REVERSE_8_BYTES REVERSE_8_BYTES_1_AT_A_TIME
00474 #endif
00475 
00476 
00477 /****************************************************************
00478  *                                                              *
00479  *             ADD-ON MSWIN IMPORT/EXPORT DEFINITIONS            *
00480  *                                                              *
00481  ****************************************************************/
00482 #if defined MSWIN
00483 #else
00484 #  define STDCALL
00485 #endif /* MSWIN */
00486 
00487 #if defined (__cplusplus)
00488 # define EXTERNC extern "C"
00489 #else
00490 # define EXTERNC
00491 #endif /* __cplusplus */
00492 
00493 #if defined MSWIN
00494 #if defined _OOSTYLE_DLLAPI || defined AMTEC_INTERNAL_MAKELIBTEC || defined TECPLOTKERNEL
00495 #    define OOSTYLE_DLLAPI _declspec ( dllexport )
00496 #  else
00497 #    define OOSTYLE_DLLAPI _declspec ( dllimport )
00498 #  endif
00499 #else
00500 #  define OOSTYLE_DLLAPI
00501 #endif
00502 
00503 #define EXTERNC OOSTYLE_DLLAPI
00504 
00505 
00506 /*
00507  *
00508  * Usage:
00509  * EXPORTFROMADDON void InitTecAddOn(void) { ... }
00510  *
00511  */
00512 #if defined MSWIN
00513 # define EXPORTFROMADDON EXTERNC _declspec ( dllexport )
00514 #else
00515 # define EXPORTFROMADDON EXTERNC
00516 #endif /* MSWIN */
00517 
00518 #define EXPORTFROMDLL EXPORTFROMADDON
00519 
00520 #define InitTecAddOn           InitTecAddOn113
00521 #define TEC_INIT_FUNCTION_NAME "InitTecAddOn113"
00522 
00523 /* CORE SOURCE CODE REMOVED */
00524 
00525 
00526 /* CORE SOURCE CODE REMOVED */
00527 
00528 
00529 /****************************************************************
00530  *                                                              *
00531  *                       HARD CONSTANTS                         *
00532  *                                                              *
00533  ****************************************************************/
00534 #define MAXINDEX                 (LgIndex_t)2147483646
00535 #define MAXZONEMAP               MAXINDEX
00536 #define LARGEDOUBLE              1.0e+150
00537 #define SMALLDOUBLE              1.0e-150
00538 #define LARGESTEXPONENT          150
00539 #define SMALLESTEXPONENT         -150
00540 
00541 #define SMALLESTDOUBLE           SMALLDOUBLE
00542 
00543 #define LARGESTDOUBLEEXPONENT     308
00544 #define SMALLESTDOUBLEEXPONENT    -307
00545 #define LARGESTDOUBLE             1.0e+308
00546 #define LARGEFLOAT                3.40282347E+38
00547 #define SMALLFLOAT                1.17549435E-38
00548 #define SMALLSTDOUBLE             1.0e-307
00549 
00550 #define LARGELONG                MAXINDEX
00551 #define LARGESHORT               32766
00552 #define MAXINT32                 LARGELONG
00553 #define MAXINT16                 LARGESHORT
00554 #define ETX                      3
00555 #define LN2                      0.69314718055994530942
00556 #define LN10                     2.30258509299404568402
00557 #define PIOVER2                  1.57079632679489661923
00558 #define TWOPI                    6.28318530717958647692
00559 #if defined PI
00560 #undef PI
00561 #endif
00562 #define PI                       3.14159265358979323846
00563 #define ANGLEEPSILON             1.0e-10
00564 #define LARGESTANGLE             (4*PI+ANGLEEPSILON)
00565 #define DEGPERRADIANS            57.295779513082323
00566 #define CMPERINCH                2.54
00567 #define POINTSPERINCH            72.0
00568 #define FONTMOVEMARK             192
00569 #define FONTDECISIONMARK         128
00570 #define FONTLINEMARK             64
00571 #define BAD_SET_VALUE            ((SetIndex_t)-1)
00572 #define MENU_POSITION_FIRST      (0)
00573 #define MENU_POSITION_LAST       (-1)
00574 #define INVALID_UNIQUE_ID        0
00575 
00576 #define BADSETVALUE              BAD_SET_VALUE
00577 #define SOLID_TRANSLUCENCY       0
00578 #define BAD_DISTANCE             (-1.0)
00579 /* MIN_CIRCUMFERENTIAL_INDEX is the min J dimension for circular zones */
00580 #define MIN_CIRCUMFERENTIAL_INDEX  4
00581 
00582 #define VALID_STRAND_ID(StrandID) (0 <= (StrandID) && (StrandID) < MAXZONEMAP)
00583 #define STRAND_ID_STATIC          (-1)
00584 #define STRAND_ID_PENDING         (-2)
00585 
00586 /* CORE SOURCE CODE REMOVED */
00587 
00588 
00589 #define TecplotBinaryFileVersion    112   /* NOTE: MUST also change this define symbol in preplot.cpp */
00590 /* Also change version number in the data file format in the comments in preplot.cpp */
00591 /* And the version number of Preplot itself in preplot.cpp */
00592 #define TecplotInterfaceVersion     113
00593 #define TecplotInterfaceVersionStr  "113" /* stay in lockstep with TecplotInterfaceVersion */
00594 #define TecplotLicenseVersion       112   /* may vary from TecplotInterfaceVersion */
00595 #define TecplotLicenseVersionStr   "11.2"  /* stay in lockstep with TecplotLicenseVersion */
00596 /* Also change the macro version number in COMMAND.MASTER.h */
00597 
00598 #define    MaxNumZonesOrVars         MAXZONEMAP
00599 #define    MaxXAxes                  5
00600 #define    MaxYAxes                  5
00601 #define    MaxGeoSegments            50
00602 #define    MaxPtsCircleOrEllipse     720
00603 #define    MaxFrames                 2048
00604 #define    MaxCustomLabelSets        10
00605 #define    MaxFontMoves              20000
00606 #define    MaxColorMapOverrides      16
00607 #define    MaxValueBlankConstraints  8
00608 #define    MaxContourGroups          8
00609 #define    MaxIsoSurfaceGroups       8
00610 #define    MaxSliceGroups            8
00611 
00612 #define    MaxColorMapGroups         8
00613 #define    DefaultNumContLevels      15
00614 
00615 
00616 #define    DefaultColorMapGroup      ((SmInteger_t)0)
00617 #define    BADGROUPNUMBER            ((SmInteger_t)-1)
00618 #define    UNUSEDGROUPNUMBER         ((SmInteger_t)0)
00619 
00620 #define VALID_ISOSURFACE_GROUP(Group) (((((SmInteger_t)Group) >= 0) && (((SmInteger_t)Group) < MaxIsoSurfaceGroups)))
00621 #define VALID_SLICE_GROUP(Group)      (((((SmInteger_t)Group) >= 0) && (((SmInteger_t)Group) < MaxSliceGroups)))
00622 #define VALID_COLORMAP_GROUP(Group)   (((((SmInteger_t)Group) >= 0) && (((SmInteger_t)Group) < MaxColorMapGroups)))
00623 
00624 
00625 
00626 /*
00627  * If any of these values changes it's corresponding value in preplot.c must
00628  * change to match it so that files created by preplot and Tecplot are
00629  * consistent.
00630  */
00631 #define    MaxChrsDatasetTitle       256
00632 #define    MaxChrsZnTitle            128
00633 #define    MaxChrsVarName            128
00634 #define    MaxChrsZnOrVarName        128
00635 /* currently limited to MaxLineIndex in preplot.c */
00636 #define    MaxChrsAuxValueString     32000
00637 
00638 #define    MaxNumViews               16
00639 #define    MaxBasicSizes             5
00640 #define    MaxColorMapControlPoints  50
00641 #define    MaxRawColorMapEntries     800
00642 #define    MaxDataSetReaders         100
00643 #define    MaxExtendedCurveFits      100
00644 #define    MaxColorMapCycles         20
00645 
00646 
00647 /* Dimension Limits */
00648 
00649 #define    MinPaperDimInWorkArea     0.5
00650 #define    MinFrameWidth             0.25
00651 #define    MinFrameHeight            0.25
00652 #define    MinAxisLength             0.1
00653 
00654 
00655 #define    BadEnumValue              255
00656 
00657 /* CORE SOURCE CODE REMOVED */
00658 
00659 /*
00660  * Floating point values are written to layouts with a certain precision.
00661  * A high precision is necessary in some cases (like streamtrace starting locations)
00662  * This used to be set to 12 which was not high enough.   It is now set to 16 which
00663  * appears to be sufficient.   This also seems to jive with the number of digits of
00664  * precision that are found in "ieee double precision" values which is 53 bits or 
00665  * equivalent to approximately 16 digits. -bdp
00666  *
00667  */
00668 #define STYLE_FLOAT_PRECISION 16
00669 
00670 
00671 /*
00672  * Auxiliary data common names.
00673  *
00674  *      Define Name                                 Data Name                               Data Type    Data Location
00675  *      ------------------------------------------  ------------------------------------    ---------    -------------
00676  */
00677 #define AuxData_Common_Incompressible               "Common.Incompressible"              /* Boolean_t    Dataset */
00678 #define AuxData_Common_Density                      "Common.Density"                     /* double       Dataset */
00679 #define AuxData_Common_SpecificHeat                 "Common.SpecificHeat"                /* double       Dataset */
00680 #define AuxData_Common_SpecificHeatVar              "Common.SpecificHeatVar"             /* int          Dataset */
00681 #define AuxData_Common_GasConstant                  "Common.GasConstant"                 /* double       Dataset */
00682 #define AuxData_Common_GasConstantVar               "Common.GasConstantVar"              /* int          Dataset */
00683 #define AuxData_Common_Gamma                        "Common.Gamma"                       /* double       Dataset */
00684 #define AuxData_Common_GammaVar                     "Common.GammaVar"                    /* int          Dataset */
00685 #define AuxData_Common_Viscosity                    "Common.Viscosity"                   /* double       Dataset */
00686 #define AuxData_Common_ViscosityVar                 "Common.ViscosityVar"                /* int          Dataset */
00687 #define AuxData_Common_Conductivity                 "Common.Conductivity"                /* double       Dataset */
00688 #define AuxData_Common_ConductivityVar              "Common.ConductivityVar"             /* int          Dataset */
00689 #define AuxData_Common_AngleOfAttack                "Common.AngleOfAttack"               /* double       Dataset */
00690 #define AuxData_Common_SpeedOfSound                 "Common.SpeedOfSound"                /* double       Dataset */
00691 #define AuxData_Common_ReferenceU                   "Common.ReferenceU"                  /* double       Dataset */
00692 #define AuxData_Common_ReferenceV                   "Common.ReferenceV"                  /* double       Dataset */
00693 #define AuxData_Common_XVar                         "Common.XVar"                        /* int          Dataset */
00694 #define AuxData_Common_YVar                         "Common.YVar"                        /* int          Dataset */
00695 #define AuxData_Common_ZVar                         "Common.ZVar"                        /* int          Dataset */
00696 #define AuxData_Common_CVar                         "Common.CVar"                        /* int          Dataset */
00697 #define AuxData_Common_UVar                         "Common.UVar"                        /* int          Dataset */
00698 #define AuxData_Common_VVar                         "Common.VVar"                        /* int          Dataset */
00699 #define AuxData_Common_WVar                         "Common.WVar"                        /* int          Dataset */
00700 #define AuxData_Common_VectorVarsAreVelocity        "Common.VectorVarsAreVelocity"       /* Boolean_t    Dataset */
00701 #define AuxData_Common_PressureVar                  "Common.PressureVar"                 /* int          Dataset */
00702 #define AuxData_Common_TemperatureVar               "Common.TemperatureVar"              /* int          Dataset */
00703 #define AuxData_Common_DensityVar                   "Common.DensityVar"                  /* int          Dataset */
00704 #define AuxData_Common_StagnationEnergyVar          "Common.StagnationEnergyVar"         /* int          Dataset */
00705 #define AuxData_Common_MachNumberVar                "Common.MachNumberVar"               /* int          Dataset */
00706 #define AuxData_Common_ReferenceMachNumber          "Common.ReferenceMachNumber"         /* double       Dataset */
00707 #define AuxData_Common_ReferenceW                   "Common.ReferenceW"                  /* double       Dataset */
00708 #define AuxData_Common_PrandtlNumber                "Common.PrandtlNumber"               /* double       DataSet */
00709 #define AuxData_Common_Axisymmetric                 "Common.Axisymmetric"                /* Boolean_t    Dataset */
00710 #define AuxData_Common_AxisOfSymmetryVarAssignment  "Common.AxisOfSymmetryVarAssignment" /* int          Dataset */
00711 #define AuxData_Common_AxisValue                    "Common.AxisValue"                   /* double       Dataset */
00712 #define AuxData_Common_SteadyState                  "Common.SteadyState"                 /* Boolean_t    Dataset */
00713 #define AuxData_Common_TurbulentKineticEnergyVar    "Common.TurbulentKineticEnergyVar"   /* int          Dataset */
00714 #define AuxData_Common_TurbulentDissipationRateVar  "Common.TurbulentDissipationRateVar" /* int          Dataset */
00715 #define AuxData_Common_TurbulentViscosityVar        "Common.TurbulentViscosityVar"       /* int          Dataset */
00716 #define AuxData_Common_TurbulentFrequencyVar        "Common.TurbulentFrequencyVar"       /* int          Dataset */
00717 #define AuxData_Common_Gravity                      "Common.Gravity"                     /* double       Dataset */
00718 #define AuxData_Common_IsBoundaryZone               "Common.IsBoundaryZone"              /* Boolean_t    Zone */
00719 #define AuxData_Common_BoundaryCondition            "Common.BoundaryCondition"           /* BCondition   Zone */
00720 #define AuxData_Common_Time                         "Common.Time"                        /* double       Zone */
00721 #define AuxData_Common_Mean                         "Common.Mean"                        /* double       Variable */
00722 #define AuxData_Common_Median                       "Common.Median"                      /* double       Variable */
00723 #define AuxData_Common_Variance                     "Common.Variance"                    /* double       Variable */
00724 #define AuxData_Common_StdDev                       "Common.StdDev"                      /* double       Variable */
00725 #define AuxData_Common_AvgDev                       "Common.AvgDev"                      /* double       Variable */
00726 #define AuxData_Common_GeoMean                      "Common.GeoMean"                     /* double       Variable */
00727 #define AuxData_Common_ChiSqre                      "Common.ChiSqre"                     /* double       Variable */
00728 
00729 
00730 
00731 
00732 
00733 
00734 
00735 /* CORE SOURCE CODE REMOVED */
00736 
00737 /* Tecplot Add-on Custom Products */
00738 
00739 /* CORE SOURCE CODE REMOVED */
00740 
00741 #define    Black_C           ((ColorIndex_t)0)
00742 #define    Red_C             ((ColorIndex_t)1)
00743 #define    Green_C           ((ColorIndex_t)2)
00744 #define    Blue_C            ((ColorIndex_t)3)
00745 #define    Cyan_C            ((ColorIndex_t)4)
00746 #define    Yellow_C          ((ColorIndex_t)5)
00747 #define    Purple_C          ((ColorIndex_t)6)
00748 #define    White_C           ((ColorIndex_t)7)
00749 
00750 #define    Custom1_C         ((ColorIndex_t)8)
00751 #define    Custom2_C         ((ColorIndex_t)9)
00752 #define    Custom3_C         ((ColorIndex_t)10)
00753 #define    Custom4_C         ((ColorIndex_t)11)
00754 #define    Custom5_C         ((ColorIndex_t)12)
00755 #define    Custom6_C         ((ColorIndex_t)13)
00756 #define    Custom7_C         ((ColorIndex_t)14)
00757 #define    Custom8_C         ((ColorIndex_t)15)
00758 #define    Custom9_C         ((ColorIndex_t)16)
00759 
00760 #define    Custom10_C         ((ColorIndex_t)17)
00761 #define    Custom11_C         ((ColorIndex_t)18)
00762 #define    Custom12_C         ((ColorIndex_t)19)
00763 #define    Custom13_C         ((ColorIndex_t)20)
00764 #define    Custom14_C         ((ColorIndex_t)21)
00765 #define    Custom15_C         ((ColorIndex_t)22)
00766 #define    Custom16_C         ((ColorIndex_t)23)
00767 #define    Custom17_C         ((ColorIndex_t)24)
00768 #define    Custom18_C         ((ColorIndex_t)25)
00769 #define    Custom19_C         ((ColorIndex_t)26)
00770 
00771 #define    Custom20_C         ((ColorIndex_t)27)
00772 #define    Custom21_C         ((ColorIndex_t)28)
00773 #define    Custom22_C         ((ColorIndex_t)29)
00774 #define    Custom23_C         ((ColorIndex_t)30)
00775 #define    Custom24_C         ((ColorIndex_t)31)
00776 #define    Custom25_C         ((ColorIndex_t)32)
00777 #define    Custom26_C         ((ColorIndex_t)33)
00778 #define    Custom27_C         ((ColorIndex_t)34)
00779 #define    Custom28_C         ((ColorIndex_t)35)
00780 #define    Custom29_C         ((ColorIndex_t)36)
00781 
00782 #define    Custom30_C         ((ColorIndex_t)37)
00783 #define    Custom31_C         ((ColorIndex_t)38)
00784 #define    Custom32_C         ((ColorIndex_t)39)
00785 #define    Custom33_C         ((ColorIndex_t)40)
00786 #define    Custom34_C         ((ColorIndex_t)41)
00787 #define    Custom35_C         ((ColorIndex_t)42)
00788 #define    Custom36_C         ((ColorIndex_t)43)
00789 #define    Custom37_C         ((ColorIndex_t)44)
00790 #define    Custom38_C         ((ColorIndex_t)45)
00791 #define    Custom39_C         ((ColorIndex_t)46)
00792 
00793 #define    Custom40_C         ((ColorIndex_t)47)
00794 #define    Custom41_C         ((ColorIndex_t)48)
00795 #define    Custom42_C         ((ColorIndex_t)49)
00796 #define    Custom43_C         ((ColorIndex_t)50)
00797 #define    Custom44_C         ((ColorIndex_t)51)
00798 #define    Custom45_C         ((ColorIndex_t)52)
00799 #define    Custom46_C         ((ColorIndex_t)53)
00800 #define    Custom47_C         ((ColorIndex_t)54)
00801 #define    Custom48_C         ((ColorIndex_t)55)
00802 #define    Custom49_C         ((ColorIndex_t)56)
00803 
00804 #define    Custom50_C         ((ColorIndex_t)57)
00805 #define    Custom51_C         ((ColorIndex_t)58)
00806 #define    Custom52_C         ((ColorIndex_t)59)
00807 #define    Custom53_C         ((ColorIndex_t)60)
00808 #define    Custom54_C         ((ColorIndex_t)61)
00809 #define    Custom55_C         ((ColorIndex_t)62)
00810 #define    Custom56_C         ((ColorIndex_t)63)
00811 
00812 #define    MultiColor_C      ((ColorIndex_t)(-1))
00813 #define    NoColor_C         ((ColorIndex_t)(-2))
00814 #define    MultiColor2_C     ((ColorIndex_t)(-3))
00815 #define    MultiColor3_C     ((ColorIndex_t)(-4))
00816 #define    MultiColor4_C     ((ColorIndex_t)(-5))
00817 #define    RGBColor_C        ((ColorIndex_t)(-6))
00818 #define    MultiColor5_C     ((ColorIndex_t)(-7))
00819 #define    MultiColor6_C     ((ColorIndex_t)(-8))
00820 #define    MultiColor7_C     ((ColorIndex_t)(-9))
00821 #define    MultiColor8_C     ((ColorIndex_t)(-10))
00822 #define    InvalidColor_C    ((ColorIndex_t)(-255))
00823 
00824 #define    FirstCustomColor  Custom1_C
00825 #define    LastCustomColor   Custom56_C
00826 #define    NumCustomColors   (LastCustomColor-FirstCustomColor+1)
00827 
00828 #define    FirstBasicColor   Black_C
00829 #define    LastBasicColor    LastCustomColor
00830 #define    NumBasicColors    (LastBasicColor-FirstBasicColor+1)
00831 
00832 /* CORE SOURCE CODE REMOVED */
00833 
00834 /* CORE SOURCE CODE REMOVED */
00835 
00836 /****************************************************************
00837  *                                                              *
00838  *                          SIMPLE TYPEDEFS                     *
00839  *                                                              *
00840  ****************************************************************/
00841 
00842 
00843 
00844 #if defined DECALPHA   || \
00845     defined LINUXALPHA || \
00846     defined LINUXI64   || \
00847     defined LINUX64    || \
00848     defined COMPAQALPHA
00849 #define LONGIS64
00850 #endif
00851 
00852 
00853 /* How to define UInt64_t/Int64_t is platform specific, but they are always 8-bytes */
00854 #if defined MSWIN
00855   typedef    unsigned __int64     UInt64_t;
00856   typedef    __int64              Int64_t;
00857 #else
00858   #if defined CRAY
00859     typedef    unsigned int       UInt64_t;
00860     typedef    int                Int64_t;
00861   #else
00862     #if defined LONGIS64
00863       typedef unsigned long      UInt64_t;
00864       typedef long               Int64_t;
00865     #else
00866       typedef unsigned long long UInt64_t;
00867       typedef long long          Int64_t;
00868     #endif
00869   #endif
00870 #endif
00871 
00872 #if defined LONGIS64
00873   typedef    unsigned int    UInt32_t;
00874   typedef    int             Int32_t;
00875   typedef    int             LgInteger_t;
00876 #else
00877   typedef    unsigned int    UInt32_t;
00878   typedef    int             Int32_t;
00879   typedef    int             LgInteger_t;
00880 #endif
00881 
00882 typedef    short           Int16_t;
00883 typedef    unsigned short  UInt16_t;
00884 
00885 typedef    int             LgIndex_t;
00886 typedef    LgIndex_t       NodeMap_t;
00887 typedef    LgIndex_t       ScreenDim_t;
00888 
00894 #if defined CRAY
00895   typedef char *ArbParam_t;
00896 #elif defined LONGIS64
00897   typedef long ArbParam_t;
00898 #elif defined MSWIN && (defined _M_IA64 || defined _M_AMD64)
00899    typedef INT_PTR ArbParam_t;
00900 #else
00901    typedef LgIndex_t  ArbParam_t;
00902 #endif
00903 
00904 typedef    ArbParam_t      UniqueID_t;
00905 
00906 /* 64 bit offset used to hold file offset and size values. */
00907 typedef Int64_t FileOffset_t;
00908 
00912 typedef UInt64_t MemMapOffset_t;
00913 
00914 /*
00915  *  SmInteger must be at least a short....
00916  */
00917 
00918 typedef    unsigned char    Byte_t;
00919 typedef    short            SmInteger_t;
00920 typedef    SmInteger_t      ColorIndex_t;
00921 typedef    Int32_t          EntIndex_t;
00922 
00923 typedef    char             Boolean_t;
00924 typedef    char            *ZoneName_t;
00925 typedef    char            *VarName_t;
00926 typedef    char            *LString_t;
00927 
00928 typedef    LgIndex_t        Strand_t;
00929 typedef    LgIndex_t        HeapLength_t;
00930 typedef    LgIndex_t        SegPtsArray_t[MaxGeoSegments];
00931 typedef    double           BasicSize_t[MaxBasicSizes];
00932 typedef    double          *VarList_t;
00933 
00934 typedef    long             SetIndex_t;
00935 
00936 typedef    unsigned long    SetData_t;
00937 typedef    SetData_t       *SetData_pt;
00938 
00939 /* CORE SOURCE CODE REMOVED */
00940 
00941 typedef    char             SymbolChar_t[3];
00942 
00947 typedef LgIndex_t FaceNodeOffset_t;
00948 
00953 typedef LgIndex_t ElemFaceOffset_t;
00954 
00959 typedef LgIndex_t FaceBndryItemOffset_t;
00960 
00961 
00962 
00963 
00964 /****************************************************************
00965  *                                                              *
00966  *                     ENUMERATED TYPEDEFS                      *
00967  *                                                              *
00968  ****************************************************************/
00969 typedef enum
00970 {
00971   PlacementPlaneOrientation_X,
00972   PlacementPlaneOrientation_Y,
00973   PlacementPlaneOrientation_Z,
00974   END_PlacementPlaneOrientation_e,
00975   PlacementPlaneOrientation_Invalid = BadEnumValue
00976 } PlacementPlaneOrientation_e;
00977 
00978 typedef enum
00979 {
00980   StringMode_ASCII,
00981   StringMode_UTF8,
00982   StringMode_Blend,
00983   END_StringMode_e,
00984   StringMode_Invalid = BadEnumValue
00985 
00986 } StringMode_e;
00987 
00988 typedef enum
00989 {
00990    SidebarSizing_MaxOfAll,
00991    SidebarSizing_Dynamic,
00992    END_SidebarSizing_e,
00993    SidebarSizing_Invalid = BadEnumValue
00994 
00995 } SidebarSizing_e;
00996 
00997 typedef enum
00998 {
00999    SidebarLocation_Left,
01000    SidebarLocation_Right,  /* Not allowed at this time */
01001    SidebarLocation_Top,    /* Not allowed at this time */
01002    SidebarLocation_Bottom, /* Not allowed at this time */
01003    END_SidebarLocation_e,
01004    SidebarLocation_Invalid = BadEnumValue
01005 
01006 } SidebarLocation_e;
01007 
01008 typedef enum
01009   {
01010     MenuItem_Option,
01011     MenuItem_Toggle,
01012     MenuItem_Separator,
01013     MenuItem_SubMenu,
01014     END_MenuItem_e,
01015     MenuItem_Invalid = BadEnumValue
01016   } MenuItem_e;
01017 
01018 typedef enum
01019   {
01020     StandardMenu_File,
01021     StandardMenu_Edit,
01022     StandardMenu_View,
01023     StandardMenu_Plot,
01024     StandardMenu_Insert,
01025     StandardMenu_Data,
01026     StandardMenu_Frame,
01027     StandardMenu_Workspace, /* deprecated: use Options instead */
01028     StandardMenu_Tools,
01029     StandardMenu_Help,
01030     StandardMenu_Animate,
01031     StandardMenu_Options,
01032     StandardMenu_Scripting,
01033     END_StandardMenu_e,
01034     StandardMenu_Invalid = BadEnumValue
01035   } StandardMenu_e;
01036 
01037 typedef enum
01038   {
01039     FieldProbeDialogPage_NodalValues,
01040     FieldProbeDialogPage_CellCenteredValues,
01041     FieldProbeDialogPage_ZoneCellInfo,
01042     FieldProbeDialogPage_FaceNeighbors,
01043     END_FieldProbeDialogPage_e,
01044     FieldProbeDialogPage_Invalid = BadEnumValue
01045   } FieldProbeDialogPage_e;
01046 
01047 /* CORE SOURCE CODE REMOVED */
01048 
01051 typedef enum
01052   {
01053     UndoStateCategory_FrameOrder,
01054     UndoStateCategory_Picked,            /* picked changes, not the pick itself */
01055     UndoStateCategory_Text,
01056     UndoStateCategory_Geom,
01057     UndoStateCategory_View,
01058     UndoStateCategory_WorkspaceView,
01059     UndoStateCategory_Style,            /* style less text and geometries */
01060     UndoStateCategory_SpecificStyle,    /* meaning that specific undo style will be added by the caller */
01061     UndoStateCategory_Data,
01062     UndoStateCategory_DataAndStyle,
01063     UndoStateCategory_StyleIncTextGeom, /* style including text and geometires */
01064     UndoStateCategory_GlobalStyle,      /* style less field, map, text and geometries */
01065     UndoStateCategory_PageAction,
01066     END_UndoStateCategory_e,
01067     UndoStateCategory_Invalid = BadEnumValue
01068   } UndoStateCategory_e;
01069 
01070 
01071 /*
01072  * Used only for Action_PropagateLinking
01073  */
01074 typedef enum
01075 {
01076   LinkType_WithinFrame,
01077   LinkType_BetweenFrames,
01078   END_LinkType_e,
01079   LinkType_Invalid = BadEnumValue
01080 } LinkType_e;
01081 
01082 typedef enum
01083 {
01084   FrameCollection_All,
01085   FrameCollection_Picked,
01086   END_FrameCollection_e,
01087   FrameCollection_Invalid = BadEnumValue
01088 } FrameCollection_e;
01089 
01090 
01091 
01092 typedef enum
01093 {
01094   LegendProcess_DrawLegend,
01095   LegendProcess_EraseLegend,
01096   LegendProcess_GetExtents,
01097   END_LegendProcess_e,
01098   LegendProcess_Invalid = BadEnumValue
01099 } LegendProcess_e;
01100 
01101 
01102 typedef enum
01103   {
01104     RGBLegendOrientation_RGB,
01105     RGBLegendOrientation_GBR,
01106     RGBLegendOrientation_BRG,
01107     RGBLegendOrientation_RBG,
01108     RGBLegendOrientation_GRB,
01109     RGBLegendOrientation_BGR,
01110     END_RGBLegendOrientation_e,
01111     RGBLegendOrientation_Invalid = BadEnumValue
01112   } RGBLegendOrientation_e;
01113 
01114 
01115 
01116 /* CORE SOURCE CODE REMOVED */
01117 
01118 /* CORE SOURCE CODE REMOVED */
01119 
01120 typedef enum
01121   {
01122     StateChange_VarsAltered,
01123     StateChange_VarsAdded,
01124     StateChange_ZonesDeleted,
01125     StateChange_ZonesAdded,
01126     StateChange_NodeMapsAltered,
01127     StateChange_FrameDeleted,
01128     StateChange_NewTopFrame,
01129     StateChange_Style,
01130     StateChange_DataSetReset,
01131     StateChange_NewLayout,
01132     StateChange_CompleteReset,             /* deprecated: no longer broadcast */
01133     StateChange_LineMapAssignment,         /* was StateChange_XYMapAssignment */
01134     StateChange_ContourLevels,
01135     StateChange_ModalDialogLaunch,
01136     StateChange_ModalDialogDismiss,
01137     StateChange_QuitTecplot,
01138     StateChange_ZoneName,
01139     StateChange_VarName,
01140     StateChange_LineMapName,               /* was StateChange_XYMapName */
01141     StateChange_LineMapAddDeleteOrReorder, /* was StateChange_XYMapAddDeleteOrReorder */
01142     StateChange_View,
01143     StateChange_ColorMap,
01144     StateChange_ContourVar,
01145     StateChange_Streamtrace,
01146     StateChange_NewAxisVariables,
01147     StateChange_MouseModeUpdate,
01148     StateChange_PickListCleared,
01149     StateChange_PickListGroupSelect,
01150     StateChange_PickListSingleSelect,
01151     StateChange_PickListStyle,
01152     StateChange_DataSetFileName,
01153     StateChange_UnsuspendInterface,        /* was StateChange_DrawGraphicsOn */
01154     StateChange_SuspendInterface,          /* was StateChange_DrawGraphicsOff */
01155     StateChange_DataSetLockOn,
01156     StateChange_DataSetLockOff,
01157     StateChange_Text,
01158     StateChange_Geom,
01159     StateChange_DataSetTitle,
01160     StateChange_DrawingInterrupted,
01161     StateChange_PrintPreviewLaunch,
01162     StateChange_PrintPreviewDismiss,
01163     StateChange_AuxDataAdded,
01164     StateChange_AuxDataDeleted,
01165     StateChange_AuxDataAltered,
01166     StateChange_VarsDeleted,
01167     StateChange_TecplotIsInitialized,
01168     StateChange_ImageExported,
01169     StateChange_VariableLockOn,
01170     StateChange_VariableLockOff,
01171     StateChange_PageDeleted,
01172     StateChange_NewTopPage,
01173     END_StateChange_e,
01174     StateChange_Invalid = BadEnumValue,
01175     /* Deprecated values */
01176     StateChange_DrawGraphicsOn          = StateChange_UnsuspendInterface,
01177     StateChange_DrawGraphicsOff         = StateChange_SuspendInterface,
01178     StateChange_XYMapAssignment         = StateChange_LineMapAssignment,
01179     StateChange_XYMapName               = StateChange_LineMapName,
01180     StateChange_XYMapAddDeleteOrReorder = StateChange_LineMapAddDeleteOrReorder
01181   } StateChange_e;
01182 
01183 typedef enum
01184   {
01185     StateChangeMode_v75,
01186     StateChangeMode_v80,
01187     StateChangeMode_v100,
01188     StateChangeMode_v113,
01189     END_StateChangeMode_e,
01190     StateChangeMode_Invalid = BadEnumValue
01191   } StateChangeMode_e;
01192 
01193 typedef enum
01194   {
01195     StateChangeCallbackAPI_Classic,
01196     StateChangeCallbackAPI_ChangeOnly,
01197     StateChangeCallbackAPI_ChangePlusClient,
01198     END_StateChangeCallbackAPI_e,
01199     StateChangeCallbackAPI_Invalid = BadEnumValue
01200   } StateChangeCallbackAPI_e;
01201 
01202 typedef enum
01203   {
01204     AppMode_Normal,
01205     AppMode_Demo,
01206     AppMode_OEM,
01207     END_AppMode_e,
01208     AppMode_Invalid = BadEnumValue
01209   } AppMode_e;
01210 
01211 typedef enum
01212   {
01213     ProductFlavor_Focus,
01214     ProductFlavor_360,
01215     ProductFlavor_RS,
01216     END_ProductFlavor_e,
01217     ProductFlavor_Invalid = BadEnumValue
01218   } ProductFlavor_e;
01219 
01220 typedef enum
01221 {
01222   LayoutPackageObject_Image,
01223   LayoutPackageObject_Layout,
01224   LayoutPackageObject_Data,
01225   END_LayoutPackageObject_e,
01226   LayoutPackageObject_Invalid = BadEnumValue
01227 } LayoutPackageObject_e;
01228 
01229 typedef enum
01230   {
01231     VarLoadMode_ByName,
01232     VarLoadMode_ByPosition,
01233     END_VarLoadMode_e,
01234     VarLoadMode_Invalid = BadEnumValue
01235   } VarLoadMode_e;
01236 
01237 typedef enum
01238   {
01239     ImageSelection_OnePerFrame,
01240     ImageSelection_WorkspaceOnly,
01241     END_ImageSelection_e,
01242     ImageSelection_Invalid = BadEnumValue
01243   } ImageSelection_e;
01244 
01245 typedef enum
01246   {
01247     LibraryType_Foreign,
01248     LibraryType_V7Standard,
01249     LibraryType_V7ActiveX,
01250     END_LibraryType_e,
01251     LibraryType_Invalid = BadEnumValue
01252   } LibraryType_e; /* <help> "Add-on types" */
01253 
01254 
01255 typedef enum
01256   {
01257     AssignOp_Equals,
01258     AssignOp_PlusEquals,
01259     AssignOp_MinusEquals,
01260     AssignOp_TimesEquals,
01261     AssignOp_DivideEquals,
01262     AssignOp_ConvertFromCm,
01263     AssignOp_ConvertFromIn,
01264     AssignOp_ConvertFromPt,
01265     AssignOp_ConvertFromPix,
01266     END_AssignOp_e,
01267     AssignOp_Invalid = BadEnumValue
01268   } AssignOp_e;
01269 
01270 typedef enum
01271   {
01272     Dialog_ColorMap,
01273     Dialog_Equation,
01274     Dialog_MacroViewer,
01275     Dialog_ZoneMapStyle, /* was Dialog_PlotAttributes*/
01276     Dialog_QuickEdit,
01277     Dialog_QuickMacroPanel,
01278     Dialog_ValueBlanking,
01279     Dialog_Probe,          /* used for dialog positioning only */
01280     Dialog_ProbeAt,
01281     Dialog_NewLayout,
01282     Dialog_OpenLayout,
01283     Dialog_Save,
01284     Dialog_SaveAs,
01285     Dialog_LoadData,
01286     Dialog_WriteData,
01287     Dialog_Print,
01288     Dialog_Import,
01289     Dialog_Export,
01290     Dialog_MacroPlay,
01291     Dialog_MacroRecord,
01292     Dialog_AxisEdit,
01293     Dialog_SpatialVars,
01294     Dialog_Reset3DAxes,
01295     Dialog_ThreeDAxisLimits,
01296     Dialog_ThreeDOrientationAxis,
01297     Dialog_Streamtraces,
01298     Dialog_IsoSurfaces,
01299     Dialog_Slices,
01300     Dialog_Contour,
01301     Dialog_VectorLength,
01302     Dialog_VectorVars,
01303     Dialog_VectorArrowheads,
01304     Dialog_VectorReferenceVector,
01305     Dialog_ScatterSizeAndFont,
01306     Dialog_ScatterLegend,
01307     Dialog_ScatterReferenceSymbol,
01308     Dialog_RGBColorVarsAndRange,
01309     Dialog_RGBColorLegend,
01310     Dialog_LineMapLegend,
01311     Dialog_IJKBlanking,
01312     Dialog_DepthBlanking,
01313     Dialog_LightSource,
01314     Dialog_Advanced3DControl,
01315     Dialog_TwoDDrawOrder,
01316     Dialog_PolarDrawingOptions,
01317     Dialog_DataLabels,
01318     Dialog_StyleLinking,
01319     Dialog_Smooth,
01320     Dialog_TransformCoordinates,
01321     Dialog_Rotate2DData,
01322     Dialog_Create1DLine,
01323     Dialog_CreateRectangularZone,
01324     Dialog_CreateCircularZone,
01325     Dialog_DuplicateZone,
01326     Dialog_MirrorZone,
01327     Dialog_CreateZoneFromPolylines,
01328     Dialog_CreateZoneFromValues,
01329     Dialog_DeleteVariables,
01330     Dialog_DeleteZones,
01331     Dialog_ExtractContourLines,
01332     Dialog_ExtractFEBoundary,
01333     Dialog_ExtractIsoSurfaces,
01334     Dialog_ExtractSlices,
01335     Dialog_ExtractSliceFromPlane,
01336     Dialog_ExtractStreamtraces,
01337     Dialog_ExtractSubZone,
01338     Dialog_ExtractDiscretePoints,
01339     Dialog_ExtractPointsFromPolyline,
01340     Dialog_ExtractPointsFromGeometry,
01341     Dialog_LinearInterpolation,
01342     Dialog_InverseDistanceInterpolation,
01343     Dialog_KrigingInterpolation,
01344     Dialog_Triangulate,
01345     Dialog_DataInfo,
01346     Dialog_CurveInfo,
01347     Dialog_DataSpreadsheet,
01348     Dialog_PaperSetup,
01349     Dialog_OrderFrames,
01350     Dialog_RulerGrid,
01351     Dialog_ThreeDViewRotate,
01352     Dialog_ThreeDViewDetails,
01353     Dialog_TranslateMagnify,
01354     Dialog_PrintPreview,
01355     Dialog_ColorPreferences,
01356     Dialog_MiscPreferences,
01357     Dialog_SizePreferences,
01358     Dialog_SaveConfiguration,
01359     Dialog_SaveColorMap,
01360     Dialog_LoadColorMap,
01361     Dialog_HelpAboutTecplot,
01362     Dialog_HelpAboutAddOns,
01363     Dialog_Publish,
01364     Dialog_EditFrame,
01365     Dialog_CopyToClipboard,
01366     Dialog_ThreeDEdge,
01367     Dialog_TimeDetails,
01368     Dialog_Performance,
01369     END_Dialog_e,
01370     Dialog_Invalid = BadEnumValue,
01371     /* Deprecated values */
01372     Dialog_PlotAttributes = Dialog_ZoneMapStyle
01373   } Dialog_e; /* <help> "Tecplot dialog types" */
01374 
01375 typedef enum
01376   {
01377     AnchorAlignment_TopLeft,
01378     AnchorAlignment_TopCenter,
01379     AnchorAlignment_TopRight,
01380     AnchorAlignment_MiddleLeft,
01381     AnchorAlignment_MiddleCenter,
01382     AnchorAlignment_MiddleRight,
01383     AnchorAlignment_BottomLeft,
01384     AnchorAlignment_BottomCenter,
01385     AnchorAlignment_BottomRight,
01386     END_AnchorAlignment_e,
01387     AnchorAlignment_Invalid = BadEnumValue
01388   } AnchorAlignment_e;
01389 
01390 /* CORE SOURCE CODE REMOVED */
01391 
01392 /* CORE SOURCE CODE REMOVED */
01393 
01394 
01395 #if defined EXPORT_DEPRECATED_INTERFACES_TO_ADK_ONLY
01396 
01400 typedef enum
01401   {
01402     ProcessXYMode_NotUsed1,         /* deprecated: do not use                     */
01403     ProcessXYMode_NotUsed2,         /* deprecated: do not use                     */
01404     ProcessXYMode_NotUsed3,         /* deprecated: do not use                     */
01405     ProcessXYMode_NotUsed4,         /* deprecated: do not use                     */
01406     ProcessXYMode_NotUsed5,         /* deprecated: do not use                     */
01407     ProcessXYMode_NotUsed6,         /* deprecated: do not use                     */
01408     ProcessXYMode_NotUsed7,         /* deprecated: do not use                     */
01409     ProcessXYMode_NotUsed8,         /* deprecated: do not use                     */
01410     ProcessXYMode_NotUsed9,         /* deprecated: do not use                     */
01411     ProcessXYMode_WriteCurveCoef,   /* deprecated: use CurveInfoMode_Coefficients */
01412     ProcessXYMode_WriteCurvePoints, /* deprecated: use CurveInfoMode_RawData      */
01413     END_ProcessXYMode_e,
01414     ProcessXYMode_Invalid = BadEnumValue
01415   } ProcessXYMode_e;
01416 #endif
01417 
01418 typedef enum
01419   {
01420     CurveInfoMode_Coefficients, /* ProcessXYMode_WriteCurveCoef   */
01421     CurveInfoMode_RawData,      /* ProcessXYMode_WriteCurvePoints */
01422     CurveInfoMode_Macro,        /* ProcessXYMode_WriteCurveCoefMacro */
01423     END_CurveInfoMode_e,
01424     CurveInfoMode_Invalid = BadEnumValue
01425   } CurveInfoMode_e;
01426 
01427 /* CORE SOURCE CODE REMOVED */
01428 
01429 typedef enum
01430   {
01431     StyleBase_Factory,
01432     StyleBase_Config,
01433     END_StyleBase_e,
01434     StyleBase_Invalid = BadEnumValue
01435   } StyleBase_e;
01436 
01437 
01438 typedef enum
01439   {
01440     ReadDataOption_NewData,
01441     ReadDataOption_AppendData,
01442     ReadDataOption_ReplaceData,
01443     END_ReadDataOption_e,
01444     ReadDataOption_Invalid = BadEnumValue
01445   } ReadDataOption_e;
01446 
01447 #if defined EXPORT_DEPRECATED_INTERFACES_TO_ADK_ONLY
01448 
01452 typedef enum
01453   {
01454     NodeLabel_Index,         /* deprecated: use LabelType_Index         */
01455     NodeLabel_VarValue,      /* deprecated: use LabelType_VarValue      */
01456     NodeLabel_XAndYVarValue, /* deprecated: use LabelType_XAndYVarValue */
01457     END_NodeLabel_e,
01458     NodeLabel_Invalid = BadEnumValue
01459   } NodeLabel_e;
01460 #endif
01461 
01462 typedef enum
01463   {
01464     LabelType_Index,         /* NodeLabel_Index         */
01465     LabelType_VarValue,      /* NodeLabel_VarValue      */
01466     LabelType_XAndYVarValue, /* NodeLabel_XAndYVarValue */
01467     END_LabelType_e,
01468     LabelType_Invalid = BadEnumValue
01469   } LabelType_e;
01470 
01471 
01472 #if defined EXPORT_DEPRECATED_INTERFACES_TO_ADK_ONLY
01473 
01477 typedef enum
01478   {
01479     SubBoundaryEditOption_All,      /* deprecated: use BorderAction_AddAll  */
01480     SubBoundaryEditOption_Add,      /* deprecated: use BorderAction_Add     */
01481     SubBoundaryEditOption_Remove,   /* deprecated: use BorderAction_Remove  */
01482     SubBoundaryEditOption_AddOnly,  /* deprecated: use BorderAction_AddOnly */
01483     END_SubBoundaryEditOption_e,
01484     SubBoundaryEditOption_Invalid = BadEnumValue
01485   } SubBoundaryEditOption_e;
01486 #endif
01487 
01488 typedef enum
01489   {
01490     BorderAction_AddAll,   /* SubBoundaryEditOption_All     */
01491     BorderAction_Add,      /* SubBoundaryEditOption_Add     */
01492     BorderAction_Remove,   /* SubBoundaryEditOption_Remove  */
01493     BorderAction_AddOnly,  /* SubBoundaryEditOption_AddOnly */
01494     END_BorderAction_e,
01495     BorderAction_Invalid = BadEnumValue
01496   } BorderAction_e;
01497 
01498 
01499 typedef enum
01500   {
01501     PointerStyle_NotUsed1,
01502     PointerStyle_NotUsed2,
01503     PointerStyle_NotUsed3,
01504     PointerStyle_AllDirections,
01505     PointerStyle_NotUsed4,
01506     PointerStyle_NotUsed5,
01507     PointerStyle_NotUsed6,
01508     PointerStyle_UpperLeftBracket,
01509     PointerStyle_UpperRightBracket,
01510     PointerStyle_LeftBracket,
01511     PointerStyle_LowerLeftBracket,
01512     PointerStyle_LowerRightBracket,
01513     PointerStyle_RightBracket,
01514     PointerStyle_BottomBracket,
01515     PointerStyle_TopBracket,
01516     PointerStyle_UpDown,
01517     PointerStyle_LeftRight,
01518     END_PointerStyle_e,
01519     PointerStyle_Invalid = BadEnumValue
01520   } PointerStyle_e;
01521 
01522 typedef enum
01523   {
01524     CursorStyle_Undefined,
01525     CursorStyle_StandardArrow,
01526     CursorStyle_AdjusterArrow,
01527     CursorStyle_AllDirections,
01528     CursorStyle_Rotate,
01529     CursorStyle_Zoom,
01530     CursorStyle_Locate,
01531     CursorStyle_UpperLeftBracket,
01532     CursorStyle_UpperRightBracket,
01533     CursorStyle_LeftBracket,
01534     CursorStyle_LowerLeftBracket,
01535     CursorStyle_LowerRightBracket,
01536     CursorStyle_RightBracket,
01537     CursorStyle_BottomBracket,
01538     CursorStyle_TopBracket,
01539     CursorStyle_UpDown,
01540     CursorStyle_LeftRight,
01541     CursorStyle_Waiting,
01542     END_CursorStyle_e,
01543     CursorStyle_Invalid = BadEnumValue
01544   } CursorStyle_e;
01545 
01546 
01547 typedef enum
01548   {
01549     PickSubPosition_All,
01550     PickSubPosition_Top,
01551     PickSubPosition_Bottom,
01552     PickSubPosition_Left,
01553     PickSubPosition_Right,
01554     PickSubPosition_TopLeft,
01555     PickSubPosition_TopRight,
01556     PickSubPosition_BottomLeft,
01557     PickSubPosition_BottomRight,
01558     PickSubPosition_BottomAndTop,
01559     PickSubPosition_LeftAndRight,
01560     END_PickSubPosition_e,
01561     PickSubPosition_Invalid = BadEnumValue
01562   } PickSubPosition_e;
01563 
01564 typedef enum
01565   {
01566     TecEngInitReturnCode_Ok,
01567     TecEngInitReturnCode_LicenseIsInvalid,
01568     TecEngInitReturnCode_LicenseExpired,
01569     TecEngInitReturnCode_InternalInitializationError,
01570     END_TecEngInitReturnCode_e,
01571     TecEngInitReturnCode_Invalid = BadEnumValue
01572   } TecEngInitReturnCode_e;
01573 
01574 typedef enum
01575   {
01576     GetValue_Ok,
01577     GetValue_ResultTypeError,
01578     GetValue_SyntaxError,    
01579     GetValue_ContextError,
01580     GetValue_DeprecatedError,
01581     END_GetValueReturnCode_e,
01582     GetValue_Invalid = BadEnumValue
01583   } GetValueReturnCode_e;
01584 
01585 typedef enum
01586   {
01587     SetValue_Ok,
01588     SetValue_DuplicateValue,
01589     SetValue_InvalidCommandOption,
01590     SetValue_NoAttachedDatasetError,
01591     SetValue_NoAttachedFrameError,
01592     SetValue_NotAllowedInConfigError,
01593     SetValue_ValueRangeError,
01594     SetValue_ValueSyntaxError,
01595     SetValue_AssignOpError,
01596     SetValue_InvalidVarOrZone,
01597     SetValue_InternalMemoryError,
01598     SetValue_ContextError1,
01599     SetValue_ContextError2,
01600     SetValue_OnlyAllowedInConfigError,
01601     SetValue_FeatureNotAvailable,
01602     END_SetValueReturnCode_e,
01603 /* CORE SOURCE CODE REMOVED */
01604     SetValue_Invalid = BadEnumValue
01605   } SetValueReturnCode_e;
01606 
01607 
01608 typedef enum
01609   {
01610     ObjectAlign_LeftJustify,
01611     ObjectAlign_RightJustify,
01612     ObjectAlign_Center,
01613     ObjectAlign_Top,
01614     ObjectAlign_Bottom,
01615     END_ObjectAlign_e,
01616     ObjectAlign_Invalid = BadEnumValue
01617   } ObjectAlign_e;
01618 
01619 
01620 /*
01621  * For 3D axis labels only.
01622  */
01623 typedef enum
01624   {
01625     LabelAlignment_ByAngle,
01626     LabelAlignment_AlongAxis,
01627     LabelAlignment_PerpendicularToAxis,
01628     END_LabelAlignment_e,
01629     LabelAlignment_Invalid = BadEnumValue
01630   } LabelAlignment_e; /* <help> Label alignment for 3D axis labels only" */
01631 
01632 /*
01633  * View_SetMagnification added 02/24/03 so all plot types
01634  * can behave the same way "do a 'centered' magnifacation change".
01635  * Line plots will still accept View_Scale option and zoom towards
01636  * the corner so old macros/addons still work.
01637  */
01638 typedef enum
01639   {
01640     View_Fit,
01641     View_DataFit,
01642     View_AxisFit,
01643     View_Scale,   /* Deprecated, Use SetMagnification */
01644     View_Center,
01645     View_Translate,
01646     View_Zoom,
01647     View_Last,
01648     View_Copy,
01649     View_Paste,
01650     View_Push,  /* End of V9 enums */
01651     View_SetMagnification,
01652     View_NiceFit,
01653     View_AxisNiceFit,
01654     View_MakeCurrentViewNice,
01655     View_AxisMakeCurrentValuesNice,
01656     View_AxisResetToEntireCircle,
01657     View_FitSurfaces,
01658     END_View_e,
01659     View_Invalid = BadEnumValue
01660   } View_e;
01661 
01662 
01663 
01664 typedef enum
01665   {
01666     WorkspaceView_FitSelectedFrames,
01667     WorkspaceView_FitAllFrames,
01668     WorkspaceView_FitPaper,
01669     WorkspaceView_Maximize,
01670     WorkspaceView_LastView,
01671     WorkspaceView_Zoom,
01672     WorkspaceView_Translate,
01673     WorkspaceView_UnMaximize,
01674     END_WorkspaceView_e,
01675     WorkspaceView_Invalid = BadEnumValue
01676   } WorkspaceView_e;
01677 
01678 
01679 typedef enum
01680   {
01681     Arrowhead_Plain,
01682     Arrowhead_Filled,
01683     Arrowhead_Hollow,
01684     END_ArrowheadStyle_e,
01685     Arrowhead_Invalid = BadEnumValue
01686   } ArrowheadStyle_e;
01687 
01688 
01689 typedef enum
01690   {
01691     ArrowheadAttach_None,
01692     ArrowheadAttach_AtBeginning,
01693     ArrowheadAttach_AtEnd,
01694     ArrowheadAttach_AtBothEnds,
01695     END_ArrowheadAttachment_e,
01696     ArrowheadAttach_Invalid = BadEnumValue
01697   } ArrowheadAttachment_e;
01698 
01699 typedef enum
01700   {
01701     Clipping_ClipToViewport,
01702     Clipping_ClipToFrame,
01703     END_Clipping_e,
01704     Clipping_Invalid = BadEnumValue
01705   } Clipping_e;
01706 
01707 typedef enum
01708   {
01709     StatusInfo_Hover,
01710     StatusInfo_Identify,
01711     StatusInfo_Instruction,
01712     StatusInfo_Working,
01713     StatusInfo_PercentDone,
01714     END_StatusInfo_e,
01715     StatusInfo_Invalid = BadEnumValue
01716   } StatusInfo_e;
01717 
01718 
01719 #if defined EXPORT_DEPRECATED_INTERFACES_TO_ADK_ONLY
01720 
01724 typedef enum
01725   {
01726     Frame_Empty,    /* deprecated: use PlotType_Automatic   */
01727     Frame_ThreeD,   /* deprecated: use PlotType_Cartesian3D */
01728     Frame_TwoD,     /* deprecated: use PlotType_Cartesian2D */
01729     Frame_XY,       /* deprecated: use PlotType_XYLine      */
01730     Frame_Sketch,   /* deprecated: use PlotType_Sketch      */
01731     END_FrameMode_e,
01732     Frame_Invalid = BadEnumValue
01733   } FrameMode_e;
01734 #endif
01735 
01736 
01737 typedef enum
01738   {
01739     PlotType_Automatic,   /* Frame_Empty  */
01740     PlotType_Cartesian3D, /* Frame_ThreeD */
01741     PlotType_Cartesian2D, /* Frame_TwoD   */
01742     PlotType_XYLine,      /* Frame_XY     */
01743     PlotType_Sketch,      /* Frame_Sketch */
01744     PlotType_PolarLine,
01745     END_PlotType_e,
01746     PlotType_Invalid = BadEnumValue
01747   } PlotType_e;
01748 
01749 
01750 #define VALID_PLOTTYPE(PlotType) ( VALID_ENUM((PlotType), PlotType_e) && \
01751                                    ((PlotType) != PlotType_Automatic) )
01752 #define VALID_LINEPLOT_PLOTTYPE(PlotType) ( (PlotType) == PlotType_XYLine || \
01753                                             (PlotType) == PlotType_PolarLine )
01754 #define VALID_FIELDPLOT_PLOTTYPE(PlotType) ( (PlotType) == PlotType_Cartesian2D || \
01755                                              (PlotType) == PlotType_Cartesian3D )
01756 #define PLOTTYPE_USES_FIELDZONES(PlotType) VALID_FIELDPLOT_PLOTTYPE((PlotType))
01757 #define FRAMES_USES_FIELDZONES(Frame) PLOTTYPE_USES_FIELDZONES((Frame)->PlotType)
01758 #define PLOTTYPE_USES_LINEMAPS(PlotType) VALID_LINEPLOT_PLOTTYPE((PlotType))
01759 #define FRAMES_USES_LINEMAPS(Frame) PLOTTYPE_USES_LINEMAPS((Frame)->PlotType)
01760 #define VALID_V9_PLOTTYPE(PlotType) ( (PlotType) == PlotType_Sketch || \
01761                                       (PlotType) == PlotType_XYLine || \
01762                                       (PlotType) == PlotType_Cartesian2D || \
01763                                       (PlotType) == PlotType_Cartesian3D )
01764 
01765 typedef enum
01766   {
01767     ContLineCreateMode_OneZonePerContourLevel,
01768     ContLineCreateMode_OneZonePerIndependentPolyline,
01769     END_ContLineCreateMode_e,
01770     ContLineCreateMode_Invalid = BadEnumValue
01771   } ContLineCreateMode_e;
01772 
01773 
01774 typedef enum
01775   {
01776     PickObject_None,
01777     PickObject_Frame,
01778     PickObject_Axis,
01779     PickObject_3DOrientationAxis,
01780     PickObject_Geom,
01781     PickObject_Text,
01782     PickObject_ContourLegend,
01783     PickObject_ContourLabel,
01784     PickObject_ScatterLegend,
01785     PickObject_LineLegend,        /* was PickObject_XYLegend */
01786     PickObject_ReferenceVector,
01787     PickObject_ReferenceScatterSymbol,
01788     PickObject_StreamtracePosition,
01789     PickObject_StreamtraceTermLine,
01790     PickObject_Paper,
01791     PickObject_Zone,
01792     PickObject_XYMapping, /* deprecated: use PickObject_LineMapping */
01793     PickObject_StreamtraceCOB,
01794     PickObject_SliceCOB,
01795     PickObject_IsoSurfaceCOB,
01796     PickObject_RGBLegend,
01797     PickObject_LineMapping,
01798     END_PickObjects_e,
01799     PickObject_Invalid = BadEnumValue,
01800     /* deprecated values */
01801     PickObject_XYLegend = PickObject_LineLegend
01802   } PickObjects_e;
01803 
01804 
01805 /*BEGINREMOVEFROMADDON*/
01806 typedef enum
01807   {
01808     SingleEditState_NotEditing,
01809     SingleEditState_ActivelyEditing,
01810     SingleEditState_WasEditing,
01811     END_SingleEditState_e,
01812     EditingInvalid = BadEnumValue
01813   } SingleEditState_e;
01814 
01815 
01816 typedef enum
01817   {
01818     AxisSubObject_GridArea,
01819     AxisSubObject_AxisLine,
01820     AxisSubObject_Title,
01821     END_AxisSubObject_e,
01822     AxisSubObject_Invalid = BadEnumValue
01823   } AxisSubObject_e;
01824 
01825 typedef enum
01826   {
01827     AxisSubPosition_GridMinBorder,
01828     AxisSubPosition_GridMaxBorder,
01829     AxisSubPosition_MainAxisLine,
01830     AxisSubPosition_BackAxisLine,
01831     AxisSubPosition_PerpAxisLine,
01832     AxisSubPosition_PerpBackAxisLine,
01833     END_AxisSubPosition_e,
01834     AxisSubPosition_Invalid = BadEnumValue,
01835     AxisSubPosition_2DStart = AxisSubPosition_GridMinBorder,
01836     AxisSubPosition_2DEnd = AxisSubPosition_MainAxisLine,
01837     AxisSubPosition_PolarStart = AxisSubPosition_GridMinBorder,
01838     AxisSubPosition_PolarEnd = AxisSubPosition_PerpBackAxisLine
01839   } AxisSubPosition_e;
01840 /*ENDREMOVEFROMADDON*/
01841 
01842 /*
01843  * NOTE: The _NoOp value is not at the top so this
01844  *       enumeration aligns with the old AltMouseButtonMode_e
01845  *       enumeration.
01846  */
01847 typedef enum
01848 {
01849   MouseButtonClick_Redraw,
01850   MouseButtonClick_RevertToSelect,
01851   MouseButtonClick_NoOp,
01852   END_MouseButtonClick_e,
01853   MouseButtonClick_Invalid = BadEnumValue
01854 } MouseButtonClick_e;
01855 
01856 
01857 typedef enum
01858 {
01859   MouseButtonDrag_NoOp,
01860   MouseButtonDrag_ZoomPaper,
01861   MouseButtonDrag_TranslatePaper,
01862   MouseButtonDrag_ZoomData,
01863   MouseButtonDrag_TranslateData,
01864   MouseButtonDrag_RlrBallRtatData,
01865   MouseButtonDrag_SpherRtatData,
01866   MouseButtonDrag_XRotateData,
01867   MouseButtonDrag_YRotateData,
01868   MouseButtonDrag_ZRotateData,
01869   MouseButtonDrag_TwistRotateData,
01870   MouseButtonDrag_ZoomViewer,
01871   MouseButtonDrag_TranslateViewer,
01872   MouseButtonDrag_RlrBallRtatVwr,
01873   MouseButtonDrag_SpherRotateVwr,
01874   MouseButtonDrag_XRotateViewer,
01875   MouseButtonDrag_YRotateViewer,
01876   MouseButtonDrag_ZRotateViewer,
01877   MouseButtonDrag_TwistRotateViewer,
01878   END_MouseButtonDrag_e,
01879   MouseButtonDrag_Invalid = BadEnumValue
01880 } MouseButtonDrag_e;
01881 
01882 
01883 /* CORE SOURCE CODE REMOVED */
01884 
01885 
01886 typedef enum  /* Deprecated */
01887   {
01888     AltMouseButtonMode_Regen,
01889     AltMouseButtonMode_RevertToSelect,
01890     END_AltMouseButtonMode_e,
01891     AltMouseButtonMode_Invalid = BadEnumValue
01892   } AltMouseButtonMode_e;
01893 
01894 
01895 typedef enum
01896   {
01897     Mouse_NoMode,
01898     Mouse_Select,
01899     Mouse_Adjust,
01900     Mouse_Zoom,
01901     Mouse_Translate,
01902     Mouse_Probe,
01903     Mouse_Text,
01904     Mouse_GeomPolyline,
01905     Mouse_GeomSquare,
01906     Mouse_GeomCircle,
01907     Mouse_GeomRectangle,
01908     Mouse_GeomEllipse,
01909     Mouse_GeomSpline,
01910     Mouse_CreateFrame,
01911     Mouse_RotateSpherical,
01912     Mouse_RotateRollerBall,
01913     Mouse_RotateTwist,
01914     Mouse_RotateXAxis,
01915     Mouse_RotateYAxis,
01916     Mouse_RotateZAxis,
01917     Mouse_ContourLabel,
01918     Mouse_ContourAdd,
01919     Mouse_ContourDelete,
01920     Mouse_StreamPoints,
01921     Mouse_StreamEndLine,
01922     Mouse_ExtractPoints,
01923     Mouse_ExtractLine,
01924     Mouse_CreateRectangularZone,
01925     Mouse_CreateCircularZone,
01926     Mouse_Slice,
01927     Mouse_User1,
01928     Mouse_User2,
01929     Mouse_User3,
01930     Mouse_User4,
01931     END_MouseButtonMode_e,
01932     Mouse_Invalid = BadEnumValue
01933   } MouseButtonMode_e;
01934 
01935 
01936 typedef enum
01937   {
01938     DetailsButtonState_QuickEdit,
01939     DetailsButtonState_ObjectDetails,
01940     DetailsButtonState_ToolDetails,
01941     END_DetailsButtonState_e,
01942     DetailsButtonState_Invalid = BadEnumValue
01943   } DetailsButtonState_e;
01944 
01945 
01946 typedef enum
01947   {
01948     Event_ButtonPress,
01949     Event_ButtonRelease,
01950     Event_ButtonDoublePress,
01951     Event_Motion,
01952     Event_Drag,
01953     Event_KeyPress,
01954     END_Event_e,
01955     Event_Invalid = BadEnumValue
01956   } Event_e;
01957 
01958 
01959 typedef enum
01960   {
01961     ObjectDrawMode_DrawFirst,
01962     ObjectDrawMode_Move,
01963     ObjectDrawMode_Remove,
01964     ObjectDrawMode_Place,
01965     END_ObjectDrawMode_e,
01966     ObjectDrawMode_Invalid = BadEnumValue
01967   } ObjectDrawMode_e;
01968 
01969 
01970 typedef enum
01971   {
01972     ThreeDViewChangeDrawLevel_Full,
01973     ThreeDViewChangeDrawLevel_Trace,
01974     END_ThreeDViewChangeDrawLevel_e,
01975     ThreeDViewChangeDrawLevel_Invalid = BadEnumValue
01976   } ThreeDViewChangeDrawLevel_e; /* <help> "ThreeDViewChangeDrawLevel is deprecated. Use PlotApproximateMode.\n"*/
01977 
01978 typedef enum
01979   {
01980     NonCurrentFrameRedrawLevel_Full,
01981     NonCurrentFrameRedrawLevel_Trace,
01982     END_NonCurrentFrameRedrawLevel_e,
01983     NonCurrentFrameRedrawLevel_Invalid = BadEnumValue
01984   } NonCurrentFrameRedrawLevel_e; /* <help> "NonCurrentFrameRedrawLevel is deprecated. Use PlotApproximateMode.\n"*/
01985 
01986 
02034 typedef enum                     
02035   {                             
02036     RedrawReason_UserReqRedrawCurrentFrame,
02037     RedrawReason_UserReqTraceCurrentFrame,
02038     RedrawReason_UserReqRedrawAllFrames,
02039     RedrawReason_UserReqTraceAllFrames,
02040     RedrawReason_InteractiveDataViewChange,
02041     RedrawReason_InteractivePaperViewChange,
02042     RedrawReason_InteractiveStyleChange,
02043     RedrawReason_Animation,
02044     RedrawReason_AutoRedraw,
02045     RedrawReason_RedrawForcedViewUpdate,
02046     RedrawReason_RedrawForcedStyleUpdate,
02047     RedrawReason_PreFullRedrawTraceOfAllFrames,
02048     END_RedrawReason_e,
02049     RedrawReason_Invalid = BadEnumValue
02050   } RedrawReason_e;
02051 
02052 typedef enum
02053   {
02054     RotationMode_XYZAxis,
02055     RotationMode_Spherical,
02056     RotationMode_RollerBall,
02057     END_RotationMode_e,
02058     RotationMode_Invalid = BadEnumValue
02059   } RotationMode_e;
02060 
02061 typedef enum
02062   {
02063     RotateAxis_X,
02064     RotateAxis_Y,
02065     RotateAxis_Z,
02066     RotateAxis_Psi,
02067     RotateAxis_Theta,
02068     RotateAxis_Alpha,
02069     RotateAxis_Twist,
02070     RotateAxis_VertRollerBall,
02071     RotateAxis_HorzRollerBall,
02072     RotateAxis_AboutVector,
02073 /* CORE SOURCE CODE REMOVED */
02074     END_RotateAxis_e,
02075     RotateAxis_Invalid = BadEnumValue
02076   } RotateAxis_e;
02077 
02078 typedef enum
02079   {
02080     RotateOriginLocation_DefinedOrigin,
02081     RotateOriginLocation_Viewer,
02082     END_RotateOriginLocation_e,
02083     RotateOriginLocation_Invalid = BadEnumValue
02084   } RotateOriginLocation_e;
02085 
02086 /*
02087  * NOTE: This is only used with the $!Reset3DOrigin command.
02088  */
02089 typedef enum
02090   {
02091     OriginResetLocation_DataCenter,
02092     OriginResetLocation_ViewCenter,
02093     END_OriginResetLocation_e,
02094     OriginResetLocation_Invalid = BadEnumValue
02095   } OriginResetLocation_e;
02096 
02097 /*
02098  * NOTE: This is only used with the $!CreateSliceZoneFromPlane command.
02099  */
02100 typedef enum
02101   {
02102     SliceSource_SurfaceZones,
02103     SliceSource_VolumeZones,
02104     SliceSource_SurfacesOfVolumeZones,
02105     SliceSource_LinearZones,
02106     END_SliceSource_e,
02107     SliceSource_Invalid = BadEnumValue
02108   } SliceSource_e;
02109 
02110 
02111 
02112 
02113 
02114 typedef enum
02115   {
02116     Input_SmInteger,
02117     Input_Short,
02118     Input_Integer,
02119     Input_Float,
02120     Input_Double,
02121     Input_Radians,
02122     Input_TimeDateDouble,
02123     Input_ElapsedTimeDouble,
02124     END_Input_e,
02125     Input_Invalid = BadEnumValue
02126   } Input_e;
02127 
02128 
02129 
02130 typedef enum
02131   {
02132     PtSelection_All,
02133     PtSelection_NearestN,
02134     PtSelection_OctantN,
02135     END_PtSelection_e,
02136     PtSelection_Invalid = BadEnumValue
02137   } PtSelection_e;
02138 
02139 
02140 
02141 typedef enum
02142   {
02143     Drift_None,
02144     Drift_Linear,
02145     Drift_Quad,
02146     END_Drift_e,
02147     Drift_Invalid = BadEnumValue
02148   } Drift_e;
02149 
02150 
02151 
02152 /* atpoint is simple boundary condition.
02153    atpointb2 is better boundary condition.
02154 */
02155 typedef enum
02156   {
02157     DerivPos_atpoint,
02158     DerivPos_atpointb2,
02159     DerivPos_kphalf,
02160     DerivPos_jphalf,
02161     DerivPos_iphalf,
02162     END_DerivPos_e,
02163     DerivPos_Invalid = BadEnumValue
02164   } DerivPos_e; /*<help>"atpoint is the simple boundary condition\n"*/
02165                 /*<help>"atpointb2 is a better boundary condition"*/
02166 
02167 
02168 typedef enum
02169   {
02170     LinearInterpMode_DontChange,
02171     LinearInterpMode_SetToConst,
02172     END_LinearInterpMode_e,
02173     LinearInterpMode_Invalid = BadEnumValue
02174   } LinearInterpMode_e;
02175 
02176 typedef enum
02177   {
02178     VolumeCellInterpolationMode_PiecewiseLinear,
02179     VolumeCellInterpolationMode_TriLinear,
02180     END_VolumeCellInterpolationMode_e,
02181     VolumeCellInterpolationMode_Invalid = BadEnumValue
02182   } VolumeCellInterpolationMode_e;
02183 
02184 typedef enum
02185   {
02186     PolyCellInterpolationMode_UseCCValue,
02187     PolyCellInterpolationMode_AverageNodes,
02188     END_PolyCellInterpolationMode_e,
02189     PolyCellInterpolationMode_Invalid = BadEnumValue
02190   } PolyCellInterpolationMode_e;
02191 
02192 typedef enum
02193   {
02194     ConstraintOp2Mode_UseVar,
02195     ConstraintOp2Mode_UseConstant,
02196     END_ConstraintOp2Mode_e,
02197     ConstraintOp2Mode_Invalid = BadEnumValue
02198   } ConstraintOp2Mode_e;
02199 
02200 
02201 
02202 typedef enum
02203   {
02204     ValueBlankCellMode_AllCorners,
02205     ValueBlankCellMode_AnyCorner,
02206     ValueBlankCellMode_PrimaryValue,
02207     END_ValueBlankCellMode_e,
02208     ValueBlankCellMode_Invalid = BadEnumValue,
02209     /* Deprecated values */
02210     ValueBlankCellMode_PrimaryCorner = ValueBlankCellMode_PrimaryValue
02211   } ValueBlankCellMode_e;
02212 
02213 
02214 /*
02215  * DEPRECATED: ValueBlankMode_e enumeration will not be supported after
02216  *             version 8. This API was retained for add-on developers
02217  *             using the TecUtilStyleSetLowLevel API.
02218  */
02219 typedef enum
02220   {
02221     ValueBlankMode_AndRule,
02222     ValueBlankMode_OrRule,
02223     ValueBlankMode_CornerRule,
02224     END_ValueBlankMode_e,
02225     ValueBlankMode_Invalid = BadEnumValue
02226   } ValueBlankMode_e; /*<help>"DEPRECATED: ValueBlankMode_e will not be supported after version 8"*/
02227 
02228 
02229 typedef enum
02230   {
02231     CellBlankedCond_NotBlanked,
02232     CellBlankedCond_PartiallyBlanked,
02233     CellBlankedCond_EntirelyBlanked,
02234     CellBlankedCond_Uncertain,
02235     END_CellBlankedCond_e,
02236     CellBlankedCond_Invalid = BadEnumValue
02237   } CellBlankedCond_e;
02238 
02239 
02240 typedef enum
02241   {
02242     RelOp_LessThanOrEqual,
02243     RelOp_GreaterThanOrEqual,
02244     RelOp_LessThan,
02245     RelOp_GreaterThan,
02246     RelOp_EqualTo,
02247     RelOp_NotEqualTo,
02248     END_RelOp_e,
02249     RelOp_Invalid = BadEnumValue
02250   } RelOp_e;
02251 
02252 
02253 
02254 typedef enum
02255   {
02256     IJKBlankMode_BlankInterior,
02257     IJKBlankMode_BlankExterior,
02258     END_IJKBlankMode_e,
02259     IJKBlankMode_Invalid = BadEnumValue
02260   } IJKBlankMode_e;
02261 
02262 
02263 typedef enum
02264   {
02265     PlotApproximationMode_Automatic,
02266     PlotApproximationMode_NonCurrentAlwaysApproximated,
02267     PlotApproximationMode_AllFramesAlwaysApproximated,
02268     END_PlotApproximationMode_e,
02269     PlotApproximationMode_Invalid = BadEnumValue
02270   } PlotApproximationMode_e;
02271 
02272 typedef enum
02273   {
02274     SphereScatterRenderQuality_Low,
02275     SphereScatterRenderQuality_Medium,
02276     SphereScatterRenderQuality_High,
02277     END_SphereScatterRenderQuality_e,
02278     SphereScatterRenderQuality_Invalid = BadEnumValue
02279   } SphereScatterRenderQuality_e;
02280 
02281 /*
02282  * NOTE: FillPat_e is deprecated.  It must be retained to maintain
02283  *       backward compatibility with the TecUtil layer however.
02284  *       This has been replaced by Translucency_e.
02285  */
02286 typedef enum
02287   {
02288     Pattern_Solid,
02289     Pattern_LowTranslucent,
02290     Pattern_MedTranslucent,
02291     Pattern_HighTranslucent,
02292     END_FillPat_e,
02293     Pattern_Invalid = BadEnumValue
02294   } FillPat_e; /*<help>"DEPRECATED: Replaced by Translucency_e"*/
02295 
02296 
02297 typedef enum
02298   {
02299     Translucency_Solid,
02300     Translucency_Low,
02301     Translucency_Medium,
02302     Translucency_High,
02303     END_Translucency_e,
02304     Translucency_Invalid = BadEnumValue
02305   } Translucency_e;
02306 
02307 
02308 
02309 typedef enum
02310   {
02311     SunRaster_OldFormat,
02312     SunRaster_Standard,
02313     SunRaster_ByteEncoded,
02314     END_SunRaster_e,
02315     SunRaster_Invalid = BadEnumValue
02316   } SunRaster_e;
02317 
02318 
02319 typedef enum
02320   {
02321     BoundaryCondition_Fixed,
02322     BoundaryCondition_ZeroGradient,
02323     BoundaryCondition_Zero2nd,
02324     END_BoundaryCondition_e,
02325     BoundaryCondition_Invalid = BadEnumValue
02326   } BoundaryCondition_e;
02327 
02328 
02329 
02330 /* Note:
02331  *   In 2D: AxisMode_Independent and AxisMode_XYDependent are used;
02332  *   in 3D: AxisMode_Independent, AxisMode_XYZDependent, and AxisMode_XYDependent are used.
02333  */
02334 typedef enum
02335   {
02336     AxisMode_Independent,
02337     AxisMode_XYZDependent,
02338     AxisMode_XYDependent,
02339     END_AxisMode_e,
02340     AxisMode_Invalid = BadEnumValue
02341   } AxisMode_e;/*<help>"In 2D AxisMode_Independent and AxisMode_XYDependent are used\n"*/
02342                /*<help>"In 3D AxisMode_Independent, "*/
02343                /*<help>"AxisMode_XYZDependent, and AxisMode_XYDependent are used."*/
02344 
02345 typedef enum
02346   {
02347     Quick_LineColor,
02348     Quick_FillColor,
02349     Quick_TextColor,
02350     END_QuickColorMode_e,
02351     Quick_Invalid = BadEnumValue
02352   } QuickColorMode_e;
02353 
02354 
02355 typedef enum
02356   {
02357     FillMode_None,
02358     FillMode_UseSpecificColor,
02359     FillMode_UseLineColor,
02360     FillMode_UseBackgroundColor,
02361     END_FillMode_e,
02362     FillMode_Invalid = BadEnumValue
02363   } FillMode_e;
02364 
02365 
02366 typedef enum
02367   {
02368     LinePattern_Solid,
02369     LinePattern_Dashed,
02370     LinePattern_DashDot,
02371     LinePattern_Dotted,
02372     LinePattern_LongDash,
02373     LinePattern_DashDotDot,
02374     END_LinePattern_e,
02375     LinePattern_Invalid = BadEnumValue
02376   } LinePattern_e;
02377 
02378 
02379 
02380 typedef enum
02381   {
02382     Join_Miter,
02383     Join_Round,
02384     Join_Bevel,
02385     END_LineJoin_e,
02386     Join_Invalid = BadEnumValue
02387   } LineJoin_e;
02388 
02389 
02390 
02391 typedef enum
02392   {
02393     Cap_Flat,
02394     Cap_Round,
02395     Cap_Square,
02396     END_LineCap_e,
02397     Cap_Invalid = BadEnumValue
02398   } LineCap_e;
02399 
02400 
02401 
02402 typedef enum
02403   {
02404     GeomForm_LineSegs,
02405     GeomForm_Rectangle,
02406     GeomForm_Square,
02407     GeomForm_Circle,
02408     GeomForm_Ellipse,
02409     GeomForm_LineSegs3D, /* deprecated: use GeomForm_LineSegs with CoordSys_Grid3D */
02410     GeomForm_Image,
02411     END_GeomForm_e,
02412     GeomForm_Invalid = BadEnumValue,
02413     /* new value names */
02414     GeomType_LineSegs = GeomForm_LineSegs,
02415     GeomType_Rectangle = GeomForm_Rectangle,
02416     GeomType_Square = GeomForm_Square,
02417     GeomType_Circle = GeomForm_Circle,
02418     GeomType_Ellipse = GeomForm_Ellipse,
02419     GeomType_LineSegs3D = GeomForm_LineSegs3D, /* deprecated: use GeomType_LineSegs with CoordSys_Grid3D */
02420     GeomType_Image = GeomForm_Image,
02421     END_GeomType_e = END_GeomForm_e,
02422     GeomType_Invalid = GeomForm_Invalid
02423   } GeomForm_e;
02424 
02425 typedef GeomForm_e GeomType_e;
02426 
02427 typedef enum
02428   {
02429     VariableDerivationMethod_Fast,
02430     VariableDerivationMethod_Accurate,
02431     END_VariableDerivationMethod_e,
02432     VariableDerivationMethod_Invalid = BadEnumValue
02433   } VariableDerivationMethod_e;
02434 
02437 typedef enum
02438   {
02439     AuxDataType_String,
02440     END_AuxDataType_e,
02441     AuxDataType_Invalid = BadEnumValue
02442   } AuxDataType_e;
02443 
02446 typedef enum
02447   {
02448     AuxDataLocation_Zone,
02449     AuxDataLocation_DataSet,
02450     AuxDataLocation_Frame,
02451     AuxDataLocation_Var,
02452     AuxDataLocation_LineMap,
02453     AuxDataLocation_Page,
02454     END_AuxDataLocation_e,
02455     AuxDataLocation_Invalid = BadEnumValue
02456   } AuxDataLocation_e;
02457 
02458 
02459 /* Note: This replaces Element_e */
02460 typedef enum
02461   {
02462     ZoneType_Ordered,
02463     ZoneType_FETriangle,
02464     ZoneType_FEQuad,
02465     ZoneType_FETetra,
02466     ZoneType_FEBrick,
02467     ZoneType_FELineSeg,
02468     ZoneType_FEPolygon,
02469     ZoneType_FEPolyhedron,
02470     END_ZoneType_e,
02471     ZoneType_Invalid = BadEnumValue
02472   } ZoneType_e;
02473 
02474 typedef enum
02475   {
02476     ZoneOrder_I,
02477     ZoneOrder_J,
02478     ZoneOrder_K,
02479     ZoneOrder_IJ,
02480     ZoneOrder_IK,
02481     ZoneOrder_JK,
02482     ZoneOrder_IJK,
02483     END_ZoneOrder_e,
02484     ZoneOrder_Invalid = BadEnumValue
02485   } ZoneOrder_e;
02486 
02487 /* deprecated: replaced by ZoneType_e DataPacking_e */
02488 typedef enum
02489   {
02490     DataFormat_IJKBlock,
02491     DataFormat_IJKPoint,
02492     DataFormat_FEBlock,
02493     DataFormat_FEPoint,
02494     END_DataFormat_e,
02495     DataFormat_Invalid = BadEnumValue
02496   } DataFormat_e;
02497 
02498 typedef enum
02499   {
02500     DataPacking_Block,
02501     DataPacking_Point,
02502     END_DataPacking_e,
02503     DataPacking_Invalid = BadEnumValue
02504   } DataPacking_e;
02505 
02506 
02507 
02508 typedef enum
02509   {
02510     PD_HPGL,
02511     PD_HPGL2,
02512     PD_PS,
02513     PD_LASERG, /* deprecated */
02514     PD_EPS,
02515     PD_WINDOWS, /* Windows Print Driver */
02516     PD_WMF, /* Windows MetaFile (used from Export only) */
02517     PD_X3D,
02518     END_PrinterDriver_e,
02519     PD_Invalid = BadEnumValue
02520   } PrinterDriver_e;
02521 
02522 
02523 
02524 typedef enum
02525   {
02526     Image_None,
02527     Image_TIFF,
02528     Image_EPSI2,
02529     Image_FRAME,
02530     END_EPSPreviewImage_e,
02531     Image_Invalid = BadEnumValue
02532   } EPSPreviewImage_e;
02533 
02534 typedef enum
02535   {
02536     TIFFByteOrder_Intel,
02537     TIFFByteOrder_Motorola,
02538     END_TIFFByteOrder_e,
02539     TIFFByteOrder_Invalid = BadEnumValue
02540   } TIFFByteOrder_e;
02541 
02542 typedef enum
02543   {
02544     JPEGEncoding_Standard,
02545     JPEGEncoding_Progressive,
02546     END_JPEGEncoding_e,
02547     JPEGEncoding_Invalid = BadEnumValue
02548   } JPEGEncoding_e;
02549 
02550 
02551 typedef enum
02552   {
02553     FlashImageType_Lossless,
02554     FlashImageType_JPEG,
02555     FlashImageType_256Color,
02556     END_FlashImageType_e,
02557     FlashImageType_Invalid = BadEnumValue
02558   } FlashImageType_e;
02559 
02560 typedef enum
02561   {
02562     FlashCompressionType_BestSpeed,
02563     FlashCompressionType_SmallestSize,
02564     END_FlashCompressionType_e,
02565     FlashCompressionType_Invalid = BadEnumValue
02566   } FlashCompressionType_e;
02567 
02568 
02569 typedef enum
02570   {
02571     ExportFormat_RasterMetafile,
02572     ExportFormat_TIFF,
02573     ExportFormat_SGI,
02574     ExportFormat_SunRaster,
02575     ExportFormat_XWindows,
02576     ExportFormat_PSImage,       /* deprecated */
02577     ExportFormat_HPGL,
02578     ExportFormat_HPGL2,
02579     ExportFormat_PS,
02580     ExportFormat_EPS,
02581     ExportFormat_LaserGraphics, /* deprecated */
02582     ExportFormat_WindowsMetafile,
02583     ExportFormat_BMP,
02584     ExportFormat_PNG,
02585     ExportFormat_AVI,
02586     ExportFormat_Custom,  /* May be used in a future version */
02587     ExportFormat_JPEG,
02588     ExportFormat_Flash,
02589     ExportFormat_X3D,
02590     END_ExportFormat_e,
02591     ExportFormat_Invalid = BadEnumValue
02592   } ExportFormat_e;
02593 
02594 typedef enum
02595   {
02596     AVICompression_ColorPreserving,
02597     AVICompression_LinePreserving,
02598     AVICompression_LosslessUncompressed,
02599     END_AVICompression_e,
02600     AVICompression_Invalid = BadEnumValue
02601   } AVICompression_e;
02602 
02603 typedef enum
02604   {
02605     AnimationDest_Screen,
02606     AnimationDest_AVI,
02607     AnimationDest_RM,
02608     AnimationDest_Flash,
02609     END_AnimationDest_e,
02610     AnimationDest_Invalid = BadEnumValue
02611   } AnimationDest_e;
02612 
02613 
02614 #if defined ENGINE
02615 typedef enum
02616   {
02617      FileOrScreenAnimationDest_Screen,
02618      FileOrScreenAnimationDest_File,
02619      END_FileOrScreenAnimationDest_e,
02620      SliceDetailsAnimatePageDestination_Invalid = BadEnumValue
02621    } FileOrScreenAnimationDest_e;
02622 #endif
02623 
02624 typedef enum
02625   {
02626     AnimationOperation_Forward,
02627     AnimationOperation_Backward,
02628     AnimationOperation_Loop,
02629     AnimationOperation_Bounce,
02630     END_AnimationOperation_e,
02631     AnimationOperation_Invalid = BadEnumValue
02632   } AnimationOperation_e;
02633 
02634 typedef enum
02635   {
02636     AnimationStep_First,
02637     AnimationStep_Second,
02638     AnimationStep_Current,
02639     AnimationStep_SecondToLast,
02640     AnimationStep_Last,
02641     AnimationStep_Previous,
02642     AnimationStep_Next,
02643     END_AnimationStep_e,
02644     AnimationStep_Invalid = BadEnumValue
02645   } AnimationStep_e;
02646 
02647 typedef enum
02648   {
02649     ZoneAnimationMode_StepByNumber,
02650     ZoneAnimationMode_GroupStepByNumber,
02651     ZoneAnimationMode_StepByTime,
02652     END_ZoneAnimationMode_e,
02653     ZoneAnimationMode_Invalid = BadEnumValue
02654   } ZoneAnimationMode_e;
02655 
02656 #if defined EXPORT_DEPRECATED_INTERFACES_TO_ADK_ONLY
02657 
02661 typedef enum
02662   {
02663     BitDumpRegion_CurrentFrame,
02664     BitDumpRegion_AllFrames,
02665     BitDumpRegion_WorkArea,
02666     END_BitDumpRegion_e,
02667     BitDumpRegion_Invalid = BadEnumValue
02668   } BitDumpRegion_e;
02669 #endif
02670 
02671 typedef enum
02672   {
02673     ExportRegion_CurrentFrame,
02674     ExportRegion_AllFrames,
02675     ExportRegion_WorkArea,
02676     END_ExportRegion_e,
02677     ExportRegion_Invalid = BadEnumValue
02678   } ExportRegion_e;
02679 
02680 typedef enum
02681   {
02682     Paper_Letter,
02683     Paper_Double,
02684     Paper_A4,
02685     Paper_A3,
02686     Paper_Custom1,
02687     Paper_Custom2,
02688     END_PaperSize_e,
02689     Paper_Invalid = BadEnumValue
02690   } PaperSize_e;
02691 
02692 
02693 
02694 typedef enum
02695   {
02696     PaperUnitSpacing_HalfCentimeter,
02697     PaperUnitSpacing_OneCentimeter,
02698     PaperUnitSpacing_TwoCentimeters,
02699     PaperUnitSpacing_QuarterInch,
02700     PaperUnitSpacing_HalfInch,
02701     PaperUnitSpacing_OneInch,
02702     PaperUnitSpacing_TenPoints,
02703     PaperUnitSpacing_TwentyFourPoints,
02704     PaperUnitSpacing_ThirtySixPoints,
02705     PaperUnitSpacing_FiftyPoints,
02706     PaperUnitSpacing_SeventyTwoPoints,
02707     PaperUnitSpacing_OneTenthInch,
02708     PaperUnitSpacing_OneTenthCentimeter,
02709     END_PaperUnitSpacing_e,
02710     PaperUnitSpacing_Invalid = BadEnumValue
02711   } PaperUnitSpacing_e;
02712 
02713 
02714 typedef enum
02715   {
02716     Palette_Monochrome,
02717     Palette_PenPlotter,
02718     Palette_Color,
02719     END_Palette_e,
02720     Palette_Invalid = BadEnumValue
02721   } Palette_e;
02722 
02723 
02724 typedef enum
02725   {
02726     PrintRenderType_Vector,
02727     PrintRenderType_Image,
02728     END_PrintRenderType_e,
02729     PrintRenderType_Invalid = BadEnumValue
02730   } PrintRenderType_e;
02731 
02732 
02733 typedef enum
02734   {
02735     Units_Grid,
02736     Units_Frame,
02737     Units_Point,
02738     Units_Screen,
02739     Units_AxisPercentage,
02740     END_Units_e,
02741     Units_Invalid = BadEnumValue
02742   } Units_e;
02743 
02744 
02745 typedef enum
02746   {
02747     CoordScale_Linear,
02748     CoordScale_Log,
02749     END_CoordScale_e,
02750     CoordScale_Invalid = BadEnumValue,
02751     /* old names for the same values */
02752     Scale_Linear = CoordScale_Linear,
02753     Scale_Log = CoordScale_Log,
02754     Scale_Invalid = CoordScale_Invalid
02755   } CoordScale_e;
02756 
02757 /* CORE SOURCE CODE REMOVED */
02758 
02759 typedef enum
02760   {
02761     CoordSys_Grid,
02762     CoordSys_Frame,
02763     CoordSys_FrameOffset,
02764     CoordSys_Paper,
02765     CoordSys_Screen,
02766     CoordSys_Hardcopy,
02767     CoordSys_Grid3D,
02768     END_CoordSys_e,
02769     CoordSys_Invalid = BadEnumValue
02770   } CoordSys_e;
02771 
02772 /*
02773  *  NOTE:  CoordSys_FrameOffset always is stored in inches internally.
02774  *         in stylesheet this may be written in other units if
02775  *         appropriate suffix is added.
02776  *
02777  */
02778 
02779 
02780 
02781 typedef enum
02782   {
02783     Scope_Global,
02784     Scope_Local,
02785     END_Scope_e,
02786     Scope_Invalid = BadEnumValue
02787   } Scope_e;
02788 
02789 
02790 typedef enum
02791   {
02792     TextAnchor_Left,
02793     TextAnchor_Center,
02794     TextAnchor_Right,
02795     TextAnchor_MidLeft,
02796     TextAnchor_MidCenter,
02797     TextAnchor_MidRight,
02798     TextAnchor_HeadLeft,
02799     TextAnchor_HeadCenter,
02800     TextAnchor_HeadRight,
02801     TextAnchor_OnSide,
02802     END_TextAnchor_e,
02803     TextAnchor_Invalid = BadEnumValue
02804   } TextAnchor_e;
02805 
02806 
02807 
02808 typedef enum
02809   {
02810     TextBox_None,
02811     TextBox_Filled,
02812     TextBox_Hollow,
02813     END_TextBox_e,
02814     TextBox_Invalid = BadEnumValue
02815   } TextBox_e;
02816 
02817 
02818 
02819 typedef enum
02820   {
02821     GeomShape_Square,
02822     GeomShape_Del,
02823     GeomShape_Grad,
02824     GeomShape_RTri,
02825     GeomShape_LTri,
02826     GeomShape_Diamond,
02827     GeomShape_Circle,
02828     GeomShape_Cube,
02829     GeomShape_Sphere,
02830     GeomShape_Octahedron,
02831     GeomShape_Point,
02832     END_GeomShape_e,
02833     GeomShape_Invalid = BadEnumValue
02834   } GeomShape_e;
02835 
02836 
02837 typedef enum
02838   {
02839     BasicSize_Tiny,
02840     BasicSize_Small,
02841     BasicSize_Medium,
02842     BasicSize_Large,
02843     BasicSize_Huge,
02844     END_BasicSize_e,
02845     BasicSize_Invalid = BadEnumValue
02846   } BasicSize_e;
02847 
02848 
02849 
02850 /*
02851  * NOTE: LineForm_e is deprecated.  It must be retained to maintain
02852  *       backward compatibility with the TecUtil layer however.
02853  *       This has been replaced by CurveType_e.
02854  */
02855 typedef enum
02856   {
02857     LineForm_LineSeg,
02858     LineForm_CurvFit,
02859     LineForm_EToRFit,
02860     LineForm_PowerFit,
02861     LineForm_Spline,
02862     LineForm_ParaSpline,
02863     END_LineForm_e,
02864     LineForm_Invalid = BadEnumValue
02865   } LineForm_e;
02866 
02867 
02868 typedef enum
02869   {
02870     CurveType_LineSeg,
02871     CurveType_PolynomialFit,
02872     CurveType_EToRFit,
02873     CurveType_PowerFit,
02874     CurveType_Spline,
02875     CurveType_ParaSpline,
02876     CurveType_Extended,
02877     END_CurveType_e,
02878     CurveType_Invalid = BadEnumValue,
02879     CurveType_CurvFit = CurveType_PolynomialFit
02880   } CurveType_e;
02881 
02882 typedef enum
02883   {
02884     Script_None,
02885     Script_Super,
02886     Script_Sub,
02887     END_Script_e,
02888     Script_Invalid = BadEnumValue
02889   } Script_e;
02890 
02891 
02892 typedef enum
02893   {
02894     Font_Helvetica,
02895     Font_HelveticaBold,
02896     Font_Greek,
02897     Font_Math,
02898     Font_UserDefined,
02899     Font_Times,
02900     Font_TimesItalic,
02901     Font_TimesBold,
02902     Font_TimesItalicBold,
02903     Font_Courier,
02904     Font_CourierBold,
02905     END_Font_e,
02906     Font_Invalid = BadEnumValue
02907   } Font_e;
02908 
02909 typedef enum
02910   {
02911     TwoDDrawOrder_ByZone,
02912     TwoDDrawOrder_ByLayer,
02913     END_TwoDDrawOrder_e,
02914     TwoDDrawOrder_Invalid = BadEnumValue
02915   } TwoDDrawOrder_e;
02916 
02917 typedef enum
02918   {
02919     DrawOrder_AfterData,
02920     DrawOrder_BeforeData,
02921     END_DrawOrder_e,
02922     DrawOrder_Invalid = BadEnumValue
02923   } DrawOrder_e;
02924 
02925 /*
02926  *
02927  * NOTE: Streamtrace_TwoDLine is new.  All 2D
02928  *       streamtraces are assigned this value.
02929  */
02930 typedef enum
02931   {
02932     Streamtrace_SurfaceLine,
02933     Streamtrace_SurfaceRibbon,
02934     Streamtrace_VolumeLine,
02935     Streamtrace_VolumeRibbon,
02936     Streamtrace_VolumeRod,
02937     Streamtrace_TwoDLine,
02938     END_Streamtrace_e,
02939     Streamtrace_Invalid = BadEnumValue
02940   } Streamtrace_e;
02941 
02942 
02943 
02944 typedef enum
02945   {
02946     StreamDir_Forward,
02947     StreamDir_Reverse,
02948     StreamDir_Both,
02949     END_StreamDir_e,
02950     StreamDir_Invalid = BadEnumValue
02951   } StreamDir_e;
02952 
02953 typedef enum
02954   {
02955     IsoSurfaceSelection_AllContourLevels,
02956     IsoSurfaceSelection_OneSpecificValue,
02957     IsoSurfaceSelection_TwoSpecificValues,
02958     IsoSurfaceSelection_ThreeSpecificValues,
02959     END_IsoSurfaceSelection_e,
02960     IsoSurfaceSelection_Invalid = BadEnumValue
02961   } IsoSurfaceSelection_e;
02962 
02963 
02964 typedef enum
02965   {
02966     ValueLocation_CellCentered,
02967     ValueLocation_Nodal,
02968     END_ValueLocation_e,
02969     ValueLocation_Invalid = BadEnumValue
02970   } ValueLocation_e;
02971 
02972 typedef enum
02973   {
02974     FieldDataType_Reserved, /* never use */
02975     FieldDataType_Float,
02976     FieldDataType_Double,
02977     FieldDataType_Int32,
02978     FieldDataType_Int16,
02979     FieldDataType_Byte,
02980     FieldDataType_Bit,
02981     END_FieldDataType_e,
02982     FieldDataType_IJKFunction,   /* Not used yet */
02983     FieldDataType_Int64, /* Not used yet */
02984 #if defined EXPORT_DEPRECATED_INTERFACES_TO_ADK_ONLY
02985     FieldDataType_LongInt = FieldDataType_Int32,
02986     FieldDataType_ShortInt = FieldDataType_Int16,
02987 #endif
02988     FieldDataType_Invalid = BadEnumValue
02989   } FieldDataType_e;
02990 
02991 #define VALID_FIELD_DATA_TYPE(FieldDataType) (VALID_ENUM((FieldDataType),FieldDataType_e) && \
02992                                               (FieldDataType)!=FieldDataType_Reserved)
02993 
02994 #if defined EXPORT_DEPRECATED_INTERFACES_TO_ADK_ONLY
02995 
02999 typedef enum
03000   {
03001     Mesh_Wireframe,  /* deprecated: use MeshType_Wireframe  */
03002     Mesh_Overlay,    /* deprecated: use MeshType_Overlay    */
03003     Mesh_HiddenLine, /* deprecated: use MeshType_HiddenLine */
03004     END_MeshPlotType_e,
03005     Mesh_Invalid = BadEnumValue
03006   } MeshPlotType_e;
03007 #endif
03008 
03009 typedef enum
03010   {
03011     MeshType_Wireframe,  /* Mesh_Wireframe  */
03012     MeshType_Overlay,    /* Mesh_Overlay    */
03013     MeshType_HiddenLine, /* Mesh_HiddenLine */
03014     END_MeshType_e,
03015     MeshType_Invalid = BadEnumValue
03016   } MeshType_e;
03017 
03018 
03019 
03020 
03021 #if defined EXPORT_DEPRECATED_INTERFACES_TO_ADK_ONLY
03022 
03026 typedef enum
03027   {
03028     Contour_Lines,       /* deprecated: use ContourType_Lines        */
03029     Contour_Flood,       /* deprecated: use ContourType_Flood        */
03030     Contour_Overlay,     /* deprecated: use ContourType_Overlay      */
03031     Contour_AverageCell, /* deprecated: use ContourType_AverageCell  */
03032     Contour_CornerCell,  /* deprecated: use ContourType_PrimaryValue */
03033     END_ContourPlotType_e,
03034     Contour_Invalid = BadEnumValue
03035   } ContourPlotType_e;
03036 #endif
03037 
03038 
03039 typedef enum
03040   {
03041     ContourType_Lines,         /* Contour_Lines       */
03042     ContourType_Flood,         /* Contour_Flood       */
03043     ContourType_Overlay,       /* Contour_Overlay     */
03044     ContourType_AverageCell,   /* Contour_AverageCell */
03045     ContourType_PrimaryValue,  /* Contour_CornerCell  */
03046     END_ContourType_e,
03047     ContourType_Invalid = BadEnumValue
03048   } ContourType_e;
03049 
03050 typedef enum
03051   {
03052     ContourColoring_RGB,
03053     ContourColoring_Group1,
03054     ContourColoring_Group2,