]> SALOME platform Git repositories - modules/smesh.git/blobdiff - src/OBJECT/SMESH_ObjectDef.h
Salome HOME
[SALOME platform 0019316]: Need to have a better interface with GHS3D diagnostics
[modules/smesh.git] / src / OBJECT / SMESH_ObjectDef.h
index 14df168d704545d36f7518ed211d244b9958d2ca..7c8ba5480cc66de3e84f1b82c43033909f8a0c8f 100644 (file)
@@ -17,7 +17,7 @@
 //  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 
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 //
 //
 #ifndef SMESH_OBJECTDEF_H
 #define SMESH_OBJECTDEF_H
 
+#include "SMESH_Controls.hxx"
+#include "SMESH_Object.h"
+#include "SMESH_Client.hxx"
+
 // IDL Headers
-#include "SALOMEconfig.h"
+#include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_Mesh)
 #include CORBA_SERVER_HEADER(SMESH_Group)
 
 #include <map>
 #include <list>
 
-#include "SMESH_Controls.hxx"
-#include "SMESH_Object.h"
-
 class vtkPoints;
 class SALOME_ExtractUnstructuredGrid;
 
@@ -51,7 +52,7 @@ class SMDS_MeshElement;
   Class       : SMESH_VisualObj
   Description : Base class for all mesh objects to be visuilised
 */
-class SMESH_VisualObjDef: public SMESH_VisualObj
+class SMESHOBJECT_EXPORT SMESH_VisualObjDef: public SMESH_VisualObj
 {
 public:
   typedef std::list<const SMDS_MeshElement*>   TEntityList;
@@ -60,7 +61,7 @@ public:
                             SMESH_VisualObjDef();
   virtual                   ~SMESH_VisualObjDef();
   
-  virtual void              Update( int theIsClear = true ) = 0;
+  virtual bool              Update( int theIsClear = true ) = 0;
   virtual void              UpdateFunctor( const SMESH::Controls::FunctorPtr& theFunctor ) = 0;
   virtual int               GetElemDimension( const int theObjId ) = 0;
 
@@ -104,14 +105,14 @@ private:
   Description : Class for visualisation of mesh
 */
 
-class SMESH_MeshObj: public SMESH_VisualObjDef
+class SMESHOBJECT_EXPORT SMESH_MeshObj: public SMESH_VisualObjDef
 {
 public:
 
                             SMESH_MeshObj( SMESH::SMESH_Mesh_ptr );
   virtual                   ~SMESH_MeshObj();
   
-  virtual void              Update( int theIsClear = true );
+  virtual bool              Update( int theIsClear = true );
   
   virtual int               GetNbEntities( const SMDSAbs_ElementType) const;
   virtual int               GetEntities( const SMDSAbs_ElementType, TEntityList& ) const;
@@ -121,13 +122,11 @@ public:
 
   virtual void              UpdateFunctor( const SMESH::Controls::FunctorPtr& theFunctor );
   
-  SMESH::SMESH_Mesh_ptr     GetMeshServer() { return myMeshServer.in(); }
-  SMDS_Mesh*                GetMesh() const { return myMesh; }
+  SMESH::SMESH_Mesh_ptr     GetMeshServer() { return myClient.GetMeshServer(); }
+  SMDS_Mesh*                GetMesh() const { return myClient.GetMesh(); }
 
 protected:
-
-  SMESH::SMESH_Mesh_var     myMeshServer;
-  SMDS_Mesh*                myMesh;
+  SMESH_Client              myClient;
 };
 
 
@@ -136,14 +135,14 @@ protected:
   Description : Base class for visualisation of submeshes and groups
 */
 
-class SMESH_SubMeshObj: public SMESH_VisualObjDef
+class SMESHOBJECT_EXPORT SMESH_SubMeshObj: public SMESH_VisualObjDef
 {
 public:
 
                             SMESH_SubMeshObj(SMESH_MeshObj* theMeshObj);
   virtual                   ~SMESH_SubMeshObj();
 
-  virtual void              Update( int theIsClear = true );
+  virtual bool              Update( int theIsClear = true );
   
   virtual void              UpdateFunctor( const SMESH::Controls::FunctorPtr& theFunctor );
   virtual int               GetElemDimension( const int theObjId );
@@ -160,7 +159,7 @@ protected:
   Description : Class for visualisation of groups
 */
 
-class SMESH_GroupObj: public SMESH_SubMeshObj
+class SMESHOBJECT_EXPORT SMESH_GroupObj: public SMESH_SubMeshObj
 {
 public:
                             SMESH_GroupObj( SMESH::SMESH_GroupBase_ptr, SMESH_MeshObj* );
@@ -181,7 +180,7 @@ private:
   Description : Class for visualisation of submeshes
 */
 
-class SMESH_subMeshObj : public SMESH_SubMeshObj
+class SMESHOBJECT_EXPORT SMESH_subMeshObj : public SMESH_SubMeshObj
 {
 public: