Salome HOME
22316: EDF 2719 SMESH: Split hexas into prisms
authoreap <eap@opencascade.com>
Mon, 20 Jan 2014 10:32:14 +0000 (10:32 +0000)
committereap <eap@opencascade.com>
Mon, 20 Jan 2014 10:32:14 +0000 (10:32 +0000)
+    GeometryType GetElementShape( in long id )
+      raises (SALOME::SALOME_Exception);

idl/SMESH_Mesh.idl
src/SMESH_I/SMESH_Mesh_i.cxx
src/SMESH_I/SMESH_Mesh_i.hxx

index ff60e68..92a3cd3 100644 (file)
@@ -810,6 +810,9 @@ module SMESH
     EntityType GetElementGeomType( in long id )
       raises (SALOME::SALOME_Exception);
 
+    GeometryType GetElementShape( in long id )
+      raises (SALOME::SALOME_Exception);
+
     long_array GetSubMeshElementsId(in long ShapeID)
       raises (SALOME::SALOME_Exception);
 
index f6beb92..b47ae9b 100644 (file)
@@ -3469,6 +3469,25 @@ SMESH::EntityType SMESH_Mesh_i::GetElementGeomType( const CORBA::Long id )
 
 //=============================================================================
 /*!
+ *
+ */
+//=============================================================================
+
+SMESH::GeometryType SMESH_Mesh_i::GetElementShape( const CORBA::Long id )
+  throw (SALOME::SALOME_Exception)
+{
+  if ( _preMeshInfo )
+    _preMeshInfo->FullLoadFromFile();
+
+  const SMDS_MeshElement* e = _impl->GetMeshDS()->FindElement(id);
+  if ( !e )
+    THROW_SALOME_CORBA_EXCEPTION( "invalid element id", SALOME::BAD_PARAM );
+
+  return ( SMESH::GeometryType ) e->GetGeomType();
+}
+
+//=============================================================================
+/*!
  * Returns ID of elements for given submesh
  */
 //=============================================================================
index 2615bef..7b1fdc4 100644 (file)
@@ -368,6 +368,9 @@ public:
   SMESH::EntityType GetElementGeomType( CORBA::Long id )
     throw (SALOME::SALOME_Exception);
 
+  SMESH::GeometryType GetElementShape( CORBA::Long id )
+    throw (SALOME::SALOME_Exception);
+
   /*!
    * Returns ID of elements for given submesh
    */