]> SALOME platform Git repositories - modules/smesh.git/blobdiff - src/SMESHGUI/SMESHGUI_StudyAPI.h
Salome HOME
NRI : First integration.
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_StudyAPI.h
diff --git a/src/SMESHGUI/SMESHGUI_StudyAPI.h b/src/SMESHGUI/SMESHGUI_StudyAPI.h
new file mode 100644 (file)
index 0000000..a24863e
--- /dev/null
@@ -0,0 +1,86 @@
+//  File      : SMESHGUI_StudyAPI.h
+//  Created   : Fri May 17 15:23:35 CEST 2002
+//  Author    : Yves FRICAUD 
+//  Project   : SALOME
+//  Module    : SMESH
+//  Copyright : Open CASCADE
+//  $Header: 
+
+#ifndef _INCLUDE_SMESHGUI_StudyAPI_
+#define _INCLUDE_SMESHGUI_StudyAPI_
+
+// IDL Headers
+#include <SALOMEconfig.h>
+#include CORBA_SERVER_HEADER(SMESH_Gen)
+#include CORBA_SERVER_HEADER(SMESH_Mesh)
+#include CORBA_SERVER_HEADER(SMESH_Hypothesis)
+#include CORBA_SERVER_HEADER(GEOM_Shape)
+#include CORBA_SERVER_HEADER(SALOMEDS)
+#include CORBA_SERVER_HEADER(SALOMEDS_Attributes)
+       
+class SMESH_subMesh_ptr;
+
+class SMESHGUI_StudyAPI {
+
+  public:
+
+  SMESHGUI_StudyAPI ();
+
+  SMESHGUI_StudyAPI ( SALOMEDS::Study_ptr aStudy, SMESH::SMESH_Gen_ptr Gen);  
+
+  ~SMESHGUI_StudyAPI ();
+
+  // Adding in Study
+  CORBA::Object_ptr     StringToIOR(const char* IOR);
+
+  SALOMEDS::SObject_ptr AddNewMesh        (SMESH::SMESH_Mesh_ptr M);
+  
+  SALOMEDS::SObject_ptr AddNewHypothesis  (SMESH::SMESH_Hypothesis_ptr H);
+  SALOMEDS::SObject_ptr AddNewAlgorithms  (SMESH::SMESH_Hypothesis_ptr H);
+
+  SALOMEDS::SObject_ptr AddSubMeshOnShape (SALOMEDS::SObject_ptr SO_Mesh, SMESH::SMESH_subMesh_ptr SM, GEOM::shape_type ST);
+
+  SALOMEDS::SObject_ptr AddSubMeshOnShape (SALOMEDS::SObject_ptr SO_Mesh, SALOMEDS::SObject_ptr SO_GeomShape, SMESH::SMESH_subMesh_ptr SM, GEOM::shape_type ST);
+
+  void Update(SMESH::SMESH_Gen_ptr Gen);
+
+  void ModifiedMesh( SALOMEDS::SObject_ptr MorSM, bool right);
+
+
+  void SetShape  (SALOMEDS::SObject_ptr SO_Mesh_Or_SubMesh, SALOMEDS::SObject_ptr SO_GeomShape);
+  GEOM::GEOM_Shape_ptr GetShapeOnMeshOrSubMesh(SALOMEDS::SObject_ptr SO_Mesh_Or_SubMesh);
+
+  void SetHypothesis     (SALOMEDS::SObject_ptr SO_Mesh_Or_SubMesh, SALOMEDS::SObject_ptr SO_Hypothesis);
+  void SetAlgorithms     (SALOMEDS::SObject_ptr SO_Mesh_Or_SubMesh, SALOMEDS::SObject_ptr SO_Algorithms);
+
+  void UnSetHypothesis    (SALOMEDS::SObject_ptr SO_Applied_Hypothesis);
+  void UnSetAlgorithm     (SALOMEDS::SObject_ptr SO_Applied_Algorithm);
+
+  void SetTagHypothesisRoot();
+  
+  void SetName( SALOMEDS::SObject_ptr SO, const char* Name ) ;
+
+  //Exploration
+  
+  SALOMEDS::SObject_ptr GetMeshOrSubmesh  (SALOMEDS::SObject_ptr SO);
+
+  SALOMEDS::SObject_ptr FindMesh       (SMESH::SMESH_Mesh_ptr M);
+
+  SALOMEDS::SObject_ptr FindHypothesisOrAlgorithms (SMESH::SMESH_Hypothesis_ptr H);
+
+  SALOMEDS::SObject_ptr FindSubMesh    (SMESH::SMESH_subMesh_ptr SM);
+
+  //SALOMEDS::ListOfSObject_ptr FindMesh    (SALOMEDS_SObject_ptr SO_GeomShape);
+  //SALOMEDS_SObject_ptr        FindSubMesh (SALOMEDS_SObject_ptr SO_Mesh, SALOMEDS_SObject_ptr SO_GeomShape);
+    
+  static void setOrb();
+
+  private:
+  //fields
+  SALOMEDS::Study_var        myStudy;
+  SALOMEDS::StudyBuilder_var myStudyBuilder;
+  SALOMEDS::SComponent_var   mySComponentMesh;
+};
+#endif
+