2 * NOTICE and LICENSE for Tecplot Input/Output Library (TecIO) - OpenFOAM
4 * Copyright (C) 1988-2009 Tecplot, Inc. All rights reserved worldwide.
6 * Tecplot hereby grants OpenCFD limited authority to distribute without
7 * alteration the source code to the Tecplot Input/Output library, known
8 * as TecIO, as part of its distribution of OpenFOAM and the
9 * OpenFOAM_to_Tecplot converter. Users of this converter are also hereby
10 * granted access to the TecIO source code, and may redistribute it for the
11 * purpose of maintaining the converter. However, no authority is granted
12 * to alter the TecIO source code in any form or manner.
14 * This limited grant of distribution does not supersede Tecplot, Inc.'s
15 * copyright in TecIO. Contact Tecplot, Inc. for further information.
18 * 3535 Factoria Blvd, Ste. 550
19 * Bellevue, WA 98006, USA
20 * Phone: +1 425 653 1200
21 * http://www.tecplot.com/
25 ******************************************************************
26 ******************************************************************
28 ****** (C) 1988-2008 Tecplot, Inc. *******
30 ******************************************************************
31 ******************************************************************
39 #if defined FACEMODULE
49 class SubElemValueProducerInterface
;
56 inline Boolean_t
IsCellFaceLogicallyCollapsed(LgIndex_t I1
,
61 return ((I1
== I2
&& I3
== I4
) ||
62 (I1
== I4
&& I2
== I3
) ||
69 * A face obscuration of FaceObscuration_LogicallyObscured means that the
70 * face is entirely obscured by either an implicit neighbor for inside faces
71 * of ordered data or an auto generated neighbor for finite element data. In
72 * either case, logical obscuration is not considered if user defined
73 * neighbors have been specified for the face. Therefore, interior faces of
74 * ordered data can have an indication of FaceObscuration_PartiallyObscured.
78 FaceObscuration_NotObscured
,
79 FaceObscuration_PartiallyObscured
,
80 FaceObscuration_EntirelyObscured
,
81 FaceObscuration_LogicallyObscured
,
82 END_FaceObscuration_e
,
83 FaceObscuration_Invalid
= BadEnumValue
88 EXTERN LgIndex_t
GetLogicalOrderedNeighbor(LgIndex_t NumIPts
,
95 * Function to determine a cell's neighbor. It calls FaceNeighborGetSurfaceCellNeighbor()
98 EXTERN
void GetSurfaceCellNeighbor(CZInfo_s
const* CZInfo
,
99 CZData_s
const* CZData
,
100 LgIndex_t SurfaceCellIndex
,
101 tecplot::kernel::SubElemValueProducerInterface
* NodeValueProducer
,
102 ElemFaceOffset_t PlaneOrFaceOffset
,
103 ElemFaceOffset_t Edge
,
104 LgIndex_t
* NeighborSurfaceCellElem
,
105 EntIndex_t
* NeighborSurfaceCellZone
);
108 EXTERN FaceObscuration_e
GetFaceObscuration(CZInfo_s
const* CZInfo
,
109 CZData_s
const* CZData
,
110 Set_pa ActiveRelevantZones
,
113 Boolean_t ConsiderValueBlanking
,
114 Boolean_t ConsiderIJKBlanking
,
115 Boolean_t ConsiderDepthBlanking
);
117 EXTERN EntIndex_t
GetNodesPerElementFace(ZoneType_e ZoneType
);
119 EXTERN EntIndex_t
GetFacesPerElement(ZoneType_e ZoneType
,
124 EXTERN CollapsedStatus_e
GetSurfaceCellCollapsedStatus(CZInfo_s
const* CZInfo
,
125 CZData_s
const* CZData
,
126 tecplot::kernel::SubElemValueProducerInterface
* SubElemValueProducer
);
127 EXTERN CollapsedStatus_e
GetSurfaceCellCollapsedStatus(CZInfo_s
const* CZInfo
,
128 CZData_s
const* CZData
,
133 EXTERN CollapsedStatus_e
GetSurfaceCellLogicalCollapsedStatus(ZoneType_e ZoneType
,
138 EXTERN CollapsedStatus_e
GetSurfEdgeOrVolFaceLogicalCollapsedStatus(NodeMap_pa NodeMap
,
141 #if defined ALLOW_USERDEF_NO_NEIGHBORING_ELEMENT
144 EXTERN Boolean_t
IsUserDefFaceNeighborBoundary(FaceNeighbor_pa FaceNeighbor
,