return aList._retn();
}
+SMESH::submesh_array* SMESH_Mesh_i::GetSubMeshes() throw (SALOME::SALOME_Exception)
+{
+ Unexpect aCatch(SALOME_SalomeException);
+ if (MYDEBUG) MESSAGE("GetSubMeshes");
+
+ SMESH::submesh_array_var aList = new SMESH::submesh_array();
+
+ // Python Dump
+ TPythonDump aPythonDump;
+ if ( !_mapSubMeshIor.empty() )
+ aPythonDump << "[ ";
+
+ try {
+ aList->length( _mapSubMeshIor.size() );
+ int i = 0;
+ map<int, SMESH::SMESH_subMesh_ptr>::iterator it = _mapSubMeshIor.begin();
+ for ( ; it != _mapSubMeshIor.end(); it++ ) {
+ if ( CORBA::is_nil( it->second )) continue;
+ aList[i++] = SMESH::SMESH_subMesh::_duplicate( it->second );
+ // Python Dump
+ if (i > 1) aPythonDump << ", ";
+ aPythonDump << it->second;
+ }
+ aList->length( i );
+ }
+ catch(SALOME_Exception & S_ex) {
+ THROW_SALOME_CORBA_EXCEPTION(S_ex.what(), SALOME::BAD_PARAM);
+ }
+
+ // Update Python script
+ if ( !_mapSubMeshIor.empty() )
+ aPythonDump << " ] = " << _this() << ".GetSubMeshes()";
+
+ return aList._retn();
+}
+
//=============================================================================
/*!
*
}
}
-void SMESH_Mesh_i::ExportToMEDX (const char* file,
- CORBA::Boolean auto_groups,
- SMESH::MED_VERSION theVersion,
- CORBA::Boolean overwrite)
- throw(SALOME::SALOME_Exception)
+string SMESH_Mesh_i::PrepareMeshNameAndGroups(const char* file,
+ CORBA::Boolean overwrite)
{
- Unexpect aCatch(SALOME_SalomeException);
-
// Perform Export
PrepareForWriting(file, overwrite);
string aMeshName = "Mesh";
// check names of groups
checkGroupNames();
+ return aMeshName;
+}
+
+void SMESH_Mesh_i::ExportToMEDX (const char* file,
+ CORBA::Boolean auto_groups,
+ SMESH::MED_VERSION theVersion,
+ CORBA::Boolean overwrite)
+ throw(SALOME::SALOME_Exception)
+{
+ Unexpect aCatch(SALOME_SalomeException);
+ string aMeshName = PrepareMeshNameAndGroups(file, true);
TPythonDump() << _this() << ".ExportToMEDX( r'"
<< file << "', " << auto_groups << ", " << theVersion << ", " << overwrite << " )";
ExportToMEDX(file,auto_groups,SMESH::MED_V2_2,true);
}
+//================================================================================
+/*!
+ * \brief Export a mesh to a SAUV file
+ */
+//================================================================================
+
+void SMESH_Mesh_i::ExportSAUV (const char* file,
+ CORBA::Boolean auto_groups)
+ throw(SALOME::SALOME_Exception)
+{
+ Unexpect aCatch(SALOME_SalomeException);
+ string aMeshName = PrepareMeshNameAndGroups(file, true);
+ TPythonDump() << _this() << ".ExportSAUV( r'" << file << "', " << auto_groups << " )";
+ _impl->ExportSAUV(file, aMeshName.c_str(), auto_groups);
+}
+
+
//================================================================================
/*!
* \brief Export a mesh to a DAT file
CORBA::Boolean overwrite)
throw (SALOME::SALOME_Exception)
{
+#ifdef WITH_CGNS
Unexpect aCatch(SALOME_SalomeException);
PrepareForWriting(file,overwrite);
TPythonDump() << _this() << ".ExportCGNS( "
<< meshPart<< ", r'" << file << "', " << overwrite << ")";
+#else
+ THROW_SALOME_CORBA_EXCEPTION("CGNS library is unavailable", SALOME::INTERNAL_ERROR);
+#endif
}
//=============================================================================