    

 ## On this page

  

 

 # sysc::SurfaceMesh Class Reference

 Last update: 17.07.2025 

Provide a surface mesh access class. [More...](classsysc_1_1SurfaceMesh.xhtml#details)

`#include <<a class="el" href="SurfaceMesh_8hpp_source.xhtml">SurfaceMesh.hpp</a>>`

## <a name="pub-methods"></a>Public Member Functions

<a id="ae8dbea460cf8d1076a09229dc8b84c8c"></a> [SurfaceMesh](classsysc_1_1SurfaceMesh.xhtml#ae8dbea460cf8d1076a09229dc8b84c8c) ([NodeData](structsysc_1_1NodeData.xhtml) nodes, [FaceData](structsysc_1_1FaceData.xhtml) faces) Constructor.   
 <a id="ac8acf16ad4e8f6c4788bf81a284af87d"></a> [SurfaceMesh](classsysc_1_1SurfaceMesh.xhtml#ac8acf16ad4e8f6c4788bf81a284af87d) (const [SurfaceMesh](classsysc_1_1SurfaceMesh.xhtml) &amp;)=default Provide a copy-constructor.   
 <a id="a6ce8618c7363d5c62ad8df814d37e484"></a> [SurfaceMesh](classsysc_1_1SurfaceMesh.xhtml#a6ce8618c7363d5c62ad8df814d37e484) ([SurfaceMesh](classsysc_1_1SurfaceMesh.xhtml) &amp;&amp;)=default Provide a move-constructor.   
 <a id="ac277c153888885714a6f70a41261f102"></a>[SurfaceMesh](classsysc_1_1SurfaceMesh.xhtml) &amp; [operator=](classsysc_1_1SurfaceMesh.xhtml#ac277c153888885714a6f70a41261f102) (const [SurfaceMesh](classsysc_1_1SurfaceMesh.xhtml) &amp;)=default Provide a copy-assign operator.   
 <a id="a2d6d7cf5a81f9c9bfb39508947ff4ed4"></a>[SurfaceMesh](classsysc_1_1SurfaceMesh.xhtml) &amp; [operator=](classsysc_1_1SurfaceMesh.xhtml#a2d6d7cf5a81f9c9bfb39508947ff4ed4) ([SurfaceMesh](classsysc_1_1SurfaceMesh.xhtml) &amp;&amp;)=default Provide a move-assign operator.   
 <a id="a49cc3f38274acfaea64527899f43df49"></a>const [NodeData](structsysc_1_1NodeData.xhtml) &amp; [getNodeData](classsysc_1_1SurfaceMesh.xhtml#a49cc3f38274acfaea64527899f43df49) () const noexcept Get node data.   
 <a id="a6dbb920338f44a6762265810ad8afae3"></a>const [FaceData](structsysc_1_1FaceData.xhtml) &amp; [getFaceData](classsysc_1_1SurfaceMesh.xhtml#a6dbb920338f44a6762265810ad8afae3) () const noexcept Get face data.   
 <a id="a79ad7197266d3814f477f7326e6dc04a"></a>std::size\_t [getNumNodes](classsysc_1_1SurfaceMesh.xhtml#a79ad7197266d3814f477f7326e6dc04a) () const Provide a method to get the number of nodes for this mesh.   
 <a id="a0f3aa7623beead3c2925dcc89f451360"></a>std::size\_t [getNumElems](classsysc_1_1SurfaceMesh.xhtml#a0f3aa7623beead3c2925dcc89f451360) () const Provide a method to get the number of elements for this mesh.   
 <a id="a9d34d5c3fa3c6d87f12e94642fadeb91"></a>[OutputIntegerData](classsysc_1_1OutputIntegerData.xhtml) [getNodeIds](classsysc_1_1SurfaceMesh.xhtml#a9d34d5c3fa3c6d87f12e94642fadeb91) () const Provide a method to access node ids array.   
 <a id="a9e5add5718e83f6144004bacc2650d14"></a>[OutputVectorData](classsysc_1_1OutputVectorData.xhtml) [getNodeCoords](classsysc_1_1SurfaceMesh.xhtml#a9e5add5718e83f6144004bacc2650d14) () const Provide a method to access node coordinates array.   
 <a id="aa4e1d85cc62dc422100a8f6c9180eead"></a>[OutputIntegerData](classsysc_1_1OutputIntegerData.xhtml) [getElemTypes](classsysc_1_1SurfaceMesh.xhtml#aa4e1d85cc62dc422100a8f6c9180eead) () const Provide a method to access element types array.   
 <a id="a477d04741fd375efcc702c785e0136dd"></a>[OutputIntegerData](classsysc_1_1OutputIntegerData.xhtml) [getElemNodeCounts](classsysc_1_1SurfaceMesh.xhtml#a477d04741fd375efcc702c785e0136dd) () const Provide a method to access element node counts array.   
 <a id="a891d7359d0536c58984e1c521a367e86"></a>[OutputIntegerData](classsysc_1_1OutputIntegerData.xhtml) [getElemNodeIds](classsysc_1_1SurfaceMesh.xhtml#a891d7359d0536c58984e1c521a367e86) () const Provide a method to access element node ids array.   
 <a id="ad86260da5f6d2980105280f5408cdad7"></a>[FaceCellConnectivityData](structsysc_1_1FaceCellConnectivityData.xhtml) [getFaceCellConnectivity](classsysc_1_1SurfaceMesh.xhtml#ad86260da5f6d2980105280f5408cdad7) () const noexcept Return face-to-cell connectivity data.   
 void [setSide0](classsysc_1_1SurfaceMesh.xhtml#a08e683009bed220d25e4848b24d92a39) (const [RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d) &amp;regionName) Set side 0 region. [More...](classsysc_1_1SurfaceMesh.xhtml#a08e683009bed220d25e4848b24d92a39)  
 void [setSide1](classsysc_1_1SurfaceMesh.xhtml#a15fb1ea02b021107f995e50ec4b35237) (const [RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d) &amp;regionName) Set side 1 region. [More...](classsysc_1_1SurfaceMesh.xhtml#a15fb1ea02b021107f995e50ec4b35237)  
 <a id="a504afae8d069ededcc257e430b66d635"></a>bool [hasSide0](classsysc_1_1SurfaceMesh.xhtml#a504afae8d069ededcc257e430b66d635) () const noexcept Returns whether side 0 region is set.   
 <a id="a73d353dd486f22a5e17b11fcab360df7"></a>bool [hasSide1](classsysc_1_1SurfaceMesh.xhtml#a73d353dd486f22a5e17b11fcab360df7) () const noexcept Returns whether side 1 region is set.   
 <a id="a9670c34062f7137cb45ac3105c78980b"></a>const [RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d) &amp; [getSide0](classsysc_1_1SurfaceMesh.xhtml#a9670c34062f7137cb45ac3105c78980b) () const Get side 0 region.   
 <a id="a4e64f080b3e23ed534f4ff5b31e829dc"></a>const [RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d) &amp; [getSide1](classsysc_1_1SurfaceMesh.xhtml#a4e64f080b3e23ed534f4ff5b31e829dc) () const Get side 1 region.   
 [MeshValidityStatus](structsysc_1_1MeshValidityStatus.xhtml) [checkMeshValidity](classsysc_1_1SurfaceMesh.xhtml#a786a6cbbf2ab08214207b4fe38f0f013) () const Provide a method to perform simple mesh validity checks. [More...](classsysc_1_1SurfaceMesh.xhtml#a786a6cbbf2ab08214207b4fe38f0f013)  
 <a id="a76a9ff65458582744b60e5eb7bbcd13a"></a> [SurfaceMesh](classsysc_1_1SurfaceMesh.xhtml#a76a9ff65458582744b60e5eb7bbcd13a) ([NodeData](structsysc_1_1NodeData.xhtml) nodes, [ElementTypeData](structsysc_1_1ElementTypeData.xhtml) elemTypes, [ElementNodeCountData](structsysc_1_1ElementNodeCountData.xhtml) elemNodeCounts, [ElementNodeConnectivityData](structsysc_1_1ElementNodeConnectivityData.xhtml) elemNodeIds, [FaceCellConnectivityData](structsysc_1_1FaceCellConnectivityData.xhtml) faceCellConnectivity) Construct the surface mesh object.   
 <a id="a87991fd2bb3260b835c6872d860e4f74"></a> [SurfaceMesh](classsysc_1_1SurfaceMesh.xhtml#a87991fd2bb3260b835c6872d860e4f74) ([NodeData](structsysc_1_1NodeData.xhtml) nodes, [ElementTypeData](structsysc_1_1ElementTypeData.xhtml) elementTypes, [ElementNodeConnectivityData](structsysc_1_1ElementNodeConnectivityData.xhtml) elementNodeIds) Construct the surface mesh object.   
 <a id="a1f062afae5b75dfce4d4a60c6e3a60d0"></a> [SurfaceMesh](classsysc_1_1SurfaceMesh.xhtml#a1f062afae5b75dfce4d4a60c6e3a60d0) ([NodeData](structsysc_1_1NodeData.xhtml) meshNodes, [ElementNodeCountData](structsysc_1_1ElementNodeCountData.xhtml) faceNodeCounts, [ElementNodeConnectivityData](structsysc_1_1ElementNodeConnectivityData.xhtml) faceNodeIds) Construct the surface mesh object.   
 <a id="a39dd2b26100e08bd41e00a9d9373bd3a"></a> [SurfaceMesh](classsysc_1_1SurfaceMesh.xhtml#a39dd2b26100e08bd41e00a9d9373bd3a) ([NodeData](structsysc_1_1NodeData.xhtml) meshNodes, [ElementNodeCountData](structsysc_1_1ElementNodeCountData.xhtml) faceNodeCounts, [ElementNodeConnectivityData](structsysc_1_1ElementNodeConnectivityData.xhtml) faceNodeIds, [FaceCellConnectivityData](structsysc_1_1FaceCellConnectivityData.xhtml) faceCellConnectivity) Construct the surface mesh object.   
 <a id="a90c944bfd9d09536be22b607f8c84abd"></a> **SurfaceMesh** ([OutputIntegerData](classsysc_1_1OutputIntegerData.xhtml) nodeIds, [OutputVectorData](classsysc_1_1OutputVectorData.xhtml) nodeCoords, [OutputIntegerData](classsysc_1_1OutputIntegerData.xhtml) elemNodeCounts, [OutputIntegerData](classsysc_1_1OutputIntegerData.xhtml) elemNodeIds) <a id="a1f4417e620f5c79b8c855c203978be84"></a> **SurfaceMesh** ([OutputVectorData](classsysc_1_1OutputVectorData.xhtml) nodeCoords, [OutputIntegerData](classsysc_1_1OutputIntegerData.xhtml) elemNodeCounts, [OutputIntegerData](classsysc_1_1OutputIntegerData.xhtml) elemNodeIds) ## <a name="pub-attribs"></a>Public Attributes

<a id="aa0399097b006a460acab8136f5b546c8"></a>std::int64\_t [connectivityStamp](classsysc_1_1SurfaceMesh.xhtml#aa0399097b006a460acab8136f5b546c8) {0} Mesh connectivity stamp. Update whenever re-meshing happens.   
 <a id="a26e8d40282423e06168eb558359e6b4f"></a>std::int64\_t [coordinatesStamp](classsysc_1_1SurfaceMesh.xhtml#a26e8d40282423e06168eb558359e6b4f) {0} Nodal coordinates stamp. Update whenever nodal coordinates get updated.   
 <a id="a5a697ca4a8e2276ddd7fcb5a63cae622"></a>std::int64\_t [partitioningStamp](classsysc_1_1SurfaceMesh.xhtml#a5a697ca4a8e2276ddd7fcb5a63cae622) {0} Partitioning stamp. Update whenever the mesh is re-partitioned.   
 <a id="details" name="details"></a>## Detailed Description

Provide a surface mesh access class.

Provides read-only access to the surface mesh for a given region.

Definition at line [27](SurfaceMesh_8hpp_source.xhtml#l00027) of file [SurfaceMesh.hpp](SurfaceMesh_8hpp_source.xhtml).



## Member Function Documentation

<a id="a786a6cbbf2ab08214207b4fe38f0f013"></a>## [◆ ](#a786a6cbbf2ab08214207b4fe38f0f013)checkMeshValidity()

 [MeshValidityStatus](structsysc_1_1MeshValidityStatus.xhtml) sysc::SurfaceMesh::checkMeshValidity  ( )  const

Provide a method to perform simple mesh validity checks.

See [SystemCoupling::checkMeshValidity](classsysc_1_1SystemCoupling.xhtml#a8c7d2613f81b8d9a5bd81db9dcbae8fd "Deprecated. Use sysc::SurfaceMesh::checkMeshValidity instead.") for more details.





<a id="a08e683009bed220d25e4848b24d92a39"></a>## [◆ ](#a08e683009bed220d25e4848b24d92a39)setSide0()

 void sysc::SurfaceMesh::setSide0  ( const [RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d) &amp;  *regionName*) 

Set side 0 region.

If this region is not a surface mesh region, then a run-time error will be thrown.

If the provided side 0 region is not a volume mesh region, then a run-time error will be thrown.





<a id="a15fb1ea02b021107f995e50ec4b35237"></a>## [◆ ](#a15fb1ea02b021107f995e50ec4b35237)setSide1()

 void sysc::SurfaceMesh::setSide1  ( const [RegionName](group__SystemCouplingParticipantAPIs.xhtml#gad700042fb75659f4591c4dae6560a62d) &amp;  *regionName*) 

Set side 1 region.

If this region is not a surface mesh region, then a run-time error will be thrown.

If the provided side 0 region is not a volume mesh region, then a run-time error will be thrown.