+//=======================================================================
+// name : entityTypes
+// Purpose : returns available entity types of elements
+//=======================================================================
+
+static QList<int> entityTypes( const int theType )
+{
+ QList<int> typeIds;
+
+ switch ( theType )
+ {
+ case SMESH::NODE:
+ typeIds.append( SMDSEntity_Node );
+ case SMESH::EDGE:
+ typeIds.append( SMDSEntity_Edge );
+ typeIds.append( SMDSEntity_Quad_Edge );
+ break;
+ case SMESH::FACE:
+ typeIds.append( SMDSEntity_Triangle );
+ typeIds.append( SMDSEntity_Quad_Triangle );
+ typeIds.append( SMDSEntity_BiQuad_Triangle );
+ typeIds.append( SMDSEntity_Quadrangle );
+ typeIds.append( SMDSEntity_Quad_Quadrangle );
+ typeIds.append( SMDSEntity_BiQuad_Quadrangle );
+ typeIds.append( SMDSEntity_Polygon );
+ //typeIds.append( SMDSEntity_Quad_Polygon );
+ break;
+ case SMESH::VOLUME:
+ typeIds.append( SMDSEntity_Tetra );
+ typeIds.append( SMDSEntity_Quad_Tetra );
+ typeIds.append( SMDSEntity_Pyramid );
+ typeIds.append( SMDSEntity_Quad_Pyramid );
+ typeIds.append( SMDSEntity_Hexa );
+ typeIds.append( SMDSEntity_Quad_Hexa );
+ typeIds.append( SMDSEntity_TriQuad_Hexa );
+ typeIds.append( SMDSEntity_Penta );
+ typeIds.append( SMDSEntity_Quad_Penta );
+ typeIds.append( SMDSEntity_Hexagonal_Prism );
+ typeIds.append( SMDSEntity_Polyhedra );
+ //typeIds.append( SMDSEntity_Quad_Polyhedra );
+ break;
+ case SMESH::ELEM0D:
+ typeIds.append( SMDSEntity_0D );
+ break;
+ case SMESH::BALL:
+ typeIds.append( SMDSEntity_Ball );
+ break;
+ }
+ return typeIds;
+}
+