Pointwise Plugin SDK
apiGridModel.h
Go to the documentation of this file.
1 #ifndef _APIGRIDMODEL_H_
2 #define _APIGRIDMODEL_H_
3 /****************************************************************************
4  *
5  * Pointwise PWGM API (PWGM-API) v1.0
6  *
7  * Proprietary software product of Pointwise, Inc.
8  * Copyright (c) 1995-2018 Pointwise, Inc.
9  * All rights reserved.
10  *
11  ***************************************************************************/
12 
13 // See comments in core code for information on adding new PWGM API functions.
14 
15 #include <stdio.h>
16 
17 #include "apiPWP.h"
18 
19 #if defined(WINDOWS) && defined(SHOW_PWGM_MESSAGES)
20 # if !defined(PWGM_HIDE_EXPORT_API)
21 
22 # define PWGM_HIDE_IMPORT_API
23 # if !defined(PWGM_HIDE_UNSTRUCTURED_API) && defined(PWGM_HIDE_STRUCTURED_API)
24 # pragma message ("FYI: Using Unstructured Export PWGM API")
25 # elif defined(PWGM_HIDE_UNSTRUCTURED_API) && !defined(PWGM_HIDE_STRUCTURED_API)
26 # pragma message ("FYI: Using Structured Export PWGM API")
27 # elif !defined(PWGM_HIDE_UNSTRUCTURED_API) && !defined(PWGM_HIDE_STRUCTURED_API)
28 # pragma message ("WARNING: Using Hybrid Export PWGM API")
29 # else //defined(PWGM_HIDE_UNSTRUCTURED_API) && defined(PWGM_HIDE_STRUCTURED_API)
30 # error ("ERROR: Export PWGM API is INVISIBLE!")
31 # endif
32 
33 # else // !defined(PWGM_HIDE_EXPORT_API)
34 
35 # pragma message ("FYI: Using Import PWGM API")
36 
37 # endif // !defined(PWGM_HIDE_EXPORT_API)
38 #endif // WINDOWS && SHOW_PWP_MESSAGES
39 
40 
60 #undef PW_DLL_IMPEXP
61 #ifdef BUILD_GGPLUGIN
62 # define PW_DLL_IMPEXP PW_DLLEXPORT
63 #else
64 # define PW_DLL_IMPEXP PW_DLLIMPORT
65 #endif
66  // sdkINTERNALS
67 
68 /*
69 
70 The Pointwise CAE Plugin API
71  Using C++
72  CAE Plugin Classes
73  Grid Model Classes
74  Using C
75  Progress Handling
76  CAE Plugin File Handling
77  CAE Value to Text Functions
78  CAEP Message Handling
79  CAEP Variable Manager Tools
80  CAEP Macros
81  GRDP Message Handling
82  GRDP Variable Manager Tools
83  GRDP Macros
84  Pointwise Grid Model API Specification (PWGM-API)
85  Platform Endian Handling
86  Unformatted FORTRAN File Handling
87 Pointwise Grid Import Plugin API
88  Using C++
89  GRDP Plugin Classes
90  Grid Model Classes
91  Using C
92 The Pointwise Grid Model API
93  Using C++
94  Using C
95 Miscellaneous Data Types and Classes
96 The Low Level Plugin API Functions
97  Pointwise CAE Plugin API Specification (CAEP-API)
98  Pointwise Grid Import Plugin API Specification (GRDP-API)
99  Pointwise Plugin API Specification (PWP-API)
100 
101 */
102 
103 extern "C" {
104 
105 /***********************************************************/
109 /***********************************************************/
137 /***********************************************************/
156 /***********************************************************/ // end DOXGRP_APIPWGM_IMPORT
168 
169  // DOXGRP_APIPWGM_IMPORT_UNS
215 
216  // DOXGRP_APIPWGM_IMPORT_STR
243 
244 
245 
246 /***********************************************************/
250 /***********************************************************/
329 #define PWGM_HGRIDMODEL_ISVALID(h) PWP_HANDLE_ISVALID(h)
330 
333 #define PWGM_HGRIDMODEL_INIT PWP_HANDLE_INIT
334 
335 #define PWGM_HGRIDMODEL_SET(h, v) PWP_HANDLE_SET(h, v)
336 
337 #define PWGM_HGRIDMODEL_SET_INVALID(h) PWGM_HGRIDMODEL_SET(h, PWP_HANDLE_INIT)
338 
339 #define PWGM_HGRIDMODEL_OUT_GMIMPL(h) ((PWGM_HGRIDMODEL_OUT_IMPL*)h)
340 
341 #define PWGM_HGRIDMODEL_IN_GMIMPL(h) ((PWGM_HGRIDMODEL_IN_IMPL*)h)
342  // sdkINTERNALS
343 
347 
349 #define PWGM_HBLOCK_ISVALID(h) PWP_HEGRP_ISVALID(h)
350 
353 #define PWGM_HBLOCK_INIT PWP_HEGRP_INIT
354 
355 #define PWGM_HBLOCK_SET(h, p, v) PWP_HEGRP_SET(h, p, v)
356 
357 #define PWGM_HBLOCK_SET_INVALID(h) PWGM_HBLOCK_SET(h, 0, PWP_BADID)
358 
359 #define PWGM_HBLOCK_OUT_GMIMPL(h) ((PWGM_HGRIDMODEL_OUT_IMPL*)PWP_HEGRP_H(h))
360 
361 #define PWGM_HBLOCK_IN_GMIMPL(h) ((PWGM_HGRIDMODEL_IN_IMPL*)PWP_HEGRP_H(h))
362  // sdkINTERNALS
363 
365 #define PWGM_HBLOCK_H(h) PWP_HEGRP_H(h)
366 
367 #define PWGM_HBLOCK_ID(h) PWP_HEGRP_ID(h)
368 
369 #define PWGM_HBLOCK_MODEL(h) PWP_HEGRP_H(h)
370 
375 #define PWGM_HDOMAIN_ISVALID(h) PWP_HEGRP_ISVALID(h)
376 
379 #define PWGM_HDOMAIN_INIT PWP_HEGRP_INIT
380 
381 #define PWGM_HDOMAIN_SET(h, p, v) PWP_HEGRP_SET(h, p, v)
382 
383 #define PWGM_HDOMAIN_SET_INVALID(h) PWGM_HDOMAIN_SET(h, 0, PWP_BADID)
384 
385 #define PWGM_HDOMAIN_OUT_GMIMPL(h) ((PWGM_HGRIDMODEL_OUT_IMPL*)PWP_HEGRP_H(h))
386 
387 #define PWGM_HDOMAIN_IN_GMIMPL(h) ((PWGM_HGRIDMODEL_IN_IMPL*)PWP_HEGRP_H(h))
388  // sdkINTERNALS
389 
391 #define PWGM_HDOMAIN_H(h) PWP_HEGRP_H(h)
392 
393 #define PWGM_HDOMAIN_ID(h) PWP_HEGRP_ID(h)
394 
395 #define PWGM_HDOMAIN_MODEL(h) PWP_HEGRP_H(h)
396 
401 #define PWGM_HVERTEX_ISVALID(h) PWP_HEGRP_ISVALID(h)
402 
405 #define PWGM_HVERTEX_INIT PWP_HEGRP_INIT
406 
407 #define PWGM_HVERTEX_SET(h, p, v) PWP_HEGRP_SET(h, p, v)
408 
409 #define PWGM_HVERTEX_SET_INVALID(h) PWGM_HVERTEX_SET(h, 0, PWP_BADID)
410 
411 #define PWGM_HVERTEX_OUT_GMIMPL(h) ((PWGM_HGRIDMODEL_OUT_IMPL*)PWP_HEGRP_H(h))
412  // sdkINTERNALS
413 
415 #define PWGM_HVERTEX_H(h) PWP_HEGRP_H(h)
416 
417 #define PWGM_HVERTEX_ID(h) PWP_HEGRP_ID(h)
418 
419 #define PWGM_HVERTEX_MODEL(h) PWP_HEGRP_H(h)
420 
421 
425 
426 
430 #define PWGM_HELEMENT_ISVALID(h) PWP_HEGI_ISVALID(h)
431 
434 #define PWGM_HELEMENT_INIT PWP_HEGI_INIT
435 
436 #define PWGM_HELEMENT_SET(h,p,tt,sv,v) PWP_HEGI_SET(h,p,tt,sv,v)
437 
438 #define PWGM_HELEMENT_SET_INVALID(h) PWGM_HELEMENT_SET(h, 0, PWP_BADTYPE, \
439  PWP_BADID, PWP_BADID)
440 
441 #define PWGM_HELEMENT_OUT_GMIMPL(h) ((PWGM_HGRIDMODEL_OUT_IMPL*)PWGM_HELEMENT_MODEL(h))
442  // sdkINTERNALS
443 
445 #define PWGM_HELEMENT_H(h) PWP_HEGI_H(h)
446 
447 #define PWGM_HELEMENT_PID(h) PWP_HEGI_PID(h)
448 
449 #define PWGM_HELEMENT_PTYPE(h) PWP_HEGI_PTYPE(h)
450 
451 #define PWGM_HELEMENT_ID(h) PWP_HEGI_ID(h)
452 
453 #define PWGM_HELEMENT_MODEL(h) PWP_HEGI_H(h)
454 
455 
460 #define PWGM_HBNDRY_ISVALID(h) PWP_HEGRP_ISVALID(h)
461 
464 # define PWGM_HBNDRY_INIT PWP_HEGRP_INIT
465 
466 # define PWGM_HBNDRY_SET(h, p, v) PWP_HEGRP_SET(h, p, v)
467 
468 # define PWGM_HBNDRY_SET_INVALID(h) PWGM_HBNDRY_SET(h, 0, PWP_BADID)
469 
470 #define PWGM_HBNDRY_OUT_GMIMPL(h) ((PWGM_HGRIDMODEL_OUT_IMPL*)PWP_HEGRP_H(h))
471  // sdkINTERNALS
472 
474 #define PWGM_HBNDRY_H(h) PWP_HEGRP_H(h)
475 
476 #define PWGM_HBNDRY_ID(h) PWP_HEGRP_ID(h)
477 
478 #define PWGM_HBNDRY_MODEL(h) PWP_HEGRP_H(h)
479 
480 
485 #define PWGM_HCNXN_ISVALID(h) PWP_HEGRP_ISVALID(h)
486 
489 # define PWGM_HCNXN_INIT PWP_HEGRP_INIT
490 
491 # define PWGM_HCNXN_SET(h, p, v) PWP_HEGRP_SET(h, p, v)
492 
493 # define PWGM_HCNXN_SET_INVALID(h) PWGM_HCNXN_SET(h, 0, PWP_BADID)
494 
495 #define PWGM_HCNXN_OUT_GMIMPL(h) ((PWGM_HGRIDMODEL_OUT_IMPL*)PWP_HEGRP_H(h))
496  // sdkINTERNALS
497 
499 #define PWGM_HCNXN_H(h) PWP_HEGRP_H(h)
500 
501 #define PWGM_HCNXN_ID(h) PWP_HEGRP_ID(h)
502 
503 #define PWGM_HCNXN_MODEL(h) PWP_HEGRP_H(h)
504 
505 
506 //---------------------------------------------------------------------------
510 #define PWGM_HCONNECTOR_ISVALID(h) PWP_HEGRP_ISVALID(h)
511 
514 #define PWGM_HCONNECTOR_INIT PWP_HEGRP_INIT
515 #define PWGM_HCONNECTOR_SET(h, p, v) PWP_HEGRP_SET(h, p, v)
517 #define PWGM_HCONNECTOR_SET_INVALID(h) PWGM_HCONNECTOR_SET(h, 0, PWP_BADID)
519 #define PWGM_HCONNECTOR_IN_GMIMPL(h) ((PWGM_HGRIDMODEL_IN_IMPL*)PWP_HEGRP_H(h))
521 
524 #define PWGM_HCONNECTOR_H(h) PWP_HEGRP_H(h)
525 #define PWGM_HCONNECTOR_ID(h) PWP_HEGRP_ID(h)
527 #define PWGM_HCONNECTOR_MODEL(h) PWP_HEGRP_H(h)
529 
530 
531 //---------------------------------------------------------------------------
535 
539 #define PWGM_HVERTEXLIST_ISVALID(h) PWP_HEGI_ISVALID(h)
540 
543 #define PWGM_HVERTEXLIST_INIT PWP_HEGI_INIT
544 
545 #define PWGM_HVERTEXLIST_SET(h,p,tt,sv,v) PWP_HEGI_SET(h,p,tt,sv,v)
546 
547 #define PWGM_HVERTEXLIST_SET_INVALID(h) PWGM_HVERTEXLIST_SET(h, 0, \
548  PWP_BADTYPE, PWP_BADID, PWP_BADID)
549 
550 #define PWGM_HVERTEXLIST_IN_GMIMPL(h) ((PWGM_HGRIDMODEL_IN_IMPL*)PWGM_HVERTEXLIST_MODEL(h))
551  // sdkINTERNALS
552 
554 #define PWGM_HVERTEXLIST_H(h) PWP_HEGI_H(h)
555 
556 #define PWGM_HVERTEXLIST_PID(h) PWP_HEGI_PID(h)
557 
558 #define PWGM_HVERTEXLIST_PTYPE(h) PWP_HEGI_PTYPE(h)
559 
560 #define PWGM_HVERTEXLIST_ID(h) PWP_HEGI_ID(h)
561 
562 #define PWGM_HVERTEXLIST_MODEL(h) PWP_HEGI_H(h)
563 
564 
565 //---------------------------------------------------------------------------
569 #define PWGM_HBLOCKASSEMBLER_ISVALID(h) PWP_HEGRP_ISVALID(h)
570 
573 #define PWGM_HBLOCKASSEMBLER_INIT PWP_HEGRP_INIT
574 #define PWGM_HBLOCKASSEMBLER_SET(h, p, v) PWP_HEGRP_SET(h, p, v)
576 #define PWGM_HBLOCKASSEMBLER_SET_INVALID(h) PWGM_HBLOCKASSEMBLER_SET(h, 0, PWP_BADID)
578 #define PWGM_HBLOCKASSEMBLER_IN_GMIMPL(h) ((PWGM_HGRIDMODEL_IN_IMPL*)PWP_HEGRP_H(h))
580 
583 #define PWGM_HBLOCKASSEMBLER_H(h) PWP_HEGRP_H(h)
584 #define PWGM_HBLOCKASSEMBLER_ID(h) PWP_HEGRP_ID(h)
586 #define PWGM_HBLOCKASSEMBLER_MODEL(h) PWP_HEGRP_H(h)
588 
592 /*---------------------------------------------------------*/
593 /* UNSTRUCTURED AND STRUCTURED GRID DATATYPES */
594 /*---------------------------------------------------------*/
595 
596 
602 
603 
608 struct PW_DLL_IMPEXP PWGM_VERTDATA {
613 };
614 
615 
617 /*---------------------------------------------------------*/
622 enum PWGM_XYZ_CLUSTERING {
623  PWGM_CLUSTERING_XYXY,
624  PWGM_CLUSTERING_XXYY,
625  PWGM_CLUSTERING_XYZXYZ,
626  PWGM_CLUSTERING_XXYYZZ,
627 
631  PWGM_CLUSTERING_SIZE,
632  PWGM_CLUSTERING_LAST = PWGM_CLUSTERING_SIZE - 1
633  /* @} */ // sdkINTERNALS
635 };
637 
638 
645 struct PW_DLL_IMPEXP PWGM_CONDDATA {
646  const char *name;
648  const char *type;
650 };
651 
656 #define PWGM_UNSPECIFIED_COND_ID PWP_UINT32(2147483647)
657 
662 #define PWGM_UNSPECIFIED_TYPE_ID PWP_UINT32(0)
663 
664 
665 /*---------------------------------------------------------*/
666 /* UNSTRUCTURED GRID DATATYPES */
667 /*---------------------------------------------------------*/
668 
682  /* add new enum values before this line */
683 
687  PWGM_ELEMTYPE_SIZE,
688  PWGM_ELEMTYPE_LAST = PWGM_ELEMTYPE_SIZE-1
689  /* @} */ // sdkINTERNALS
691 };
692 
693 
713  /* add new enum values before this line */
714 
718  PWGM_ELEMORDER_SIZE,
719  PWGM_ELEMORDER_LAST = PWGM_ELEMORDER_SIZE-1
720  /* @} */ // sdkINTERNALS
722 };
723 
724 
729 #define PWGM_ELEMDATA_VERT_SIZE 8
730 
731 
736 struct PW_DLL_IMPEXP PWGM_ELEMDATA {
741 };
742 
743 
748 struct PW_DLL_IMPEXP PWGM_ENUMELEMDATA {
751 };
752 
753 
758 struct PW_DLL_IMPEXP PWGM_ELEMCOUNTS {
764  PWP_UINT32 count[PWGM_ELEMTYPE_SIZE];
765 };
766 
772 #define PWGM_ECNT_Point(ecs) (ecs).count[PWGM_ELEMTYPE_POINT]
773 
778 #define PWGM_ECNT_Bar(ecs) (ecs).count[PWGM_ELEMTYPE_BAR]
779 
784 #define PWGM_ECNT_Hex(ecs) (ecs).count[PWGM_ELEMTYPE_HEX]
785 
790 #define PWGM_ECNT_Quad(ecs) (ecs).count[PWGM_ELEMTYPE_QUAD]
791 
796 #define PWGM_ECNT_Tri(ecs) (ecs).count[PWGM_ELEMTYPE_TRI]
797 
802 #define PWGM_ECNT_Tet(ecs) (ecs).count[PWGM_ELEMTYPE_TET]
803 
808 #define PWGM_ECNT_Wedge(ecs) (ecs).count[PWGM_ELEMTYPE_WEDGE]
809 
814 #define PWGM_ECNT_Pyramid(ecs) (ecs).count[PWGM_ELEMTYPE_PYRAMID]
815 
816 
817 
826  // add new enum values before this line
827 
831  PWGM_XYZ_SIZE,
832  PWGM_XYZ_LAST = PWGM_XYZ_SIZE-1
833  /* @} */ // sdkINTERNALS
835 };
836 
837 
838 
839 /*---------------------------------------------------------*/
840 /* STRUCTURED GRID DATATYPES */
841 /*---------------------------------------------------------*/
842 
847 
851  PWGM_GRIDTYPE_SIZE,
852  PWGM_GRIDTYPE_LAST = PWGM_GRIDTYPE_SIZE-1
853  /* @} */ // sdkINTERNALS
855 };
856 
857 
860 struct PW_DLL_IMPEXP PWGM_INDEX3 {
864 };
865 
866 /*---------------------------------------------------------*/
869 struct PW_DLL_IMPEXP PWGM_INDEX2 {
872 };
873 
876 typedef PWGM_INDEX3 PW_DLL_IMPEXP PWGM_STR_SIZE;
877 
878 
881 struct PW_DLL_IMPEXP PWGM_STR_RANGE {
884 };
885 
886 
893 struct PW_DLL_IMPEXP PWGM_INDEX_XFORM {
894  PWP_INT32 m[3][4];
895 };
896 
897 
904 struct PW_DLL_IMPEXP PWGM_INDEX_XFORM2 {
905  PWP_INT32 m[2][3];
906 };
907 
908 
919  // add new enum values before this line
920 
924  PWGM_FACE_SIZE,
925  PWGM_FACE_LAST = PWGM_FACE_SIZE-1
926  /* @} */ // sdkINTERNALS
928 };
929 
930 
938  // add new enum values before this line
939 
943  PWGM_CNXNTYPE_SIZE,
944  PWGM_CNXNTYPE_LAST = PWGM_FACE_SIZE-1
945  /* @} */ // sdkINTERNALS
947 };
948 
949 
952 struct PW_DLL_IMPEXP PWGM_BNDRYDATA {
953  const char *name;
957 };
958 
959 
962 struct PW_DLL_IMPEXP PWGM_CNXNDATA {
963  const char *name;
972 };
973 
974 
977 struct PW_DLL_IMPEXP PWGM_BLOCKDATA {
978  const char *name;
982 };
983 
984 
991  // add new enum values before this line
992 
996  PWGM_IJK_SIZE,
997  PWGM_IJK_LAST = PWGM_IJK_SIZE-1
998  /* @} */ // sdkINTERNALS
1000 };
1001 
1002 
1009 
1013 
1017  // add new enum values before this line
1018 
1022  PWGM_FACETYPE_SIZE,
1023  PWGM_FACETYPE_LAST = PWGM_FACETYPE_SIZE-1
1024  /* @} */ // sdkINTERNALS
1026 };
1027 
1028 
1042  // add new enum values before this line
1043 
1047  PWGM_FACEORDER_SIZE,
1048  PWGM_FACEORDER_LAST = PWGM_FACEORDER_SIZE-1
1049  /* @} */ // sdkINTERNALS
1051 };
1052 
1053 
1056 struct PW_DLL_IMPEXP PWGM_BEGINSTREAM_DATA {
1063  void *userData;
1064 };
1065 
1066 
1072 
1073 
1076 struct PW_DLL_IMPEXP PWGM_FACEREF_DATA {
1079 
1084 
1086  //PWP_UINT32 blockFace; TODO make this work
1087 
1090 
1093 
1097 
1100 };
1101 
1102 
1105 struct PW_DLL_IMPEXP PWGM_FACESTREAM_DATA {
1108 
1111 
1115 
1118 
1123 
1127 
1129  void *userData;
1130 };
1131 
1132 
1138 
1139 
1142 struct PW_DLL_IMPEXP PWGM_ENDSTREAM_DATA {
1145  void *userData;
1146 };
1147 
1148 
1154 
1155 /*---------------------------------------------------------*/
1170 struct PW_DLL_IMPEXP PWGM_ASSEMBLER_DATA {
1173  PWP_UINT32 index[4];
1176 };
1177 
1181 //*********************************************
1182 // PWGM-API functions
1183 //*********************************************
1184 
1185 /***********************************************************/
1195 /***********************************************************/
1208 PW_DLLEXPORT PWP_UINT32
1210 
1211 
1235 PW_DLLEXPORT PWGM_HBLOCK
1237 
1238 
1249 PW_DLLEXPORT PWP_BOOL
1250 PwBlkCondition(PWGM_HBLOCK block, PWGM_CONDDATA *pCondData);
1251 
1252 
1324 PW_DLLEXPORT PWP_BOOL
1325 PwModGetAttributeValue(PWGM_HGRIDMODEL model, const char *name,
1326  PWP_ENUM_VALTYPE bufType, void *buf, PWP_UINT count);
1327 
1328 
1388 PWP_BOOL
1390 PwModGetAttributeString(PWGM_HGRIDMODEL model, const char *name, const char ** val);
1391 
1392 PWP_BOOL
1393 PwModGetAttributeUINT(PWGM_HGRIDMODEL model, const char *name, PWP_UINT *val);
1394 
1395 PWP_BOOL
1396 PwModGetAttributeUINT32(PWGM_HGRIDMODEL model, const char *name, PWP_UINT32 *val);
1397 
1398 PWP_BOOL
1399 PwModGetAttributeINT(PWGM_HGRIDMODEL model, const char *name, PWP_INT *val);
1400 
1401 PWP_BOOL
1402 PwModGetAttributeINT32(PWGM_HGRIDMODEL model, const char *name, PWP_INT32 *val);
1403 
1404 PWP_BOOL
1405 PwModGetAttributeREAL(PWGM_HGRIDMODEL model, const char *name, PWP_REAL *val);
1406 
1407 PWP_BOOL
1408 PwModGetAttributeFLOAT(PWGM_HGRIDMODEL model, const char *name, PWP_FLOAT *val);
1409 
1410 PWP_BOOL
1411 PwModGetAttributeBOOL(PWGM_HGRIDMODEL model, const char *name, PWP_BOOL *val);
1412 
1413 PWP_BOOL
1414 PwModGetAttributeEnum(PWGM_HGRIDMODEL model, const char *name, const char ** val);
1416 
1420 /***********************************************************/
1425 #if !defined(PWGM_HIDE_UNSTRUCTURED_API) && !defined(PWGM_HIDE_EXPORT_API)
1426 
1432 PW_DLLEXPORT PWP_UINT32
1434 
1435 
1482 PW_DLLEXPORT PWGM_HDOMAIN
1484 
1485 
1509 PW_DLLEXPORT PWGM_HVERTEX
1511 
1512 
1520 PW_DLLEXPORT PWP_UINT32
1522 
1523 
1590 PW_DLLEXPORT PWP_BOOL
1593  PWGM_ENDSTREAMCB endCB, void *userData);
1594 
1595 
1606 PW_DLLEXPORT PWP_UINT32
1608 
1609 
1625 PW_DLLEXPORT PWGM_HELEMENT
1627 
1628 
1692 PW_DLLEXPORT PWP_BOOL
1694 
1695 
1709 PW_DLLEXPORT PWP_VOID
1711 
1712 
1723 PW_DLLEXPORT PWP_UINT32
1725 
1726 
1752 PW_DLLEXPORT PWGM_HELEMENT
1754 
1755 
1766 PW_DLLEXPORT PWP_UINT32
1768 
1769 
1782 PW_DLLEXPORT PWGM_HELEMENT
1784 
1785 
1796 PW_DLLEXPORT PWP_BOOL
1797 PwDomCondition(PWGM_HDOMAIN domain, PWGM_CONDDATA *pCondData);
1798 
1799 
1812 PW_DLLEXPORT PWP_BOOL
1813 PwVertDataMod(PWGM_HVERTEX vertex, PWGM_VERTDATA *pVertData);
1814 
1815 
1828 PW_DLLEXPORT PWP_BOOL
1829 PwVertIndexMod(PWGM_HVERTEX vertex, PWP_UINT32 *pIndex);
1830 
1831 
1847 PW_DLLEXPORT PWP_BOOL
1848 PwVertXyzVal(PWGM_HVERTEX vertex, PWGM_ENUM_XYZ which, PWGM_XYZVAL *pVal);
1849 
1850 
1861 PW_DLLEXPORT PWP_BOOL
1862 PwElemDataMod(PWGM_HELEMENT element, PWGM_ELEMDATA *pElemData);
1863 
1864 
1875 PW_DLLEXPORT PWP_BOOL
1877 
1878 
1887 const char *
1889 
1890 
1898 const char *
1900 
1901 #endif // !defined(PWGM_HIDE_UNSTRUCTURED_API) && !defined(PWGM_HIDE_EXPORT_API)
1902 
1905 /***********************************************************/
1910 #if !defined(PWGM_HIDE_STRUCTURED_API) && !defined(PWGM_HIDE_EXPORT_API)
1911 
1922 PW_DLLEXPORT PWP_BOOL
1923 PwBlkSize(PWGM_HBLOCK block, PWGM_STR_SIZE *pSize);
1924 
1925 
1936 PW_DLLEXPORT PWP_BOOL
1937 PwBlock(PWGM_HBLOCK block, PWGM_BLOCKDATA *pBlockData);
1938 
1939 
1953 PW_DLLEXPORT PWP_BOOL
1954 PwBlkNdxVertData(PWGM_HBLOCK block, PWGM_INDEX3 ndx3, PWGM_VERTDATA *pVertData);
1955 
1956 
1962 PW_DLLEXPORT PWP_UINT32
1964 
1965 
1987 PW_DLLEXPORT PWGM_HCNXN
1989 
1990 
2001 PW_DLLEXPORT PWP_BOOL
2002 PwConnection(PWGM_HCNXN connection, PWGM_CNXNDATA *pCnxnData);
2003 
2004 
2023 PW_DLLEXPORT PWP_BOOL
2025 
2026 
2032 PW_DLLEXPORT PWP_UINT32
2034 
2035 
2057 PW_DLLEXPORT PWGM_HBNDRY
2059 
2060 
2071 PW_DLLEXPORT PWP_BOOL
2072 PwBoundary(PWGM_HBNDRY boundary, PWGM_BNDRYDATA *pBndryData);
2073 
2074 
2085 PW_DLLEXPORT PWP_BOOL
2086 PwBndryCondition(PWGM_HBNDRY boundary, PWGM_CONDDATA *pCondData);
2087 
2088 
2107 PW_DLLEXPORT PWP_BOOL
2109 
2110 
2137 PW_DLLEXPORT PWP_BOOL
2139  PWGM_BNDRYDATA *pBndryData, PWGM_CONDDATA *pCondData);
2140 
2141 
2147 PW_DLLEXPORT PWP_UINT32
2149 
2150 
2172 PW_DLLEXPORT PWGM_HBNDRY
2174 
2175 
2194 PW_DLLEXPORT PWP_BOOL
2195 PwBlkNdxBoundary(PWGM_HBLOCK block, PWP_UINT32 ndx, PWGM_BNDRYDATA *pBndryData);
2196 
2197 
2224 PW_DLLEXPORT PWP_BOOL
2226  PWGM_BNDRYDATA *pBndryData, PWGM_CONDDATA *pCondData);
2227 
2228 
2234 PW_DLLEXPORT PWP_UINT32
2236 
2237 
2259 PW_DLLEXPORT PWGM_HCNXN
2261 
2262 
2281 PW_DLLEXPORT PWP_BOOL
2283  PWGM_CNXNDATA *pCnxnData);
2284 
2285 
2286 /***********************************************************/
2312 PWP_BOOL
2314 
2315 
2335 PWP_BOOL
2337 
2338 
2350 PwXformApply(const PWGM_INDEX_XFORM *pX3, PWGM_INDEX3 ijk);
2351 
2352 
2369 PwXformFollows(const PWGM_INDEX_XFORM *pX3, PWGM_ENUM_IJK localAxis,
2370  PWP_BOOL *pFlipped);
2371 
2372 
2386 
2387 
2404 PwXform2Follows(const PWGM_INDEX_XFORM2 *pX2, PWGM_ENUM_IJK localAxis,
2405  PWP_BOOL *pFlipped);
2406 
2407 
2418 PWP_BOOL
2419 PwInRange(PWGM_INDEX3 ijk, const PWGM_STR_RANGE *pRange);
2420 
2423 #endif // !defined(PWGM_HIDE_STRUCTURED_API) && !defined(PWGM_HIDE_EXPORT_API)
2424 
2430 /***********************************************************/
2439 #if !defined(PWGM_HIDE_IMPORT_API)
2440 
2441 /***********************************************************/
2452 /*---------------------------------------------------------*/
2476 PW_DLLEXPORT PWGM_HVERTEXLIST
2478 
2479 /*---------------------------------------------------------*/
2502 PW_DLLEXPORT PWGM_HVERTEXLIST
2504 
2505 /*---------------------------------------------------------*/
2522 PW_DLLEXPORT PWGM_HVERTEXLIST
2524 
2525 /*---------------------------------------------------------*/
2539 PW_DLLEXPORT PWP_BOOL
2540 PwConSetName(PWGM_HCONNECTOR h, const char *name);
2541 
2542 /*---------------------------------------------------------*/
2556 PW_DLLEXPORT PWP_BOOL
2557 PwBlkSetName(PWGM_HBLOCK h, const char *name);
2558 
2559 /*---------------------------------------------------------*/
2573 PW_DLLEXPORT PWP_BOOL
2574 PwDomSetName(PWGM_HDOMAIN h, const char *name);
2575 
2576 /*---------------------------------------------------------*/
2586 PW_DLLEXPORT PWP_BOOL
2588 
2589 /*---------------------------------------------------------*/
2599 PW_DLLEXPORT PWP_BOOL
2601 
2602 /*---------------------------------------------------------*/
2611 PW_DLLEXPORT PWP_UINT
2613 
2614 /*---------------------------------------------------------*/
2642 PW_DLLEXPORT PWP_BOOL
2644  const PWGM_ENUM_XYZ which, const PWGM_XYZVAL val);
2645 
2646 /*---------------------------------------------------------*/
2670 PW_DLLEXPORT PWP_BOOL
2671 PwVlstSetXYZ(PWGM_HVERTEXLIST h, const PWP_UINT ndx, const PWGM_XYZVAL x,
2672  const PWGM_XYZVAL y, const PWGM_XYZVAL z);
2673 
2674 /*---------------------------------------------------------*/
2699 PW_DLLEXPORT PWP_BOOL
2701 
2702 /*---------------------------------------------------------*/
2730 PW_DLLEXPORT PWP_BOOL
2732  const PWGM_ENUM_XYZ which, const PWGM_XYZVAL val);
2733 
2734 /*---------------------------------------------------------*/
2757 PW_DLLEXPORT PWP_BOOL
2758 PwVlstSetXYZ2(PWGM_HVERTEXLIST h, const PWGM_INDEX2 ndx2, const PWGM_XYZVAL x,
2759  const PWGM_XYZVAL y, const PWGM_XYZVAL z);
2760 
2761 /*---------------------------------------------------------*/
2787 PW_DLLEXPORT PWP_BOOL
2789 
2790 /*---------------------------------------------------------*/
2818 PW_DLLEXPORT PWP_BOOL
2820  const PWGM_ENUM_XYZ which, const PWGM_XYZVAL val);
2821 
2822 /*---------------------------------------------------------*/
2845 PW_DLLEXPORT PWP_BOOL
2846 PwVlstSetXYZ3(PWGM_HVERTEXLIST h, const PWGM_INDEX3 ndx3, const PWGM_XYZVAL x,
2847  const PWGM_XYZVAL y, const PWGM_XYZVAL z);
2848 
2849 /*---------------------------------------------------------*/
2875 PW_DLLEXPORT PWP_BOOL
2877 
2879 /*---------------------------------------------------------*/
2903 PW_DLLEXPORT PWP_BOOL
2904 PwVlstReadFile(PWGM_HVERTEXLIST h, FILE *file,
2905  const PWGM_XYZ_CLUSTERING fileClustering,
2906  const PWP_ENDIANNESS fileByteOrder, const PWP_ENUM_PRECISION filePrecision);
2908 
2912 /***********************************************************/
2923 /*---------------------------------------------------------*/
2938 PW_DLLEXPORT PWGM_HVERTEXLIST
2940 
2941 /*---------------------------------------------------------*/
2955 PW_DLLEXPORT PWP_BOOL
2956 PwVlstAllocate(PWGM_HVERTEXLIST h, const PWP_UINT count);
2957 
2958 /*---------------------------------------------------------*/
2981 PW_DLLEXPORT PWGM_HBLOCK
2983 
2984 /*---------------------------------------------------------*/
3009 PW_DLLEXPORT PWP_BOOL
3011  const PWP_UINT count);
3012 
3013 /*---------------------------------------------------------*/
3035 PW_DLLEXPORT PWP_BOOL
3037 
3038 /*---------------------------------------------------------*/
3059 PW_DLLEXPORT PWP_BOOL
3060 PwUnsBlkSetElement(PWGM_HBLOCK h, const PWP_UINT ndx, const PWGM_ELEMDATA *eData);
3061 
3062 /*---------------------------------------------------------*/
3085 PW_DLLEXPORT PWGM_HDOMAIN
3087 
3088 /*---------------------------------------------------------*/
3112 PW_DLLEXPORT PWP_BOOL
3114  const PWP_UINT count);
3115 
3116 /*---------------------------------------------------------*/
3138 PW_DLLEXPORT PWP_BOOL
3140 
3141 /*---------------------------------------------------------*/
3161 PW_DLLEXPORT PWP_BOOL
3163  const PWGM_ELEMDATA *eData);
3164 
3165 /*---------------------------------------------------------*/
3195 PW_DLLEXPORT PWGM_HBLOCKASSEMBLER
3197 
3198 /*---------------------------------------------------------*/
3212 PW_DLLEXPORT PWP_BOOL
3214 
3215 /*---------------------------------------------------------*/
3230 PW_DLLEXPORT PWP_BOOL
3232 
3233 /*---------------------------------------------------------*/
3246 PW_DLLEXPORT PWGM_HVERTEXLIST
3248 
3252 /***********************************************************/
3263 /*---------------------------------------------------------*/
3284 PW_DLLEXPORT PWGM_HCONNECTOR
3286 
3287 /*---------------------------------------------------------*/
3313 PW_DLLEXPORT PWGM_HBLOCK
3314 PwModCreateStrBlock(PWGM_HGRIDMODEL model, const PWGM_STR_SIZE blkSize);
3315 
3316 /*---------------------------------------------------------*/
3342 PW_DLLEXPORT PWGM_HDOMAIN
3343 PwModCreateStrDomain(PWGM_HGRIDMODEL model, const PWGM_STR_SIZE domSize);
3344 
3347 #endif // !defined(PWGM_HIDE_IMPORT_API)
3348 
3358 /*---------------------------------------------------------*/
3359 /* COMMON GRID EXPORT CALLBACKS */
3360 /*---------------------------------------------------------*/
3361 
3362 typedef PWP_UINT32
3363 PwModBlockCount_t(PWGM_HGRIDMODEL model);
3364 
3365 typedef PWGM_HBLOCK
3366 PwModEnumBlocks_t(PWGM_HGRIDMODEL model, PWP_UINT32 ndx);
3367 
3368 typedef PWP_BOOL
3369 PwModGetAttributeValue_t(PWGM_HGRIDMODEL model, const char *name,
3370  PWP_ENUM_VALTYPE bufType, void *buf, PWP_UINT count);
3371 
3372 
3373 /*---------------------------------------------------------*/
3374 /* UNSTRUCTURED GRID EXPORT CALLBACKS */
3375 /*---------------------------------------------------------*/
3376 
3377 typedef PWP_UINT32
3378 PwModDomainCount_t(PWGM_HGRIDMODEL model);
3379 
3380 typedef PWGM_HDOMAIN
3381 PwModEnumDomains_t(PWGM_HGRIDMODEL model, PWP_UINT32 ndx);
3382 
3383 typedef PWGM_HVERTEX
3384 PwModEnumVertices_t(PWGM_HGRIDMODEL model, PWP_UINT32 ndx);
3385 
3386 typedef PWP_UINT32
3387 PwModVertexCount_t(PWGM_HGRIDMODEL model);
3388 
3389 typedef PWP_BOOL
3390 PwModStreamFaces_t(PWGM_HGRIDMODEL model, PWGM_ENUM_FACEORDER order,
3392  PWGM_ENDSTREAMCB endCB, void *userData);
3393 
3394 typedef PWP_UINT32
3395 PwModEnumElementCount_t(PWGM_HGRIDMODEL model, PWGM_ELEMCOUNTS *pCounts);
3396 
3397 typedef PWP_BOOL
3398 PwModAppendEnumElementOrder_t(PWGM_HGRIDMODEL model, PWGM_ENUM_ELEMORDER order);
3399 
3400 typedef PWGM_HELEMENT
3401 PwModEnumElements_t(PWGM_HGRIDMODEL model, PWP_UINT32 ndx);
3402 
3403 //---------------------------
3404 typedef PWP_UINT32
3405 PwBlkElementCount_t(PWGM_HBLOCK block, PWGM_ELEMCOUNTS *pCounts);
3406 
3407 typedef PWGM_HELEMENT
3408 PwBlkEnumElements_t(PWGM_HBLOCK block, PWP_UINT32 ndx);
3409 
3410 typedef PWP_BOOL
3411 PwBlkCondition_t(PWGM_HBLOCK block, PWGM_CONDDATA *pCondData);
3412 
3413 //---------------------------
3414 typedef PWP_UINT32
3415 PwDomElementCount_t(PWGM_HDOMAIN domain, PWGM_ELEMCOUNTS *pCounts);
3416 
3417 typedef PWGM_HELEMENT
3418 PwDomEnumElements_t(PWGM_HDOMAIN domain, PWP_UINT32 ndx);
3419 
3420 typedef PWP_BOOL
3421 PwDomCondition_t(PWGM_HDOMAIN domain, PWGM_CONDDATA *pCondData);
3422 
3423 //---------------------------
3424 typedef PWP_BOOL
3425 PwVertDataMod_t(PWGM_HVERTEX vertex, PWGM_VERTDATA *pVertData);
3426 
3427 typedef PWP_BOOL
3428 PwVertIndexMod_t(PWGM_HVERTEX vertex, PWP_UINT32 *pIndex);
3429 
3430 typedef PWP_BOOL
3431 PwVertXyzVal_t(PWGM_HVERTEX vertex, PWGM_ENUM_XYZ which, PWGM_XYZVAL *pVal);
3432 
3433 //---------------------------
3434 typedef PWP_BOOL
3435 PwElemDataMod_t(PWGM_HELEMENT element, PWGM_ELEMDATA *pElemData);
3436 
3437 typedef PWP_BOOL
3438 PwElemDataModEnum_t(PWGM_HELEMENT element, PWGM_ENUMELEMDATA *pElemData);
3439 
3440 
3441 
3442 /*---------------------------------------------------------*/
3443 /* STRUCTURED GRID EXPORT CALLBACKS */
3444 /*---------------------------------------------------------*/
3445 
3446 typedef PWP_UINT32
3447 PwModBoundaryCount_t(PWGM_HGRIDMODEL model);
3448 
3449 typedef PWGM_HBNDRY
3450 PwModEnumBoundaries_t(PWGM_HGRIDMODEL model, PWP_UINT32 ndx);
3451 
3452 typedef PWP_UINT32
3453 PwModConnectionCount_t(PWGM_HGRIDMODEL model);
3454 
3455 typedef PWGM_HCNXN
3456 PwModEnumConnections_t(PWGM_HGRIDMODEL model, PWP_UINT32 ndx);
3457 
3458 typedef PWP_BOOL
3459 PwModNdxBoundary_t(PWGM_HGRIDMODEL model, PWP_UINT32 ndx,
3460  PWGM_BNDRYDATA *pBndryData);
3461 
3462 typedef PWP_BOOL
3463 PwModNdxBoundaryAndCondition_t(PWGM_HGRIDMODEL model, PWP_UINT32 ndx,
3464  PWGM_BNDRYDATA *pBndryData, PWGM_CONDDATA *pCondData);
3465 
3466 typedef PWP_BOOL
3467 PwModNdxConnection_t(PWGM_HGRIDMODEL model, PWP_UINT32 ndx,
3468  PWGM_CNXNDATA *pCnxnData);
3469 
3470 //---------------------------
3471 typedef PWP_BOOL
3472 PwBlkSize_t(PWGM_HBLOCK block, PWGM_STR_SIZE *pSize);
3473 
3474 typedef PWP_BOOL
3475 PwBlkNdxVertData_t(PWGM_HBLOCK block, PWGM_INDEX3 ndx3,
3476  PWGM_VERTDATA *pVertData);
3477 
3478 typedef PWP_UINT32
3479 PwBlkBoundaryCount_t(PWGM_HBLOCK block);
3480 
3481 typedef PWGM_HBNDRY
3482 PwBlkEnumBoundaries_t(PWGM_HBLOCK block, PWP_UINT32 ndx);
3483 
3484 typedef PWP_UINT32
3485 PwBlkConnectionCount_t(PWGM_HBLOCK block);
3486 
3487 typedef PWGM_HCNXN
3488 PwBlkEnumConnections_t(PWGM_HBLOCK block, PWP_UINT32 ndx);
3489 
3490 typedef PWP_BOOL
3491 PwBlkNdxBoundary_t(PWGM_HBLOCK block, PWP_UINT32 ndx,
3492  PWGM_BNDRYDATA *pBndryData);
3493 
3494 typedef PWP_BOOL
3495 PwBlkNdxBoundaryAndCondition_t(PWGM_HBLOCK block, PWP_UINT32 ndx,
3496  PWGM_BNDRYDATA *pBndryData, PWGM_CONDDATA *pCondData);
3497 
3498 typedef PWP_BOOL
3499 PwBlkNdxConnection_t(PWGM_HBLOCK block, PWP_UINT32 ndx,
3500  PWGM_CNXNDATA *pCnxnData);
3501 
3502 
3503 //---------------------------
3504 typedef PWP_BOOL
3505 PwBoundary_t(PWGM_HBNDRY boundary, PWGM_BNDRYDATA *pBndryData);
3506 
3507 typedef PWP_BOOL
3508 PwBndryCondition_t(PWGM_HBNDRY boundary, PWGM_CONDDATA *pCondData);
3509 
3510 typedef PWP_BOOL
3511 PwConnection_t(PWGM_HCNXN connection, PWGM_CNXNDATA *pCnxnData);
3512 
3513 typedef PWP_BOOL
3514 PwBlock_t(PWGM_HBLOCK block, PWGM_BLOCKDATA *pBlockData);
3515 
3516 //---------------------------
3517 typedef PWP_BOOL
3518 PwNOTIMPLEMENTED_t();
3519 
3520 
3521 /*---------------------------------------------------------*/
3522 /* COMMON GRID IMPORT CALLBACKS */
3523 /*---------------------------------------------------------*/
3524 
3525 typedef PWGM_HCONNECTOR
3526 PwModCreateCon_t(PWGM_HGRIDMODEL model, PWP_UINT size);
3527 
3528 typedef PWGM_HVERTEXLIST
3529 PwBlkGetVertexList_t(PWGM_HBLOCK h);
3530 
3531 typedef PWGM_HVERTEXLIST
3532 PwDomGetVertexList_t(PWGM_HDOMAIN h);
3533 
3534 typedef PWGM_HVERTEXLIST
3535 PwConGetVertexList_t(PWGM_HCONNECTOR h);
3536 
3537 typedef PWP_BOOL
3538 PwConSetName_t(PWGM_HCONNECTOR h, const char *name);
3539 
3540 typedef PWP_BOOL
3541 PwBlkSetName_t(PWGM_HBLOCK h, const char *name);
3542 
3543 typedef PWP_BOOL
3544 PwDomSetName_t(PWGM_HDOMAIN h, const char *name);
3545 
3546 typedef PWP_BOOL
3547 PwVlstIsUnstructured_t(PWGM_HVERTEXLIST h);
3548 
3549 typedef PWP_UINT
3550 PwVlstGetDimensionality_t(PWGM_HVERTEXLIST h);
3551 
3552 typedef PWP_BOOL
3553 PwVlstSetXYZVal3_t(PWGM_HVERTEXLIST h, const PWGM_INDEX3 ndx3,
3554  const PWGM_ENUM_XYZ which, const PWGM_XYZVAL val);
3555 
3556 typedef PWP_BOOL
3557 PwVlstSetXYZ3_t(PWGM_HVERTEXLIST h, const PWGM_INDEX3 ndx3,
3558  const PWGM_XYZVAL x, const PWGM_XYZVAL y, const PWGM_XYZVAL z);
3559 
3560 typedef PWP_BOOL
3561 PwVlstReadFile_t(PWGM_HVERTEXLIST h, FILE *file,
3562  const PWGM_XYZ_CLUSTERING fileClustering,
3563  const PWP_ENDIANNESS fileByteOrder, const PWP_ENUM_PRECISION filePrecision);
3564 
3565 
3566 /*---------------------------------------------------------*/
3567 /* UNSTRUCTURED GRID IMPORT CALLBACKS */
3568 /*---------------------------------------------------------*/
3569 
3570 typedef PWGM_HVERTEXLIST
3571 PwModCreateUnsVertexList_t(PWGM_HGRIDMODEL model);
3572 
3573 typedef PWP_BOOL
3574 PwVlstAllocate_t(PWGM_HVERTEXLIST h, const PWP_UINT count);
3575 
3576 typedef PWGM_HBLOCK
3577 PwVlstCreateUnsBlock_t(PWGM_HVERTEXLIST h);
3578 
3579 typedef PWP_BOOL
3580 PwUnsBlkAllocateElements_t(PWGM_HBLOCK h, const PWGM_ENUM_ELEMTYPE cellType,
3581  const PWP_UINT count);
3582 
3583 typedef PWP_BOOL
3584 PwUnsBlkSetElement_t(PWGM_HBLOCK h, const PWP_UINT ndx,
3585  const PWGM_ELEMDATA *eData);
3586 
3587 typedef PWGM_HDOMAIN
3588 PwVlstCreateUnsDomain_t(PWGM_HVERTEXLIST h);
3589 
3590 typedef PWP_BOOL
3591 PwUnsDomAllocateElements_t(PWGM_HDOMAIN h, const PWGM_ENUM_ELEMTYPE cellType,
3592  const PWP_UINT count);
3593 
3594 typedef PWP_BOOL
3595 PwUnsDomSetElement_t(PWGM_HDOMAIN h, const PWP_UINT ndx,
3596  const PWGM_ELEMDATA *eData);
3597 
3598 typedef PWGM_HBLOCKASSEMBLER
3599 PwVlstCreateBlockAssembler_t(PWGM_HVERTEXLIST h);
3600 
3601 typedef PWP_BOOL
3602 PwAsmPushElementFace_t(PWGM_HBLOCKASSEMBLER h, const PWGM_ASSEMBLER_DATA *face);
3603 
3604 typedef PWP_BOOL
3605 PwAsmFinalize_t(PWGM_HBLOCKASSEMBLER h);
3606 
3607 typedef PWGM_HVERTEXLIST
3608 PwAsmGetVertexList_t(PWGM_HBLOCKASSEMBLER h);
3609 
3610 
3611 /*---------------------------------------------------------*/
3612 /* STRUCTURED GRID IMPORT CALLBACKS */
3613 /*---------------------------------------------------------*/
3614 
3615 typedef PWGM_HBLOCK
3616 PwModCreateStrBlock_t(PWGM_HGRIDMODEL model, const PWGM_STR_SIZE blkSize);
3617 
3618 typedef PWGM_HDOMAIN
3619 PwModCreateStrDomain_t(PWGM_HGRIDMODEL model, const PWGM_STR_SIZE domSize);
3620 
3624 // PWGM-API function-pointer types
3625 
3629 struct PW_DLL_IMPEXP PWGM_HGRIDMODEL_OUT_IMPL {
3630  PwModBlockCount_t *PwModBlockCountCB;
3631  PwModDomainCount_t *PwModDomainCountCB;
3632  PwModEnumBlocks_t *PwModEnumBlocksCB;
3633  PwModEnumDomains_t *PwModEnumDomainsCB;
3634  PwModEnumVertices_t *PwModEnumVerticesCB;
3635  PwModVertexCount_t *PwModVertexCountCB;
3636 
3637  PwBlkElementCount_t *PwBlkElementCountCB;
3638  PwBlkEnumElements_t *PwBlkEnumElementsCB;
3639  PwNOTIMPLEMENTED_t *PwBlkEnumVerticesCB;
3640  PwNOTIMPLEMENTED_t *PwBlkVertexCountCB;
3641  PwBlkCondition_t *PwBlkConditionCB;
3642 
3643  PwDomElementCount_t *PwDomElementCountCB;
3644  PwDomEnumElements_t *PwDomEnumElementsCB;
3645  PwNOTIMPLEMENTED_t *PwDomEnumVerticesCB;
3646  PwNOTIMPLEMENTED_t *PwDomVertexCountCB;
3647  PwDomCondition_t *PwDomConditionCB;
3648 
3649  PwVertDataMod_t *PwVertDataModCB;
3650  PwNOTIMPLEMENTED_t *PwVertDataBlkCB;
3651  PwNOTIMPLEMENTED_t *PwVertDataDomCB;
3652  PwVertIndexMod_t *PwVertIndexModCB;
3653  PwNOTIMPLEMENTED_t *PwVertIndexBlkCB;
3654  PwNOTIMPLEMENTED_t *PwVertIndexDomCB;
3655  PwVertXyzVal_t *PwVertXyzValCB;
3656 
3657  PwElemDataMod_t *PwElemDataModCB;
3658  PwNOTIMPLEMENTED_t *PwElemDataBlkCB;
3659  PwNOTIMPLEMENTED_t *PwElemDataDomCB;
3660 
3661  /*---------------------------------------------------------*/
3662  /* STRUCTURED GRID ADDITIONS */
3663  /*---------------------------------------------------------*/
3664 
3665  PwModBoundaryCount_t *PwModBoundaryCountCB;
3666  PwModEnumBoundaries_t *PwModEnumBoundariesCB;
3667  PwModConnectionCount_t *PwModConnectionCountCB;
3668  PwModEnumConnections_t *PwModEnumConnectionsCB;
3669  PwModNdxBoundary_t *PwModNdxBoundaryCB;
3670  PwModNdxBoundaryAndCondition_t *PwModNdxBoundaryAndConditionCB;
3671  PwModNdxConnection_t *PwModNdxConnectionCB;
3672 
3673  PwBlkSize_t *PwBlkSizeCB;
3674  PwBlkNdxVertData_t *PwBlkNdxVertDataCB;
3675  PwBlkBoundaryCount_t *PwBlkBoundaryCountCB;
3676  PwBlkEnumBoundaries_t *PwBlkEnumBoundariesCB;
3677  PwBlkConnectionCount_t *PwBlkConnectionCountCB;
3678  PwBlkEnumConnections_t *PwBlkEnumConnectionsCB;
3679  PwBlkNdxBoundary_t *PwBlkNdxBoundaryCB;
3680  PwBlkNdxBoundaryAndCondition_t *PwBlkNdxBoundaryAndConditionCB;
3681  PwBlkNdxConnection_t *PwBlkNdxConnectionCB;
3682 
3683  PwBoundary_t *PwBoundaryCB;
3684  PwBndryCondition_t *PwBndryConditionCB;
3685  PwConnection_t *PwConnectionCB;
3686  PwBlock_t *PwBlockCB;
3687 
3688  /*---------------------------------------------------------*/
3689  /* CELL FACE STREAMING ADDITIONS */
3690  /*---------------------------------------------------------*/
3691 
3692  PwModStreamFaces_t *PwModStreamFacesCB;
3693  PwModEnumElementCount_t *PwModEnumElementCountCB;
3694  PwModEnumElements_t *PwModEnumElementsCB;
3695  PwElemDataModEnum_t *PwElemDataModEnumCB;
3696  PwModAppendEnumElementOrder_t *PwModAppendEnumElementOrderCB;
3697 
3698  /*---------------------------------------------------------*/
3699  /* SOLVER ATTRIBUTE ADDITIONS */
3700  /*---------------------------------------------------------*/
3701 
3702  PwModGetAttributeValue_t *PwModGetAttributeValueCB;
3703 };
3704 
3705 
3706 /*---------------------------------------------------------*/
3710 struct PW_DLL_IMPEXP PWGM_HGRIDMODEL_IN_IMPL {
3711 
3712  // Common Grid Model Import API Calls
3713  PwModCreateCon_t * PwModCreateConCB;
3714  PwBlkGetVertexList_t * PwBlkGetVertexListCB;
3715  PwDomGetVertexList_t * PwDomGetVertexListCB;
3716  PwConGetVertexList_t * PwConGetVertexListCB;
3717  PwConSetName_t * PwConSetNameCB;
3718  PwBlkSetName_t * PwBlkSetNameCB;
3719  PwDomSetName_t * PwDomSetNameCB;
3720  PwVlstIsUnstructured_t * PwVlstIsUnstructuredCB;
3721  PwVlstGetDimensionality_t * PwVlstGetDimensionalityCB;
3722  PwVlstSetXYZVal3_t * PwVlstSetXYZVal3CB;
3723  PwVlstSetXYZ3_t * PwVlstSetXYZ3CB;
3724  PwVlstReadFile_t * PwVlstReadFileCB;
3725 
3726  // Unstructured Grid Model Import API Calls
3727  PwModCreateUnsVertexList_t * PwModCreateUnsVertexListCB;
3728  PwVlstAllocate_t * PwVlstAllocateCB;
3729  PwVlstCreateUnsBlock_t * PwVlstCreateUnsBlockCB;
3730  PwUnsBlkAllocateElements_t * PwUnsBlkAllocateElementsCB;
3731  PwUnsBlkSetElement_t * PwUnsBlkSetElementCB;
3732  PwVlstCreateUnsDomain_t * PwVlstCreateUnsDomainCB;
3733  PwUnsDomAllocateElements_t * PwUnsDomAllocateElementsCB;
3734  PwUnsDomSetElement_t * PwUnsDomSetElementCB;
3735  PwVlstCreateBlockAssembler_t * PwVlstCreateBlockAssemblerCB;
3736  PwAsmPushElementFace_t * PwAsmPushElementFaceCB;
3737  PwAsmFinalize_t * PwAsmFinalizeCB;
3738  PwAsmGetVertexList_t * PwAsmGetVertexListCB;
3739 
3740  // Structured Grid Model Import API Calls
3741  PwModCreateStrBlock_t * PwModCreateStrBlockCB;
3742  PwModCreateStrDomain_t * PwModCreateStrDomainCB;
3743 
3744 };
3745  // sdkINTERNALS
3747 
3751 /***********************************************************/
3769 } // extern "C"
3770 
3771 #endif /* !_APIGRIDMODEL_H_ */
PWP_BOOL PwVlstReadFile(PWGM_HVERTEXLIST vertlist, FILE *file, const PWGM_XYZ_CLUSTERING fileClustering, const PWP_ENDIANNESS fileByteOrder, const PWP_ENUM_PRECISION filePrecision)
#define PWGM_ELEMDATA_VERT_SIZE
Maximum number of verts allowed per element.
Definition: apiGridModel.h:729
Data passed to a PWGM_ENDSTREAMCB callback function.
The 2D transform matrix data type.
Definition: apiGridModel.h:904
3D, 6-sided (block) grid element
Definition: apiGridModel.h:675
PWGM_STR_RANGE range
boundary ijk range
Definition: apiGridModel.h:956
PWP_UINT32 vertCnt
Number of vertices in the face.
Definition: apiGridModel.h:738
PWP_UINT32 face
The face&#39;s index in the model&#39;s index space.
PWGM_HBLOCK block2
connection block2 (donor)
Definition: apiGridModel.h:968
PWP_BOOL PwBlkNdxConnection(PWGM_HBLOCK block, PWP_UINT32 ndx, PWGM_CNXNDATA *pCnxnData)
Get the data for the block&#39;s nth connection.
PWGM_ELEMCOUNTS counts
The model&#39;s total element counts.
PWGM_ENUM_FACEORDER order
The requested cell face stream sequence order.
PWP_UINT32 id
grid-defined condition id
Definition: apiGridModel.h:647
PWP_BOOL PwModNdxBoundaryAndCondition(PWGM_HGRIDMODEL model, PWP_UINT32 ndx, PWGM_BNDRYDATA *pBndryData, PWGM_CONDDATA *pCondData)
Get the PWGM_BNDRYDATA and PWGM_CONDDATA for the model&#39;s nth structured boundary. ...
PWP_ENUM_VALTYPE
Supported PWP-API getValue() transfer types.
Definition: apiPWP.h:612
#define PWP_DECLARE_HELEMGROUP(pname, name)
Declares a parented, strongly-typed, element group data handle type.
Definition: apiPWP.h:291
Grid element handle declaration.
Definition: apiGridModel.h:428
PWGM_XYZVAL z
z-component
Definition: apiGridModel.h:611
void * userData
The PwModStreamFaces user data ptr.
Data passed to a PWGM_FACESTREAMCB callback function.
unspecified
Definition: apiGridModel.h:937
PWP_BOOL PwBlkSetName(PWGM_HBLOCK h, const char *name)
Set a block&#39;s name.
Only used as a generic base handle for PWGM_HELEMENT.
Definition: apiGridModel.h:424
PWP_BOOL PwVlstSetXYZ2Data(PWGM_HVERTEXLIST h, const PWGM_INDEX2 ndx2, const PWGM_VERTDATA &v)
Set the XYZ of a point in a 2D structured vertex list using a PWGM_VERTDATA value.
PWGM_HVERTEXLIST PwModCreateUnsVertexList(PWGM_HGRIDMODEL model)
Creates an empty, unstructured vertex list in a model.
The 3D transform matrix data type.
Definition: apiGridModel.h:893
InteriorFirst grouped by VCs then BCs.
BoundariesOnly grouped by VCs.
unsigned int PWP_UINT32
32-bit unsigned integer
Definition: apiPWP.h:194
PWP_BOOL PwBndryCondition(PWGM_HBNDRY boundary, PWGM_CONDDATA *pCondData)
Get the boundary&#39;s condition data.
PWGM_HBNDRY PwModEnumBoundaries(PWGM_HGRIDMODEL model, PWP_UINT32 ndx)
Sequentially enumerate the model&#39;s boundaries.
PWGM_STR_RANGE range2
ijk connection range in block2 index space
Definition: apiGridModel.h:970
2D, 4-sided grid element
Definition: apiGridModel.h:676
PWP_BOOL PwAsmFinalize(PWGM_HBLOCKASSEMBLER h)
Stitches together all the faces added to the assembler into cells and blocks.
PWGM_FACE_ID face
boundary face id
Definition: apiGridModel.h:955
PWGM_ENUM_FACETYPE
The facetypes supported by face streaming.
PWGM_HBLOCKASSEMBLER PwVlstCreateBlockAssembler(PWGM_HVERTEXLIST h)
Creates an unstructured block face assembler that uses vertices from an unstructured vertex list...
PWGM_HVERTEXLIST PwBlkGetVertexList(PWGM_HBLOCK h)
Get the vertex list associated with an unstructured or structured block.
PWP_UINT32 PwModBoundaryCount(PWGM_HGRIDMODEL model)
Get the number of structured grid boundaries in the model.
Pointwise Plugin API (PWP-API)
PWGM_ENUM_GRIDTYPE gridType
grid type
Definition: apiGridModel.h:980
PWP_BOOL PwXform3to2(const PWGM_INDEX_XFORM *pX3, PWGM_INDEX_XFORM2 *pX2)
Convert a 3D transform matrix to it&#39;s 2D equivalent.
const char * PwFaceOrderToText(PWGM_ENUM_FACEORDER faceOrder)
Maps a PWGM_ENUM_FACEORDER value to a human readable string.
Order by 3D, extruded, tri/quad grid element.
Definition: apiGridModel.h:708
PWP_BOOL PwConSetName(PWGM_HCONNECTOR h, const char *name)
Set a connector&#39;s name.
PWGM_HELEMENT domainElem
The domain cell element&#39;s handle.
PWGM_HGRIDMODEL model
The grid model.
one-to-one grid point match
Definition: apiGridModel.h:934
3D, 4-sided (tetrahedral) grid element
Definition: apiGridModel.h:678
unsigned long PWP_UINT
unsigned integer same size as void*
Definition: apiPWP.h:158
PWP_BOOL PwVlstAllocate(PWGM_HVERTEXLIST h, const PWP_UINT count)
Allocates storage in an unstructured vertex list.
PWP_BOOL PwBlkNdxBoundary(PWGM_HBLOCK block, PWP_UINT32 ndx, PWGM_BNDRYDATA *pBndryData)
Get the data for the block&#39;s nth structured boundary.
PWGM_HGRIDMODEL model
The grid model.
void PWP_VOID
no value
Definition: apiPWP.h:233
PWGM_CNXNTYPE
Structured grid block-point association.
Definition: apiGridModel.h:933
#define PWP_DECLARE_HEGRPITEM(sname, name)
Declares a sub-element group data handle type.
Definition: apiPWP.h:321
PWP_BOOL PwConnection(PWGM_HCNXN connection, PWGM_CNXNDATA *pCnxnData)
Get the connection data.
PWP_VOID PwModDefaultEnumElementOrder(PWGM_HGRIDMODEL model)
Reset the enumElements() ordering sequence to the default (none).
PWP_BOOL PwVertDataMod(PWGM_HVERTEX vertex, PWGM_VERTDATA *pVertData)
Get the vertex data relative to the model&#39;s index space.
PWP_UINT32(* PWGM_ENDSTREAMCB)(PWGM_ENDSTREAM_DATA *data)
The face stream callback function signature.
PWP_BOOL PwUnsBlkSetElement(PWGM_HBLOCK h, const PWP_UINT ndx, const PWGM_ELEMDATA *eData)
Sets the connectivity for an unstructured block element.
PWGM_ENUM_ELEMTYPE type
One of the PWGM_ELEMTYPE_XXX values.
Definition: apiGridModel.h:737
PWGM_FACE_ID face1
face Id on block1
Definition: apiGridModel.h:965
2D, 3-sided grid element
Definition: apiGridModel.h:677
PWGM_HDOMAIN PwModEnumDomains(PWGM_HGRIDMODEL model, PWP_UINT32 ndx)
Sequentially enumerate the model domain elements.
PWP_UINT32 vertCnt
Number of vertices.
PWGM_HGRIDMODEL model
The grid model.
PWGM_HBNDRY PwBlkEnumBoundaries(PWGM_HBLOCK block, PWP_UINT32 ndx)
Sequentially enumerate the block&#39;s boundaries.
PWP_UINT32 PwBlkBoundaryCount(PWGM_HBLOCK block)
Get the number of boundaries in the block.
Data passed to a PWGM_BEGINSTREAMCB callback function.
Face descriptor data type. Used for face assembler functions.
PWP_INT32 i
i-coordinate used for 2D grids
Definition: apiGridModel.h:870
const char * name
boundary name
Definition: apiGridModel.h:953
PWP_BOOL PwVlstSetXYZVal(PWGM_HVERTEXLIST h, const PWP_UINT ndx, const PWGM_ENUM_XYZ which, const PWGM_XYZVAL val)
Set an XYZ component of a point in a 1D vertex list.
PWP_ENUM_PRECISION
File precision values.
Definition: apiPWP.h:718
PWGM_FACEREF_DATA owner
Information about the block element that owns face.
PWP_BOOL PwModGetAttributeUINT(PWGM_HGRIDMODEL model, const char *name, PWP_UINT *val)
Get an attribute value as a specific type.
PWGM_STR_RANGE range1
ijk connection range in block1 index space
Definition: apiGridModel.h:966
An opaque handle to a grid vertex element.
Definition: apiGridModel.h:399
PWP_BOOL PwVlstSetXYZ(PWGM_HVERTEXLIST h, const PWP_UINT ndx, const PWGM_XYZVAL x, const PWGM_XYZVAL y, const PWGM_XYZVAL z)
Set the XYZ of a point in a 1D vertex list.
PWP_UINT PwVlstGetDimensionality(PWGM_HVERTEXLIST h)
Get the dimensionality of a vertex list.
#define PWP_DECLARE_HANDLE(name)
Declares a root-level, strongly-typed data handle type.
Definition: apiPWP.h:256
PWP_UINT32 PwBlkElementCount(PWGM_HBLOCK block, PWGM_ELEMCOUNTS *pCounts)
Get the number of block elements.
PWP_BOOL PwBlkCondition(PWGM_HBLOCK block, PWGM_CONDDATA *pCondData)
Get the block condition data.
PWP_UINT32 neighbor
The id of the cell sharing the face with the owner.
PWGM_HBLOCK PwModCreateStrBlock(PWGM_HGRIDMODEL model, const PWGM_STR_SIZE blkSize)
Creates a structured block in a model.
PWGM_HELEMENT blockElem
The block cell element&#39;s handle.
PWP_BOOL PwElemDataMod(PWGM_HELEMENT element, PWGM_ELEMDATA *pElemData)
Get the element data relative to the model&#39;s index space.
PWGM_HELEMENT hBlkElement
The owning block&#39;s locally indexed element handle.
Definition: apiGridModel.h:750
PWP_UINT32 PwModVertexCount(PWGM_HGRIDMODEL model)
Get the number of model vertex elements.
PWGM_ENUM_FACETYPE type
One of the PWGM_FACETYPE_XXX types.
PWGM_HELEMENT PwDomEnumElements(PWGM_HDOMAIN domain, PWP_UINT32 ndx)
Sequentially enumerate the domain elements.
Unstructured grid.
Definition: apiGridModel.h:846
PWGM_STR_SIZE size
vertex-size
Definition: apiGridModel.h:981
PWP_BOOL PwBoundary(PWGM_HBNDRY boundary, PWGM_BNDRYDATA *pBndryData)
Get the boundary data.
PWGM_HDOMAIN PwModCreateStrDomain(PWGM_HGRIDMODEL model, const PWGM_STR_SIZE domSize)
Creates a structured domain in a model.
PWGM_HELEMENT PwBlkEnumElements(PWGM_HBLOCK block, PWP_UINT32 ndx)
Sequentially enumerate the block elements.
PWP_BOOL ok
PWP_TRUE if streaming completed successfully.
PWP_BOOL PwUnsDomAllocateElementCounts(PWGM_HDOMAIN h, const PWGM_ELEMCOUNTS &counts)
Allocates element storage in an unstructured domain.
all cell faces in any order
InteriorFirst grouped by BCs.
PWGM_ENUM_XYZ
XYZ component type ids.
Definition: apiGridModel.h:822
PWP_BOOL PwAsmPushElementFace(PWGM_HBLOCKASSEMBLER h, const PWGM_ASSEMBLER_DATA *face)
Adds a face to an unstructured block face assembler.
PWP_BOOL PwModNdxBoundary(PWGM_HGRIDMODEL model, PWP_UINT32 ndx, PWGM_BNDRYDATA *pBndryData)
Get the data for the model&#39;s nth structured boundary.
PWGM_ENUM_IJK
IJK component type ids.
Definition: apiGridModel.h:987
Block data type.
Definition: apiGridModel.h:977
1D, linear grid element
Definition: apiGridModel.h:674
PWGM_FACE_ID
Structured grid block-face ids.
Definition: apiGridModel.h:911
An opaque handle to a structured block boundary.
Definition: apiGridModel.h:458
Order by 3D, 5-sided, quad-based grid element.
Definition: apiGridModel.h:710
PWP_BOOL PwInRange(PWGM_INDEX3 ijk, const PWGM_STR_RANGE *pRange)
Determines if an PWGM_INDEX3 is within a PWGM_STR_RANGE.
PWP_UINT32(* PWGM_FACESTREAMCB)(PWGM_FACESTREAM_DATA *data)
The face stream callback function signature.
PWGM_ENUM_FACEORDER
The orderings supported by face streaming.
PWP_BOOL PwDomCondition(PWGM_HDOMAIN domain, PWGM_CONDDATA *pCondData)
Get the domain condition data.
Element descriptor data type.
Definition: apiGridModel.h:736
PWGM_INDEX3 PwXform2Apply(const PWGM_INDEX_XFORM2 *pX2, PWGM_INDEX3 ijk)
Apply a PWGM_INDEX_XFORM2 transform to a PWGM_INDEX3 value.
PWGM_ELEMDATA elemData
Element descriptor data.
Definition: apiGridModel.h:749
An opaque handle to a structured, inter-block connection.
Definition: apiGridModel.h:483
float PWP_FLOAT
32-bit real
Definition: apiPWP.h:215
const char * name
connection name
Definition: apiGridModel.h:963
PWGM_ELEMDATA elemData
The face&#39;s element data.
Element count information.
Definition: apiGridModel.h:758
PWGM_HVERTEXLIST PwDomGetVertexList(PWGM_HDOMAIN h)
Get the vertex list associated with an unstructured or structured domain.
PWP_UINT32 cellFaceIndex
The cell&#39;s local face index (0..numCellFaces-1).
PWGM_HCNXN PwModEnumConnections(PWGM_HGRIDMODEL model, PWP_UINT32 ndx)
Sequentially enumerate the model&#39;s connections.
PWGM_HCONNECTOR PwModCreateCon(PWGM_HGRIDMODEL model, PWP_UINT size)
Creates a connector in a model.
PWGM_HBLOCK block
handle
Definition: apiGridModel.h:979
PWGM_INDEX_XFORM from1to2
transforms block1 index to block2 index
Definition: apiGridModel.h:967
PWP_BOOL PwBlock(PWGM_HBLOCK block, PWGM_BLOCKDATA *pBlockData)
Get the block data.
PWP_UINT32 i
vertex index in parent&#39;s model-space
Definition: apiGridModel.h:612
An opaque handle to a grid connector element.
Definition: apiGridModel.h:508
const char * PwElemTypeToText(PWGM_ENUM_ELEMTYPE type)
Maps a PWGM_ENUM_ELEMTYPE value to a human readable string.
only boundary cell faces
static PWP_UINT32 beginCB(PWGM_BEGINSTREAM_DATA *data)
Order by 2D, 4-sided grid element.
Definition: apiGridModel.h:702
all cell faces in interior, boundary order
PWGM_INDEX3 end
ending index
Definition: apiGridModel.h:883
PWP_BOOL PwUnsDomSetElement(PWGM_HDOMAIN h, const PWP_UINT ndx, const PWGM_ELEMDATA *eData)
Sets the connectivity for an unstructured domain element.
Structured grid ijk index data type.
Definition: apiGridModel.h:869
PWP_UINT32 tid
cae-defined condition id
Definition: apiGridModel.h:649
PWP_UINT32 totalNumFaces
The total number of faces in the entire model (= numBoundaryFaces + numInteriorFaces).
Order by 2D, 3-sided grid element.
Definition: apiGridModel.h:704
Order by 3D, 4-sided (tetrahedral) grid element.
Definition: apiGridModel.h:706
PWP_UINT32 PwModEnumElementCount(PWGM_HGRIDMODEL model, PWGM_ELEMCOUNTS *pCounts)
Get the number of enumerated model block elements.
PWP_UINT32 PwModBlockCount(PWGM_HGRIDMODEL model)
Get the number of block elements in the model.
PWGM_HBLOCK block
The handle of the block that owns this cell element.
static PWP_UINT32 faceCB(PWGM_FACESTREAM_DATA *data)
K-component id.
Definition: apiGridModel.h:990
PWGM_INDEX_XFORM from2to1
transforms block2 index to block1 index (== inverse(from1to2)
Definition: apiGridModel.h:971
PWGM_ENUM_FACETYPE type
One of the PWGM_FACETYPE_XXX types.
const char * name
grid-defined condition name
Definition: apiGridModel.h:646
PWP_UINT32 PwBlkConnectionCount(PWGM_HBLOCK block)
Get the number of connections in the block.
PWP_BOOL PwVertIndexMod(PWGM_HVERTEX vertex, PWP_UINT32 *pIndex)
Get the vertex index relative to the model&#39;s index space.
PWP_UINT32 neighborCellIndex
The cell index for the block element on the other side of the face.
BoundaryFirst grouped by BCs.
PWGM_ENUM_ELEMTYPE
Element type ids.
Definition: apiGridModel.h:673
Structured grid ijk range data type.
Definition: apiGridModel.h:881
The cell face is on the grid&#39;s interior.
3D, 5-sided, quad-based grid element
Definition: apiGridModel.h:680
Structured grid ijk index data type.
Definition: apiGridModel.h:860
Vertex descriptor data type.
Definition: apiGridModel.h:608
PWP_BOOL PwBlkNdxVertData(PWGM_HBLOCK block, PWGM_INDEX3 ndx3, PWGM_VERTDATA *pVertData)
Get the block&#39;s vertex data at the given index location.
0D, point grid element
Definition: apiGridModel.h:681
PWGM_HBLOCK block1
connection block1 (source)
Definition: apiGridModel.h:964
Z-component id.
Definition: apiGridModel.h:825
PWP_BOOL PwModGetAttributeString(PWGM_HGRIDMODEL model, const char *name, const char **val)
Get an attribute value as a specific type.
many-to-many grid point match
Definition: apiGridModel.h:936
int PWP_BOOL
logical value
Definition: apiPWP.h:221
PWP_BOOL PwModGetAttributeFLOAT(PWGM_HGRIDMODEL model, const char *name, PWP_FLOAT *val)
Get an attribute value as a specific type.
PWP_BOOL PwVlstIsStructured(PWGM_HVERTEXLIST h)
Check the type of a vertex list.
The cell face is on the grid&#39;s boundary.
PWP_BOOL PwVlstSetXYZVal3(PWGM_HVERTEXLIST h, const PWGM_INDEX3 ndx3, const PWGM_ENUM_XYZ which, const PWGM_XYZVAL val)
Set an XYZ component of a point in a 3D structured vertex list.
The cell face is on the grid&#39;s interior.
3D, extruded, tri/quad grid element
Definition: apiGridModel.h:679
Information about a block cell element that touches a face.
static PWP_UINT32 endCB(PWGM_ENDSTREAM_DATA *data)
Grid vertex list handle declaration.
Definition: apiGridModel.h:537
I-component id.
Definition: apiGridModel.h:988
PWP_UINT32 numInteriorFaces
How many faces in totalNumFaces that are interior to the model.
only interior cell faces
PWP_BOOL PwModGetAttributeREAL(PWGM_HGRIDMODEL model, const char *name, PWP_REAL *val)
Get an attribute value as a specific type.
const char * type
cae-defined condition physical type name
Definition: apiGridModel.h:648
PWGM_HCNXN PwBlkEnumConnections(PWGM_HBLOCK block, PWP_UINT32 ndx)
Sequentially enumerate the block&#39;s connections.
PWGM_HBLOCK block
boundary block
Definition: apiGridModel.h:954
long PWP_INT
integer same size as void*
Definition: apiPWP.h:155
PWP_UINT32 PwModDomainCount(PWGM_HGRIDMODEL model)
Get the number of domain elements in the model.
Y-component id.
Definition: apiGridModel.h:824
PWGM_INDEX3 beg
begining index
Definition: apiGridModel.h:882
PWP_INT32 j
j-coordinate used for 3D and 2D grids
Definition: apiGridModel.h:862
void * userData
The PwModStreamFaces user data ptr.
PWGM_HVERTEX PwModEnumVertices(PWGM_HGRIDMODEL model, PWP_UINT32 ndx)
Sequentially enumerate the model vertex elements.
PWP_BOOL PwDomSetName(PWGM_HDOMAIN h, const char *name)
Set a domain&#39;s name.
PWGM_ENUM_GRIDTYPE
Definition: apiGridModel.h:844
PWP_UINT32 PwDomElementCount(PWGM_HDOMAIN domain, PWGM_ELEMCOUNTS *pCounts)
Get the number of domain elements.
An opaque handle to a grid domain element.
Definition: apiGridModel.h:373
Enumerated model element descriptor data type.
Definition: apiGridModel.h:748
unstructured
Definition: apiGridModel.h:918
An opaque handle to an unstructured block assembler.
Definition: apiGridModel.h:567
PWP_BOOL PwVlstSetXYZData(PWGM_HVERTEXLIST h, const PWP_UINT ndx, const PWGM_VERTDATA &v)
Set the XYZ of a point in a 1D vertex list using a PWGM_VERTDATA value.
PWP_INT32 k
k-coordinate used for 3D grids only
Definition: apiGridModel.h:863
PWP_BOOL PwXform2to3(const PWGM_INDEX_XFORM2 *pX2, PWGM_INDEX_XFORM *pX3)
Convert a 2D transform matrix to it&#39;s 3D equivalent.
void * userData
The PwModStreamFaces user data ptr.
PWP_BOOL PwVlstIsUnstructured(PWGM_HVERTEXLIST h)
Check the type of a vertex list.
PWGM_HVERTEXLIST PwAsmGetVertexList(PWGM_HBLOCKASSEMBLER h)
Get the vertex list associated with an unstructured block assembler.
Only used as a generic base handle for PWGM_HVERTEXLIST.
Definition: apiGridModel.h:534
PWGM_HDOMAIN PwVlstCreateUnsDomain(PWGM_HVERTEXLIST h)
Creates an unstructured domain that uses vertices from an unstructured vertex list.
PWP_BOOL PwModGetAttributeValue(PWGM_HGRIDMODEL model, const char *name, PWP_ENUM_VALTYPE bufType, void *buf, PWP_UINT count)
Get an attribute&#39;s value.
Order by 3D, 6-sided (block) grid element.
Definition: apiGridModel.h:700
PWGM_XYZVAL y
y-component
Definition: apiGridModel.h:610
one-to-many grid point match
Definition: apiGridModel.h:935
Condition descriptor data type.
Definition: apiGridModel.h:645
PWP_BOOL PwBlkNdxBoundaryAndCondition(PWGM_HBLOCK block, PWP_UINT32 ndx, PWGM_BNDRYDATA *pBndryData, PWGM_CONDDATA *pCondData)
Get the PWGM_BNDRYDATA and PWGM_CONDDATA for the block&#39;s nth structured boundary. ...
PWP_ENDIANNESS
Flags used to indicate endianness or control endian behaviors in functions.
Definition: apiPWP.h:738
PWGM_XYZVAL x
x-component
Definition: apiGridModel.h:609
Order by VC id.
Definition: apiGridModel.h:712
PWP_BOOL PwUnsBlkAllocateElements(PWGM_HBLOCK h, const PWGM_ENUM_ELEMTYPE cellType, const PWP_UINT count)
Allocates element storage in an unstructured block.
Structured grid boundary data type.
Definition: apiGridModel.h:952
PWP_BOOL PwModNdxConnection(PWGM_HGRIDMODEL model, PWP_UINT32 ndx, PWGM_CNXNDATA *pCnxnData)
Get the data for the model&#39;s nth connection.
PWGM_HVERTEXLIST PwConGetVertexList(PWGM_HCONNECTOR h)
Get the vertex list associated with a connector.
PWGM_ENUM_IJK PwXformFollows(const PWGM_INDEX_XFORM *pX3, PWGM_ENUM_IJK localAxis, PWP_BOOL *pFlipped)
For a given localAxis, determine the corresponding axis in the transformed system.
PWGM_HDOMAIN domain
The handle of the boundary domain that contains this cell&#39;s side of the face.
PWP_BOOL PwModGetAttributeINT(PWGM_HGRIDMODEL model, const char *name, PWP_INT *val)
Get an attribute value as a specific type.
PWP_BOOL PwUnsDomAllocateElements(PWGM_HDOMAIN h, const PWGM_ENUM_ELEMTYPE cellType, const PWP_UINT count)
Allocates element storage in an unstructured domain.
PWGM_HELEMENT PwModEnumElements(PWGM_HGRIDMODEL model, PWP_UINT32 ndx)
Sequentially enumerate the model&#39;s block elements.
PWP_UINT32 owner
The id of the cell that owns the face.
PWP_INT32 j
j-coordinate used for 2D grids
Definition: apiGridModel.h:871
PWGM_ENUM_IJK PwXform2Follows(const PWGM_INDEX_XFORM2 *pX2, PWGM_ENUM_IJK localAxis, PWP_BOOL *pFlipped)
For a given localAxis, determine the corresponding axis in the transformed system.
const char * name
name
Definition: apiGridModel.h:978
PWP_BOOL PwModGetAttributeUINT32(PWGM_HGRIDMODEL model, const char *name, PWP_UINT32 *val)
Get an attribute value as a specific type.
PWGM_INDEX3 PwXformApply(const PWGM_INDEX_XFORM *pX3, PWGM_INDEX3 ijk)
Apply a PWGM_INDEX_XFORM transform to a PWGM_INDEX3 value.
PWGM_HBLOCK PwVlstCreateUnsBlock(PWGM_HVERTEXLIST h)
Creates an unstructured block that uses vertices from an unstructured vertex list.
An opaque handle to a grid model.
Definition: apiGridModel.h:327
PWGM_ENUM_ELEMORDER
Types of element orderings.
Definition: apiGridModel.h:698
PWP_BOOL PwModStreamFaces(PWGM_HGRIDMODEL model, PWGM_ENUM_FACEORDER order, PWGM_BEGINSTREAMCB beginCB, PWGM_FACESTREAMCB faceCB, PWGM_ENDSTREAMCB endCB, void *userData)
Stream the grid model&#39;s faces to a callback function in the specified order.
PWP_BOOL PwVlstSetXYZ3(PWGM_HVERTEXLIST h, const PWGM_INDEX3 ndx3, const PWGM_XYZVAL x, const PWGM_XYZVAL y, const PWGM_XYZVAL z)
Set the XYZ of a point in a 3D structured vertex list.
An opaque handle to a grid block element.
Definition: apiGridModel.h:346
PWGM_HBLOCK PwModEnumBlocks(PWGM_HGRIDMODEL model, PWP_UINT32 ndx)
Sequentially enumerate the model block elements.
BoundaryOnly grouped by BCs.
Structured grid, inter-block, connection data type.
Definition: apiGridModel.h:962
PWP_BOOL PwModGetAttributeBOOL(PWGM_HGRIDMODEL model, const char *name, PWP_BOOL *val)
Get an attribute value as a specific type.
PWP_UINT32 numBoundaryFaces
How many faces in totalNumFaces lie on the model&#39;s boundary.
PWP_BOOL PwVlstSetXYZVal2(PWGM_HVERTEXLIST h, const PWGM_INDEX2 ndx2, const PWGM_ENUM_XYZ which, const PWGM_XYZVAL val)
Set an XYZ component of a point in a 2D structured vertex list.
PWGM_INDEX3 PW_DLL_IMPEXP PWGM_STR_SIZE
Structured grid ijk size data type.
Definition: apiGridModel.h:876
PWP_BOOL PwModAppendEnumElementOrder(PWGM_HGRIDMODEL model, PWGM_ENUM_ELEMORDER order)
Append an element order to the enumElements() ordering sequence.
Structured grid.
Definition: apiGridModel.h:845
PWP_REAL PWGM_XYZVAL
XYZ component data type.
Definition: apiGridModel.h:601
double PWP_REAL
64-bit real
Definition: apiPWP.h:218
PWP_UINT32(* PWGM_BEGINSTREAMCB)(PWGM_BEGINSTREAM_DATA *data)
The begin stream callback function signature.
PWP_BOOL PwBlkSize(PWGM_HBLOCK block, PWGM_STR_SIZE *pSize)
Get the block&#39;s vertex-size.
PWP_BOOL PwVlstSetXYZ3Data(PWGM_HVERTEXLIST h, const PWGM_INDEX3 ndx3, const PWGM_VERTDATA &v)
Set the XYZ of a point in a 3D structured vertex list using a PWGM_VERTDATA value.
PWP_BOOL PwVlstSetXYZ2(PWGM_HVERTEXLIST h, const PWGM_INDEX2 ndx2, const PWGM_XYZVAL x, const PWGM_XYZVAL y, const PWGM_XYZVAL z)
Set the XYZ of a point in a 2D structured vertex list.
PWP_BOOL PwModGetAttributeEnum(PWGM_HGRIDMODEL model, const char *name, const char **val)
Get an attribute value as a specific type.
PWP_UINT32 PwModConnectionCount(PWGM_HGRIDMODEL model)
Get the number of structured grid connections in the model.
int PWP_INT32
32-bit integer
Definition: apiPWP.h:191
PWP_BOOL PwUnsBlkAllocateElementCounts(PWGM_HBLOCK h, const PWGM_ELEMCOUNTS &counts)
Allocates element storage in an unstructured block.
PWP_INT32 i
i-coordinate used for 3D and 2D grids
Definition: apiGridModel.h:861
PWP_BOOL PwModGetAttributeINT32(PWGM_HGRIDMODEL model, const char *name, PWP_INT32 *val)
Get an attribute value as a specific type.
PWP_BOOL PwElemDataModEnum(PWGM_HELEMENT element, PWGM_ENUMELEMDATA *pElemData)
Get the enumerated element data relative to the model&#39;s index space.
PWP_UINT32 cellIndex
The cell&#39;s index in the model&#39;s index space (0..totalNumCells-1)
PWP_BOOL PwVertXyzVal(PWGM_HVERTEX vertex, PWGM_ENUM_XYZ which, PWGM_XYZVAL *pVal)
Get a vertex&#39;s x, y, or z component value.
PWGM_FACE_ID face2
face Id on block2
Definition: apiGridModel.h:969
X-component id.
Definition: apiGridModel.h:823
all cell faces in boundary, interior order
J-component id.
Definition: apiGridModel.h:989