+//================================================================================
+/*!
+ * \brief Return SMDSAbs_ElementType by SMDSAbs_GeometryType
+ */
+//================================================================================
+
+SMDSAbs_ElementType SMDS_MeshCell::toSmdsType(SMDSAbs_GeometryType geomType)
+{
+ switch ( geomType ) {
+ case SMDSGeom_POINT: return SMDSAbs_0DElement;
+
+ case SMDSGeom_EDGE: return SMDSAbs_Edge;
+
+ case SMDSGeom_TRIANGLE:
+ case SMDSGeom_QUADRANGLE:
+ case SMDSGeom_POLYGON: return SMDSAbs_Face;
+
+ case SMDSGeom_TETRA:
+ case SMDSGeom_PYRAMID:
+ case SMDSGeom_HEXA:
+ case SMDSGeom_PENTA:
+ case SMDSGeom_HEXAGONAL_PRISM:
+ case SMDSGeom_POLYHEDRA: return SMDSAbs_Volume;
+
+ case SMDSGeom_BALL: return SMDSAbs_Ball;
+
+ case SMDSGeom_NONE: ;
+ }
+ return SMDSAbs_All;
+}
+
+//================================================================================
+/*!
+ * \brief Return SMDSAbs_ElementType by SMDSAbs_EntityType
+ */
+//================================================================================
+
+SMDSAbs_ElementType SMDS_MeshCell::toSmdsType(SMDSAbs_EntityType entityType)
+{
+ switch ( entityType ) {
+ case SMDSEntity_Node: return SMDSAbs_Node;
+
+ case SMDSEntity_0D: return SMDSAbs_0DElement;
+
+ case SMDSEntity_Edge:
+ case SMDSEntity_Quad_Edge: return SMDSAbs_Edge;
+
+ case SMDSEntity_Triangle:
+ case SMDSEntity_Quad_Triangle:
+ case SMDSEntity_Quadrangle:
+ case SMDSEntity_Quad_Quadrangle:
+ case SMDSEntity_BiQuad_Quadrangle:
+ case SMDSEntity_Polygon:
+ case SMDSEntity_Quad_Polygon: return SMDSAbs_Face;
+
+ case SMDSEntity_Tetra:
+ case SMDSEntity_Quad_Tetra:
+ case SMDSEntity_Pyramid:
+ case SMDSEntity_Quad_Pyramid:
+ case SMDSEntity_Hexa:
+ case SMDSEntity_Quad_Hexa:
+ case SMDSEntity_TriQuad_Hexa:
+ case SMDSEntity_Penta:
+ case SMDSEntity_Quad_Penta:
+ case SMDSEntity_Hexagonal_Prism:
+ case SMDSEntity_Polyhedra:
+ case SMDSEntity_Quad_Polyhedra: return SMDSAbs_Volume;
+
+ case SMDSEntity_Ball: return SMDSAbs_Ball;
+
+ case SMDSEntity_Last:;
+ }
+ return SMDSAbs_All;
+}
+
+