Salome HOME
Join modifications from branch OCC_development_for_3_2_0a2
[modules/smesh.git] / src / SMESHClient / SMESH_Client.hxx
diff --git a/src/SMESHClient/SMESH_Client.hxx b/src/SMESHClient/SMESH_Client.hxx
new file mode 100644 (file)
index 0000000..6468110
--- /dev/null
@@ -0,0 +1,79 @@
+//  SMESH SMESHClient : tool to update client mesh structure by mesh from server
+//
+//  Copyright (C) 2003  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 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 
+// 
+//  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+//
+//
+//
+//  File   : SMESH_Client.hxx
+//  Author : Pavel TELKOV
+//  Module : SMESH
+
+#ifndef _SMESH_Client_HeaderFile
+#define _SMESH_Client_HeaderFile
+
+#include <SALOMEconfig.h>
+#include CORBA_SERVER_HEADER(SMESH_Gen)
+#include CORBA_SERVER_HEADER(SMESH_Mesh)
+
+#if defined WNT && defined WIN32 && defined SALOME_WNT_EXPORTS
+#define SMESHCLIENT_WNT_EXPORT __declspec( dllexport )
+#else
+#define SMESHCLIENT_WNT_EXPORT
+#endif
+
+class SMESHDS_Mesh;
+class SMDS_Mesh;
+
+
+//=====================================================================
+// SMESH_Client : class definition
+//=====================================================================
+class SMESHCLIENT_WNT_EXPORT SMESH_Client  
+{
+public:
+  static 
+  SMESH::SMESH_Gen_var
+  GetSMESHGen(CORBA::ORB_ptr theORB,
+             CORBA::Boolean& theIsEmbeddedMode);
+
+  SMESH_Client(CORBA::ORB_ptr theORB,
+              SMESH::SMESH_Mesh_ptr theMesh);
+  ~SMESH_Client();
+
+  bool 
+  Update(bool theIsClear);
+
+  SMDS_Mesh* 
+  GetMesh() const;
+
+  SMDS_Mesh*
+  operator->() const;
+
+  SMESH::SMESH_Mesh_ptr
+  GetMeshServer();
+
+protected: 
+  SMESH::SMESH_Mesh_var myMeshServer;
+  SMESHDS_Mesh* mySMESHDSMesh;
+  SMDS_Mesh* mySMDSMesh;
+};
+
+
+#endif