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