Woolz Image Processing
Version 1.7.5
|
A single 3D tetrahedral mesh element. Typedef: WlzCMeshElm3D. More...
Data Fields | |
int | idx |
unsigned int | flags |
struct _WlzCMeshFace | face [4] |
struct _WlzCMeshCellElm3D * | cElm |
void * | prop |
A single 3D tetrahedral mesh element. Typedef: WlzCMeshElm3D.
The following diagram depicts a mesh element, viewed from above with the apex (node n0) pointing towards the viewer. From this view, face f3 is at the rear of the tetrahedron.
O n1 /|\ / | \ / | \ / | \ / | \ f3 / | \ / / | \/ / | .\ / | . \ / | . \ / | . \ / O \ / f1 / \ f0 \ / / n0 \ \ / / \ \ / / \ \ / / \ \ / / \ \ / / \ \ / / f2 \ \ / / \ \ / / \ \ / / \ \ n3 O-----------------------------------------------O n2
The relationship between nodes and faces depicted in this diagrap is used in constructing new mesh elements.
The tetrahedron can be opened a net and viewed looking at the directed edges uses associated with the faces from outside the element surface as shown below:
n1 n0 O-----------------------------O-----------------------------0 n0 \ ---------------------> / \ --------------------> / \ % e0 / % \ % e1 / \ \ / / / \ \ / / \ \ / / / \ \ \ / / \ \ / / / \ \ \ / / \ \ f0 / / / \ \ \ f1 / / \ \ e2 e1 / / / \ \ \ e1 e0 / / \ \ / / / \ \ \ / / \ \ / / / f3 \ \ \ / / \ \ / / / e0 e1 \ \ \ / / \ \ / / / \ \ / / \ / / / \ \ % / \ % / e2 % \ / \ / <-------------------- \ / O-----------------------------O n2 \ % --------------------> / n3 \ \ e1 / \ \ / / \ \ / / \ \ / / \ \ f2 / / \ \ / / \ \ e0 e2 / / \ \ / / \ \ / / \ \ / / \ / / \ % / \ / O n0
Each mesh element has four faces and each face has three directed edges, with the edges directed counter clockwise (when viewed from outside the mesh element) away from their nodes.
Face | Edge Use | Node |
0 | 0 | 0 |
0 | 1 | 1 |
0 | 2 | 2 |
1 | 0 | 0 |
1 | 1 | 3 |
1 | 2 | 1 |
2 | 0 | 0 |
2 | 1 | 2 |
2 | 2 | 3 |
3 | 0 | 1 |
3 | 1 | 1 |
3 | 2 | 3 |
The face opposite a node, or node opposite a face can easily be found using: \(f + n = 3\), where \(f\) is the face and \(n\) is the node.
int _WlzCMeshElm3D::idx |
The element index from WlzCMeshEntCore.
Referenced by WlzBasisFnSetCMesh3D(), WlzCMeshAllocElm3D(), WlzCMeshBoundConform3D(), WlzCMeshClearElmFlags3D(), WlzCMeshCmpElmFeat3D(), WlzCMeshCopy3D(), WlzCMeshDbgOutVTK3D(), WlzCMeshElmClosestPosIn3D(), WlzCMeshElmFree3D(), WlzCMeshElmMinEdgLnSq3D(), WlzCMeshElmRingElmIndices3D(), WlzCMeshElmUseNod3D(), WlzCMeshExpansion(), WlzCMeshFixNegativeElms3D(), WlzCMeshFMarNodes3D(), WlzCMeshGetNodesAndEdges(), WlzCMeshIntersect2Mesh2D(), WlzCMeshNextElm3D(), WlzCMeshReassignGridCells3D(), WlzCMeshSetBoundElmFlags3D(), WlzCMeshSetElmIdxTbl3D(), WlzCMeshStrainTensorAtPts(), WlzCMeshToDomObjValues(), WlzCMeshTransformInvert(), WlzCMeshTrRegSM3D(), WlzCMeshUpdateMaxSqEdgLen3D(), WlzCMeshValuesNormalise(), WlzCMeshVerify3D(), WlzContourGrdObj2D(), WlzCopyValues(), WlzEffWriteObjEMT(), WlzEffWriteObjMesh(), WlzEffWriteObjNodeEle(), WlzEffWriteObjVMesh(), WlzEffWritePointsVtkFieldValues(), WlzIndexedValuesSet(), WlzObjectFacts(), and WlzWriteMeshTransform3D().
unsigned int _WlzCMeshElm3D::flags |
Element flags from WlzCMeshEntCore.
Referenced by WlzCMeshBoundConform3D(), WlzCMeshClearElmFlags3D(), WlzCMeshSetBoundElmFlags3D(), WlzEffReadObjMesh(), WlzReadMeshTransform3D(), and WlzWriteMeshTransform3D().
struct _WlzCMeshFace _WlzCMeshElm3D::face[4] |
Faces of the mesh element.
Referenced by WlzCMeshDbgOutVTK3D(), WlzCMeshDelElm3D(), WlzCMeshElmBBox3D(), WlzCMeshElmClosestPosIn3D(), WlzCMeshElmIsBoundary3D(), WlzCMeshElmRingElmIndices3D(), WlzCMeshFixNegativeElms3D(), WlzCMeshFMarNodes3D(), WlzCMeshNewNod3D(), WlzCMeshSetElm3D(), WlzCMeshVerify3D(), WlzContourGrdObj2D(), WlzEffWriteObjEMT(), WlzEffWriteObjVMesh(), and WlzObjectFacts().
struct _WlzCMeshCellElm3D* _WlzCMeshElm3D::cElm |
First cell element from which all other cell elements can be reached using the next pointer.
Referenced by WlzCMeshNewNod3D().
void* _WlzCMeshElm3D::prop |
Element properties.