-// Copyright (C) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
//
-// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License.
//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
-// SMESH SMESH_I : idl implementation based on 'SMESH' unit's calsses
// File : SMESH_Gen_i.hxx
// Author : Paul RASCLE, EDF
// Module : SMESH
CORBA::Boolean byMesh)
throw ( SALOME::SALOME_Exception );
+ // Preferences
+ // ------------
/*!
* Sets number of segments per diagonal of boundary box of geometry by which
* default segment length of appropriate 1D hypotheses is defined
*/
void SetDefaultNbSegments(CORBA::Long theNbSegments) throw ( SALOME::SALOME_Exception );
+ /*!
+ Set an option value
+ */
+ virtual void SetOption(const char*, const char*);
+ /*!
+ Return an option value
+ */
+ virtual char* GetOption(const char*);
+
+ /*!
+ * To load full mesh data from study at hyp modification or not
+ */
+ bool ToForgetMeshDataOnHypModif() const { return myToForgetMeshDataOnHypModif; }
+
+
// Create empty mesh on a shape
SMESH::SMESH_Mesh_ptr CreateMesh( GEOM::GEOM_Object_ptr theShapeObject )
throw ( SALOME::SALOME_Exception );
SMESH::SMESH_Mesh_ptr CreateEmptyMesh()
throw ( SALOME::SALOME_Exception );
- // Create mesh(es) and import data from UNV fileter
+ // Create a mesh and import data from an UNV file
SMESH::SMESH_Mesh_ptr CreateMeshesFromUNV( const char* theFileName )
throw ( SALOME::SALOME_Exception );
SMESH::DriverMED_ReadStatus& theStatus )
throw ( SALOME::SALOME_Exception );
- // Create mesh(es) and import data from STL file
+ // Create mesh(es) and import data from MED file
+ SMESH::mesh_array* CreateMeshesFromSAUV( const char* theFileName,
+ SMESH::DriverMED_ReadStatus& theStatus )
+ throw ( SALOME::SALOME_Exception );
+
+ // Create a mesh and import data from a STL file
SMESH::SMESH_Mesh_ptr CreateMeshesFromSTL( const char* theFileName )
throw ( SALOME::SALOME_Exception );
+ // Create mesh(es) and import data from CGNS file
+ SMESH::mesh_array* CreateMeshesFromCGNS( const char* theFileName,
+ SMESH::DriverMED_ReadStatus& theStatus )
+ throw ( SALOME::SALOME_Exception );
+
+ // Create a mesh and import data from a GMF file
+ SMESH::SMESH_Mesh_ptr CreateMeshesFromGMF( const char* theFileName,
+ SMESH::ComputeError_out theError)
+ throw ( SALOME::SALOME_Exception );
+
// Copy a part of mesh
SMESH::SMESH_Mesh_ptr CopyMesh(SMESH::SMESH_IDSource_ptr meshPart,
const char* meshName,
return aResultSO._retn();
}
+ // ============
+ // Version information
+ // ============
+
+ virtual char* getVersion();
+
// ============
// Dump python
// ============
Resource_DataMapOfAsciiStringAsciiString& theNames,
bool isPublished,
bool isMultiFile,
+ bool isHistoricalDump,
bool& aValidScript,
const TCollection_AsciiString& theSavedTrace);
static long GetEdgeGroupsTag();
static long GetFaceGroupsTag();
static long GetVolumeGroupsTag();
+ static long Get0DElementsGroupsTag();
+ static long GetBallElementsGroupsTag();
// publishing methods
SALOMEDS::SComponent_ptr PublishComponent(SALOMEDS::Study_ptr theStudy);
*/
SALOMEDS::SObject_ptr GetAlgoSO(const ::SMESH_Algo* algo);
- void UpdateParameters(CORBA::Object_ptr theObject, const char* theParameters);
+ void UpdateParameters(/*CORBA::Object_ptr theObject,*/ const char* theParameters);
char* GetParameters(CORBA::Object_ptr theObject);
char* ParseParameters(const char* theParameters);
-
+ const std::vector< std::string >& GetLastParameters() const { return myLastParameters; }
private:
// Create hypothesis of given type
static void loadGeomData( SALOMEDS::SComponent_ptr theCompRoot );
+ SMESH::mesh_array* CreateMeshesFromMEDorSAUV( const char* theFileName,
+ SMESH::DriverMED_ReadStatus& theStatus,
+ const char* theCommandNameForPython,
+ const char* theFileNameForPython);
+
+ void setCurrentStudy( SALOMEDS::Study_ptr theStudy,
+ bool theStudyIsBeingClosed=false);
+
private:
static GEOM::GEOM_Gen_var myGeomGen;
static CORBA::ORB_var myOrb; // ORB reference
static SALOME_NamingService* myNS; // Naming Service
static SALOME_LifeCycleCORBA* myLCC; // Life Cycle CORBA
static SMESH_Gen_i* mySMESHGen; // Point to last created instance of the class
- ::SMESH_Gen myGen; // SMESH_Gen local implementation
+ ::SMESH_Gen myGen; // SMESH_Gen local implementation
// hypotheses managing
map<string, GenericHypothesisCreator_i*> myHypCreatorMap;
SALOMEDS::Study_var myCurrentStudy; // Current study
CORBA::Boolean myIsEmbeddedMode; // Current mode
+ // To load full mesh data from study at hyp modification or not
+ bool myToForgetMeshDataOnHypModif;
+
// Dump Python: trace of API methods calls
std::map < int, Handle(TColStd_HSequenceOfAsciiString) > myPythonScripts;
+ bool myIsHistoricalPythonDump;
+ std::vector< std::string > myLastParameters;
};