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 ff60e68addfeb99c2097d0bc9d314d6c444dac1e..92a3cd3b828d1f0d224dd0fb189399d3fab39a6b 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 f6beb92d5de1d36f109f00675350b6a200a2cd4b..b47ae9b19e261cd1c7ae03d6f169e51d68bbb774 100644 (file)
@@ -3467,6 +3467,25 @@ SMESH::EntityType SMESH_Mesh_i::GetElementGeomType( const CORBA::Long id )
   return ( SMESH::EntityType ) e->GetEntityType();
 }
 
+//=============================================================================
+/*!
+ *
+ */
+//=============================================================================
+
+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 2615bef48a20cce6f2091a08826494627e1885e2..7b1fdc473fe4d632ddc7fc5b1da9e4702ca7523a 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
    */