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 /*---------------------------------------------------------*/
1160 struct PW_DLL_IMPEXP PWGM_ASSEMBLER_DATA {
1163  PWP_UINT32 index[4];
1166 };
1167 
1171 //*********************************************
1172 // PWGM-API functions
1173 //*********************************************
1174 
1175 /***********************************************************/
1185 /***********************************************************/
1198 PW_DLLEXPORT PWP_UINT32
1200 
1201 
1225 PW_DLLEXPORT PWGM_HBLOCK
1227 
1228 
1239 PW_DLLEXPORT PWP_BOOL
1240 PwBlkCondition(PWGM_HBLOCK block, PWGM_CONDDATA *pCondData);
1241 
1242 
1314 PW_DLLEXPORT PWP_BOOL
1315 PwModGetAttributeValue(PWGM_HGRIDMODEL model, const char *name,
1316  PWP_ENUM_VALTYPE bufType, void *buf, PWP_UINT count);
1317 
1318 
1378 PWP_BOOL
1380 PwModGetAttributeString(PWGM_HGRIDMODEL model, const char *name, const char ** val);
1381 
1382 PWP_BOOL
1383 PwModGetAttributeUINT(PWGM_HGRIDMODEL model, const char *name, PWP_UINT *val);
1384 
1385 PWP_BOOL
1386 PwModGetAttributeUINT32(PWGM_HGRIDMODEL model, const char *name, PWP_UINT32 *val);
1387 
1388 PWP_BOOL
1389 PwModGetAttributeINT(PWGM_HGRIDMODEL model, const char *name, PWP_INT *val);
1390 
1391 PWP_BOOL
1392 PwModGetAttributeINT32(PWGM_HGRIDMODEL model, const char *name, PWP_INT32 *val);
1393 
1394 PWP_BOOL
1395 PwModGetAttributeREAL(PWGM_HGRIDMODEL model, const char *name, PWP_REAL *val);
1396 
1397 PWP_BOOL
1398 PwModGetAttributeFLOAT(PWGM_HGRIDMODEL model, const char *name, PWP_FLOAT *val);
1399 
1400 PWP_BOOL
1401 PwModGetAttributeBOOL(PWGM_HGRIDMODEL model, const char *name, PWP_BOOL *val);
1402 
1403 PWP_BOOL
1404 PwModGetAttributeEnum(PWGM_HGRIDMODEL model, const char *name, const char ** val);
1406 
1410 /***********************************************************/
1415 #if !defined(PWGM_HIDE_UNSTRUCTURED_API) && !defined(PWGM_HIDE_EXPORT_API)
1416 
1422 PW_DLLEXPORT PWP_UINT32
1424 
1425 
1472 PW_DLLEXPORT PWGM_HDOMAIN
1474 
1475 
1499 PW_DLLEXPORT PWGM_HVERTEX
1501 
1502 
1510 PW_DLLEXPORT PWP_UINT32
1512 
1513 
1580 PW_DLLEXPORT PWP_BOOL
1583  PWGM_ENDSTREAMCB endCB, void *userData);
1584 
1585 
1596 PW_DLLEXPORT PWP_UINT32
1598 
1599 
1615 PW_DLLEXPORT PWGM_HELEMENT
1617 
1618 
1682 PW_DLLEXPORT PWP_BOOL
1684 
1685 
1699 PW_DLLEXPORT PWP_VOID
1701 
1702 
1713 PW_DLLEXPORT PWP_UINT32
1715 
1716 
1742 PW_DLLEXPORT PWGM_HELEMENT
1744 
1745 
1756 PW_DLLEXPORT PWP_UINT32
1758 
1759 
1772 PW_DLLEXPORT PWGM_HELEMENT
1774 
1775 
1786 PW_DLLEXPORT PWP_BOOL
1787 PwDomCondition(PWGM_HDOMAIN domain, PWGM_CONDDATA *pCondData);
1788 
1789 
1802 PW_DLLEXPORT PWP_BOOL
1803 PwVertDataMod(PWGM_HVERTEX vertex, PWGM_VERTDATA *pVertData);
1804 
1805 
1818 PW_DLLEXPORT PWP_BOOL
1819 PwVertIndexMod(PWGM_HVERTEX vertex, PWP_UINT32 *pIndex);
1820 
1821 
1837 PW_DLLEXPORT PWP_BOOL
1838 PwVertXyzVal(PWGM_HVERTEX vertex, PWGM_ENUM_XYZ which, PWGM_XYZVAL *pVal);
1839 
1840 
1851 PW_DLLEXPORT PWP_BOOL
1852 PwElemDataMod(PWGM_HELEMENT element, PWGM_ELEMDATA *pElemData);
1853 
1854 
1865 PW_DLLEXPORT PWP_BOOL
1867 
1868 
1877 const char *
1879 
1880 
1888 const char *
1890 
1891 #endif // !defined(PWGM_HIDE_UNSTRUCTURED_API) && !defined(PWGM_HIDE_EXPORT_API)
1892 
1895 /***********************************************************/
1900 #if !defined(PWGM_HIDE_STRUCTURED_API) && !defined(PWGM_HIDE_EXPORT_API)
1901 
1912 PW_DLLEXPORT PWP_BOOL
1913 PwBlkSize(PWGM_HBLOCK block, PWGM_STR_SIZE *pSize);
1914 
1915 
1926 PW_DLLEXPORT PWP_BOOL
1927 PwBlock(PWGM_HBLOCK block, PWGM_BLOCKDATA *pBlockData);
1928 
1929 
1943 PW_DLLEXPORT PWP_BOOL
1944 PwBlkNdxVertData(PWGM_HBLOCK block, PWGM_INDEX3 ndx3, PWGM_VERTDATA *pVertData);
1945 
1946 
1952 PW_DLLEXPORT PWP_UINT32
1954 
1955 
1977 PW_DLLEXPORT PWGM_HCNXN
1979 
1980 
1991 PW_DLLEXPORT PWP_BOOL
1992 PwConnection(PWGM_HCNXN connection, PWGM_CNXNDATA *pCnxnData);
1993 
1994 
2013 PW_DLLEXPORT PWP_BOOL
2015 
2016 
2022 PW_DLLEXPORT PWP_UINT32
2024 
2025 
2047 PW_DLLEXPORT PWGM_HBNDRY
2049 
2050 
2061 PW_DLLEXPORT PWP_BOOL
2062 PwBoundary(PWGM_HBNDRY boundary, PWGM_BNDRYDATA *pBndryData);
2063 
2064 
2075 PW_DLLEXPORT PWP_BOOL
2076 PwBndryCondition(PWGM_HBNDRY boundary, PWGM_CONDDATA *pCondData);
2077 
2078 
2097 PW_DLLEXPORT PWP_BOOL
2099 
2100 
2127 PW_DLLEXPORT PWP_BOOL
2129  PWGM_BNDRYDATA *pBndryData, PWGM_CONDDATA *pCondData);
2130 
2131 
2137 PW_DLLEXPORT PWP_UINT32
2139 
2140 
2162 PW_DLLEXPORT PWGM_HBNDRY
2164 
2165 
2184 PW_DLLEXPORT PWP_BOOL
2185 PwBlkNdxBoundary(PWGM_HBLOCK block, PWP_UINT32 ndx, PWGM_BNDRYDATA *pBndryData);
2186 
2187 
2214 PW_DLLEXPORT PWP_BOOL
2216  PWGM_BNDRYDATA *pBndryData, PWGM_CONDDATA *pCondData);
2217 
2218 
2224 PW_DLLEXPORT PWP_UINT32
2226 
2227 
2249 PW_DLLEXPORT PWGM_HCNXN
2251 
2252 
2271 PW_DLLEXPORT PWP_BOOL
2273  PWGM_CNXNDATA *pCnxnData);
2274 
2275 
2276 /***********************************************************/
2302 PWP_BOOL
2304 
2305 
2325 PWP_BOOL
2327 
2328 
2340 PwXformApply(const PWGM_INDEX_XFORM *pX3, PWGM_INDEX3 ijk);
2341 
2342 
2359 PwXformFollows(const PWGM_INDEX_XFORM *pX3, PWGM_ENUM_IJK localAxis,
2360  PWP_BOOL *pFlipped);
2361 
2362 
2376 
2377 
2394 PwXform2Follows(const PWGM_INDEX_XFORM2 *pX2, PWGM_ENUM_IJK localAxis,
2395  PWP_BOOL *pFlipped);
2396 
2397 
2408 PWP_BOOL
2409 PwInRange(PWGM_INDEX3 ijk, const PWGM_STR_RANGE *pRange);
2410 
2413 #endif // !defined(PWGM_HIDE_STRUCTURED_API) && !defined(PWGM_HIDE_EXPORT_API)
2414 
2420 /***********************************************************/
2429 #if !defined(PWGM_HIDE_IMPORT_API)
2430 
2431 /***********************************************************/
2442 /*---------------------------------------------------------*/
2466 PW_DLLEXPORT PWGM_HVERTEXLIST
2468 
2469 /*---------------------------------------------------------*/
2492 PW_DLLEXPORT PWGM_HVERTEXLIST
2494 
2495 /*---------------------------------------------------------*/
2512 PW_DLLEXPORT PWGM_HVERTEXLIST
2514 
2515 /*---------------------------------------------------------*/
2529 PW_DLLEXPORT PWP_BOOL
2530 PwConSetName(PWGM_HCONNECTOR h, const char *name);
2531 
2532 /*---------------------------------------------------------*/
2546 PW_DLLEXPORT PWP_BOOL
2547 PwBlkSetName(PWGM_HBLOCK h, const char *name);
2548 
2549 /*---------------------------------------------------------*/
2563 PW_DLLEXPORT PWP_BOOL
2564 PwDomSetName(PWGM_HDOMAIN h, const char *name);
2565 
2566 /*---------------------------------------------------------*/
2576 PW_DLLEXPORT PWP_BOOL
2578 
2579 /*---------------------------------------------------------*/
2589 PW_DLLEXPORT PWP_BOOL
2591 
2592 /*---------------------------------------------------------*/
2601 PW_DLLEXPORT PWP_UINT
2603 
2604 /*---------------------------------------------------------*/
2632 PW_DLLEXPORT PWP_BOOL
2634  const PWGM_ENUM_XYZ which, const PWGM_XYZVAL val);
2635 
2636 /*---------------------------------------------------------*/
2660 PW_DLLEXPORT PWP_BOOL
2661 PwVlstSetXYZ(PWGM_HVERTEXLIST h, const PWP_UINT ndx, const PWGM_XYZVAL x,
2662  const PWGM_XYZVAL y, const PWGM_XYZVAL z);
2663 
2664 /*---------------------------------------------------------*/
2689 PW_DLLEXPORT PWP_BOOL
2691 
2692 /*---------------------------------------------------------*/
2720 PW_DLLEXPORT PWP_BOOL
2722  const PWGM_ENUM_XYZ which, const PWGM_XYZVAL val);
2723 
2724 /*---------------------------------------------------------*/
2747 PW_DLLEXPORT PWP_BOOL
2748 PwVlstSetXYZ2(PWGM_HVERTEXLIST h, const PWGM_INDEX2 ndx2, const PWGM_XYZVAL x,
2749  const PWGM_XYZVAL y, const PWGM_XYZVAL z);
2750 
2751 /*---------------------------------------------------------*/
2777 PW_DLLEXPORT PWP_BOOL
2779 
2780 /*---------------------------------------------------------*/
2808 PW_DLLEXPORT PWP_BOOL
2810  const PWGM_ENUM_XYZ which, const PWGM_XYZVAL val);
2811 
2812 /*---------------------------------------------------------*/
2835 PW_DLLEXPORT PWP_BOOL
2836 PwVlstSetXYZ3(PWGM_HVERTEXLIST h, const PWGM_INDEX3 ndx3, const PWGM_XYZVAL x,
2837  const PWGM_XYZVAL y, const PWGM_XYZVAL z);
2838 
2839 /*---------------------------------------------------------*/
2865 PW_DLLEXPORT PWP_BOOL
2867 
2869 /*---------------------------------------------------------*/
2893 PW_DLLEXPORT PWP_BOOL
2894 PwVlstReadFile(PWGM_HVERTEXLIST h, FILE *file,
2895  const PWGM_XYZ_CLUSTERING fileClustering,
2896  const PWP_ENDIANNESS fileByteOrder, const PWP_ENUM_PRECISION filePrecision);
2898 
2902 /***********************************************************/
2913 /*---------------------------------------------------------*/
2928 PW_DLLEXPORT PWGM_HVERTEXLIST
2930 
2931 /*---------------------------------------------------------*/
2945 PW_DLLEXPORT PWP_BOOL
2946 PwVlstAllocate(PWGM_HVERTEXLIST h, const PWP_UINT count);
2947 
2948 /*---------------------------------------------------------*/
2973 PW_DLLEXPORT PWGM_HBLOCK
2975 
2976 /*---------------------------------------------------------*/
3001 PW_DLLEXPORT PWP_BOOL
3003  const PWP_UINT count);
3004 
3005 /*---------------------------------------------------------*/
3027 PW_DLLEXPORT PWP_BOOL
3029 
3030 /*---------------------------------------------------------*/
3051 PW_DLLEXPORT PWP_BOOL
3052 PwUnsBlkSetElement(PWGM_HBLOCK h, const PWP_UINT ndx, const PWGM_ELEMDATA *eData);
3053 
3054 /*---------------------------------------------------------*/
3079 PW_DLLEXPORT PWGM_HDOMAIN
3081 
3082 /*---------------------------------------------------------*/
3106 PW_DLLEXPORT PWP_BOOL
3108  const PWP_UINT count);
3109 
3110 /*---------------------------------------------------------*/
3132 PW_DLLEXPORT PWP_BOOL
3134 
3135 /*---------------------------------------------------------*/
3155 PW_DLLEXPORT PWP_BOOL
3157  const PWGM_ELEMDATA *eData);
3158 
3159 /*---------------------------------------------------------*/
3185 PW_DLLEXPORT PWGM_HBLOCKASSEMBLER
3187 
3188 /*---------------------------------------------------------*/
3202 PW_DLLEXPORT PWP_BOOL
3204 
3205 /*---------------------------------------------------------*/
3220 PW_DLLEXPORT PWP_BOOL
3222 
3223 /*---------------------------------------------------------*/
3236 PW_DLLEXPORT PWGM_HVERTEXLIST
3238 
3242 /***********************************************************/
3253 /*---------------------------------------------------------*/
3274 PW_DLLEXPORT PWGM_HCONNECTOR
3276 
3277 /*---------------------------------------------------------*/
3302 PW_DLLEXPORT PWGM_HBLOCK
3303 PwModCreateStrBlock(PWGM_HGRIDMODEL model, const PWGM_STR_SIZE blkSize);
3304 
3305 /*---------------------------------------------------------*/
3330 PW_DLLEXPORT PWGM_HDOMAIN
3331 PwModCreateStrDomain(PWGM_HGRIDMODEL model, const PWGM_STR_SIZE domSize);
3332 
3335 #endif // !defined(PWGM_HIDE_IMPORT_API)
3336 
3346 /*---------------------------------------------------------*/
3347 /* COMMON GRID EXPORT CALLBACKS */
3348 /*---------------------------------------------------------*/
3349 
3350 typedef PWP_UINT32
3351 PwModBlockCount_t(PWGM_HGRIDMODEL model);
3352 
3353 typedef PWGM_HBLOCK
3354 PwModEnumBlocks_t(PWGM_HGRIDMODEL model, PWP_UINT32 ndx);
3355 
3356 typedef PWP_BOOL
3357 PwModGetAttributeValue_t(PWGM_HGRIDMODEL model, const char *name,
3358  PWP_ENUM_VALTYPE bufType, void *buf, PWP_UINT count);
3359 
3360 
3361 /*---------------------------------------------------------*/
3362 /* UNSTRUCTURED GRID EXPORT CALLBACKS */
3363 /*---------------------------------------------------------*/
3364 
3365 typedef PWP_UINT32
3366 PwModDomainCount_t(PWGM_HGRIDMODEL model);
3367 
3368 typedef PWGM_HDOMAIN
3369 PwModEnumDomains_t(PWGM_HGRIDMODEL model, PWP_UINT32 ndx);
3370 
3371 typedef PWGM_HVERTEX
3372 PwModEnumVertices_t(PWGM_HGRIDMODEL model, PWP_UINT32 ndx);
3373 
3374 typedef PWP_UINT32
3375 PwModVertexCount_t(PWGM_HGRIDMODEL model);
3376 
3377 typedef PWP_BOOL
3378 PwModStreamFaces_t(PWGM_HGRIDMODEL model, PWGM_ENUM_FACEORDER order,
3380  PWGM_ENDSTREAMCB endCB, void *userData);
3381 
3382 typedef PWP_UINT32
3383 PwModEnumElementCount_t(PWGM_HGRIDMODEL model, PWGM_ELEMCOUNTS *pCounts);
3384 
3385 typedef PWP_BOOL
3386 PwModAppendEnumElementOrder_t(PWGM_HGRIDMODEL model, PWGM_ENUM_ELEMORDER order);
3387 
3388 typedef PWGM_HELEMENT
3389 PwModEnumElements_t(PWGM_HGRIDMODEL model, PWP_UINT32 ndx);
3390 
3391 //---------------------------
3392 typedef PWP_UINT32
3393 PwBlkElementCount_t(PWGM_HBLOCK block, PWGM_ELEMCOUNTS *pCounts);
3394 
3395 typedef PWGM_HELEMENT
3396 PwBlkEnumElements_t(PWGM_HBLOCK block, PWP_UINT32 ndx);
3397 
3398 typedef PWP_BOOL
3399 PwBlkCondition_t(PWGM_HBLOCK block, PWGM_CONDDATA *pCondData);
3400 
3401 //---------------------------
3402 typedef PWP_UINT32
3403 PwDomElementCount_t(PWGM_HDOMAIN domain, PWGM_ELEMCOUNTS *pCounts);
3404 
3405 typedef PWGM_HELEMENT
3406 PwDomEnumElements_t(PWGM_HDOMAIN domain, PWP_UINT32 ndx);
3407 
3408 typedef PWP_BOOL
3409 PwDomCondition_t(PWGM_HDOMAIN domain, PWGM_CONDDATA *pCondData);
3410 
3411 //---------------------------
3412 typedef PWP_BOOL
3413 PwVertDataMod_t(PWGM_HVERTEX vertex, PWGM_VERTDATA *pVertData);
3414 
3415 typedef PWP_BOOL
3416 PwVertIndexMod_t(PWGM_HVERTEX vertex, PWP_UINT32 *pIndex);
3417 
3418 typedef PWP_BOOL
3419 PwVertXyzVal_t(PWGM_HVERTEX vertex, PWGM_ENUM_XYZ which, PWGM_XYZVAL *pVal);
3420 
3421 //---------------------------
3422 typedef PWP_BOOL
3423 PwElemDataMod_t(PWGM_HELEMENT element, PWGM_ELEMDATA *pElemData);
3424 
3425 typedef PWP_BOOL
3426 PwElemDataModEnum_t(PWGM_HELEMENT element, PWGM_ENUMELEMDATA *pElemData);
3427 
3428 
3429 
3430 /*---------------------------------------------------------*/
3431 /* STRUCTURED GRID EXPORT CALLBACKS */
3432 /*---------------------------------------------------------*/
3433 
3434 typedef PWP_UINT32
3435 PwModBoundaryCount_t(PWGM_HGRIDMODEL model);
3436 
3437 typedef PWGM_HBNDRY
3438 PwModEnumBoundaries_t(PWGM_HGRIDMODEL model, PWP_UINT32 ndx);
3439 
3440 typedef PWP_UINT32
3441 PwModConnectionCount_t(PWGM_HGRIDMODEL model);
3442 
3443 typedef PWGM_HCNXN
3444 PwModEnumConnections_t(PWGM_HGRIDMODEL model, PWP_UINT32 ndx);
3445 
3446 typedef PWP_BOOL
3447 PwModNdxBoundary_t(PWGM_HGRIDMODEL model, PWP_UINT32 ndx,
3448  PWGM_BNDRYDATA *pBndryData);
3449 
3450 typedef PWP_BOOL
3451 PwModNdxBoundaryAndCondition_t(PWGM_HGRIDMODEL model, PWP_UINT32 ndx,
3452  PWGM_BNDRYDATA *pBndryData, PWGM_CONDDATA *pCondData);
3453 
3454 typedef PWP_BOOL
3455 PwModNdxConnection_t(PWGM_HGRIDMODEL model, PWP_UINT32 ndx,
3456  PWGM_CNXNDATA *pCnxnData);
3457 
3458 //---------------------------
3459 typedef PWP_BOOL
3460 PwBlkSize_t(PWGM_HBLOCK block, PWGM_STR_SIZE *pSize);
3461 
3462 typedef PWP_BOOL
3463 PwBlkNdxVertData_t(PWGM_HBLOCK block, PWGM_INDEX3 ndx3,
3464  PWGM_VERTDATA *pVertData);
3465 
3466 typedef PWP_UINT32
3467 PwBlkBoundaryCount_t(PWGM_HBLOCK block);
3468 
3469 typedef PWGM_HBNDRY
3470 PwBlkEnumBoundaries_t(PWGM_HBLOCK block, PWP_UINT32 ndx);
3471 
3472 typedef PWP_UINT32
3473 PwBlkConnectionCount_t(PWGM_HBLOCK block);
3474 
3475 typedef PWGM_HCNXN
3476 PwBlkEnumConnections_t(PWGM_HBLOCK block, PWP_UINT32 ndx);
3477 
3478 typedef PWP_BOOL
3479 PwBlkNdxBoundary_t(PWGM_HBLOCK block, PWP_UINT32 ndx,
3480  PWGM_BNDRYDATA *pBndryData);
3481 
3482 typedef PWP_BOOL
3483 PwBlkNdxBoundaryAndCondition_t(PWGM_HBLOCK block, PWP_UINT32 ndx,
3484  PWGM_BNDRYDATA *pBndryData, PWGM_CONDDATA *pCondData);
3485 
3486 typedef PWP_BOOL
3487 PwBlkNdxConnection_t(PWGM_HBLOCK block, PWP_UINT32 ndx,
3488  PWGM_CNXNDATA *pCnxnData);
3489 
3490 
3491 //---------------------------
3492 typedef PWP_BOOL
3493 PwBoundary_t(PWGM_HBNDRY boundary, PWGM_BNDRYDATA *pBndryData);
3494 
3495 typedef PWP_BOOL
3496 PwBndryCondition_t(PWGM_HBNDRY boundary, PWGM_CONDDATA *pCondData);
3497 
3498 typedef PWP_BOOL
3499 PwConnection_t(PWGM_HCNXN connection, PWGM_CNXNDATA *pCnxnData);
3500 
3501 typedef PWP_BOOL
3502 PwBlock_t(PWGM_HBLOCK block, PWGM_BLOCKDATA *pBlockData);
3503 
3504 //---------------------------
3505 typedef PWP_BOOL
3506 PwNOTIMPLEMENTED_t();
3507 
3508 
3509 /*---------------------------------------------------------*/
3510 /* COMMON GRID IMPORT CALLBACKS */
3511 /*---------------------------------------------------------*/
3512 
3513 typedef PWGM_HCONNECTOR
3514 PwModCreateCon_t(PWGM_HGRIDMODEL model, PWP_UINT size);
3515 
3516 typedef PWGM_HVERTEXLIST
3517 PwBlkGetVertexList_t(PWGM_HBLOCK h);
3518 
3519 typedef PWGM_HVERTEXLIST
3520 PwDomGetVertexList_t(PWGM_HDOMAIN h);
3521 
3522 typedef PWGM_HVERTEXLIST
3523 PwConGetVertexList_t(PWGM_HCONNECTOR h);
3524 
3525 typedef PWP_BOOL
3526 PwConSetName_t(PWGM_HCONNECTOR h, const char *name);
3527 
3528 typedef PWP_BOOL
3529 PwBlkSetName_t(PWGM_HBLOCK h, const char *name);
3530 
3531 typedef PWP_BOOL
3532 PwDomSetName_t(PWGM_HDOMAIN h, const char *name);
3533 
3534 typedef PWP_BOOL
3535 PwVlstIsUnstructured_t(PWGM_HVERTEXLIST h);
3536 
3537 typedef PWP_UINT
3538 PwVlstGetDimensionality_t(PWGM_HVERTEXLIST h);
3539 
3540 typedef PWP_BOOL
3541 PwVlstSetXYZVal3_t(PWGM_HVERTEXLIST h, const PWGM_INDEX3 ndx3,
3542  const PWGM_ENUM_XYZ which, const PWGM_XYZVAL val);
3543 
3544 typedef PWP_BOOL
3545 PwVlstSetXYZ3_t(PWGM_HVERTEXLIST h, const PWGM_INDEX3 ndx3,
3546  const PWGM_XYZVAL x, const PWGM_XYZVAL y, const PWGM_XYZVAL z);
3547 
3548 typedef PWP_BOOL
3549 PwVlstReadFile_t(PWGM_HVERTEXLIST h, FILE *file,
3550  const PWGM_XYZ_CLUSTERING fileClustering,
3551  const PWP_ENDIANNESS fileByteOrder, const PWP_ENUM_PRECISION filePrecision);
3552 
3553 
3554 /*---------------------------------------------------------*/
3555 /* UNSTRUCTURED GRID IMPORT CALLBACKS */
3556 /*---------------------------------------------------------*/
3557 
3558 typedef PWGM_HVERTEXLIST
3559 PwModCreateUnsVertexList_t(PWGM_HGRIDMODEL model);
3560 
3561 typedef PWP_BOOL
3562 PwVlstAllocate_t(PWGM_HVERTEXLIST h, const PWP_UINT count);
3563 
3564 typedef PWGM_HBLOCK
3565 PwVlstCreateUnsBlock_t(PWGM_HVERTEXLIST h);
3566 
3567 typedef PWP_BOOL
3568 PwUnsBlkAllocateElements_t(PWGM_HBLOCK h, const PWGM_ENUM_ELEMTYPE cellType,
3569  const PWP_UINT count);
3570 
3571 typedef PWP_BOOL
3572 PwUnsBlkSetElement_t(PWGM_HBLOCK h, const PWP_UINT ndx,
3573  const PWGM_ELEMDATA *eData);
3574 
3575 typedef PWGM_HDOMAIN
3576 PwVlstCreateUnsDomain_t(PWGM_HVERTEXLIST h);
3577 
3578 typedef PWP_BOOL
3579 PwUnsDomAllocateElements_t(PWGM_HDOMAIN h, const PWGM_ENUM_ELEMTYPE cellType,
3580  const PWP_UINT count);
3581 
3582 typedef PWP_BOOL
3583 PwUnsDomSetElement_t(PWGM_HDOMAIN h, const PWP_UINT ndx,
3584  const PWGM_ELEMDATA *eData);
3585 
3586 typedef PWGM_HBLOCKASSEMBLER
3587 PwVlstCreateBlockAssembler_t(PWGM_HVERTEXLIST h);
3588 
3589 typedef PWP_BOOL
3590 PwAsmPushElementFace_t(PWGM_HBLOCKASSEMBLER h, const PWGM_ASSEMBLER_DATA *face);
3591 
3592 typedef PWP_BOOL
3593 PwAsmFinalize_t(PWGM_HBLOCKASSEMBLER h);
3594 
3595 typedef PWGM_HVERTEXLIST
3596 PwAsmGetVertexList_t(PWGM_HBLOCKASSEMBLER h);
3597 
3598 
3599 /*---------------------------------------------------------*/
3600 /* STRUCTURED GRID IMPORT CALLBACKS */
3601 /*---------------------------------------------------------*/
3602 
3603 typedef PWGM_HBLOCK
3604 PwModCreateStrBlock_t(PWGM_HGRIDMODEL model, const PWGM_STR_SIZE blkSize);
3605 
3606 typedef PWGM_HDOMAIN
3607 PwModCreateStrDomain_t(PWGM_HGRIDMODEL model, const PWGM_STR_SIZE domSize);
3608 
3612 // PWGM-API function-pointer types
3613 
3617 struct PW_DLL_IMPEXP PWGM_HGRIDMODEL_OUT_IMPL {
3618  PwModBlockCount_t *PwModBlockCountCB;
3619  PwModDomainCount_t *PwModDomainCountCB;
3620  PwModEnumBlocks_t *PwModEnumBlocksCB;
3621  PwModEnumDomains_t *PwModEnumDomainsCB;
3622  PwModEnumVertices_t *PwModEnumVerticesCB;
3623  PwModVertexCount_t *PwModVertexCountCB;
3624 
3625  PwBlkElementCount_t *PwBlkElementCountCB;
3626  PwBlkEnumElements_t *PwBlkEnumElementsCB;
3627  PwNOTIMPLEMENTED_t *PwBlkEnumVerticesCB;
3628  PwNOTIMPLEMENTED_t *PwBlkVertexCountCB;
3629  PwBlkCondition_t *PwBlkConditionCB;
3630 
3631  PwDomElementCount_t *PwDomElementCountCB;
3632  PwDomEnumElements_t *PwDomEnumElementsCB;
3633  PwNOTIMPLEMENTED_t *PwDomEnumVerticesCB;
3634  PwNOTIMPLEMENTED_t *PwDomVertexCountCB;
3635  PwDomCondition_t *PwDomConditionCB;
3636 
3637  PwVertDataMod_t *PwVertDataModCB;
3638  PwNOTIMPLEMENTED_t *PwVertDataBlkCB;
3639  PwNOTIMPLEMENTED_t *PwVertDataDomCB;
3640  PwVertIndexMod_t *PwVertIndexModCB;
3641  PwNOTIMPLEMENTED_t *PwVertIndexBlkCB;
3642  PwNOTIMPLEMENTED_t *PwVertIndexDomCB;
3643  PwVertXyzVal_t *PwVertXyzValCB;
3644 
3645  PwElemDataMod_t *PwElemDataModCB;
3646  PwNOTIMPLEMENTED_t *PwElemDataBlkCB;
3647  PwNOTIMPLEMENTED_t *PwElemDataDomCB;
3648 
3649  /*---------------------------------------------------------*/
3650  /* STRUCTURED GRID ADDITIONS */
3651  /*---------------------------------------------------------*/
3652 
3653  PwModBoundaryCount_t *PwModBoundaryCountCB;
3654  PwModEnumBoundaries_t *PwModEnumBoundariesCB;
3655  PwModConnectionCount_t *PwModConnectionCountCB;
3656  PwModEnumConnections_t *PwModEnumConnectionsCB;
3657  PwModNdxBoundary_t *PwModNdxBoundaryCB;
3658  PwModNdxBoundaryAndCondition_t *PwModNdxBoundaryAndConditionCB;
3659  PwModNdxConnection_t *PwModNdxConnectionCB;
3660 
3661  PwBlkSize_t *PwBlkSizeCB;
3662  PwBlkNdxVertData_t *PwBlkNdxVertDataCB;
3663  PwBlkBoundaryCount_t *PwBlkBoundaryCountCB;
3664  PwBlkEnumBoundaries_t *PwBlkEnumBoundariesCB;
3665  PwBlkConnectionCount_t *PwBlkConnectionCountCB;
3666  PwBlkEnumConnections_t *PwBlkEnumConnectionsCB;
3667  PwBlkNdxBoundary_t *PwBlkNdxBoundaryCB;
3668  PwBlkNdxBoundaryAndCondition_t *PwBlkNdxBoundaryAndConditionCB;
3669  PwBlkNdxConnection_t *PwBlkNdxConnectionCB;
3670 
3671  PwBoundary_t *PwBoundaryCB;
3672  PwBndryCondition_t *PwBndryConditionCB;
3673  PwConnection_t *PwConnectionCB;
3674  PwBlock_t *PwBlockCB;
3675 
3676  /*---------------------------------------------------------*/
3677  /* CELL FACE STREAMING ADDITIONS */
3678  /*---------------------------------------------------------*/
3679 
3680  PwModStreamFaces_t *PwModStreamFacesCB;
3681  PwModEnumElementCount_t *PwModEnumElementCountCB;
3682  PwModEnumElements_t *PwModEnumElementsCB;
3683  PwElemDataModEnum_t *PwElemDataModEnumCB;
3684  PwModAppendEnumElementOrder_t *PwModAppendEnumElementOrderCB;
3685 
3686  /*---------------------------------------------------------*/
3687  /* SOLVER ATTRIBUTE ADDITIONS */
3688  /*---------------------------------------------------------*/
3689 
3690  PwModGetAttributeValue_t *PwModGetAttributeValueCB;
3691 };
3692 
3693 
3694 /*---------------------------------------------------------*/
3698 struct PW_DLL_IMPEXP PWGM_HGRIDMODEL_IN_IMPL {
3699 
3700  // Common Grid Model Import API Calls
3701  PwModCreateCon_t * PwModCreateConCB;
3702  PwBlkGetVertexList_t * PwBlkGetVertexListCB;
3703  PwDomGetVertexList_t * PwDomGetVertexListCB;
3704  PwConGetVertexList_t * PwConGetVertexListCB;
3705  PwConSetName_t * PwConSetNameCB;
3706  PwBlkSetName_t * PwBlkSetNameCB;
3707  PwDomSetName_t * PwDomSetNameCB;
3708  PwVlstIsUnstructured_t * PwVlstIsUnstructuredCB;
3709  PwVlstGetDimensionality_t * PwVlstGetDimensionalityCB;
3710  PwVlstSetXYZVal3_t * PwVlstSetXYZVal3CB;
3711  PwVlstSetXYZ3_t * PwVlstSetXYZ3CB;
3712  PwVlstReadFile_t * PwVlstReadFileCB;
3713 
3714  // Unstructured Grid Model Import API Calls
3715  PwModCreateUnsVertexList_t * PwModCreateUnsVertexListCB;
3716  PwVlstAllocate_t * PwVlstAllocateCB;
3717  PwVlstCreateUnsBlock_t * PwVlstCreateUnsBlockCB;
3718  PwUnsBlkAllocateElements_t * PwUnsBlkAllocateElementsCB;
3719  PwUnsBlkSetElement_t * PwUnsBlkSetElementCB;
3720  PwVlstCreateUnsDomain_t * PwVlstCreateUnsDomainCB;
3721  PwUnsDomAllocateElements_t * PwUnsDomAllocateElementsCB;
3722  PwUnsDomSetElement_t * PwUnsDomSetElementCB;
3723  PwVlstCreateBlockAssembler_t * PwVlstCreateBlockAssemblerCB;
3724  PwAsmPushElementFace_t * PwAsmPushElementFaceCB;
3725  PwAsmFinalize_t * PwAsmFinalizeCB;
3726  PwAsmGetVertexList_t * PwAsmGetVertexListCB;
3727 
3728  // Structured Grid Model Import API Calls
3729  PwModCreateStrBlock_t * PwModCreateStrBlockCB;
3730  PwModCreateStrDomain_t * PwModCreateStrDomainCB;
3731 
3732 };
3733  // sdkINTERNALS
3735 
3739 /***********************************************************/
3757 } // extern "C"
3758 
3759 #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 block 2 (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 block
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 block 1 (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