Go to the documentation of this file. 1 #ifndef _APIGRIDMODEL_H_
2 #define _APIGRIDMODEL_H_
17 #if defined(WINDOWS) && defined(SHOW_PWGM_MESSAGES)
18 # if !defined(PWGM_HIDE_EXPORT_API)
20 # define PWGM_HIDE_IMPORT_API
21 # if !defined(PWGM_HIDE_UNSTRUCTURED_API) && defined(PWGM_HIDE_STRUCTURED_API)
22 # pragma message ("FYI: Using Unstructured Export PWGM API")
23 # elif defined(PWGM_HIDE_UNSTRUCTURED_API) && !defined(PWGM_HIDE_STRUCTURED_API)
24 # pragma message ("FYI: Using Structured Export PWGM API")
25 # elif !defined(PWGM_HIDE_UNSTRUCTURED_API) && !defined(PWGM_HIDE_STRUCTURED_API)
26 # pragma message ("WARNING: Using Hybrid Export PWGM API")
27 # else //defined(PWGM_HIDE_UNSTRUCTURED_API) && defined(PWGM_HIDE_STRUCTURED_API)
28 # error ("ERROR: Export PWGM API is INVISIBLE!")
31 # else // !defined(PWGM_HIDE_EXPORT_API)
33 # pragma message ("FYI: Using Import PWGM API")
35 # endif // !defined(PWGM_HIDE_EXPORT_API)
36 #endif // WINDOWS && SHOW_PWP_MESSAGES
60 # define PW_DLL_IMPEXP PW_DLLEXPORT
62 # define PW_DLL_IMPEXP PW_DLLIMPORT
328 #define PWGM_HGRIDMODEL_ISVALID(h) PWP_HANDLE_ISVALID(h)
332 #define PWGM_HGRIDMODEL_INIT PWP_HANDLE_INIT
334 #define PWGM_HGRIDMODEL_SET(h, v) PWP_HANDLE_SET(h, v)
336 #define PWGM_HGRIDMODEL_SET_INVALID(h) PWGM_HGRIDMODEL_SET(h, PWP_HANDLE_INIT)
338 #define PWGM_HGRIDMODEL_OUT_GMIMPL(h) ((PWGM_HGRIDMODEL_OUT_IMPL*)h)
340 #define PWGM_HGRIDMODEL_IN_GMIMPL(h) ((PWGM_HGRIDMODEL_IN_IMPL*)h)
348 #define PWGM_HBLOCK_ISVALID(h) PWP_HEGRP_ISVALID(h)
352 #define PWGM_HBLOCK_INIT PWP_HEGRP_INIT
354 #define PWGM_HBLOCK_SET(h, p, v) PWP_HEGRP_SET(h, p, v)
356 #define PWGM_HBLOCK_SET_INVALID(h) PWGM_HBLOCK_SET(h, 0, PWP_BADID)
358 #define PWGM_HBLOCK_OUT_GMIMPL(h) ((PWGM_HGRIDMODEL_OUT_IMPL*)PWP_HEGRP_H(h))
360 #define PWGM_HBLOCK_IN_GMIMPL(h) ((PWGM_HGRIDMODEL_IN_IMPL*)PWP_HEGRP_H(h))
364 #define PWGM_HBLOCK_H(h) PWP_HEGRP_H(h)
366 #define PWGM_HBLOCK_ID(h) PWP_HEGRP_ID(h)
368 #define PWGM_HBLOCK_MODEL(h) PWP_HEGRP_H(h)
374 #define PWGM_HDOMAIN_ISVALID(h) PWP_HEGRP_ISVALID(h)
378 #define PWGM_HDOMAIN_INIT PWP_HEGRP_INIT
380 #define PWGM_HDOMAIN_SET(h, p, v) PWP_HEGRP_SET(h, p, v)
382 #define PWGM_HDOMAIN_SET_INVALID(h) PWGM_HDOMAIN_SET(h, 0, PWP_BADID)
384 #define PWGM_HDOMAIN_OUT_GMIMPL(h) ((PWGM_HGRIDMODEL_OUT_IMPL*)PWP_HEGRP_H(h))
386 #define PWGM_HDOMAIN_IN_GMIMPL(h) ((PWGM_HGRIDMODEL_IN_IMPL*)PWP_HEGRP_H(h))
390 #define PWGM_HDOMAIN_H(h) PWP_HEGRP_H(h)
392 #define PWGM_HDOMAIN_ID(h) PWP_HEGRP_ID(h)
394 #define PWGM_HDOMAIN_MODEL(h) PWP_HEGRP_H(h)
400 #define PWGM_HVERTEX_ISVALID(h) PWP_HEGRP_ISVALID(h)
404 #define PWGM_HVERTEX_INIT PWP_HEGRP_INIT
406 #define PWGM_HVERTEX_SET(h, p, v) PWP_HEGRP_SET(h, p, v)
408 #define PWGM_HVERTEX_SET_INVALID(h) PWGM_HVERTEX_SET(h, 0, PWP_BADID)
410 #define PWGM_HVERTEX_OUT_GMIMPL(h) ((PWGM_HGRIDMODEL_OUT_IMPL*)PWP_HEGRP_H(h))
414 #define PWGM_HVERTEX_H(h) PWP_HEGRP_H(h)
416 #define PWGM_HVERTEX_ID(h) PWP_HEGRP_ID(h)
418 #define PWGM_HVERTEX_MODEL(h) PWP_HEGRP_H(h)
429 #define PWGM_HELEMENT_ISVALID(h) PWP_HEGI_ISVALID(h)
433 #define PWGM_HELEMENT_INIT PWP_HEGI_INIT
435 #define PWGM_HELEMENT_SET(h,p,tt,sv,v) PWP_HEGI_SET(h,p,tt,sv,v)
437 #define PWGM_HELEMENT_SET_INVALID(h) PWGM_HELEMENT_SET(h, 0, PWP_BADTYPE, \
438 PWP_BADID, PWP_BADID)
440 #define PWGM_HELEMENT_OUT_GMIMPL(h) ((PWGM_HGRIDMODEL_OUT_IMPL*)PWGM_HELEMENT_MODEL(h))
444 #define PWGM_HELEMENT_H(h) PWP_HEGI_H(h)
446 #define PWGM_HELEMENT_PID(h) PWP_HEGI_PID(h)
448 #define PWGM_HELEMENT_PTYPE(h) PWP_HEGI_PTYPE(h)
450 #define PWGM_HELEMENT_ID(h) PWP_HEGI_ID(h)
452 #define PWGM_HELEMENT_MODEL(h) PWP_HEGI_H(h)
459 #define PWGM_HBNDRY_ISVALID(h) PWP_HEGRP_ISVALID(h)
463 # define PWGM_HBNDRY_INIT PWP_HEGRP_INIT
465 # define PWGM_HBNDRY_SET(h, p, v) PWP_HEGRP_SET(h, p, v)
467 # define PWGM_HBNDRY_SET_INVALID(h) PWGM_HBNDRY_SET(h, 0, PWP_BADID)
469 #define PWGM_HBNDRY_OUT_GMIMPL(h) ((PWGM_HGRIDMODEL_OUT_IMPL*)PWP_HEGRP_H(h))
473 #define PWGM_HBNDRY_H(h) PWP_HEGRP_H(h)
475 #define PWGM_HBNDRY_ID(h) PWP_HEGRP_ID(h)
477 #define PWGM_HBNDRY_MODEL(h) PWP_HEGRP_H(h)
484 #define PWGM_HCNXN_ISVALID(h) PWP_HEGRP_ISVALID(h)
488 # define PWGM_HCNXN_INIT PWP_HEGRP_INIT
490 # define PWGM_HCNXN_SET(h, p, v) PWP_HEGRP_SET(h, p, v)
492 # define PWGM_HCNXN_SET_INVALID(h) PWGM_HCNXN_SET(h, 0, PWP_BADID)
494 #define PWGM_HCNXN_OUT_GMIMPL(h) ((PWGM_HGRIDMODEL_OUT_IMPL*)PWP_HEGRP_H(h))
498 #define PWGM_HCNXN_H(h) PWP_HEGRP_H(h)
500 #define PWGM_HCNXN_ID(h) PWP_HEGRP_ID(h)
502 #define PWGM_HCNXN_MODEL(h) PWP_HEGRP_H(h)
509 #define PWGM_HCONNECTOR_ISVALID(h) PWP_HEGRP_ISVALID(h)
513 #define PWGM_HCONNECTOR_INIT PWP_HEGRP_INIT
514 #define PWGM_HCONNECTOR_SET(h, p, v) PWP_HEGRP_SET(h, p, v)
516 #define PWGM_HCONNECTOR_SET_INVALID(h) PWGM_HCONNECTOR_SET(h, 0, PWP_BADID)
518 #define PWGM_HCONNECTOR_IN_GMIMPL(h) ((PWGM_HGRIDMODEL_IN_IMPL*)PWP_HEGRP_H(h))
523 #define PWGM_HCONNECTOR_H(h) PWP_HEGRP_H(h)
524 #define PWGM_HCONNECTOR_ID(h) PWP_HEGRP_ID(h)
526 #define PWGM_HCONNECTOR_MODEL(h) PWP_HEGRP_H(h)
538 #define PWGM_HVERTEXLIST_ISVALID(h) PWP_HEGI_ISVALID(h)
542 #define PWGM_HVERTEXLIST_INIT PWP_HEGI_INIT
544 #define PWGM_HVERTEXLIST_SET(h,p,tt,sv,v) PWP_HEGI_SET(h,p,tt,sv,v)
546 #define PWGM_HVERTEXLIST_SET_INVALID(h) PWGM_HVERTEXLIST_SET(h, 0, \
547 PWP_BADTYPE, PWP_BADID, PWP_BADID)
549 #define PWGM_HVERTEXLIST_IN_GMIMPL(h) ((PWGM_HGRIDMODEL_IN_IMPL*)PWGM_HVERTEXLIST_MODEL(h))
553 #define PWGM_HVERTEXLIST_H(h) PWP_HEGI_H(h)
555 #define PWGM_HVERTEXLIST_PID(h) PWP_HEGI_PID(h)
557 #define PWGM_HVERTEXLIST_PTYPE(h) PWP_HEGI_PTYPE(h)
559 #define PWGM_HVERTEXLIST_ID(h) PWP_HEGI_ID(h)
561 #define PWGM_HVERTEXLIST_MODEL(h) PWP_HEGI_H(h)
568 #define PWGM_HBLOCKASSEMBLER_ISVALID(h) PWP_HEGRP_ISVALID(h)
572 #define PWGM_HBLOCKASSEMBLER_INIT PWP_HEGRP_INIT
573 #define PWGM_HBLOCKASSEMBLER_SET(h, p, v) PWP_HEGRP_SET(h, p, v)
575 #define PWGM_HBLOCKASSEMBLER_SET_INVALID(h) PWGM_HBLOCKASSEMBLER_SET(h, 0, PWP_BADID)
577 #define PWGM_HBLOCKASSEMBLER_IN_GMIMPL(h) ((PWGM_HGRIDMODEL_IN_IMPL*)PWP_HEGRP_H(h))
582 #define PWGM_HBLOCKASSEMBLER_H(h) PWP_HEGRP_H(h)
583 #define PWGM_HBLOCKASSEMBLER_ID(h) PWP_HEGRP_ID(h)
585 #define PWGM_HBLOCKASSEMBLER_MODEL(h) PWP_HEGRP_H(h)
621 enum PWGM_XYZ_CLUSTERING {
622 PWGM_CLUSTERING_XYXY,
623 PWGM_CLUSTERING_XXYY,
624 PWGM_CLUSTERING_XYZXYZ,
625 PWGM_CLUSTERING_XXYYZZ,
630 PWGM_CLUSTERING_SIZE,
631 PWGM_CLUSTERING_LAST = PWGM_CLUSTERING_SIZE - 1
655 #define PWGM_UNSPECIFIED_COND_ID PWP_UINT32(2147483647)
661 #define PWGM_UNSPECIFIED_TYPE_ID PWP_UINT32(0)
689 PWGM_ELEMTYPE_LAST = PWGM_ELEMTYPE_SIZE-1
720 PWGM_ELEMORDER_LAST = PWGM_ELEMORDER_SIZE-1
730 #define PWGM_ELEMDATA_VERT_SIZE 8
788 #define PWGM_ECNT_Point(ecs) (ecs).count[PWGM_ELEMTYPE_POINT]
794 #define PWGM_ECNT_Bar(ecs) (ecs).count[PWGM_ELEMTYPE_BAR]
800 #define PWGM_ECNT_Hex(ecs) (ecs).count[PWGM_ELEMTYPE_HEX]
806 #define PWGM_ECNT_Quad(ecs) (ecs).count[PWGM_ELEMTYPE_QUAD]
812 #define PWGM_ECNT_Tri(ecs) (ecs).count[PWGM_ELEMTYPE_TRI]
818 #define PWGM_ECNT_Tet(ecs) (ecs).count[PWGM_ELEMTYPE_TET]
824 #define PWGM_ECNT_Wedge(ecs) (ecs).count[PWGM_ELEMTYPE_WEDGE]
830 #define PWGM_ECNT_Pyramid(ecs) (ecs).count[PWGM_ELEMTYPE_PYRAMID]
836 #define PWGM_ECNT_Polyhedron(ecs) (ecs).count[PWGM_ELEMTYPE_POLYH]
842 #define PWGM_ECNT_Polygon(ecs) (ecs).count[PWGM_ELEMTYPE_POLYG]
860 PWGM_XYZ_LAST = PWGM_XYZ_SIZE-1
880 PWGM_GRIDTYPE_LAST = PWGM_GRIDTYPE_SIZE-1
953 PWGM_FACE_LAST = PWGM_FACE_SIZE-1
972 PWGM_CNXNTYPE_LAST = PWGM_FACE_SIZE-1
1025 PWGM_IJK_LAST = PWGM_IJK_SIZE-1
1051 PWGM_FACETYPE_LAST = PWGM_FACETYPE_SIZE-1
1075 PWGM_FACEORDER_SIZE,
1076 PWGM_FACEORDER_LAST = PWGM_FACEORDER_SIZE-1
1192 #define PWGM_CONDKEY_UNDEF PWP_UINT32_UNDEF
1564 #if !defined(PWGM_HIDE_UNSTRUCTURED_API) && !defined(PWGM_HIDE_EXPORT_API)
2485 #endif // !defined(PWGM_HIDE_UNSTRUCTURED_API) && !defined(PWGM_HIDE_EXPORT_API)
2494 #if !defined(PWGM_HIDE_STRUCTURED_API) && !defined(PWGM_HIDE_EXPORT_API)
3020 #endif // !defined(PWGM_HIDE_STRUCTURED_API) && !defined(PWGM_HIDE_EXPORT_API)
3036 #if !defined(PWGM_HIDE_IMPORT_API)
3605 const char *key,
const char *val);
4247 const PWGM_XYZ_CLUSTERING fileClustering,
4768 #endif // !defined(PWGM_HIDE_IMPORT_API)
4796 PwBlkSetExportName_t(
PWGM_HBLOCK block,
const char *name);
4950 PwNOTIMPLEMENTED_t();
4997 const PWGM_XYZ_CLUSTERING fileClustering,
5001 PwBlkSetProperty_t(
PWGM_HBLOCK h,
const char *key,
const char *val);
5004 PwDomSetProperty_t(
PWGM_HDOMAIN h,
const char *key,
const char *val);
5007 PwConSetProperty_t(
PWGM_HCONNECTOR h,
const char *key,
const char *val);
5011 const char *key,
const char *val);
5083 struct PW_DLL_IMPEXP PWGM_HGRIDMODEL_OUT_IMPL {
5084 PwModBlockCount_t * PwModBlockCountCB;
5085 PwModDomainCount_t * PwModDomainCountCB;
5086 PwModEnumBlocks_t * PwModEnumBlocksCB;
5087 PwModEnumDomains_t * PwModEnumDomainsCB;
5088 PwModEnumVertices_t * PwModEnumVerticesCB;
5089 PwModVertexCount_t * PwModVertexCountCB;
5090 PwModCustomIndexSchemeReady_t * PwModCustomIndexSchemeReadyCB;
5092 PwBlkElementCount_t * PwBlkElementCountCB;
5093 PwBlkEnumElements_t * PwBlkEnumElementsCB;
5094 PwNOTIMPLEMENTED_t * PwBlkEnumVerticesCB;
5095 PwNOTIMPLEMENTED_t * PwBlkVertexCountCB;
5096 PwBlkCondition_t * PwBlkConditionCB;
5097 PwBlock_t * PwBlockCB;
5098 PwBlkSetExportName_t * PwBlkSetExportNameCB;
5100 PwDomElementCount_t * PwDomElementCountCB;
5101 PwDomEnumElements_t * PwDomEnumElementsCB;
5102 PwNOTIMPLEMENTED_t * PwDomEnumVerticesCB;
5103 PwNOTIMPLEMENTED_t * PwDomVertexCountCB;
5104 PwDomCondition_t * PwDomConditionCB;
5106 PwVertDataMod_t * PwVertDataModCB;
5107 PwNOTIMPLEMENTED_t * PwVertDataBlkCB;
5108 PwNOTIMPLEMENTED_t * PwVertDataDomCB;
5109 PwVertIndexMod_t * PwVertIndexModCB;
5110 PwNOTIMPLEMENTED_t * PwVertIndexBlkCB;
5111 PwNOTIMPLEMENTED_t * PwVertIndexDomCB;
5112 PwVertXyzVal_t * PwVertXyzValCB;
5114 PwElemDataMod_t * PwElemDataModCB;
5115 PwNOTIMPLEMENTED_t * PwElemDataBlkCB;
5116 PwNOTIMPLEMENTED_t * PwElemDataDomCB;
5122 PwModBoundaryCount_t * PwModBoundaryCountCB;
5123 PwModEnumBoundaries_t * PwModEnumBoundariesCB;
5124 PwModConnectionCount_t * PwModConnectionCountCB;
5125 PwModEnumConnections_t * PwModEnumConnectionsCB;
5126 PwModNdxBoundary_t * PwModNdxBoundaryCB;
5127 PwModNdxBoundaryAndCondition_t * PwModNdxBoundaryAndConditionCB;
5128 PwModNdxConnection_t * PwModNdxConnectionCB;
5130 PwBlkSize_t * PwBlkSizeCB;
5131 PwBlkNdxVertData_t * PwBlkNdxVertDataCB;
5132 PwModCustomIndex3SchemeReady_t * PwModCustomIndex3SchemeReadyCB;
5133 PwBlkBoundaryCount_t * PwBlkBoundaryCountCB;
5134 PwBlkEnumBoundaries_t * PwBlkEnumBoundariesCB;
5135 PwBlkConnectionCount_t * PwBlkConnectionCountCB;
5136 PwBlkEnumConnections_t * PwBlkEnumConnectionsCB;
5137 PwBlkNdxBoundary_t * PwBlkNdxBoundaryCB;
5138 PwBlkNdxBoundaryAndCondition_t * PwBlkNdxBoundaryAndConditionCB;
5139 PwBlkNdxConnection_t * PwBlkNdxConnectionCB;
5141 PwBoundary_t * PwBoundaryCB;
5142 PwBndryCondition_t * PwBndryConditionCB;
5143 PwConnection_t * PwConnectionCB;
5149 PwModStreamFaces_t * PwModStreamFacesCB;
5150 PwModEnumElementCount_t * PwModEnumElementCountCB;
5151 PwModEnumElements_t * PwModEnumElementsCB;
5152 PwElemDataModEnum_t * PwElemDataModEnumCB;
5153 PwModAppendEnumElementOrder_t * PwModAppendEnumElementOrderCB;
5159 PwModGetAttributeValue_t * PwModGetAttributeValueCB;
5167 struct PW_DLL_IMPEXP PWGM_HGRIDMODEL_IN_IMPL {
5170 PwModCreateCon_t * PwModCreateConCB;
5171 PwBlkGetVertexList_t * PwBlkGetVertexListCB;
5172 PwDomGetVertexList_t * PwDomGetVertexListCB;
5173 PwConGetVertexList_t * PwConGetVertexListCB;
5174 PwConSetName_t * PwConSetNameCB;
5175 PwBlkSetName_t * PwBlkSetNameCB;
5176 PwDomSetName_t * PwDomSetNameCB;
5177 PwVlstIsUnstructured_t * PwVlstIsUnstructuredCB;
5178 PwVlstGetIndexDimensionality_t * PwVlstGetIndexDimensionalityCB;
5179 PwVlstGetBlkElemDimensionality_t * PwVlstGetBlkElemDimensionalityCB;
5180 PwVlstSetXYZVal3_t * PwVlstSetXYZVal3CB;
5181 PwVlstSetXYZ3_t * PwVlstSetXYZ3CB;
5182 PwVlstReadFile_t * PwVlstReadFileCB;
5183 PwBlkSetProperty_t * PwBlkSetPropertyCB;
5184 PwDomSetProperty_t * PwDomSetPropertyCB;
5185 PwConSetProperty_t * PwConSetPropertyCB;
5186 PwAsmSetProperty_t * PwAsmSetPropertyCB;
5187 PwAsmSetCellSpanConditionKey_t * PwAsmSetCellSpanConditionKeyCB;
5191 PwModCreateUnsVertexList_t * PwModCreateUnsVertexListCB;
5192 PwVlstAllocate_t * PwVlstAllocateCB;
5193 PwVlstCreateUnsBlock_t * PwVlstCreateUnsBlockCB;
5194 PwUnsBlkAllocateElements_t * PwUnsBlkAllocateElementsCB;
5195 PwUnsBlkSetElement_t * PwUnsBlkSetElementCB;
5196 PwVlstCreateUnsDomain_t * PwVlstCreateUnsDomainCB;
5197 PwUnsDomAllocateElements_t * PwUnsDomAllocateElementsCB;
5198 PwUnsDomSetElement_t * PwUnsDomSetElementCB;
5199 PwVlstCreateBlockAssembler_t * PwVlstCreateBlockAssemblerCB;
5200 PwAsmPushElementFace_t * PwAsmPushElementFaceCB;
5201 PwAsmFinalize_t * PwAsmFinalizeCB;
5202 PwAsmGetVertexList_t * PwAsmGetVertexListCB;
5205 PwModCreateStrBlock_t * PwModCreateStrBlockCB;
5206 PwModCreateStrDomain_t * PwModCreateStrDomainCB;
5234 #endif // !_APIGRIDMODEL_H_
static PWP_UINT32 faceCB(PWGM_FACESTREAM_DATA *data)
void * userData
The PwModStreamFaces user data ptr.
PWP_INT32 j
j-coordinate used for 3D and 2D grids
PWP_BOOL PwAsmSetCellConditionKey(PWGM_HBLOCKASSEMBLER assembler, const PWGM_CONDKEY key, const PWP_UINT32 cell)
Tags a single cells with the condition identified by key.
PWGM_HBLOCK PwVlstCreateUnsBlock(PWGM_HVERTEXLIST h)
Creates an unstructured block that uses vertices from an unstructured vertex list.
@ PWGM_CNXNTYPE_NONE
unspecified
Grid element handle declaration.
Only used as a generic base handle for PWGM_HVERTEXLIST.
@ PWGM_FACEORDER_BCGROUPSONLY
BoundaryOnly grouped by BCs.
PWP_BOOL PwBlkNdxVertData(PWGM_HBLOCK block, PWGM_INDEX3 ndx3, PWGM_VERTDATA *pVertData)
Get the block's vertex data at the given index location.
PWP_BOOL PwElemDataModEnum(PWGM_HELEMENT element, PWGM_ENUMELEMDATA *pElemData)
Get the enumerated element data relative to the model's index space.
An opaque handle to an unstructured block assembler.
PWGM_HDOMAIN PwVlstCreateUnsBoundary(PWGM_HVERTEXLIST h)
PWP_BOOL PwModNdxBoundary(PWGM_HGRIDMODEL model, PWP_UINT32 ndx, PWGM_BNDRYDATA *pBndryData)
Get the data for the model's nth structured boundary.
void * userData
The PwModStreamFaces user data ptr.
PWGM_HVERTEX PwModEnumVertices(PWGM_HGRIDMODEL model, PWP_UINT32 ndx)
Sequentially enumerate the model vertex elements.
PWP_BOOL PwVertIndexMod(PWGM_HVERTEX vertex, PWP_UINT32 *pIndex)
Get the vertex index relative to the model's index space.
PWP_UINT32 neighbor
The id of the cell sharing the face with the owner.
PWGM_HVERTEXLIST PwModCreateUnsVertexList2(PWGM_HGRIDMODEL model)
Creates an empty, unstructured vertex list in a model for 2-D blocks and 1-D domains.
@ PWGM_GRIDTYPE_STRUCTURED
Structured grid.
PWP_BOOL PwBlkNdxElemDataMod(const PWGM_HBLOCK block, const PWP_UINT32 ndx, PWGM_ELEMDATA *pElemData)
Get the block element data relative to the model's index space.
PWP_UINT32 PwDomElementCount(PWGM_HDOMAIN domain, PWGM_ELEMCOUNTS *pCounts)
Get the number of domain elements.
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.
PWGM_ENUM_FACETYPE type
One of the PWGM_FACETYPE_XXX types.
PWGM_HELEMENT hBlkElement
The owning block's locally indexed element handle.
const char * PwFaceOrderToText(PWGM_ENUM_FACEORDER faceOrder)
Maps a PWGM_ENUM_FACEORDER value to a human readable string.
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_HDOMAIN PwModEnumDomains(PWGM_HGRIDMODEL model, PWP_UINT32 ndx)
Sequentially enumerate the model domain elements.
@ PWGM_ELEMORDER_WEDGE
Order by 3D, extruded, tri/quad grid element.
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.
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.
const char * name
connection name
PWP_ENUM_VALTYPE
Supported PWP-API getValue() transfer types.
@ PWGM_CNXNTYPE_ONE_TO_ONE
one-to-one grid point match
@ PWGM_ELEMTYPE_TET
3D, 4-sided (tetrahedral) grid element
PWP_BOOL PwConSetConditionUserId(PWGM_HCONNECTOR connector, const PWP_UINT32 userId)
Sets the condition data for a connector.
@ PWGM_FACEORDER_VCGROUPSBCLAST
InteriorFirst grouped by VCs then BCs.
PWP_UINT32 vertCnt
Number of vertices in the face.
PWP_UINT32 cellIndex
The cell's index in the model's index space (0..totalNumCells-1)
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's nth structured boundary.
Only used as a generic base handle for PWGM_HELEMENT.
#define PWGM_ELEMDATA_VERT_SIZE
Maximum number of verts allowed per element.
PWP_UINT32(* PWGM_FACESTREAMCB)(PWGM_FACESTREAM_DATA *data)
The face stream callback function signature.
@ PWGM_IJK_J
J-component id.
PWP_BOOL PwModNdxDomCondition(const PWGM_HGRIDMODEL model, const PWP_UINT32 ndx, PWGM_CONDDATA *pCondData)
Sequentially enumerate the domain condition data.
PWP_BOOL PwBlkSetName(PWGM_HBLOCK h, const char *name)
Set a block's name.
PWP_UINT32 PwModVertexCount(PWGM_HGRIDMODEL model)
Get the number of model vertex elements.
PWP_BOOL PwUnsDomAllocateElementCounts(PWGM_HDOMAIN h, const PWGM_ELEMCOUNTS &counts)
Allocates element storage in an unstructured domain.
@ PWGM_FACEORDER_BOUNDARYFIRST
all cell faces in boundary, interior order
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_UINT32 PwModDomainCount(PWGM_HGRIDMODEL model)
Get the number of domain elements in the model.
PWP_UINT32 id
grid-defined condition id
An opaque handle to a grid domain element.
PWP_UINT32 cellFaceIndex
The cell's local face index (0..numCellFaces-1).
PWGM_ENUM_FACETYPE
The facetypes supported by face streaming.
PWP_UINT32 tid
cae-defined condition id
PWP_BOOL PwBlock(PWGM_HBLOCK block, PWGM_BLOCKDATA *pBlockData)
Get the block data.
PWGM_ELEMDATA elemData
Element descriptor data.
PWP_BOOL PwDomSetConditionUserId(PWGM_HDOMAIN domain, const PWP_UINT32 userId)
Sets the condition data for a domain.
PWGM_HBLOCK PwModCreateStrBlock(PWGM_HGRIDMODEL model, const PWGM_STR_SIZE blkSize)
Creates a structured block in a model.
PWGM_HELEMENT PwBlkEnumElements(PWGM_HBLOCK block, PWP_UINT32 ndx)
Sequentially enumerate the block elements.
PWP_UINT32 PwModEnumElementCount(PWGM_HGRIDMODEL model, PWGM_ELEMCOUNTS *pCounts)
Get the number of enumerated model block elements.
PWP_BOOL PwDomSetConditionTypeId(PWGM_HDOMAIN domain, const PWP_UINT32 typeId)
Sets the condition data for a domain.
PWGM_HBLOCK block
boundary block
@ PWGM_FACEORDER_DONTCARE
all cell faces in any order
PWP_UINT64(* PWGM_INDEXMAPPERCB)(const PWP_UINT64 pwgmNdx, void *data)
The custom, unstructured IndexScheme mapper callback function signature.
const char * name
grid-defined condition name
PWGM_HGRIDMODEL model
The grid model.
PWP_BOOL PwElemDataCastToPoly(const PWGM_ELEMDATA *eData, PWGM_POLYELEMDATA *polyData)
Cast a PWGM_ELEMDATA to a PWGM_POLYELEMDATA.
PWP_BOOL PwBlkSize(PWGM_HBLOCK block, PWGM_STR_SIZE *pSize)
Get the block's vertex-size.
@ PWGM_ELEMORDER_PYRAMID
Order by 3D, 5-sided, quad-based grid element.
PWP_BOOL PwUnsDomAllocateElements(PWGM_HDOMAIN h, const PWGM_ENUM_ELEMTYPE cellType, const PWP_UINT count)
Allocates element storage in an unstructured domain.
An opaque handle to a grid model.
PWP_BOOL PwBlkNdxBoundary(PWGM_HBLOCK block, PWP_UINT32 ndx, PWGM_BNDRYDATA *pBndryData)
Get the data for the block's nth structured boundary.
PWGM_CNXNTYPE
Structured grid block-point association.
PWP_BOOL PwAsmPushElementFace(PWGM_HBLOCKASSEMBLER h, const PWGM_ASSEMBLER_DATA *face)
Adds a face to an unstructured block face assembler.
PWP_UINT32(* PWGM_ENDSTREAMCB)(PWGM_ENDSTREAM_DATA *data)
The face stream callback function signature.
@ PWGM_FACEORDER_BCGROUPSONLY_BYVC
BoundariesOnly grouped by VCs.
PWP_VOID PwModDefaultEnumElementOrder(PWGM_HGRIDMODEL model)
Reset the enumElements() ordering sequence to the default (none).
PWP_BOOL PwBndryCondition(PWGM_HBNDRY boundary, PWGM_CONDDATA *pCondData)
Get the boundary's condition data.
PWP_BOOL PwModNdxBlkCondition(const PWGM_HGRIDMODEL model, const PWP_UINT32 ndx, PWGM_CONDDATA *pCondData)
Sequentially enumerate the model block condition data.
PWGM_HGRIDMODEL model
The grid model.
PWP_BOOL PwAsmSetConditionTypeName(PWGM_HBLOCKASSEMBLER assembler, const PWGM_CONDKEY key, const char *typeName)
Sets the type name of the condition identified by key.
PWGM_ENUM_FACEORDER order
The requested cell face stream sequence order.
@ PWGM_GRIDTYPE_UNSTRUCTURED
Unstructured grid.
PWP_BOOL PwConSetName(PWGM_HCONNECTOR h, const char *name)
Set a connector's name.
An opaque handle to a structured, inter-block connection.
#define PWP_DECLARE_HEGRPITEM(sname, name)
Declares a sub-element group data handle type.
PWP_BOOL PwModGetAttributeUINT32(PWGM_HGRIDMODEL model, const char *name, PWP_UINT32 *val)
Get an attribute value as a specific type.
PWP_BOOL PwModGetAttributeFLOAT(PWGM_HGRIDMODEL model, const char *name, PWP_FLOAT *val)
Get an attribute value as a specific type.
PWP_BOOL PwAsmFinalize(PWGM_HBLOCKASSEMBLER h)
Stitches together all the faces added to the assembler into cells and blocks.
PWGM_FACEREF_DATA owner
Information about the block element that owns face.
PWP_BOOL PwXform3to2(const PWGM_INDEX_XFORM *pX3, PWGM_INDEX_XFORM2 *pX2)
Convert a 3D transform matrix to it's 2D equivalent.
PWP_UINT32 PWGM_CONDKEY
The condition key integral type.
PWP_BOOL PwDomSetConditionUserName(PWGM_HDOMAIN domain, const char *userName)
Sets the condition name for a domain.
const char * type
cae-defined condition physical type name
static PWP_UINT32 endCB(PWGM_ENDSTREAM_DATA *data)
PWGM_ENUM_ELEMTYPE type
One of the PWGM_ELEMTYPE_XXX values.
PWGM_HCNXN PwModEnumConnections(PWGM_HGRIDMODEL model, PWP_UINT32 ndx)
Sequentially enumerate the model's connections.
Element descriptor data type.
PWGM_HBLOCK block2
connection block2 (donor)
PWGM_ENUM_ELEMORDER
Types of element orderings.
PWP_UINT32 PwBlkElementCount(PWGM_HBLOCK block, PWGM_ELEMCOUNTS *pCounts)
Get the number of block elements.
PWGM_HDOMAIN domain
The handle of the boundary domain that contains this cell's side of the face.
@ PWGM_IJK_K
K-component id.
@ PWGM_ELEMTYPE_POLYH
3D, polyhedron
PWP_INT32 i
i-coordinate used for 3D and 2D grids
PWGM_ENUM_FACETYPE type
One of the PWGM_FACETYPE_XXX types.
@ PWGM_ELEMTYPE_TRI
2D, 3-sided grid element
Structured grid ijk index data type.
PWP_BOOL PwElemDataMod(PWGM_HELEMENT element, PWGM_ELEMDATA *pElemData)
Get the element data relative to the model's index space.
PWGM_HELEMENT PwDomEnumElements(PWGM_HDOMAIN domain, PWP_UINT32 ndx)
Sequentially enumerate the domain elements.
@ PWGM_ELEMTYPE_POLYG
2D, polygon
PWP_BOOL PwBlkNdxConnection(PWGM_HBLOCK block, PWP_UINT32 ndx, PWGM_CNXNDATA *pCnxnData)
Get the data for the block's nth connection.
@ PWGM_ELEMTYPE_POINT
0D, point grid element
#define PWP_DECLARE_HANDLE(name)
Declares a root-level, strongly-typed data handle type.
@ PWGM_ELEMTYPE_PYRAMID
3D, 5-sided, quad-based grid element
@ PWGM_ELEMORDER_QUAD
Order by 2D, 4-sided grid element.
PWP_BOOL PwUnsBlkSetElement(PWGM_HBLOCK h, const PWP_UINT ndx, const PWGM_ELEMDATA *eData)
Sets the connectivity for an unstructured block element.
PWP_UINT32 PwModBlockCount(PWGM_HGRIDMODEL model)
Get the number of block elements in the model.
@ PWGM_FACEORDER_INTERIORFIRST
all cell faces in interior, boundary order
PWP_BOOL PwModCustomIndex3SchemeReady(PWGM_HGRIDMODEL model, PWGM_INDEX3MAPPERCB cb, void *cbData)
Notifys the Pointwise export framework that the custom, structured index3 map is ready.
PWGM_HGRIDMODEL model
The grid model.
const PWP_UINT64 * faceIndices
PWP_BOOL PwBlkSetConditionUserId(PWGM_HBLOCK block, const PWP_UINT32 userId)
Sets the condition data for a grid entity.
PWGM_INDEX3(* PWGM_INDEX3MAPPERCB)(const PWGM_INDEX3 pwgmNdx, void *data)
The custom, structured Index3Scheme mapper callback function signature.
@ PWGM_ELEMTYPE_BAR
1D, linear grid element
PWP_BOOL PwAsmSetConditionTypeId(PWGM_HBLOCKASSEMBLER assembler, const PWGM_CONDKEY key, const PWP_UINT32 typeId)
Sets the type id of the condition identified by key.
PWP_BOOL PwBlkCondition(PWGM_HBLOCK block, PWGM_CONDDATA *pCondData)
Get the block condition data.
PWP_BOOL PwInRange(PWGM_INDEX3 ijk, const PWGM_STR_RANGE *pRange)
Determines if an PWGM_INDEX3 is within a PWGM_STR_RANGE.
PWGM_HBLOCK block1
connection block1 (source)
PWP_UINT32(* PWGM_BEGINSTREAMCB)(PWGM_BEGINSTREAM_DATA *data)
The begin stream callback function signature.
@ PWGM_ELEMORDER_TET
Order by 3D, 4-sided (tetrahedral) grid element.
PWP_BOOL PwDomCondition(PWGM_HDOMAIN domain, PWGM_CONDDATA *pCondData)
Get the domain condition data.
Structured grid ijk index data type.
PWGM_HCNXN PwBlkEnumConnections(PWGM_HBLOCK block, PWP_UINT32 ndx)
Sequentially enumerate the block's connections.
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.
PWGM_HBNDRY PwModEnumBoundaries(PWGM_HGRIDMODEL model, PWP_UINT32 ndx)
Sequentially enumerate the model's boundaries.
PWGM_HDOMAIN PwModCreateStrDomain(PWGM_HGRIDMODEL model, const PWGM_STR_SIZE domSize)
Creates a structured domain in a model.
PWGM_ENUM_ELEMTYPE
Element type ids.
PWP_BOOL PwAsmSetConditionUserId(PWGM_HBLOCKASSEMBLER assembler, const PWGM_CONDKEY key, const PWP_UINT32 userId)
Sets the user id of the condition identified by key.
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.
Vertex descriptor data type.
PWGM_ELEMDATA elemData
The face's element data.
@ PWGM_FACEORDER_BCGROUPSFIRST
BoundaryFirst grouped by BCs.
PWP_UINT32 neighborCellIndex
The cell index for the block element on the other side of the face.
PWGM_HBNDRY PwBlkEnumBoundaries(PWGM_HBLOCK block, PWP_UINT32 ndx)
Sequentially enumerate the block's boundaries.
@ PWGM_FACETYPE_INTERIOR
The cell face is on the grid's interior.
PWP_BOOL PwAsmSetCellSpanConditionKey(PWGM_HBLOCKASSEMBLER assembler, const PWGM_CONDKEY key, const PWP_UINT32 startCell, const PWP_UINT32 endCell)
Tags a contiguous span of cells with the condition identified by key.
PWP_INT32 j
j-coordinate used for 2D grids
PWGM_FACE_ID
Structured grid block-face ids.
PWGM_INDEX3 PwXformApply(const PWGM_INDEX_XFORM *pX3, PWGM_INDEX3 ijk)
Apply a PWGM_INDEX_XFORM transform to a PWGM_INDEX3 value.
@ PWGM_XYZ_Y
Y-component id.
@ PWGM_FACEORDER_BCGROUPSLAST
InteriorFirst grouped by BCs.
@ PWGM_XYZ_Z
Z-component id.
PWGM_FACE_ID face1
face Id on block1
PWP_BOOL PwVlstReadFile(PWGM_HVERTEXLIST vertlist, FILE *file, const PWGM_XYZ_CLUSTERING fileClustering, const PWP_ENDIANNESS fileByteOrder, const PWP_ENUM_PRECISION filePrecision)
An opaque handle to a grid block element.
PWGM_ENUM_GRIDTYPE gridType
grid type
PWGM_INDEX3 end
ending index
PWP_BOOL PwModGetAttributeREAL(PWGM_HGRIDMODEL model, const char *name, PWP_REAL *val)
Get an attribute value as a specific type.
Element count information.
@ PWGM_ELEMORDER_TRI
Order by 2D, 3-sided grid element.
PWGM_INDEX_XFORM from1to2
transforms block1 index to block2 index
PWGM_STR_RANGE range
boundary ijk range
PWP_BOOL PwModNdxElemDataModEnum(const PWGM_HGRIDMODEL model, const PWP_UINT32 ndx, PWGM_ENUMELEMDATA *pElemData)
Sequentially enumerate the model's block element data.
PWGM_ELEMCOUNTS counts
The model's total element counts.
PWP_BOOL PwVlstIsStructured(PWGM_HVERTEXLIST h)
Check the type of a vertex list.
PWP_UINT64 numFaceIndices
PWP_UINT32 totalNumFaces
The total number of faces in the entire model (= numBoundaryFaces + numInteriorFaces).
PWGM_FACE_ID face
boundary face id
PWP_BOOL PwModGetAttributeValue(PWGM_HGRIDMODEL model, const char *name, PWP_ENUM_VALTYPE bufType, void *buf, PWP_UINT count)
Get an attribute's value.
PWP_BOOL PwModGetAttributeBOOL(PWGM_HGRIDMODEL model, const char *name, PWP_BOOL *val)
Get an attribute value as a specific type.
@ PWGM_ELEMTYPE_WEDGE
3D, extruded, tri/quad grid element
PWP_UINT32 PwModConnectionCount(PWGM_HGRIDMODEL model)
Get the number of structured grid connections in the model.
Data passed to a PWGM_BEGINSTREAMCB callback function.
PWP_UINT32 vertCnt
Number of vertices.
PWP_UINT32 PwModBoundaryCount(PWGM_HGRIDMODEL model)
Get the number of structured grid boundaries in the model.
PWP_BOOL PwAsmSetProperty(PWGM_HBLOCKASSEMBLER assembler, const PWP_UINT32 propertySetId, const char *key, const char *val)
Sets the text value of a property identified by key.
PWP_INT32 k
k-coordinate used for 3D grids only
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.
PWP_BOOL PwVertXyzVal(PWGM_HVERTEX vertex, PWGM_ENUM_XYZ which, PWGM_XYZVAL *pVal)
Get a vertex's x, y, or z component value.
Structured grid boundary data type.
@ PWGM_FACEORDER_BOUNDARYONLY
only boundary cell faces
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_BOOL PwBlkSetConditionUserName(PWGM_HBLOCK block, const char *userName)
Sets the condition name for a grid entity.
PWP_UINT32 numInteriorFaces
How many faces in totalNumFaces that are interior to the model.
PWGM_HVERTEXLIST PwBlkGetVertexList(PWGM_HBLOCK h)
Get the vertex list associated with an unstructured or structured block.
PWGM_HBLOCKASSEMBLER PwVlstCreateBlockAssembler(PWGM_HVERTEXLIST h)
Creates an unstructured block face assembler that uses vertices from an unstructured vertex list.
void * userData
The PwModStreamFaces user data ptr.
@ PWGM_CNXNTYPE_MANY_TO_ONE
one-to-many grid point match
PWGM_INDEX3 beg
begining index
PWP_UINT32 PwBlkConnectionCount(PWGM_HBLOCK block)
Get the number of connections in the block.
const PWP_UINT64 * indices
PWP_BOOL PwBlkSetConditionTypeId(PWGM_HBLOCK block, const PWP_UINT32 typeId)
Sets the condition data for a grid entity.
PWP_ENDIANNESS
Flags used to indicate endianness or control endian behaviors in functions.
PWP_BOOL PwModGetAttributeINT(PWGM_HGRIDMODEL model, const char *name, PWP_INT *val)
Get an attribute value as a specific type.
PWGM_HVERTEXLIST PwModCreateUnsVertexList3(PWGM_HGRIDMODEL model)
Creates an empty, unstructured vertex list in a model for 3-D blocks and 2-D domains.
PWGM_HELEMENT blockElem
The block cell element's handle.
PWP_INT32 i
i-coordinate used for 2D grids
PWGM_HVERTEXLIST PwConGetVertexList(PWGM_HCONNECTOR h)
Get the vertex list associated with a connector.
@ PWGM_FACE_UNSTR
unstructured
PWP_UINT32 owner
The id of the cell that owns the face.
PWGM_HELEMENT PwModEnumElements(PWGM_HGRIDMODEL model, PWP_UINT32 ndx)
Sequentially enumerate the model's block elements.
PWP_BOOL PwModGetAttributeINT32(PWGM_HGRIDMODEL model, const char *name, PWP_INT32 *val)
Get an attribute value as a specific type.
PWP_BOOL PwVlstAllocate(PWGM_HVERTEXLIST h, const PWP_UINT count)
Allocates storage in an unstructured vertex list.
PWP_BOOL PwVertDataMod(PWGM_HVERTEX vertex, PWGM_VERTDATA *pVertData)
Get the vertex data relative to the model's index space.
Information about a block cell element that touches a face.
PWP_BOOL PwUnsBlkAllocateElementCounts(PWGM_HBLOCK h, const PWGM_ELEMCOUNTS &counts)
Allocates element storage in an unstructured block.
PWP_BOOL PwConSetConditionUserName(PWGM_HCONNECTOR connector, const char *userName)
Sets the condition name for a connector.
PWGM_STR_SIZE size
vertex-size
const char * name
boundary name
PWP_BOOL PwModNdxElemDataMod(const PWGM_HGRIDMODEL model, const PWP_UINT32 ndx, PWGM_ELEMDATA *pElemData)
Sequentially enumerate the model's block element data.
PWP_BOOL PwModStreamFacesAnyOrder(const PWGM_HGRIDMODEL model, PWGM_BEGINSTREAMCB beginCB, PWGM_FACESTREAMCB faceCB, PWGM_ENDSTREAMCB endCB, void *userData)
Stream all the grid model's faces to callback functions in an unspecified order. It is possible that ...
PWP_BOOL PwModNdxConnection(PWGM_HGRIDMODEL model, PWP_UINT32 ndx, PWGM_CNXNDATA *pCnxnData)
Get the data for the model's nth connection.
PWP_BOOL ok
PWP_TRUE if streaming completed successfully.
PWP_BOOL PwXform2to3(const PWGM_INDEX_XFORM2 *pX2, PWGM_INDEX_XFORM *pX3)
Convert a 2D transform matrix to it's 3D equivalent.
Condition descriptor data type.
PWP_BOOL PwBlkSetConditionTypeName(PWGM_HBLOCK block, const char *typeName)
Sets the condition data for a grid entity.
@ PWGM_CNXNTYPE_MANY_TO_MANY
many-to-many grid point match
An opaque handle to a structured block boundary.
PWP_BOOL PwDomSetCondition(PWGM_HDOMAIN domain, const PWGM_CONDDATA &condData)
Sets the condition data for a domain.
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.
Data passed to a PWGM_ENDSTREAMCB callback function.
PWGM_INDEX3 PW_DLL_IMPEXP PWGM_STR_SIZE
Structured grid ijk size data type.
PWP_BOOL PwBlkSetCondition(PWGM_HBLOCK block, const PWGM_CONDDATA &condData)
Sets the condition data for a grid entity.
Data passed to a PWGM_FACESTREAMCB callback function.
PWGM_HBLOCK PwModEnumBlocks(PWGM_HGRIDMODEL model, PWP_UINT32 ndx)
Sequentially enumerate the model block elements.
PWGM_HDOMAIN PwVlstCreateUnsDomain(PWGM_HVERTEXLIST h)
Creates an unstructured domain that uses vertices from an unstructured vertex list.
PWP_REAL PWGM_XYZVAL
XYZ component data type.
@ PWGM_FACETYPE_BOUNDARY
The cell face is on the grid's boundary.
PWP_BOOL PwConSetCondition(PWGM_HCONNECTOR connector, const PWGM_CONDDATA &condData)
Sets the condition data for a connector.
PWP_UINT32 PwBlkBoundaryCount(PWGM_HBLOCK block)
Get the number of boundaries in the block.
PWP_BOOL PwUnsDomSetElement(PWGM_HDOMAIN h, const PWP_UINT ndx, const PWGM_ELEMDATA *eData)
Sets the connectivity for an unstructured domain element.
PWP_UINT32 i
vertex index in parent's model-space
@ PWGM_FACETYPE_CONNECTION
The cell face is on the grid's interior.
PWP_BOOL PwModGetAttributeString(PWGM_HGRIDMODEL model, const char *name, const char **val)
Get an attribute value as a specific type.
PWGM_STR_RANGE range2
ijk connection range in block2 index space
PWP_BOOL PwDomSetConditionTypeName(PWGM_HDOMAIN domain, const char *typeName)
Sets the condition data for a domain.
@ PWGM_IJK_I
I-component id.
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's faces to a callback function in the specified order.
PWP_BOOL PwConSetConditionTypeId(PWGM_HCONNECTOR connector, const PWP_UINT32 typeId)
Sets the condition data for a connector.
@ PWGM_FACEORDER_INTERIORONLY
only interior cell faces
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.
PWP_BOOL PwConSetProperty(PWGM_HCONNECTOR connector, const char *key, const char *val)
Sets the text value of a property identified by key.
PWP_BOOL PwModStreamBoundaryFacesOnly(const PWGM_HGRIDMODEL model, PWGM_BEGINSTREAMCB beginCB, PWGM_FACESTREAMCB faceCB, PWGM_ENDSTREAMCB endCB, void *userData)
Stream the grid model's boundary faces to callback functions.
PWP_BOOL PwModNdxVertDataMod(const PWGM_HGRIDMODEL model, const PWP_UINT32 ndx, PWGM_VERTDATA *pVertData)
Sequentially enumerate the vertex data relative to the model's index space.
Structured grid, inter-block, connection data type.
An opaque handle to a grid vertex element.
Pointwise Plugin API (PWP-API)
PWP_BOOL PwModAppendEnumElementOrder(PWGM_HGRIDMODEL model, PWGM_ENUM_ELEMORDER order)
Append an element order to the enumElements() ordering sequence.
Polygon or polyhedron element descriptor data type.
PWP_BOOL PwConnection(PWGM_HCNXN connection, PWGM_CNXNDATA *pCnxnData)
Get the connection data.
PWP_BOOL PwDomSetName(PWGM_HDOMAIN h, const char *name)
Set a domain's name.
PWGM_INDEX_XFORM from2to1
transforms block2 index to block1 index (== inverse(from1to2)
PWP_BOOL PwConSetConditionTypeName(PWGM_HCONNECTOR connector, const char *typeName)
Sets the condition data for a connector.
PWGM_HVERTEXLIST PwModCreateUnsVertexList(PWGM_HGRIDMODEL model, const PWP_ENUM_DIMENSION blkElemDimty)
Creates an empty, unstructured vertex list in a model.
PWGM_HELEMENT domainElem
The domain cell element's handle.
PWGM_FACE_ID face2
face Id on block2
PWP_UINT PwVlstGetIndexDimensionality(PWGM_HVERTEXLIST h)
Get the index dimensionality of a vertex list.
PWGM_HVERTEXLIST PwDomGetVertexList(PWGM_HDOMAIN h)
Get the vertex list associated with an unstructured or structured domain.
PWP_BOOL PwBlkSetProperty(PWGM_HBLOCK block, const char *key, const char *val)
Sets the text value of a property identified by key.
@ PWGM_ELEMORDER_VC
Order by VC id.
PWP_BOOL PwBoundary(PWGM_HBNDRY boundary, PWGM_BNDRYDATA *pBndryData)
Get the boundary data.
An opaque handle to a grid connector element.
PWP_ENUM_DIMENSION
Supported dimensionality values.
Face descriptor data type. Used for face assembler functions.
PWGM_ENUM_IJK
IJK component type ids.
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's nth structured boundary.
PWP_BOOL PwAsmSetCondition(PWGM_HBLOCKASSEMBLER assembler, const PWGM_CONDKEY key, const PWGM_CONDDATA &condData)
Sets the condition data of the condition identified by key.
static PWP_UINT32 beginCB(PWGM_BEGINSTREAM_DATA *data)
PWGM_ENUM_XYZ
XYZ component type ids.
PWP_BOOL PwAsmSetConditionUserName(PWGM_HBLOCKASSEMBLER assembler, const PWGM_CONDKEY key, const char *userName)
Sets the user name of the condition identified by key.
PWGM_HVERTEXLIST PwAsmGetVertexList(PWGM_HBLOCKASSEMBLER h)
Get the vertex list associated with an unstructured block assembler.
PWP_UINT32 numBoundaryFaces
How many faces in totalNumFaces lie on the model's boundary.
@ PWGM_ELEMORDER_HEX
Order by 3D, 6-sided (block) grid element.
PWGM_ENUM_FACEORDER
The orderings supported by face streaming.
PWP_BOOL PwDomSetProperty(PWGM_HDOMAIN domain, const char *key, const char *val)
Sets the text value of a property identified by key.
PWP_BOOL PwModCustomIndexSchemeReady(PWGM_HGRIDMODEL model, PWGM_INDEXMAPPERCB cb, void *cbData)
Notifys the Pointwise export framework that the custom, unstructured index map is ready.
const PWP_UINT64 * offsets
PWGM_INDEX3 PwXform2Apply(const PWGM_INDEX_XFORM2 *pX2, PWGM_INDEX3 ijk)
Apply a PWGM_INDEX_XFORM2 transform to a PWGM_INDEX3 value.
Enumerated model element descriptor data type.
@ PWGM_XYZ_X
X-component id.
PWP_UINT32 PwModNdxBlkElementCount(const PWGM_HGRIDMODEL model, const PWP_UINT32 ndx, PWGM_ELEMCOUNTS *pCounts)
Get the number of elements in a block.
PWGM_HCONNECTOR PwModCreateCon(PWGM_HGRIDMODEL model, PWP_UINT size)
Creates a connector in a model.
#define PWP_DECLARE_HELEMGROUP(pname, name)
Declares a parented, strongly-typed, element group data handle type.
PWP_ENUM_PRECISION
File precision values.
Structured grid ijk range data type.
PWP_BOOL PwUnsBlkAllocateElements(PWGM_HBLOCK h, const PWGM_ENUM_ELEMTYPE cellType, const PWP_UINT count)
Allocates element storage in an unstructured block.
PWP_BOOL PwDomNdxElemDataMod(const PWGM_HDOMAIN domain, const PWP_UINT32 ndx, PWGM_ELEMDATA *pElemData)
Get the domain element data relative to the model's index space.
PWP_BOOL PwVlstIsUnstructured(PWGM_HVERTEXLIST h)
Check the type of a vertex list.
PWP_ENUM_DIMENSION PwVlstGetBlkElemDimensionality(PWGM_HVERTEXLIST h)
Get the block element dimensionality of a vertex list.
PWP_UINT32 face
The face's index in the model's index space.
Grid vertex list handle declaration.
const char * PwElemTypeToText(PWGM_ENUM_ELEMTYPE type)
Maps a PWGM_ENUM_ELEMTYPE value to a human readable string.
PWGM_STR_RANGE range1
ijk connection range in block1 index space
PWP_BOOL PwModGetAttributeUINT(PWGM_HGRIDMODEL model, const char *name, PWP_UINT *val)
Get an attribute value as a specific type.
@ PWGM_ELEMTYPE_QUAD
2D, 4-sided grid element
@ PWGM_ELEMTYPE_HEX
3D, 6-sided (block) grid element
PWP_BOOL PwModGetAttributeEnum(PWGM_HGRIDMODEL model, const char *name, const char **val)
Get an attribute value as a specific type.
PWGM_HBLOCK block
The handle of the block that owns this cell element.
PWP_BOOL PwBlkSetExportName(PWGM_HBLOCK block, const char *name)
Set the name used to identify the block or group of blocks in the exported grid.