+ int GetAllExistingFaces(std::vector<const SMDS_MeshElement*> & faces) const;
+ // Fill vector with boundary faces existing in the mesh
+
+ // ------------------------
+ // static methods for faces
+ // ------------------------
+
+ static VolumeType GetType(int nbNodes);
+ // return VolumeType by nb of nodes in a volume
+
+ static int NbFaces( VolumeType type );
+ // return nb of faces by volume type
+
+ static const int* GetFaceNodesIndices(VolumeType type,
+ int faceIndex,
+ bool external);
+ // Return the array of face nodes indices
+ // To comfort link iteration, the array
+ // length == NbFaceNodes( faceIndex ) + 1 and
+ // the last node index == the first one.
+ // Nodes at face centers of SMDSEntity_TriQuad_Hexa are ignored
+
+ static int NbFaceNodes(VolumeType type, int faceIndex );
+ // Return number of nodes in the array of face nodes
+ // Nodes at face centers of SMDSEntity_TriQuad_Hexa are ignored
+
+ static int NbCornerNodes(VolumeType type);
+ // Useful to know nb of corner nodes of a quadratic volume
+
+ static int GetOppFaceIndexOfHex( int faceIndex );
+ // Return index of the opposite face of the hexahedron