]> SALOME platform Git repositories - modules/smesh.git/commitdiff
Salome HOME
First executable version
authorabd <abd@opencascade.com>
Mon, 17 Apr 2006 14:07:09 +0000 (14:07 +0000)
committerabd <abd@opencascade.com>
Mon, 17 Apr 2006 14:07:09 +0000 (14:07 +0000)
211 files changed:
src/Controls/SMESH_ControlsDef.hxx
src/Driver/Driver_Document.h
src/Driver/Driver_Mesh.h
src/Driver/Driver_SMDS_Mesh.h
src/Driver/Driver_SMESHDS_Mesh.h
src/DriverDAT/DriverDAT_R_SMDS_Mesh.h
src/DriverDAT/DriverDAT_R_SMESHDS_Document.h
src/DriverDAT/DriverDAT_R_SMESHDS_Mesh.h
src/DriverDAT/DriverDAT_W_SMDS_Mesh.h
src/DriverDAT/DriverDAT_W_SMESHDS_Document.h
src/DriverDAT/DriverDAT_W_SMESHDS_Mesh.h
src/DriverDAT/Makefile.in
src/DriverDAT/SMESH_DriverDAT.hxx [new file with mode: 0755]
src/DriverMED/DriverMED_Family.h
src/DriverMED/DriverMED_R_SMDS_Mesh.h
src/DriverMED/DriverMED_R_SMESHDS_Document.h
src/DriverMED/DriverMED_R_SMESHDS_Mesh.h
src/DriverMED/DriverMED_W_SMDS_Mesh.h
src/DriverMED/DriverMED_W_SMESHDS_Document.h
src/DriverMED/DriverMED_W_SMESHDS_Mesh.h
src/DriverMED/Makefile.in
src/DriverMED/SMESH_DriverMED.hxx [new file with mode: 0755]
src/DriverSTL/DriverSTL_R_SMDS_Mesh.h
src/DriverSTL/DriverSTL_W_SMDS_Mesh.h
src/DriverSTL/Makefile.in
src/DriverSTL/SMESH_DriverSTL.hxx [new file with mode: 0755]
src/DriverUNV/DriverUNV_R_SMDS_Mesh.h
src/DriverUNV/DriverUNV_R_SMESHDS_Document.h
src/DriverUNV/DriverUNV_R_SMESHDS_Mesh.h
src/DriverUNV/DriverUNV_W_SMDS_Mesh.h
src/DriverUNV/DriverUNV_W_SMESHDS_Document.h
src/DriverUNV/DriverUNV_W_SMESHDS_Mesh.h
src/DriverUNV/Makefile.in
src/DriverUNV/SMESH_DriverUNV.hxx [new file with mode: 0755]
src/DriverUNV/UNV2411_Structure.hxx
src/DriverUNV/UNV2412_Structure.hxx
src/DriverUNV/UNV_Utilities.hxx
src/MEFISTO2/aptrte.cxx
src/MEFISTO2/aptrte.h
src/OBJECT/SMESH_Actor.h
src/OBJECT/SMESH_ActorDef.h
src/OBJECT/SMESH_ActorUtils.h
src/OBJECT/SMESH_DeviceActor.h
src/OBJECT/SMESH_ExtractGeometry.h
src/OBJECT/SMESH_Object.cxx
src/OBJECT/SMESH_Object.h
src/OBJECT/SMESH_ObjectDef.h
src/SMDS/Makefile.in
src/SMDS/SMDS_EdgePosition.hxx
src/SMDS/SMDS_FaceOfEdges.hxx
src/SMDS/SMDS_FaceOfNodes.hxx
src/SMDS/SMDS_FacePosition.hxx
src/SMDS/SMDS_IteratorOfElements.hxx
src/SMDS/SMDS_Mesh.hxx
src/SMDS/SMDS_MeshEdge.hxx
src/SMDS/SMDS_MeshElement.hxx
src/SMDS/SMDS_MeshElementIDFactory.hxx
src/SMDS/SMDS_MeshFace.hxx
src/SMDS/SMDS_MeshGroup.hxx
src/SMDS/SMDS_MeshIDFactory.hxx
src/SMDS/SMDS_MeshNode.hxx
src/SMDS/SMDS_MeshObject.hxx
src/SMDS/SMDS_MeshVolume.hxx
src/SMDS/SMDS_PolygonalFaceOfNodes.hxx
src/SMDS/SMDS_PolyhedralVolumeOfNodes.hxx
src/SMDS/SMDS_Position.hxx
src/SMDS/SMDS_SpacePosition.hxx
src/SMDS/SMDS_VertexPosition.hxx
src/SMDS/SMDS_VolumeOfFaces.hxx
src/SMDS/SMDS_VolumeOfNodes.hxx
src/SMDS/SMDS_VolumeTool.hxx
src/SMDS/SMESH_SMDS.hxx [new file with mode: 0755]
src/SMESH/Makefile.in
src/SMESH/SMESH_1D_Algo.cxx
src/SMESH/SMESH_1D_Algo.hxx
src/SMESH/SMESH_2D_Algo.cxx
src/SMESH/SMESH_2D_Algo.hxx
src/SMESH/SMESH_3D_Algo.cxx
src/SMESH/SMESH_3D_Algo.hxx
src/SMESH/SMESH_Algo.cxx
src/SMESH/SMESH_Algo.hxx
src/SMESH/SMESH_Block.hxx
src/SMESH/SMESH_DataMapOfElemPtrSequenceOfElemPtr.hxx
src/SMESH/SMESH_Gen.hxx
src/SMESH/SMESH_Group.hxx
src/SMESH/SMESH_HypoFilter.hxx
src/SMESH/SMESH_Hypothesis.cxx
src/SMESH/SMESH_Hypothesis.hxx
src/SMESH/SMESH_IndexedDataMapOfShapeIndexedMapOfShape.hxx
src/SMESH/SMESH_Mesh.hxx
src/SMESH/SMESH_MeshEditor.cxx
src/SMESH/SMESH_MeshEditor.hxx
src/SMESH/SMESH_Pattern.hxx
src/SMESH/SMESH_SMESH.hxx [new file with mode: 0755]
src/SMESH/SMESH_SequenceOfElemPtr.hxx
src/SMESH/SMESH_SequenceOfNode.hxx
src/SMESH/SMESH_subMesh.cxx
src/SMESH/SMESH_subMesh.hxx
src/SMESHDS/Makefile.in
src/SMESHDS/SMESHDS_Command.hxx
src/SMESHDS/SMESHDS_Document.hxx
src/SMESHDS/SMESHDS_Group.hxx
src/SMESHDS/SMESHDS_GroupBase.hxx
src/SMESHDS/SMESHDS_GroupOnGeom.hxx
src/SMESHDS/SMESHDS_Hypothesis.hxx
src/SMESHDS/SMESHDS_Mesh.hxx
src/SMESHDS/SMESHDS_Script.hxx
src/SMESHDS/SMESHDS_SubMesh.hxx
src/SMESHDS/SMESH_SMESHDS.hxx [new file with mode: 0755]
src/SMESHFiltersSelection/SMESH_LogicalFilter.hxx
src/SMESHFiltersSelection/SMESH_NumberFilter.hxx
src/SMESHFiltersSelection/SMESH_Type.h
src/SMESHFiltersSelection/SMESH_TypeFilter.hxx
src/SMESHGUI/Makefile.in
src/SMESHGUI/SMESHGUI.cxx
src/SMESHGUI/SMESHGUI.h
src/SMESHGUI/SMESHGUI_AddMeshElementDlg.h
src/SMESHGUI/SMESHGUI_ClippingDlg.h
src/SMESHGUI/SMESHGUI_CreateHypothesesDlg.h
src/SMESHGUI/SMESHGUI_CreatePatternDlg.h
src/SMESHGUI/SMESHGUI_CreatePolyhedralVolumeDlg.h
src/SMESHGUI/SMESHGUI_DeleteGroupDlg.h
src/SMESHGUI/SMESHGUI_Dialog.h
src/SMESHGUI/SMESHGUI_Displayer.h
src/SMESHGUI/SMESHGUI_EditHypothesesDlg.h
src/SMESHGUI/SMESHGUI_EditMeshDlg.h
src/SMESHGUI/SMESHGUI_ExtrusionAlongPathDlg.h
src/SMESHGUI/SMESHGUI_ExtrusionDlg.h
src/SMESHGUI/SMESHGUI_Filter.h
src/SMESHGUI/SMESHGUI_FilterDlg.cxx
src/SMESHGUI/SMESHGUI_FilterDlg.h
src/SMESHGUI/SMESHGUI_FilterLibraryDlg.h
src/SMESHGUI/SMESHGUI_FilterUtils.h
src/SMESHGUI/SMESHGUI_GEOMGenUtils.h
src/SMESHGUI/SMESHGUI_GroupDlg.h
src/SMESHGUI/SMESHGUI_GroupOpDlg.h
src/SMESHGUI/SMESHGUI_GroupUtils.h
src/SMESHGUI/SMESHGUI_Hypotheses.h
src/SMESHGUI/SMESHGUI_HypothesesUtils.cxx
src/SMESHGUI/SMESHGUI_HypothesesUtils.h
src/SMESHGUI/SMESHGUI_IdValidator.h
src/SMESHGUI/SMESHGUI_MergeNodesDlg.h
src/SMESHGUI/SMESHGUI_MeshDlg.h
src/SMESHGUI/SMESHGUI_MeshInfosDlg.h
src/SMESHGUI/SMESHGUI_MeshOp.h
src/SMESHGUI/SMESHGUI_MeshPatternDlg.h
src/SMESHGUI/SMESHGUI_MeshUtils.h
src/SMESHGUI/SMESHGUI_MoveNodesDlg.h
src/SMESHGUI/SMESHGUI_MultiEditDlg.h
src/SMESHGUI/SMESHGUI_NodesDlg.cxx
src/SMESHGUI/SMESHGUI_NodesDlg.h
src/SMESHGUI/SMESHGUI_Operation.h
src/SMESHGUI/SMESHGUI_PatternUtils.h
src/SMESHGUI/SMESHGUI_PatternWidget.h
src/SMESHGUI/SMESHGUI_PrecisionDlg.h
src/SMESHGUI/SMESHGUI_Preferences_ColorDlg.h
src/SMESHGUI/SMESHGUI_Preferences_ScalarBarDlg.h
src/SMESHGUI/SMESHGUI_Preferences_SelectionDlg.h
src/SMESHGUI/SMESHGUI_RemoveElementsDlg.h
src/SMESHGUI/SMESHGUI_RemoveNodesDlg.h
src/SMESHGUI/SMESHGUI_RenumberingDlg.h
src/SMESHGUI/SMESHGUI_RevolutionDlg.h
src/SMESHGUI/SMESHGUI_RotationDlg.h
src/SMESHGUI/SMESHGUI_Selection.h
src/SMESHGUI/SMESHGUI_SelectionOp.h
src/SMESHGUI/SMESHGUI_SewingDlg.h
src/SMESHGUI/SMESHGUI_ShapeByMeshDlg.h
src/SMESHGUI/SMESHGUI_SingleEditDlg.h
src/SMESHGUI/SMESHGUI_SmoothingDlg.h
src/SMESHGUI/SMESHGUI_SpinBox.h
src/SMESHGUI/SMESHGUI_StandardMeshInfosDlg.h
src/SMESHGUI/SMESHGUI_Swig.cxx
src/SMESHGUI/SMESHGUI_Swig.hxx
src/SMESHGUI/SMESHGUI_SymmetryDlg.h
src/SMESHGUI/SMESHGUI_TranslationDlg.h
src/SMESHGUI/SMESHGUI_TransparencyDlg.h
src/SMESHGUI/SMESHGUI_Utils.h
src/SMESHGUI/SMESHGUI_VTKUtils.h
src/SMESHGUI/SMESHGUI_XmlHandler.cxx
src/SMESHGUI/SMESHGUI_XmlHandler.h
src/SMESHGUI/SMESH_SMESHGUI.hxx [new file with mode: 0755]
src/SMESHGUI/SMESH_msg_en.po
src/SMESH_I/SMESH.hxx
src/SMESH_I/SMESH_1D_Algo_i.cxx
src/SMESH_I/SMESH_1D_Algo_i.hxx
src/SMESH_I/SMESH_2D_Algo_i.cxx
src/SMESH_I/SMESH_2D_Algo_i.hxx
src/SMESH_I/SMESH_2smeshpy.cxx
src/SMESH_I/SMESH_3D_Algo_i.cxx
src/SMESH_I/SMESH_3D_Algo_i.hxx
src/SMESH_I/SMESH_Algo_i.cxx
src/SMESH_I/SMESH_Algo_i.hxx
src/SMESH_I/SMESH_Filter_i.hxx
src/SMESH_I/SMESH_Gen_i.cxx
src/SMESH_I/SMESH_Gen_i.hxx
src/SMESH_I/SMESH_Group_i.hxx
src/SMESH_I/SMESH_Hypothesis_i.cxx
src/SMESH_I/SMESH_Hypothesis_i.hxx
src/SMESH_I/SMESH_MEDFamily_i.cxx
src/SMESH_I/SMESH_MEDFamily_i.hxx
src/SMESH_I/SMESH_MEDMesh_i.cxx
src/SMESH_I/SMESH_MEDMesh_i.hxx
src/SMESH_I/SMESH_MEDSupport_i.cxx
src/SMESH_I/SMESH_MEDSupport_i.hxx
src/SMESH_I/SMESH_MeshEditor_i.cxx
src/SMESH_I/SMESH_MeshEditor_i.hxx
src/SMESH_I/SMESH_Mesh_i.hxx
src/SMESH_I/SMESH_Pattern_i.hxx
src/SMESH_I/SMESH_PythonDump.hxx
src/SMESH_I/SMESH_subMesh_i.cxx
src/SMESH_I/SMESH_subMesh_i.hxx

index 576b1e8e011b9cec6f90c939fc040d6db3f9a9ae..9fd86a0339a0b95785423fde73ee35b6cc1bba94 100644 (file)
 
 #include "SMESH_Controls.hxx"
 
+#ifdef WNT
+ #if defined SMESHCONTROLS_EXPORTS
+  #define SMESHCONTROLS_EXPORT __declspec( dllexport )
+ #else
+  #define SMESHCONTROLS_EXPORT __declspec( dllimport )
+ #endif
+#else
+ #define SMESHCONTROLS_EXPORT
+#endif
+
 class SMDS_MeshElement;
 class SMDS_MeshFace;
 class SMDS_MeshNode;
@@ -46,11 +56,10 @@ class SMESHDS_SubMesh;
 class gp_Pnt;
 class TopoDS_Shape;
 
-
 namespace SMESH{
   namespace Controls{
 
-    class TSequenceOfXYZ: public std::vector<gp_XYZ>
+    class SMESHCONTROLS_EXPORT TSequenceOfXYZ: public std::vector<gp_XYZ>
     {
     public:
       typedef std::vector<gp_XYZ> TSuperClass;
@@ -97,7 +106,7 @@ namespace SMESH{
       Class       : Functor
       Description : Root of all Functors
     */
-    class Functor
+    class SMESHCONTROLS_EXPORT Functor
     {
     public:
       ~Functor(){}
@@ -109,7 +118,7 @@ namespace SMESH{
       Class       : NumericalFunctor
       Description : Root of all Functors returning numeric value
     */
-    class NumericalFunctor: public virtual Functor{
+    class SMESHCONTROLS_EXPORT NumericalFunctor: public virtual Functor{
     public:
       NumericalFunctor();
       virtual void SetMesh( const SMDS_Mesh* theMesh );
@@ -134,7 +143,7 @@ namespace SMESH{
       Class       : Volume
       Description : Functor calculating volume of 3D mesh element
     */
-    class Volume: public virtual NumericalFunctor{
+    class SMESHCONTROLS_EXPORT Volume: public virtual NumericalFunctor{
     public:
       virtual double GetValue( long theElementId );
       //virtual double GetValue( const TSequenceOfXYZ& thePoints );
@@ -147,7 +156,7 @@ namespace SMESH{
       Class       : SMESH_MinimumAngle
       Description : Functor for calculation of minimum angle
     */
-    class MinimumAngle: public virtual NumericalFunctor{
+    class SMESHCONTROLS_EXPORT MinimumAngle: public virtual NumericalFunctor{
     public:
       virtual double GetValue( const TSequenceOfXYZ& thePoints );
       virtual double GetBadRate( double Value, int nbNodes ) const;
@@ -159,7 +168,7 @@ namespace SMESH{
       Class       : AspectRatio
       Description : Functor for calculating aspect ratio
     */
-    class AspectRatio: public virtual NumericalFunctor{
+    class SMESHCONTROLS_EXPORT AspectRatio: public virtual NumericalFunctor{
     public:
       virtual double GetValue( const TSequenceOfXYZ& thePoints );
       virtual double GetBadRate( double Value, int nbNodes ) const;
@@ -171,7 +180,7 @@ namespace SMESH{
       Class       : AspectRatio3D
       Description : Functor for calculating aspect ratio of 3D elems.
     */
-    class AspectRatio3D: public virtual NumericalFunctor{
+    class SMESHCONTROLS_EXPORT AspectRatio3D: public virtual NumericalFunctor{
     public:
       virtual double GetValue( const TSequenceOfXYZ& thePoints );
       virtual double GetBadRate( double Value, int nbNodes ) const;
@@ -183,7 +192,7 @@ namespace SMESH{
       Class       : Warping
       Description : Functor for calculating warping
     */
-    class Warping: public virtual NumericalFunctor{
+    class SMESHCONTROLS_EXPORT Warping: public virtual NumericalFunctor{
     public:
       virtual double GetValue( const TSequenceOfXYZ& thePoints );
       virtual double GetBadRate( double Value, int nbNodes ) const;
@@ -198,7 +207,7 @@ namespace SMESH{
       Class       : Taper
       Description : Functor for calculating taper
     */
-    class Taper: public virtual NumericalFunctor{
+    class SMESHCONTROLS_EXPORT Taper: public virtual NumericalFunctor{
     public:
       virtual double GetValue( const TSequenceOfXYZ& thePoints );
       virtual double GetBadRate( double Value, int nbNodes ) const;
@@ -210,7 +219,7 @@ namespace SMESH{
       Class       : Skew
       Description : Functor for calculating skew in degrees
     */
-    class Skew: public virtual NumericalFunctor{
+    class SMESHCONTROLS_EXPORT Skew: public virtual NumericalFunctor{
     public:
       virtual double GetValue( const TSequenceOfXYZ& thePoints );
       virtual double GetBadRate( double Value, int nbNodes ) const;
@@ -222,7 +231,7 @@ namespace SMESH{
       Class       : Area
       Description : Functor for calculating area
     */
-    class Area: public virtual NumericalFunctor{
+    class SMESHCONTROLS_EXPORT Area: public virtual NumericalFunctor{
     public:
       virtual double GetValue( const TSequenceOfXYZ& thePoints );
       virtual double GetBadRate( double Value, int nbNodes ) const;
@@ -234,7 +243,7 @@ namespace SMESH{
       Class       : Length
       Description : Functor for calculating length of edge
     */
-    class Length: public virtual NumericalFunctor{
+    class SMESHCONTROLS_EXPORT Length: public virtual NumericalFunctor{
     public:
       virtual double GetValue( const TSequenceOfXYZ& thePoints );
       virtual double GetBadRate( double Value, int nbNodes ) const;
@@ -245,7 +254,7 @@ namespace SMESH{
       Class       : Length2D
       Description : Functor for calculating length of edge
     */
-    class Length2D: public virtual NumericalFunctor{
+    class SMESHCONTROLS_EXPORT Length2D: public virtual NumericalFunctor{
     public:
       virtual double GetValue( long theElementId );
       virtual double GetBadRate( double Value, int nbNodes ) const;
@@ -266,7 +275,7 @@ namespace SMESH{
       Class       : MultiConnection
       Description : Functor for calculating number of faces conneted to the edge
     */
-    class MultiConnection: public virtual NumericalFunctor{
+    class SMESHCONTROLS_EXPORT MultiConnection: public virtual NumericalFunctor{
     public:
       virtual double GetValue( long theElementId );
       virtual double GetValue( const TSequenceOfXYZ& thePoints );
@@ -278,7 +287,7 @@ namespace SMESH{
       Class       : MultiConnection2D
       Description : Functor for calculating number of faces conneted to the edge
     */
-    class MultiConnection2D: public virtual NumericalFunctor{
+    class SMESHCONTROLS_EXPORT MultiConnection2D: public virtual NumericalFunctor{
     public:
       virtual double GetValue( long theElementId );
       virtual double GetValue( const TSequenceOfXYZ& thePoints );
@@ -301,7 +310,7 @@ namespace SMESH{
       Class       : Predicate
       Description : Base class for all predicates
     */
-    class Predicate: public virtual Functor{
+    class SMESHCONTROLS_EXPORT Predicate: public virtual Functor{
     public:
       virtual bool IsSatisfy( long theElementId ) = 0;
       virtual SMDSAbs_ElementType GetType() const = 0;
@@ -313,7 +322,7 @@ namespace SMESH{
       Class       : FreeBorders
       Description : Predicate for free borders
     */
-    class FreeBorders: public virtual Predicate{
+    class SMESHCONTROLS_EXPORT FreeBorders: public virtual Predicate{
     public:
       FreeBorders();
       virtual void SetMesh( const SMDS_Mesh* theMesh );
@@ -329,7 +338,7 @@ namespace SMESH{
       Class       : BadOrientedVolume
       Description : Predicate bad oriented volumes
     */
-    class BadOrientedVolume: public virtual Predicate{
+    class SMESHCONTROLS_EXPORT BadOrientedVolume: public virtual Predicate{
     public:
       BadOrientedVolume();
       virtual void SetMesh( const SMDS_Mesh* theMesh );
@@ -345,7 +354,7 @@ namespace SMESH{
       Class       : FreeEdges
       Description : Predicate for free Edges
     */
-    class FreeEdges: public virtual Predicate{
+    class SMESHCONTROLS_EXPORT FreeEdges: public virtual Predicate{
     public:
       FreeEdges();
       virtual void SetMesh( const SMDS_Mesh* theMesh );
@@ -376,7 +385,7 @@ namespace SMESH{
                     2. With SetRangeStr method. Parameter of this method is a string
                        like as "1,2,3,50-60,63,67,70-"
     */
-    class RangeOfIds: public virtual Predicate
+    class SMESHCONTROLS_EXPORT RangeOfIds: public virtual Predicate
     {
     public:
                                     RangeOfIds();
@@ -406,7 +415,7 @@ namespace SMESH{
       Class       : Comparator
       Description : Base class for comparators
     */
-    class Comparator: public virtual Predicate{
+    class SMESHCONTROLS_EXPORT Comparator: public virtual Predicate{
     public:
       Comparator();
       virtual ~Comparator();
@@ -428,7 +437,7 @@ namespace SMESH{
       Class       : LessThan
       Description : Comparator "<"
     */
-    class LessThan: public virtual Comparator{
+    class SMESHCONTROLS_EXPORT LessThan: public virtual Comparator{
     public:
       virtual bool IsSatisfy( long theElementId );
     };
@@ -438,7 +447,7 @@ namespace SMESH{
       Class       : MoreThan
       Description : Comparator ">"
     */
-    class MoreThan: public virtual Comparator{
+    class SMESHCONTROLS_EXPORT MoreThan: public virtual Comparator{
     public:
       virtual bool IsSatisfy( long theElementId );
     };
@@ -448,7 +457,7 @@ namespace SMESH{
       Class       : EqualTo
       Description : Comparator "="
     */
-    class EqualTo: public virtual Comparator{
+    class SMESHCONTROLS_EXPORT EqualTo: public virtual Comparator{
     public:
       EqualTo();
       virtual bool IsSatisfy( long theElementId );
@@ -465,7 +474,7 @@ namespace SMESH{
       Class       : LogicalNOT
       Description : Logical NOT predicate
     */
-    class LogicalNOT: public virtual Predicate{
+    class SMESHCONTROLS_EXPORT LogicalNOT: public virtual Predicate{
     public:
       LogicalNOT();
       virtual ~LogicalNOT();
@@ -484,7 +493,7 @@ namespace SMESH{
       Class       : LogicalBinary
       Description : Base class for binary logical predicate
     */
-    class LogicalBinary: public virtual Predicate{
+    class SMESHCONTROLS_EXPORT LogicalBinary: public virtual Predicate{
     public:
       LogicalBinary();
       virtual ~LogicalBinary();
@@ -504,7 +513,7 @@ namespace SMESH{
       Class       : LogicalAND
       Description : Logical AND
     */
-    class LogicalAND: public virtual LogicalBinary{
+    class SMESHCONTROLS_EXPORT LogicalAND: public virtual LogicalBinary{
     public:
       virtual bool IsSatisfy( long theElementId );
     };
@@ -514,7 +523,7 @@ namespace SMESH{
       Class       : LogicalOR
       Description : Logical OR
     */
-    class LogicalOR: public virtual LogicalBinary{
+    class SMESHCONTROLS_EXPORT LogicalOR: public virtual LogicalBinary{
     public:
       virtual bool IsSatisfy( long theElementId );
     };
@@ -524,7 +533,7 @@ namespace SMESH{
       Class       : ManifoldPart
       Description : Predicate for manifold part of mesh
     */
-    class ManifoldPart: public virtual Predicate{
+    class SMESHCONTROLS_EXPORT ManifoldPart: public virtual Predicate{
     public:
 
       /* internal class for algorithm uses */
@@ -599,7 +608,7 @@ namespace SMESH{
       Description : Predicate elements that lying on indicated surface
                     (plane or cylinder)
     */
-    class ElementsOnSurface : public virtual Predicate {
+    class SMESHCONTROLS_EXPORT ElementsOnSurface : public virtual Predicate {
     public:
       ElementsOnSurface();
       ~ElementsOnSurface();
@@ -631,7 +640,7 @@ namespace SMESH{
     /*
       FILTER
     */
-    class Filter{
+    class SMESHCONTROLS_EXPORT Filter{
     public:
       Filter();
       virtual ~Filter();
index 8d4ff5a6801c209a2c3bbac17bdbd527af5b9fbc..17a4236bc07c1edbde7f356ad1497732892b5ecb 100644 (file)
 #ifndef _INCLUDE_DRIVER_DOCUMENT
 #define _INCLUDE_DRIVER_DOCUMENT
 
+#include "Driver_Mesh.h"
+
 #include <string>
 
 class SMESHDS_Document;
 
-class Driver_Document
+class MESHDRIVER_EXPORT Driver_Document
 {
  public:
   Driver_Document();
index 14ca22fd1c4c276649734b030e3dda6077a8dfde..94415434aab3a59c74b1de2cf339639bdd796734 100644 (file)
 
 #include <string>
 
-#if defined WNT && defined WIN32 && defined DRIVER_EXPORTS
-#define DRIVER_WNT_EXPORT __declspec( dllexport )
+#ifdef WNT
+ #if defined MESHDRIVER_EXPORTS
+  #define MESHDRIVER_EXPORT __declspec( dllexport )
+ #else
+  #define MESHDRIVER_EXPORT __declspec( dllimport )
+ #endif
 #else
-#define DRIVER_WNT_EXPORT
+ #define MESHDRIVER_EXPORT
 #endif
 
-class DRIVER_WNT_EXPORT Driver_Mesh
+class MESHDRIVER_EXPORT Driver_Mesh
 {
  public:
   Driver_Mesh();
index 1ea37562ddd37617b1e9c848285b2ec1166e5cf2..6a2be120d7f8116253d1c83e3d6d7c7b9429fc14 100644 (file)
@@ -24,7 +24,7 @@
 
 class SMDS_Mesh;
 
-class Driver_SMDS_Mesh: public Driver_Mesh
+class MESHDRIVER_EXPORT Driver_SMDS_Mesh: public Driver_Mesh
 {
  public:
   Driver_SMDS_Mesh();
index 30e05952280609e01818abeb06770865587c87e0..6504e044cfc7a75fb8fea0031c985d6731450f0c 100644 (file)
 
 class SMESHDS_Mesh;
 
-#if defined WNT && defined WIN32 && defined DRIVER_EXPORTS
-#define DRIVER_WNT_EXPORT __declspec( dllexport )
-#else
-#define DRIVER_WNT_EXPORT
-#endif
-
-class DRIVER_WNT_EXPORT Driver_SMESHDS_Mesh: public Driver_Mesh
+class MESHDRIVER_EXPORT Driver_SMESHDS_Mesh: public Driver_Mesh
 {
  public:
   Driver_SMESHDS_Mesh();
@@ -38,7 +32,6 @@ class DRIVER_WNT_EXPORT Driver_SMESHDS_Mesh: public Driver_Mesh
   
  protected:
   SMESHDS_Mesh *myMesh;
-
 };
 
 #endif
index d955cf7b79ffa11c0aa47dae00bd2aa808daacf2..3fb011078b19f7fddd7f3ebfe3b3bc6bd787194b 100644 (file)
 #ifndef _INCLUDE_DRIVERDAT_R_SMDS_MESH
 #define _INCLUDE_DRIVERDAT_R_SMDS_MESH
 
+#include "SMESH_DriverDAT.hxx"
+
 #include "Driver_SMDS_Mesh.h"
 
-class DriverDAT_R_SMDS_Mesh: public Driver_SMDS_Mesh
+class MESHDRIVERDAT_EXPORT DriverDAT_R_SMDS_Mesh: public Driver_SMDS_Mesh
 {
  public:
   virtual Status Perform();
index 3d63ced6a8949e9aac5b7536bca47377a5beb14f..6e550868493afd197232c907373087d2c357f43c 100644 (file)
 #ifndef _INCLUDE_DRIVERDAT_R_SMESHDS_DOCUMENT
 #define _INCLUDE_DRIVERDAT_R_SMESHDS_DOCUMENT
 
+#include "SMESH_DriverDAT.hxx"
+
 #include "Driver_Document.h"
 
-class DriverDAT_R_SMESHDS_Document : public Driver_Document 
+class MESHDRIVERDAT_EXPORT DriverDAT_R_SMESHDS_Document : public Driver_Document 
 {};
 
 #endif
index e74967581a35263c5664645992bf646593a68b69..64fd36a1b8c5f1f2d3d217db0b4c03118724629f 100644 (file)
 #ifndef _INCLUDE_DRIVERDAT_R_SMESHDS_MESH
 #define _INCLUDE_DRIVERDAT_R_SMESHDS_MESH
 
+#include "SMESH_DriverDAT.hxx"
+
 #include "Driver_SMESHDS_Mesh.h"
 
-class DriverDAT_R_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
+class MESHDRIVERDAT_EXPORT DriverDAT_R_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
 {};
 
 #endif
index ebd3d642e2609da37f6c8585ce412f32e8e5741d..43f13a9df94486a693ea0c9ac5c52d5b20280bfc 100644 (file)
 #ifndef _INCLUDE_DRIVERDAT_W_SMDS_MESH
 #define _INCLUDE_DRIVERDAT_W_SMDS_MESH
 
+#include "SMESH_DriverDAT.hxx"
+
 #include "Driver_SMDS_Mesh.h"
 
-class DriverDAT_W_SMDS_Mesh: public Driver_SMDS_Mesh
+class MESHDRIVERDAT_EXPORT DriverDAT_W_SMDS_Mesh: public Driver_SMDS_Mesh
 {
  public:
   virtual Status Perform();
index 6b2bad5a08c14397a2d11878364dd09436fbe775..f9118f0e30a81e922500b332e7323c9837296968 100644 (file)
 #ifndef _INCLUDE_DRIVERDAT_W_SMESHDS_DOCUMENT
 #define _INCLUDE_DRIVERDAT_W_SMESHDS_DOCUMENT
 
+#include "SMESH_DriverDAT.hxx"
+
 #include "Driver_Document.h"
 
-class DriverDAT_W_SMESHDS_Document: public Driver_Document 
+class MESHDRIVERDAT_EXPORT DriverDAT_W_SMESHDS_Document: public Driver_Document 
 {};
 
 #endif
index b9b9130c2bc71266522090b47df4d7e4536b9280..35edc2b62a191ff238a21137749ebc96dbb7873b 100644 (file)
 #ifndef _INCLUDE_DRIVERDAT_W_SMESHDS_MESH
 #define _INCLUDE_DRIVERDAT_W_SMESHDS_MESH
 
+#include "SMESH_DriverDAT.hxx"
+
 #include "Driver_SMESHDS_Mesh.h"
 
-class DriverDAT_W_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
+class MESHDRIVERDAT_EXPORT DriverDAT_W_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
 {};
 
 #endif
index 43bf623cb798806fe1dce35ca767efe4991509ec..41904009a351ac81e684de7d5e7f80232fcb1966 100644 (file)
@@ -35,7 +35,7 @@ VPATH=.:@srcdir@
 @COMMENCE@
 
 # header files 
-EXPORT_HEADERS= DriverDAT_R_SMDS_Mesh.h DriverDAT_R_SMESHDS_Mesh.h DriverDAT_R_SMESHDS_Document.h DriverDAT_W_SMDS_Mesh.h DriverDAT_W_SMESHDS_Mesh.h DriverDAT_W_SMESHDS_Document.h 
+EXPORT_HEADERS= DriverDAT_R_SMDS_Mesh.h DriverDAT_R_SMESHDS_Mesh.h DriverDAT_R_SMESHDS_Document.h DriverDAT_W_SMDS_Mesh.h DriverDAT_W_SMESHDS_Mesh.h DriverDAT_W_SMESHDS_Document.h SMESH_DriverDAT.hxx
 
 # Libraries targets
 LIB = libMeshDriverDAT.la
diff --git a/src/DriverDAT/SMESH_DriverDAT.hxx b/src/DriverDAT/SMESH_DriverDAT.hxx
new file mode 100755 (executable)
index 0000000..d651ee8
--- /dev/null
@@ -0,0 +1,39 @@
+//  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_DriverDAT.hxx
+//  Author : Alexander A. BORODIN
+//  Module : SMESH
+
+#ifndef _SMESH_DriverDAT_HXX_
+#define _SMESH_DriverDAT_HXX_
+
+#ifdef WNT
+ #if defined MESHDRIVERDAT_EXPORTS
+  #define MESHDRIVERDAT_EXPORT __declspec( dllexport )
+ #else
+  #define MESHDRIVERDAT_EXPORT __declspec( dllimport )
+ #endif
+#else
+ #define MESHDRIVERDAT_EXPORT
+#endif
+
+#endif
index 1632ccb3b71cc57069ead253065b99bd35d727be..aaab3bd20b6b0654aa36546353f6fdb2128b2404 100644 (file)
@@ -28,6 +28,8 @@
 #ifndef _INCLUDE_DRIVERMED_FAMILY
 #define _INCLUDE_DRIVERMED_FAMILY
 
+#include "SMESH_DriverMED.hxx"
+
 #include "SMDS_Mesh.hxx"
 #include "SMESHDS_GroupBase.hxx"
 #include "SMESHDS_SubMesh.hxx"
@@ -46,7 +48,7 @@
 class DriverMED_Family;
 typedef boost::shared_ptr<DriverMED_Family> DriverMED_FamilyPtr;
 
-class DriverMED_Family
+class MESHDRIVERMED_EXPORT DriverMED_Family
 {
  public:
 
index a6ece30395d59af07c94748ca9cb551f55d15274..29c7dc074fdd43ee35855d3e70d7fc2c69999fbe 100644 (file)
 #ifndef _INCLUDE_DRIVERMED_R_SMDS_MESH
 #define _INCLUDE_DRIVERMED_R_SMDS_MESH
 
+#include "SMESH_DriverMED.hxx"
+
 #include "Driver_SMDS_Mesh.h"
 
-class DriverMED_R_SMDS_Mesh: public Driver_SMDS_Mesh
+class MESHDRIVERMED_EXPORT DriverMED_R_SMDS_Mesh: public Driver_SMDS_Mesh
 {};
 
 #endif
index c933e0c4ad79fef84d5d20bfd343a41bc9b9a211..137acbb4edf966aef4bcde52a468b8604d946f94 100644 (file)
 #ifndef _INCLUDE_DRIVERMED_R_SMESHDS_DOCUMENT
 #define _INCLUDE_DRIVERMED_R_SMESHDS_DOCUMENT
 
+#include "SMESH_DriverMED.hxx"
+
 #include "Driver_Document.h"
 
-class DriverMED_R_SMESHDS_Document : public Driver_Document 
+class MESHDRIVERMED_EXPORT DriverMED_R_SMESHDS_Document : public Driver_Document 
 {};
 
 #endif
index cb72bccdfb911e3ad16cb42ee7ed462d4c71501b..f83ce8ac3504648de0cbdf1968f5eaa820576606 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef _INCLUDE_DRIVERMED_R_SMESHDS_MESH
 #define _INCLUDE_DRIVERMED_R_SMESHDS_MESH
 
+#include "SMESH_DriverMED.hxx"
+
 #include "Driver_SMESHDS_Mesh.h"
 #include "DriverMED_Family.h"
 
@@ -38,7 +40,7 @@ class SMESHDS_SubMesh;
 
 typedef std::pair< std::string, SMDSAbs_ElementType > TNameAndType;
 
-class DriverMED_R_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
+class MESHDRIVERMED_EXPORT DriverMED_R_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
 {
  public:
   virtual Status Perform();
index 2151ae6728fa8a99f2f5571ec1ca402ebfdfe125..5b348e6b475bc33efa054427abd6c4702d7840ec 100644 (file)
 #ifndef _INCLUDE_DRIVERMED_W_SMDS_MESH
 #define _INCLUDE_DRIVERMED_W_SMDS_MESH
 
+#include "SMESH_DriverMED.hxx"
+
 #include "Driver_SMDS_Mesh.h"
 
-class DriverMED_W_SMDS_Mesh: public Driver_SMDS_Mesh
+class MESHDRIVERMED_EXPORT DriverMED_W_SMDS_Mesh: public Driver_SMDS_Mesh
 {};
 
 #endif
index 2f0cce3bc012c2c2b64448c097ae686bd1b8482e..0efe1709b2809ed424a0942480a459889fa26474 100644 (file)
 #ifndef _INCLUDE_DRIVERMED_W_SMESHDS_DOCUMENT
 #define _INCLUDE_DRIVERMED_W_SMESHDS_DOCUMENT
 
+#include "SMESH_DriverMED.hxx"
+
 #include "Driver_Document.h"
 
-class DriverMED_W_SMESHDS_Document : public Driver_Document 
+class MESHDRIVERMED_EXPORT DriverMED_W_SMESHDS_Document : public Driver_Document 
 {};
 
 #endif
index 1cc864944d9aa339aece4b8f77ac8ac931f9bd50..fa1e608da24198d3a3962d0047560d398e985998 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef _INCLUDE_DRIVERMED_W_SMESHDS_MESH
 #define _INCLUDE_DRIVERMED_W_SMESHDS_MESH
 
+#include "SMESH_DriverMED.hxx"
+
 #include "Driver_SMESHDS_Mesh.h"
 #include "MED_Factory.hxx"
 
@@ -38,7 +40,7 @@ class SMESHDS_Mesh;
 class SMESHDS_GroupBase;
 class SMESHDS_SubMesh;
 
-class DriverMED_W_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
+class MESHDRIVERMED_EXPORT DriverMED_W_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
 {
   public:
 
index 8c9e441e7f73485ec19465ddbf32b0f024ba55bb..a908156549134a2fb74864186bee5994038f5c8d 100644 (file)
@@ -38,7 +38,7 @@ VPATH=.:@srcdir@
 EXPORT_HEADERS = \
        DriverMED_R_SMDS_Mesh.h DriverMED_R_SMESHDS_Mesh.h DriverMED_R_SMESHDS_Document.h \
        DriverMED_W_SMDS_Mesh.h DriverMED_W_SMESHDS_Mesh.h DriverMED_W_SMESHDS_Document.h \
-       DriverMED_Family.h
+       DriverMED_Family.h SMESH_DriverMED.hxx
 
 # Libraries targets
 LIB = libMeshDriverMED.la
diff --git a/src/DriverMED/SMESH_DriverMED.hxx b/src/DriverMED/SMESH_DriverMED.hxx
new file mode 100755 (executable)
index 0000000..50eb79b
--- /dev/null
@@ -0,0 +1,39 @@
+//  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_DriverMED.hxx
+//  Author : Alexander A. BORODIN
+//  Module : SMESH
+
+#ifndef _SMESH_DriverMED_HXX_
+#define _SMESH_DriverMED_HXX_
+
+#ifdef WNT
+ #if defined MESHDRIVERMED_EXPORTS
+  #define MESHDRIVERMED_EXPORT __declspec( dllexport )
+ #else
+  #define MESHDRIVERMED_EXPORT __declspec( dllimport )
+ #endif
+#else
+ #define MESHDRIVERMED_EXPORT
+#endif
+
+#endif
index 14afd3c21bd84c18896080656dff386b2b885ec5..078e88e185a0c3f1df7fb959b8b74c888d6e6db5 100644 (file)
 #ifndef _INCLUDE_DRIVERSTL_R_SMDS_MESH
 #define _INCLUDE_DRIVERSTL_R_SMDS_MESH
 
+#include "SMESH_DriverSTL.hxx"
+
 #include "Driver_SMDS_Mesh.h"
 
 #include <Standard_TypeDef.hxx>
 
-class DriverSTL_R_SMDS_Mesh: public Driver_SMDS_Mesh
+class MESHDRIVERSTL_EXPORT DriverSTL_R_SMDS_Mesh: public Driver_SMDS_Mesh
 {
  public:
   DriverSTL_R_SMDS_Mesh();
index 49d75208324a5af69e5e44a9cf552d131d9ebe65..30fb26ec68f17841e08abaf3355a034d8ea98226 100644 (file)
 #ifndef _INCLUDE_DRIVERSTL_W_SMDS_MESH
 #define _INCLUDE_DRIVERSTL_W_SMDS_MESH
 
+#include "SMESH_DriverSTL.hxx"
+
 #include "Driver_SMDS_Mesh.h"
 #include <Standard_TypeDef.hxx>
 
-class DriverSTL_W_SMDS_Mesh: public Driver_SMDS_Mesh
+class MESHDRIVERSTL_EXPORT DriverSTL_W_SMDS_Mesh: public Driver_SMDS_Mesh
 {
  public:
   
index ef7833be945f2984d3c8e39fdad7802e021bca5e..558ae2d3123ae4fd914df82d64fb6ab4867b12df 100644 (file)
@@ -35,7 +35,7 @@ VPATH=.:@srcdir@
 @COMMENCE@
 
 # header files 
-EXPORT_HEADERS= DriverSTL_R_SMDS_Mesh.h DriverSTL_W_SMDS_Mesh.h
+EXPORT_HEADERS= DriverSTL_R_SMDS_Mesh.h DriverSTL_W_SMDS_Mesh.h SMESH_DriverSTL.hxx
 
 # Libraries targets
 LIB = libMeshDriverSTL.la
diff --git a/src/DriverSTL/SMESH_DriverSTL.hxx b/src/DriverSTL/SMESH_DriverSTL.hxx
new file mode 100755 (executable)
index 0000000..2204a4a
--- /dev/null
@@ -0,0 +1,39 @@
+//  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_DriverSTL.hxx
+//  Author : Alexander A. BORODIN
+//  Module : SMESH
+
+#ifndef _SMESH_DriverSTL_HXX_
+#define _SMESH_DriverSTL_HXX_
+
+#ifdef WNT
+ #if defined MESHDRIVERSTL_EXPORTS
+  #define MESHDRIVERSTL_EXPORT __declspec( dllexport )
+ #else
+  #define MESHDRIVERSTL_EXPORT __declspec( dllimport )
+ #endif
+#else
+ #define MESHDRIVERSTL_EXPORT
+#endif
+
+#endif
index 46c6ad347b30e2696daa70cef607180440c6472b..bdcdfc31f9c79ae15e44deacc5533c63fcf2ed4f 100644 (file)
 #ifndef _INCLUDE_DRIVERUNV_R_SMDS_MESH
 #define _INCLUDE_DRIVERUNV_R_SMDS_MESH
 
+#include "SMESH_DriverUNV.hxx"
+
 #include "Driver_SMDS_Mesh.h"
 
 class SMDS_Mesh;
 
-class DriverUNV_R_SMDS_Mesh: public Driver_SMDS_Mesh
+class MESHDRIVERUNV_EXPORT DriverUNV_R_SMDS_Mesh: public Driver_SMDS_Mesh
 {
  public:
   virtual Status Perform();
index 4d38a67c306aca7558ec2ec977a5cc3329c3e681..79de1b838381fb01700595100c08e1d21acb7299 100644 (file)
 #ifndef _INCLUDE_DRIVERUNV_R_SMESHDS_DOCUMENT
 #define _INCLUDE_DRIVERUNV_R_SMESHDS_DOCUMENT
 
+#include "SMESH_DriverUNV.hxx"
+
 #include "Driver_Document.h"
 
-class DriverUNV_R_SMESHDS_Document: public Driver_Document
+class MESHDRIVERUNV_EXPORT DriverUNV_R_SMESHDS_Document: public Driver_Document
 {};
 
 #endif
index fce4b66bd064d0f87a08d32b569f63d200326155..ef1ceede492264f1ce453398d8867709df049c8b 100644 (file)
 #ifndef _INCLUDE_DRIVERUNV_R_SMESHDS_MESH
 #define _INCLUDE_DRIVERUNV_R_SMESHDS_MESH
 
+#include "SMESH_DriverUNV.hxx"
+
 #include "Driver_SMESHDS_Mesh.h"
 
-class DriverUNV_R_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
+class MESHDRIVERUNV_EXPORT DriverUNV_R_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
 {};
 
 #endif
index 88ff5e83cccc376e04ca915cf54c3d0e40430c39..e40be15643181f4ae7f3f182b1ac296d0ff4fb03 100644 (file)
 #ifndef _INCLUDE_DRIVERUNV_W_SMDS_MESH
 #define _INCLUDE_DRIVERUNV_W_SMDS_MESH
 
+#include "SMESH_DriverUNV.hxx"
+
 #include "Driver_SMDS_Mesh.h"
 
-class DriverUNV_W_SMDS_Mesh: public Driver_SMDS_Mesh
+class MESHDRIVERUNV_EXPORT DriverUNV_W_SMDS_Mesh: public Driver_SMDS_Mesh
 {
  public:
   virtual Status Perform();
index 77feb0edefd310aab0a997775952c69b396fdfbf..d1641017287199aeb569d0254b3cc820d792ebfd 100644 (file)
 #ifndef _INCLUDE_DRIVERUNV_W_SMESHDS_DOCUMENT
 #define _INCLUDE_DRIVERUNV_W_SMESHDS_DOCUMENT
 
+#include "SMESH_DriverUNV.hxx"
+
 #include "Driver_Document.h"
 
-class DriverUNV_W_SMESHDS_Document : public Driver_Document 
+class MESHDRIVERUNV_EXPORT DriverUNV_W_SMESHDS_Document : public Driver_Document 
 {};
 
 #endif
index 8bc728451295b9bd5c04da661672751b6720cfd3..8d9263d008ceee5d09030a23d5adc1f63f292468 100644 (file)
 #ifndef _INCLUDE_DRIVERUNV_W_SMESHDS_MESH
 #define _INCLUDE_DRIVERUNV_W_SMESHDS_MESH
 
+#include "SMESH_DriverUNV.hxx"
+
 #include "Driver_SMESHDS_Mesh.h"
 
-class DriverUNV_W_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
+class MESHDRIVERUNV_EXPORT DriverUNV_W_SMESHDS_Mesh: public Driver_SMESHDS_Mesh
 {};
 
 #endif
index 34676940199d54f8293a02986c66c577054160c6..debe7da044e5fdc3003b148b3f942c48bbd9bee5 100644 (file)
@@ -51,7 +51,7 @@ LIB_SRC = \
        DriverUNV_W_SMESHDS_Document.cxx \
        DriverUNV_W_SMDS_Mesh.cxx \
        DriverUNV_W_SMESHDS_Mesh.cxx \
-       UNV_Utilities.cxx UNV2411_Structure.cxx UNV2412_Structure.cxx
+       UNV_Utilities.cxx UNV2411_Structure.cxx UNV2412_Structure.cxx SMESH_DriverUNV.hxx
 
 # Executables targets
 BIN = UNV_Test
diff --git a/src/DriverUNV/SMESH_DriverUNV.hxx b/src/DriverUNV/SMESH_DriverUNV.hxx
new file mode 100755 (executable)
index 0000000..32f04a1
--- /dev/null
@@ -0,0 +1,39 @@
+//  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_DriverUNV.hxx
+//  Author : Alexander A. BORODIN
+//  Module : SMESH
+
+#ifndef _SMESH_DriverUNV_HXX_
+#define _SMESH_DriverUNV_HXX_
+
+#ifdef WNT
+ #if defined MESHDRIVERUNV_EXPORTS
+  #define MESHDRIVERUNV_EXPORT __declspec( dllexport )
+ #else
+  #define MESHDRIVERUNV_EXPORT __declspec( dllimport )
+ #endif
+#else
+ #define MESHDRIVERUNV_EXPORT
+#endif
+
+#endif
index 4f6a393174c6657831be2f99430a4f74d58c7a56..ee4134251f7267ee8cb51ea25c15cce66c35ff43 100644 (file)
 #ifndef UNV2411_Structure_HeaderFile
 #define UNV2411_Structure_HeaderFile
 
+#include "SMESH_DriverUNV.hxx"
+
 #include <map>
 #include <fstream>     
 
 namespace UNV2411{
   
-  struct TRecord{
+  struct MESHDRIVERUNV_EXPORT TRecord{
     TRecord();
     int exp_coord_sys_num;  // export coordinate system number
     int disp_coord_sys_num;  // displacement coordinate system number
@@ -36,9 +38,11 @@ namespace UNV2411{
   typedef int TNodeLab; // type of node label
   typedef std::map<TNodeLab,TRecord> TDataSet;
 
-  void Read(std::ifstream& in_stream, TDataSet& theDataSet);
+  MESHDRIVERUNV_EXPORT void
+    Read(std::ifstream& in_stream, TDataSet& theDataSet);
 
-  void Write(std::ofstream& out_stream, const TDataSet& theDataSet);
+  MESHDRIVERUNV_EXPORT void
+    Write(std::ofstream& out_stream, const TDataSet& theDataSet);
 
 };
 
index 0892c5f8515ffbddfd8bdd6c413a1ab708b7a3a7..8c4003d3737d6523e1dc56dfc4427dd9829e96c3 100644 (file)
@@ -20,6 +20,8 @@
 #ifndef UNV2412_Structure_HeaderFile
 #define UNV2412_Structure_HeaderFile
 
+#include "SMESH_DriverUNV.hxx"
+
 #include <map>
 #include <vector>
 #include <fstream>     
@@ -29,7 +31,7 @@ namespace UNV2412{
   
   typedef std::vector<int> TNodeLabels; // Nodal connectivities
 
-  struct TRecord{
+  struct MESHDRIVERUNV_EXPORT TRecord{
     TRecord();
 
     int fe_descriptor_id;  // FE descriptor id
@@ -47,13 +49,18 @@ namespace UNV2412{
   typedef int TElementLab; // type of element label
   typedef std::map<TElementLab,TRecord> TDataSet;
 
-  void Read(std::ifstream& in_stream, TDataSet& theDataSet);
+  MESHDRIVERUNV_EXPORT void
+    Read(std::ifstream& in_stream, TDataSet& theDataSet);
 
-  void Write(std::ofstream& out_stream, const TDataSet& theDataSet);
+  MESHDRIVERUNV_EXPORT void
+    Write(std::ofstream& out_stream, const TDataSet& theDataSet);
 
-  bool IsBeam(int theFeDescriptorId);
-  bool IsFace(int theFeDescriptorId);
-  bool IsVolume(int theFeDescriptorId);
+  MESHDRIVERUNV_EXPORT bool
+    IsBeam(int theFeDescriptorId);
+  MESHDRIVERUNV_EXPORT bool
+    IsFace(int theFeDescriptorId);
+  MESHDRIVERUNV_EXPORT bool
+    IsVolume(int theFeDescriptorId);
 
 };
 
index bf7b8d40a6f2c355243de6e798bb9964d21bf17c..f87837ace96e79aefd94ec1a1cb70dfae80d3564 100644 (file)
@@ -9,6 +9,8 @@
 #ifndef MED_Utilities_HeaderFile
 #define MED_Utilities_HeaderFile
 
+#include "SMESH_DriverUNV.hxx"
+
 #include <iostream>    
 #include <sstream>     
 #include <string>
@@ -18,7 +20,7 @@
 namespace UNV{
   using namespace std;
 
-  class PrefixPrinter{
+  class MESHDRIVERUNV_EXPORT PrefixPrinter{
     static int myCounter;
   public:
     PrefixPrinter();
index 40c09052378101f2593917d8d41e391436080b9b..3464c8f7edc8a244c2f1df528cb060aec276b13d 100755 (executable)
 
 #include "Rn.h"
 #include "aptrte.h"
+#ifndef WIN32
 #include "utilities.h"
 
 using namespace std;
+#endif
 
 extern "C"
 {
@@ -48,7 +50,7 @@ void tempscpu_( double & tempsec )
 //Retourne le temps CPU utilise en secondes
 {  
   tempsec = ( (double) clock() ) / CLOCKS_PER_SEC;
-  //MESSAGE( "temps cpu=" << tempsec );
+  // MESSAGEE( "temps cpu=" << tempsec );
 }
 
 
@@ -58,7 +60,7 @@ void deltacpu_( R & dtcpu )
   tempscpu_( cpunew );
   dtcpu  = R( cpunew - cpuold );
   cpuold = cpunew;
-  //MESSAGE( "delta temps cpu=" << dtcpu );
+  // MESSAGEE( "delta temps cpu=" << dtcpu );
   return;
 }
 
@@ -162,8 +164,8 @@ void  aptrte( Z nutysu, R aretmx,
   // majoration empirique du nombre de sommets de la triangulation
   i =  4*nbarfr/10;
   mxsomm = Max( 20000, 64*nbpti+i*i );
-  MESSAGE( "APTRTE: Depart de la triangulation avec " );
-  MESSAGE( "nutysu=" << nutysu << "  aretmx=" << aretmx << "  mxsomm=" << mxsomm );
+  // MESSAGEE( "APTRTE: Depart de la triangulation avec " );
+  // MESSAGEE( "nutysu=" << nutysu << "  aretmx=" << aretmx << "  mxsomm=" << mxsomm );
 
  NEWDEPART:
   //mnpxyd( 3, mxsomm ) les coordonnees UV des sommets et la taille d'arete aux sommets
@@ -309,8 +311,8 @@ void  aptrte( Z nutysu, R aretmx,
   aremax = sqrt( aremax );  //longueur maximale d'une arete
 
   aretmx = Min( aretmx, aremax );  //pour homogeneiser
-  MESSAGE("nutysu=" << nutysu << "  aretmx=" << aretmx 
-       << "  arete min=" << aremin << "  arete max=" << aremax);
+  // MESSAGEE("nutysu=" << nutysu << "  aretmx=" << aretmx 
+  //     << "  arete min=" << aremin << "  arete max=" << aremax);
 
   //chainage des aretes frontalieres : la derniere arete frontaliere
   mnsoar[ mosoar * noar - mosoar + 5 ] = 0;
@@ -350,7 +352,7 @@ void  aptrte( Z nutysu, R aretmx,
   mxtree = 2 * mxsomm;
 
  NEWTREE:  //en cas de saturation de l'un des tableaux, on boucle
-  MESSAGE( "Debut triangulation avec mxsomm=" << mxsomm );
+  // MESSAGEE( "Debut triangulation avec mxsomm=" << mxsomm );
   if( mntree != NULL ) delete [] mntree;
   nbsomm = nbarpi;
   mntree = new Z[motree*(1+mxtree)];
@@ -366,13 +368,13 @@ void  aptrte( Z nutysu, R aretmx,
     //saturation de letree => sa taille est augmentee et relance
     mxtree = mxtree * 2;
     ierr   = 0;
-    MESSAGE( "Nouvelle valeur de mxtree=" << mxtree );
+    // MESSAGEE( "Nouvelle valeur de mxtree=" << mxtree );
     goto NEWTREE;
   }
 
   deltacpu_( d );
   tcpu += d;
-  MESSAGE( "Temps de l'ajout arbre-4 des Triangles Equilateraux=" << d << " secondes" );
+  // MESSAGEE( "Temps de l'ajout arbre-4 des Triangles Equilateraux=" << d << " secondes" );
   if( ierr != 0 ) goto ERREUR;
   //ici le tableau mnpxyd contient les sommets des te et les points frontaliers et internes
 
@@ -392,8 +394,8 @@ void  aptrte( Z nutysu, R aretmx,
 
   deltacpu_( d );
   tcpu += d;
-  MESSAGE("Temps de l'adaptation et l'homogeneisation de l'arbre-4 des TE="
-       << d << " secondes");
+  // MESSAGEE("Temps de l'adaptation et l'homogeneisation de l'arbre-4 des TE="
+  //     << d << " secondes");
   if( ierr != 0 )
   {
     //destruction du tableau auxiliaire et de l'arbre
@@ -401,7 +403,7 @@ void  aptrte( Z nutysu, R aretmx,
     {
       //letree sature
       mxtree = mxtree * 2;
-      MESSAGE( "Redemarrage avec la valeur de mxtree=" << mxtree );
+      // MESSAGEE( "Redemarrage avec la valeur de mxtree=" << mxtree );
       ierr = 0;
       goto NEWTREE;
     }
@@ -424,7 +426,7 @@ void  aptrte( Z nutysu, R aretmx,
   //Temps calcul
   deltacpu_( d );
   tcpu += d;
-  MESSAGE( "Temps de la triangulation des TE=" << d << " secondes" );
+  // MESSAGEE( "Temps de la triangulation des TE=" << d << " secondes" );
 
   // ierr =0 si pas d'erreur
   //      =1 si le tableau mnsoar est sature
@@ -446,11 +448,11 @@ void  aptrte( Z nutysu, R aretmx,
           mosoar, mxsoar, n1soar, mnsoar, na,
           moartr, mxartr, n1artr, mnartr, n );
 
-  MESSAGE( "Nombre d'echanges des diagonales de 2 triangles=" << n );
+  // MESSAGEE( "Nombre d'echanges des diagonales de 2 triangles=" << n );
   deltacpu_( d );
   tcpu += d;
-  MESSAGE("Temps de la triangulation Delaunay par echange des diagonales="
-       << d << " secondes");
+  // MESSAGEE("Temps de la triangulation Delaunay par echange des diagonales="
+  //     << d << " secondes");
 
   //qualites de la triangulation actuelle
   qualitetrte( mnpxyd, mosoar, mxsoar, mnsoar, moartr, mxartr, mnartr,
@@ -479,11 +481,11 @@ void  aptrte( Z nutysu, R aretmx,
           mxarcf, mn1arcf, mnarcf, mnarcf1, mnarcf2,
           n, ierr );
 
-  MESSAGE( "Restauration de " << n << " aretes perdues de la frontiere" );
+  // MESSAGEE( "Restauration de " << n << " aretes perdues de la frontiere" );
   deltacpu_( d );
   tcpu += d;
-  MESSAGE("Temps de la recuperation des aretes perdues de la frontiere="
-       << d << " secondes");
+  // MESSAGEE("Temps de la recuperation des aretes perdues de la frontiere="
+  //     << d << " secondes");
 
   if( ierr != 0 ) goto ERREUR;
 
@@ -525,7 +527,7 @@ void  aptrte( Z nutysu, R aretmx,
 
   deltacpu_( d );
   tcpu += d;
-  MESSAGE( "Temps de la suppression des triangles externes=" << d );
+  // MESSAGEE( "Temps de la suppression des triangles externes=" << d );
   if( ierr != 0 ) goto ERREUR;
 
   //qualites de la triangulation actuelle
@@ -556,7 +558,7 @@ void  aptrte( Z nutysu, R aretmx,
 
   deltacpu_( d );
   tcpu += d;
-  MESSAGE( "Temps de l'amelioration de la qualite de la triangulation=" << d );
+  // MESSAGEE( "Temps de l'amelioration de la qualite de la triangulation=" << d );
   if( ierr != 0 ) goto ERREUR;
 
   //qualites de la triangulation finale
@@ -649,12 +651,12 @@ void  aptrte( Z nutysu, R aretmx,
     }
   }
   nbt /= 4;  //le nombre final de triangles de la surface
-  MESSAGE("Nombre de sommets=" << nbst
-       << "  Nombre de triangles=" << nbt);
+  // MESSAGEE("Nombre de sommets=" << nbst
+  //     << "  Nombre de triangles=" << nbt);
 
   deltacpu_( d );
   tcpu += d;
-  MESSAGE( "Temps total de la triangulation=" << tcpu << " secondes" );
+  // MESSAGEE( "Temps total de la triangulation=" << tcpu << " secondes" );
 
   // destruction des tableaux auxiliaires
   // ------------------------------------
@@ -686,7 +688,7 @@ void  aptrte( Z nutysu, R aretmx,
   }
   else
   {
-    MESSAGE( "Triangulation non realisee " << ierr );
+    // MESSAGEE( "Triangulation non realisee " << ierr );
     if( ierr == 0 ) ierr=1;
     goto NETTOYAGE;
   }
@@ -763,9 +765,9 @@ void qualitetrte( R3 *mnpxyd,
       {
        //un triangle d'aire negative de plus
        nbtrianeg++;
-       MESSAGE("ATTENTION: le triangle " << nt << " de sommets:"
-            << nosotr[0] << " " << nosotr[1] << " " << nosotr[2]
-            << " a une aire " << d <<"<=0");
+       // MESSAGEE("ATTENTION: le triangle " << nt << " de sommets:"
+       //     << nosotr[0] << " " << nosotr[1] << " " << nosotr[2]
+       //     << " a une aire " << d <<"<=0");
       }
 
       //aire des triangles actuels
@@ -775,12 +777,12 @@ void qualitetrte( R3 *mnpxyd,
 
   //les affichages
   quamoy /= nbtria;
-  MESSAGE("Qualite moyenne=" << quamoy
-       << "  Qualite minimale=" << quamin
-       << " des " << nbtria << " triangles de surface totale="
-       << aire);
+  // MESSAGEE("Qualite moyenne=" << quamoy
+  //     << "  Qualite minimale=" << quamin
+  //     << " des " << nbtria << " triangles de surface totale="
+  //     << aire);
 
-  if( nbtrianeg>0 )
-    MESSAGE( "ATTENTION: nombre de triangles d'aire negative=" << nbtrianeg );
+  //if( nbtrianeg>0 )
+  //  MESSAGE( "ATTENTION: nombre de triangles d'aire negative=" << nbtrianeg );
   return;
 }
index 53108770018d2b774fb2b6fa67d19dc69fac7e11..8d664a10a05d9814f139828c8348b5116d0b78f3 100755 (executable)
 #define aptrte__h
 
 #include <limits.h>   // limites min max int long real ...
+#ifndef WIN32
 #include <unistd.h>   // gethostname, ...
+#endif
 #include <stdio.h>
+#ifndef WIN32
 #include <iostream.h> // pour cout cin ...
 #include <iomanip.h>  // pour le format des io setw, stx, setfill, ...
+#endif
 #include <string.h>   // pour les fonctions sur les chaines de caracteres
 #include <ctype.h>
 #include <stdlib.h>
 #include <time.h>
 
 #include <sys/types.h>
+#ifndef WIN32
 #include <sys/time.h>
+#endif
+
+#ifdef WNT
+ #if defined MEFISTO2D_EXPORTS
+  #define MEFISTO2D_EXPORT __declspec( dllexport )
+ #else
+  #define MEFISTO2D_EXPORT __declspec( dllimport )
+ #endif
+#else
+ #define MEFISTO2D_EXPORT
+#endif
 
-void qualitetrte( R3 *mnpxyd,
+  void qualitetrte( R3 *mnpxyd,
                  Z & mosoar, Z & mxsoar, Z *mnsoar,
                  Z & moartr, Z & mxartr, Z *mnartr,
                  Z & nbtria, R & quamoy, R & quamin );
@@ -75,7 +91,8 @@ void qualitetrte( R3 *mnpxyd,
 // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
 
-void  aptrte( Z nutysu, R aretmx,
+MEFISTO2D_EXPORT
+  void  aptrte( Z nutysu, R aretmx,
              Z nblf,   Z *nudslf, R2 *uvslf,
              Z nbpti,  R2 *uvpti,
              Z & nbst, R2 * & uvst, Z & nbt, Z * & nust,
index 7319914d769aaee7a8399cf07de68977a1be54f5..8114f529b850daae319babc199a32499cf76e335 100644 (file)
@@ -39,7 +39,7 @@ class vtkScalarBarActor;
 class vtkPlane;
 class vtkImplicitBoolean;
 
-class SMESH_Actor: public SALOME_Actor
+class SMESHOBJECT_EXPORT SMESH_Actor: public SALOME_Actor
 {
   static SMESH_Actor* New() { return NULL;}
 
index 7ed5149f19300ff2563524eb0707a100b199c3f0..5df608124a5b293f8f6437a0e05d74f75052adcc 100644 (file)
@@ -79,7 +79,7 @@ class vtkTimeStamp;
 class SMESH_DeviceActor;
 
 
-class SMESH_ActorDef : public SMESH_Actor{
+class SMESHOBJECT_EXPORT SMESH_ActorDef : public SMESH_Actor{
   friend class SMESH_VisualObj;
   friend class SMESH_Actor;
 
index f28e8d6c9ae5568fae70b246c3b4df9b1ec89c57..32a27fa334c15bec64a836cfc052413b38b86524 100644 (file)
@@ -20,6 +20,8 @@
 #ifndef SMESH_ACTORUTILS_H
 #define SMESH_ACTORUTILS_H
 
+#include "SMESH_Object.h"
+
 #include <qcolor.h>
 #include <qstring.h>
 
@@ -27,12 +29,12 @@ class vtkUnstructuredGrid;
 
 namespace SMESH{
   
-  float GetFloat( const QString& theValue, float theDefault = 0 );
-  float GetFloat( const QString& theName, const QString& theSection, float theDefault = 0 );
+  float SMESHOBJECT_EXPORT GetFloat( const QString& theValue, float theDefault = 0 );
+  float SMESHOBJECT_EXPORT GetFloat( const QString& theName, const QString& theSection, float theDefault = 0 );
 
-  QColor GetColor( const QString& theSect, const QString& theName, const QColor&t = QColor() );
-  void   GetColor( const QString& theSect, const QString& theName, int&, int&, int&, const QColor&t = QColor() );
-  void   GetColor( const QString& theSect, const QString& theName, float&, float&, float&, const QColor&t = QColor() );
+  QColor SMESHOBJECT_EXPORT GetColor( const QString& theSect, const QString& theName, const QColor&t = QColor() );
+  void   SMESHOBJECT_EXPORT GetColor( const QString& theSect, const QString& theName, int&, int&, int&, const QColor&t = QColor() );
+  void   SMESHOBJECT_EXPORT GetColor( const QString& theSect, const QString& theName, float&, float&, float&, const QColor&t = QColor() );
 
   void WriteUnstructuredGrid(vtkUnstructuredGrid* theGrid, const char* theFileName);
 
index 88da39f94b4a9ab9ce5ee42b917ea98df39457f3..c6ee8b9238baf6771856fd7a2596f5f8f7727940 100644 (file)
@@ -54,7 +54,7 @@ class VTKViewer_ExtractUnstructuredGrid;
 class SMESH_ExtractGeometry;
 
 
-class SMESH_DeviceActor: public vtkLODActor{
+class SMESHOBJECT_EXPORT SMESH_DeviceActor: public vtkLODActor{
   friend class SMESH_ActorDef;
 
  public:
index 794229516d365211bf4786518c7eb33e41b66a06..c557718f94cd2d8aeeecc1df1affa517dcceb144 100644 (file)
 #ifndef SALOME_ExtractGeometry_HeaderFile
 #define SALOME_ExtractGeometry_HeaderFile
 
+#include "SMESH_Object.h"
+
 #include <vtkExtractGeometry.h>
 #include <vector>
 
 
-class SMESH_ExtractGeometry : public vtkExtractGeometry{
+class SMESHOBJECT_EXPORT SMESH_ExtractGeometry : public vtkExtractGeometry{
 public:
   vtkTypeMacro(SMESH_ExtractGeometry,vtkExtractGeometry);
 
index 885ee3de35b4b66aed1a34dcc8e1166956a27870..93a67a582c1a2ef0923f044ec2cdedb742b4add9 100644 (file)
@@ -719,7 +719,7 @@ bool SMESH_VisualObjDef::GetEdgeNodes( const int theElemId,
   if ( theEdgeNum < 0 || theEdgeNum > 3 || nbNodes != 3 && nbNodes != 4 || theEdgeNum > nbNodes )
     return false;
 
-  int anIds[ nbNodes ];
+  vector<int> anIds( nbNodes );
   SMDS_ElemIteratorPtr anIter = anElem->nodesIterator();
   int i = 0;
   while( anIter->more() )
@@ -834,7 +834,7 @@ void SMESH_MeshObj::Update( int theIsClear )
             int nbNodes = anIndexes[i++];
             // nodes
             //ASSERT( nbNodes < 9 );
-            const SMDS_MeshNode* aNodes[ nbNodes ];
+            const SMDS_MeshNode** aNodes = new const SMDS_MeshNode*[ nbNodes ];
             for ( int iNode = 0; iNode < nbNodes; iNode++ )
               aNodes[ iNode ] = FindNode( myMesh, anIndexes[i++] );
             // change
index aea4f778e26e3d64952568e98d37e18bd0712c84..5d7a1580a7a77f5de28ca1e4510fc298ad6736c5 100644 (file)
 #ifndef SMESH_OBJECT_H
 #define SMESH_OBJECT_H
 
+#ifdef WNT
+ #if defined SMESHOBJECT_EXPORTS
+  #define SMESHOBJECT_EXPORT __declspec( dllexport )
+ #else
+  #define SMESHOBJECT_EXPORT __declspec( dllimport )
+ #endif
+#else
+ #define SMESHOBJECT_EXPORT
+#endif
+
 #include <boost/shared_ptr.hpp>
 #include <vtkSystemIncludes.h>
 
@@ -42,7 +52,7 @@ class vtkUnstructuredGrid;
   Class       : SMESH_VisualObj
   Description : Base class for all mesh objects to be visuilised
 */
-class SMESH_VisualObj
+class SMESHOBJECT_EXPORT SMESH_VisualObj
 {
 public:
   virtual void Update( int theIsClear = true ) = 0;
index 134b47b10ba6ae6a714b10d252ba6c69ad4d7a0e..fb0ca9771dcf70d052a739d679a9cd4b9bc2b76f 100644 (file)
@@ -51,7 +51,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;
@@ -104,7 +104,7 @@ private:
   Description : Class for visualisation of mesh
 */
 
-class SMESH_MeshObj: public SMESH_VisualObjDef
+class SMESHOBJECT_EXPORT SMESH_MeshObj: public SMESH_VisualObjDef
 {
 public:
 
@@ -136,7 +136,7 @@ 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:
 
@@ -160,7 +160,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 +181,7 @@ private:
   Description : Class for visualisation of submeshes
 */
 
-class SMESH_subMeshObj : public SMESH_SubMeshObj
+class SMESHOBJECT_EXPORT SMESH_subMeshObj : public SMESH_SubMeshObj
 {
 public:
 
index e066e25e0bbb35d9cb600a6540e5f579f5f2d944..32fc0da594ce0fb06586ccb95aa82997d9797f72 100644 (file)
@@ -113,7 +113,8 @@ EXPORT_HEADERS= \
        SMDS_FaceOfEdges.hxx \
        SMDS_FaceOfNodes.hxx \
        SMDS_PolygonalFaceOfNodes.hxx \
-       SMDS_VolumeTool.hxx
+       SMDS_VolumeTool.hxx \
+       SMESH_SMDS.hxx
 #      SMDS_Tria3OfNodes.hxx \
 #      SMDS_HexahedronOfNodes.hxx
 
index fd297d3abee7691a43c5952a02041238ec534fe1..a8d85c256ebcdcf45bafe23b2ad049d592dd697a 100644 (file)
 #ifndef _SMDS_EdgePosition_HeaderFile
 #define _SMDS_EdgePosition_HeaderFile
 
-#include "SMDS_Position.hxx"
-
-//#ifdef WNT
-//#include <SALOME_WNT.hxx>
-//#else
-//#define SALOME_WNT_EXPORT
-//#endif
+#include "SMESH_SMDS.hxx"
 
-#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
-#define SMDS_WNT_EXPORT __declspec( dllexport )
-#else
-#define SMDS_WNT_EXPORT
-#endif
+#include "SMDS_Position.hxx"
 
-class SMDS_WNT_EXPORT SMDS_EdgePosition:public SMDS_Position
+class SMDS_EXPORT SMDS_EdgePosition:public SMDS_Position
 {
 
   public:
index cd8e5dd8f29ee2ca94343860f1ec1b3e86a9191a..a314697e3818e053cd978108a9018d11ae19e018 100644 (file)
@@ -22,6 +22,8 @@
 #ifndef _SMDS_FaceOfEdges_HeaderFile
 #define _SMDS_FaceOfEdges_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_MeshFace.hxx"
 #include "SMDS_MeshEdge.hxx"
 #include "SMDS_Iterator.hxx"
@@ -29,7 +31,7 @@
 #include <iostream>
 
 
-class SMDS_FaceOfEdges:public SMDS_MeshFace
+class SMDS_EXPORT SMDS_FaceOfEdges:public SMDS_MeshFace
 {
   public:
        void Print(std::ostream & OS) const;
index 290195107d4844fbd2be02cfd5770209232a703c..1ce06047ca6f18b592903d380f29dc15216c2797 100644 (file)
 #ifndef _SMDS_FaceOfNodes_HeaderFile
 #define _SMDS_FaceOfNodes_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_MeshFace.hxx"
 #include "SMDS_MeshNode.hxx"
 #include "SMDS_Iterator.hxx"
 
 #include <iostream>
 
-class SMDS_FaceOfNodes:public SMDS_MeshFace
+class SMDS_EXPORT SMDS_FaceOfNodes:public SMDS_MeshFace
 {
   public:
        void Print(std::ostream & OS) const;
index 8ca74130fd0d83724e10f138101ad5a7b967d0c4..7c6a2fa04cec3267bf5f66302788cb24197ceceb 100644 (file)
 #ifndef _SMDS_FacePosition_HeaderFile
 #define _SMDS_FacePosition_HeaderFile
 
-#include "SMDS_Position.hxx"
-
-//#ifdef WNT
-//#include <SALOME_WNT.hxx>
-//#else
-//#define SALOME_WNT_EXPORT
-//#endif
+#include "SMESH_SMDS.hxx"
 
-#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
-#define SMDS_WNT_EXPORT __declspec( dllexport )
-#else
-#define SMDS_WNT_EXPORT
-#endif
+#include "SMDS_Position.hxx"
 
-class SMDS_WNT_EXPORT SMDS_FacePosition:public SMDS_Position
+class SMDS_EXPORT SMDS_FacePosition:public SMDS_Position
 {
 
   public:
index faf777de98d633502d95f7a16701222a738a511d..ba44c1841fb786980514603fe3b5dc6aa6b6abd9 100644 (file)
 // 
 //  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_Iterator.hxx"
 #include "SMDS_MeshElement.hxx"
 #include <set>
 
 
-class SMDS_IteratorOfElements:public SMDS_ElemIterator
+class SMDS_EXPORT SMDS_IteratorOfElements:public SMDS_ElemIterator
 {
   public:
 /////////////////////////////////////////////////////////////////////////////
index 612082ce47ea78b9cf49bc4571e89459098be71d..7225b716272eb249f9b14bd54d524a85b3e46626 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef _SMDS_Mesh_HeaderFile
 #define _SMDS_Mesh_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_MeshNode.hxx"
 #include "SMDS_MeshEdge.hxx"
 #include "SMDS_MeshFace.hxx"
 #include "SMDS_ElemIterator.hxx"
 #include <NCollection_Map.hxx>
 
-//#ifdef WNT
-//#include <SALOME_WNT.hxx>
-//#else
-//#define SALOME_WNT_EXPORT
-//#endif
-#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
-#define SMDS_WNT_EXPORT __declspec( dllexport )
-#else
-#define SMDS_WNT_EXPORT
-#endif
-
 #include <boost/shared_ptr.hpp>
 #include <set>
 #include <list>
@@ -59,7 +50,7 @@ typedef boost::shared_ptr<SMDS_Iterator<const SMDS_MeshFace *> > SMDS_FaceIterat
 typedef SMDS_Iterator<const SMDS_MeshVolume *> SMDS_VolumeIterator;
 typedef boost::shared_ptr<SMDS_Iterator<const SMDS_MeshVolume *> > SMDS_VolumeIteratorPtr;
 
-class SMDS_WNT_EXPORT SMDS_Mesh:public SMDS_MeshObject{
+class SMDS_EXPORT SMDS_Mesh:public SMDS_MeshObject{
 public:
   
   SMDS_Mesh();
index 290210ca324b7265467d3186264a23cc29c37a5e..c5c5102ed7eb04ce3d23eb9ddc6310eb2ef10fea 100644 (file)
 #ifndef _SMDS_MeshEdge_HeaderFile
 #define _SMDS_MeshEdge_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_MeshElement.hxx"
 #include <iostream>
 
-class SMDS_MeshEdge:public SMDS_MeshElement
+class SMDS_EXPORT SMDS_MeshEdge:public SMDS_MeshElement
 {
 
   public:
index 73870b707fbf37d96184688cd7ac4c763a98ca0a..0b774cda1e27d61b377d4ad5fae066258a6ee6a8 100644 (file)
 
 #ifndef _SMDS_MeshElement_HeaderFile
 #define _SMDS_MeshElement_HeaderFile
+
+#include "SMESH_SMDS.hxx"
        
 #include "SMDSAbs_ElementType.hxx"
 #include "SMDS_MeshObject.hxx"
 #include "SMDS_ElemIterator.hxx"
 #include "SMDS_MeshElementIDFactory.hxx"
 
-//#ifdef WNT
-//#include <SALOME_WNT.hxx>
-//#else
-//#define SALOME_WNT_EXPORT
-//#endif
-
-#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
-#define SMDS_WNT_EXPORT __declspec( dllexport )
-#else
-#define SMDS_WNT_EXPORT
-#endif
-
 #include <vector>
 #include <iostream>
 
@@ -54,7 +44,7 @@ class SMDS_MeshFace;
 ///////////////////////////////////////////////////////////////////////////////
 /// Base class for elements
 ///////////////////////////////////////////////////////////////////////////////
-class SMDS_WNT_EXPORT SMDS_MeshElement:public SMDS_MeshObject
+class SMDS_EXPORT SMDS_MeshElement:public SMDS_MeshObject
 {
 
   public:
index 526bcb5a051e773eee12cfe94c3a563a264ce9b4..02c5309b3d3c57bf8927e3d7440c451897a2e993 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef _SMDS_MeshElementIDFactory_HeaderFile
 #define _SMDS_MeshElementIDFactory_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_MeshIDFactory.hxx"
 #include "SMDS_ElemIterator.hxx"
 
@@ -36,7 +38,7 @@ class SMDS_MeshElement;
 
 typedef NCollection_DataMap<int, SMDS_MeshElement *> SMDS_IdElementMap;
 
-class SMDS_MeshElementIDFactory:public SMDS_MeshIDFactory
+class SMDS_EXPORT SMDS_MeshElementIDFactory:public SMDS_MeshIDFactory
 {
 public:
   SMDS_MeshElementIDFactory();
index 36f2fa5425f3e1a521c3b70a87e4ba7c40a4875d..bd3c3f17adaff88a4408871b3692ef496c22b790 100644 (file)
 #ifndef _SMDS_MeshFace_HeaderFile
 #define _SMDS_MeshFace_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_MeshElement.hxx"
 
-class SMDS_MeshFace:public SMDS_MeshElement
+class SMDS_EXPORT SMDS_MeshFace:public SMDS_MeshElement
 {
   public:
        SMDSAbs_ElementType GetType() const;
index 37893fab42bb46d6e4405b38d9e7f6f659f21165..c3f3278d13c0ab0743c9fc01578fada4b661d6cb 100644 (file)
 #ifndef _SMDS_MeshGroup_HeaderFile
 #define _SMDS_MeshGroup_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_Mesh.hxx"
 #include <set>
 
-//#ifdef WNT
-//#include <SALOME_WNT.hxx>
-//#else
-//#define SALOME_WNT_EXPORT
-//#endif
-
-#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
-#define SMDS_WNT_EXPORT __declspec( dllexport )
-#else
-#define SMDS_WNT_EXPORT
-#endif
-
-class SMDS_WNT_EXPORT SMDS_MeshGroup:public SMDS_MeshObject
+class SMDS_EXPORT SMDS_MeshGroup:public SMDS_MeshObject
 {
   public:
        SMDS_MeshGroup(const SMDS_Mesh * theMesh,
index 8a6425ac2512b4b8023e2df34afb7d2286a78b88..ade5a31a0256e3ce94845f8ed3c85c75708d1f21 100644 (file)
 #ifndef _SMDS_MeshIDFactory_HeaderFile
 #define _SMDS_MeshIDFactory_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_MeshObject.hxx"
 #include <set>
 
 
-class SMDS_MeshIDFactory:public SMDS_MeshObject
+class SMDS_EXPORT SMDS_MeshIDFactory:public SMDS_MeshObject
 {
   public:
        virtual int GetFreeID();
index 042a1734af5bfdefef81be8e24fbb719339bfe8c..1a245b1ef970935f0f9c6f52b546692fb948ec2f 100644 (file)
 #ifndef _SMDS_MeshNode_HeaderFile
 #define _SMDS_MeshNode_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_MeshElement.hxx"
 #include "SMDS_Position.hxx"
 #include <NCollection_List.hxx>
 
-//#ifdef WNT
-//#include <SALOME_WNT.hxx>
-//#else
-//#define SALOME_WNT_EXPORT
-//#endif
-
-#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
-#define SMDS_WNT_EXPORT __declspec( dllexport )
-#else
-#define SMDS_WNT_EXPORT
-#endif
-
-class SMDS_WNT_EXPORT SMDS_MeshNode:public SMDS_MeshElement
+class SMDS_EXPORT SMDS_MeshNode:public SMDS_MeshElement
 {
 
   public:
index f734309cf2d79000b9b3a5111aa28ca0a552a8ca..da7c926573a793d857af960fd76e490f0bd34637 100644 (file)
 #ifndef _SMDS_MeshObject_HeaderFile
 #define _SMDS_MeshObject_HeaderFile
 
+#include "SMESH_SMDS.hxx"
 
-//#ifdef WNT
-//#include <SALOME_WNT.hxx>
-//#else
-//#define SALOME_WNT_EXPORT
-//#endif
-
-#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
-#define SMDS_WNT_EXPORT __declspec( dllexport )
-#else
-#define SMDS_WNT_EXPORT
-#endif
-
-class SMDS_WNT_EXPORT SMDS_MeshObject
+class SMDS_EXPORT SMDS_MeshObject
 {
  public:
   virtual ~SMDS_MeshObject() {}
index c543c30013d7d3088fe9488a63bc41324ce00bff..d988febe5241d88b840ba07ea3de66c37abaf4ba 100644 (file)
 #ifndef _SMDS_MeshVolume_HeaderFile
 #define _SMDS_MeshVolume_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_MeshElement.hxx"
 
-class SMDS_MeshVolume:public SMDS_MeshElement
+class SMDS_EXPORT SMDS_MeshVolume:public SMDS_MeshElement
 {
        
   public:
index 567746259105ba4b57fc28f184b7864aa15d2029..59f204b692ce4d607bf5b2becbe0903e461af0d1 100644 (file)
@@ -22,6 +22,8 @@
 #ifndef _SMDS_PolygonalFaceOfNodes_HeaderFile
 #define _SMDS_PolygonalFaceOfNodes_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_MeshFace.hxx"
 //#include "SMDS_FaceOfNodes.hxx"
 #include "SMDS_MeshNode.hxx"
@@ -30,7 +32,7 @@
 #include <iostream>
 
 //class SMDS_PolygonalFaceOfNodes:public SMDS_FaceOfNodes
-class SMDS_PolygonalFaceOfNodes:public SMDS_MeshFace
+class SMDS_EXPORT SMDS_PolygonalFaceOfNodes:public SMDS_MeshFace
 {
  public:
   SMDS_PolygonalFaceOfNodes (std::vector<const SMDS_MeshNode *> nodes);
index baecaf339f590f9c559dc82bf6bb16939a14b8c7..dd6c927120fbd7d63cd52d9fcba700ccac8f3570 100644 (file)
 #ifndef _SMDS_PolyhedralVolumeOfNodes_HeaderFile
 #define _SMDS_PolyhedralVolumeOfNodes_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_VolumeOfNodes.hxx"
 
-#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
-#define SMDS_WNT_EXPORT __declspec( dllexport )
-#else
-#define SMDS_WNT_EXPORT
-#endif
-class SMDS_WNT_EXPORT SMDS_PolyhedralVolumeOfNodes:public SMDS_VolumeOfNodes
+class SMDS_EXPORT SMDS_PolyhedralVolumeOfNodes:public SMDS_VolumeOfNodes
 {
  public:
   SMDS_PolyhedralVolumeOfNodes (std::vector<const SMDS_MeshNode *> nodes,
index 9b11dc6f9662361070efa0dbb0837566fe62cd06..034cb85a712dc0dc501246f79385a89a6cda0085 100644 (file)
 #ifndef _SMDS_Position_HeaderFile
 #define _SMDS_Position_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_TypeOfPosition.hxx"
 #include <boost/shared_ptr.hpp>
 
-//#ifdef WNT
-//#include <SALOME_WNT.hxx>
-//#else
-//#define SALOME_WNT_EXPORT
-//#endif
-
-#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
-#define SMDS_WNT_EXPORT __declspec( dllexport )
-#else
-#define SMDS_WNT_EXPORT
-#endif
-
 class SMDS_Position;
 typedef boost::shared_ptr<SMDS_Position> SMDS_PositionPtr;
 
-
-class SMDS_WNT_EXPORT SMDS_Position
+class SMDS_EXPORT SMDS_Position
 {
 
   public:
index f4c7bff1a6d962a9cb44567e539e83f9d596f799..f0e880b2c9d9ea20b44f91af46d1cec6a2ebe68d 100644 (file)
 #ifndef _SMDS_SpacePosition_HeaderFile
 #define _SMDS_SpacePosition_HeaderFile
 
-#include "SMDS_Position.hxx"
-
-//#ifdef WNT
-//#include <SALOME_WNT.hxx>
-//#else
-//#define SALOME_WNT_EXPORT
-//#endif
+#include "SMESH_SMDS.hxx"
 
-#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
-#define SMDS_WNT_EXPORT __declspec( dllexport )
-#else
-#define SMDS_WNT_EXPORT
-#endif
+#include "SMDS_Position.hxx"
 
-class SMDS_WNT_EXPORT SMDS_SpacePosition:public SMDS_Position
+class SMDS_EXPORT SMDS_SpacePosition:public SMDS_Position
 {
 
   public:
index 68c1e3a58af5a9690f5ccc10f57be7a825519ef1..3abe55197131cceaec3a3e9d75b7a686712f3761 100644 (file)
 #ifndef _SMDS_VertexPosition_HeaderFile
 #define _SMDS_VertexPosition_HeaderFile
 
-#include "SMDS_Position.hxx"
-
-//#ifdef WNT
-//#include <SALOME_WNT.hxx>
-//#else
-//#define SALOME_WNT_EXPORT
-//#endif
+#include "SMESH_SMDS.hxx"
 
-#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
-#define SMDS_WNT_EXPORT __declspec( dllexport )
-#else
-#define SMDS_WNT_EXPORT
-#endif
+#include "SMDS_Position.hxx"
 
-class SMDS_WNT_EXPORT SMDS_VertexPosition:public SMDS_Position
+class SMDS_EXPORT SMDS_VertexPosition:public SMDS_Position
 {
 
   public:      
index ae3b288819bac9e0bb5372219d528694baf992f0..540bc3192459bd9bda940d2143c40046158483ab 100644 (file)
 #ifndef _SMDS_VolumeOfFaces_HeaderFile
 #define _SMDS_VolumeOfFaces_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 #include "SMDS_MeshVolume.hxx"
 #include "SMDS_MeshFace.hxx"
 #include "SMDS_Iterator.hxx"
 #include <iostream>
 
 
-class SMDS_VolumeOfFaces:public SMDS_MeshVolume
+class SMDS_EXPORT SMDS_VolumeOfFaces:public SMDS_MeshVolume
 {
        
   public:
index bb553a03a003518bf96b42dd530591fc59f3ece9..bcefccef0f0b612df9e911ad6981ca0d2616e4bd 100644 (file)
 #ifndef _SMDS_VolumeOfNodes_HeaderFile
 #define _SMDS_VolumeOfNodes_HeaderFile
 
-#include "SMDS_MeshVolume.hxx"
+#include "SMESH_SMDS.hxx"
 
+#include "SMDS_MeshVolume.hxx"
 
-class SMDS_VolumeOfNodes:public SMDS_MeshVolume
+class SMDS_EXPORT SMDS_VolumeOfNodes:public SMDS_MeshVolume
 {
        
   public:
index beec061b700ec62c9c7ca0eb7e8ef48ab8871b12..357475a810160babe5d6b2791300e2e887b7cf35 100644 (file)
@@ -30,6 +30,8 @@
 #ifndef SMDS_VolumeTool_HeaderFile
 #define SMDS_VolumeTool_HeaderFile
 
+#include "SMESH_SMDS.hxx"
+
 class SMDS_MeshElement;
 class SMDS_MeshNode;
 class SMDS_PolyhedralVolumeOfNodes;
@@ -37,18 +39,6 @@ class SMDS_PolyhedralVolumeOfNodes;
 #include <vector>
 #include <set>
 
-//#ifdef WNT
-//#include <SALOME_WNT.hxx>
-//#else
-//#define SALOME_WNT_EXPORT
-//#endif
-
-#if defined WNT && defined WIN32 && defined SMDS_EXPORTS
-#define SMDS_WNT_EXPORT __declspec( dllexport )
-#else
-#define SMDS_WNT_EXPORT
-#endif
-
 // =========================================================================
 //
 // Class providing topological and other information about SMDS_MeshVolume:
@@ -57,7 +47,7 @@ class SMDS_PolyhedralVolumeOfNodes;
 //
 // =========================================================================
 
-class SMDS_WNT_EXPORT SMDS_VolumeTool
+class SMDS_EXPORT SMDS_VolumeTool
 {
  public:
 
diff --git a/src/SMDS/SMESH_SMDS.hxx b/src/SMDS/SMESH_SMDS.hxx
new file mode 100755 (executable)
index 0000000..207cf72
--- /dev/null
@@ -0,0 +1,39 @@
+//  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_SMDS.hxx
+//  Author : Alexander A. BORODIN
+//  Module : SMESH
+
+#ifndef _SMESH_SMDS_HXX_
+#define _SMESH_SMDS_HXX_
+
+#ifdef WNT
+ #if defined SMDS_EXPORTS
+  #define SMDS_EXPORT __declspec( dllexport )
+ #else
+  #define SMDS_EXPORT __declspec( dllimport )
+ #endif
+#else
+ #define SMDS_EXPORT
+#endif
+
+#endif
\ No newline at end of file
index a311488eb6c7c7214d00d69767d63d1903584462..383bf2182ae9f0101cb1a18e4bf8bc5d31f3f33f 100644 (file)
@@ -50,7 +50,8 @@ EXPORT_HEADERS= \
        SMESH_IndexedDataMapOfShapeIndexedMapOfShape.hxx \
        SMESH_DataMapOfElemPtrSequenceOfElemPtr.hxx \
        SMESH_SequenceOfElemPtr.hxx \
-       SMESH_SequenceOfNode.hxx
+       SMESH_SequenceOfNode.hxx \
+       SMESH_SMESH.hxx
 
 EXPORT_PYSCRIPTS =
 
index 37567a536b92988174bbee5fcc55ce53a29149ef..7a3e9d8133fbe521d31335b03e154ce0777920ce 100644 (file)
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "SMESH_1D_Algo.hxx"
 #include "SMESH_Gen.hxx"
 #include "SMESH_subMesh.hxx"
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  
index 378ed7545263959294ac38a4fdb6b59d0a43c7e3..653b37c0ca2352d71d04cd2d3595d1e3eda34bb6 100644 (file)
 #ifndef _SMESH_1D_ALGO_HXX_
 #define _SMESH_1D_ALGO_HXX_
 
+#include "SMESH_SMESH.hxx"
+
 #include "SMESH_Algo.hxx"
 
-class SMESH_1D_Algo:
+class SMESH_EXPORT SMESH_1D_Algo:
   public SMESH_Algo
 {
 public:
index d1084f7d4f75394c1c6327a1ad61a592a5af81fb..1e11fc42a34ebe5c9743448758179ca5072dba7f 100644 (file)
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "SMESH_2D_Algo.hxx"
 #include "SMESH_Gen.hxx"
 #include "SMESH_subMesh.hxx"
 
 #include "utilities.h"
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  
index 5c904e22ef89ea1366a1c566a2f58c2ec647246e..dce6fbcfdee900c27f6beb11bd99f0df70e0ab38 100644 (file)
 #ifndef _SMESH_2D_ALGO_HXX_
 #define _SMESH_2D_ALGO_HXX_
 
+#include "SMESH_SMESH.hxx"
+
 #include "SMESH_Algo.hxx"
 #include <TopoDS_Wire.hxx>
 
-class SMESH_2D_Algo:
+class SMESH_EXPORT SMESH_2D_Algo:
   public SMESH_Algo
 {
 public:
index d42680f62e998d457ebb7edff47d49c1b2ac19e0..3e1e5a407428b1fc1eb576872f101df112a0d20c 100644 (file)
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "SMESH_3D_Algo.hxx"
 #include "SMESH_Gen.hxx"
 #include "SMESH_subMesh.hxx"
 
 #include "utilities.h"
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  
index 62621ce3cf532645b7efa60e9a9279206790451a..cf96d86add09e7b8c97b66a0d7032b2b1c8aa1c6 100644 (file)
 #ifndef _SMESH_3D_ALGO_HXX_
 #define _SMESH_3D_ALGO_HXX_
 
+#include "SMESH_SMESH.hxx"
+
 #include "SMESH_Algo.hxx"
 
-class SMESH_3D_Algo:
+class SMESH_EXPORT SMESH_3D_Algo:
   public SMESH_Algo
 {
 public:
index 3cddc41e743edeaa9329d1ac4508f848e7fb218b..f468b926c9175fc1097f171942791e91a6b04674 100644 (file)
@@ -26,7 +26,6 @@
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "SMESH_Algo.hxx"
 #include "SMESH_Gen.hxx"
 #include "SMESH_Mesh.hxx"
@@ -55,6 +54,8 @@ using namespace std;
 
 #include <algorithm>
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  
index c92b5893fe83a7761436aff3e27df6e941da4715..9bdb7d09a06306007e25c4370cba235230c8fcbe 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef _SMESH_ALGO_HXX_
 #define _SMESH_ALGO_HXX_
 
+#include "SMESH_SMESH.hxx"
+
 #include "SMESH_Hypothesis.hxx"
 
 #include <TopoDS_Shape.hxx>
@@ -44,7 +46,7 @@ class TopoDS_Face;
 class TopoDS_Shape;
 class SMESHDS_Mesh;
 
-class SMESH_Algo:public SMESH_Hypothesis
+class SMESH_EXPORT SMESH_Algo:public SMESH_Hypothesis
 {
   public:
        SMESH_Algo(int hypId, int studyId, SMESH_Gen * gen);
index 155104866ea5c0a09bde4a6c075d3e26b02ba10a..f641ba64c5ead2510cc896a6cd4ba92530d62104 100644 (file)
@@ -25,6 +25,8 @@
 #ifndef SMESH_Block_HeaderFile
 #define SMESH_Block_HeaderFile
 
+#include "SMESH_SMESH.hxx"
+
 #include <Geom2d_Curve.hxx>
 #include <Geom_Curve.hxx>
 #include <Geom_Surface.hxx>
@@ -52,7 +54,7 @@ class SMDS_MeshNode;
 // parameters inside the block and vice versa
 // =========================================================
 
-class SMESH_Block: public math_FunctionSetWithDerivatives
+class SMESH_EXPORT SMESH_Block: public math_FunctionSetWithDerivatives
 {
  public:
   enum TShapeID { // ids of the block sub-shapes
index a1c4dded30f0986353bfc8067e3e6fd5a4a8e1f9..4cec8043fc606fdb85e2afce95171606cebe5495 100644 (file)
 #ifndef SMESH_DataMapOfElemPtrSequenceOfElemPtr_HeaderFile
 #define SMESH_DataMapOfElemPtrSequenceOfElemPtr_HeaderFile
 
+#include "SMESH_SMESH.hxx"
+
 #include <SMESH_SequenceOfElemPtr.hxx>
 
 #include <NCollection_DefineDataMap.hxx>
 
+SMESH_EXPORT 
 inline Standard_Integer HashCode(SMDS_MeshElementPtr theElem,
                                  const Standard_Integer theUpper)
 {
@@ -37,6 +40,7 @@ inline Standard_Integer HashCode(SMDS_MeshElementPtr theElem,
   return HashCode(anElem,theUpper);
 }
 
+SMESH_EXPORT 
 inline Standard_Boolean IsEqual(SMDS_MeshElementPtr theOne,
                                 SMDS_MeshElementPtr theTwo)
 {
index 5364065ef8c054a05f1a5bfb311066a8443048a2..04b1bcb3456fb6d4d4e173438d6adc0c3baa7031 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef _SMESH_GEN_HXX_
 #define _SMESH_GEN_HXX_
 
+#include "SMESH_SMESH.hxx"
+
 #include "Utils_SALOME_Exception.hxx"
 
 #include "SMESH_Hypothesis.hxx"
@@ -52,7 +54,7 @@ typedef struct studyContextStruct
          SMESHDS_Document * myDocument;
 } StudyContextStruct;
 
-class SMESH_Gen
+class SMESH_EXPORT  SMESH_Gen
 {
  public:
   SMESH_Gen();
index 26493e4e085296b3372c71cbdcc262bdaff916f9..604d55f20ea61f5963bdfd4656359312c1bf75fd 100644 (file)
@@ -28,6 +28,8 @@
 #ifndef _SMESH_Group_HeaderFile
 #define _SMESH_Group_HeaderFile
 
+#include "SMESH_SMESH.hxx"
+
 #include <SMDSAbs_ElementType.hxx>
 #include <string>
 #include <TopoDS_Shape.hxx>
@@ -36,7 +38,7 @@
 class SMESHDS_GroupBase;
 class SMESH_Mesh;
 
-class SMESH_Group
+class SMESH_EXPORT  SMESH_Group
 {
  public:
 
index 6bc34bf5365f1fd994e93f7f389e9998f559e0a2..24ece73b4153120ffa5a93773dd8fc04a06e0fb5 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef SMESH_HypoFilter_HeaderFile
 #define SMESH_HypoFilter_HeaderFile
 
+#include "SMESH_SMESH.hxx"
+
 // ===========================
 // Filter of SMESH_Hypothesis
 // ===========================
@@ -40,7 +42,7 @@
 class SMESH_HypoFilter;
 class SMESH_Hypothesis;
 
-class SMESH_HypoPredicate {
+class SMESH_EXPORT SMESH_HypoPredicate {
  public:
   virtual bool IsOk(const SMESH_Hypothesis* aHyp,
                     const TopoDS_Shape&     aShape) const = 0;
index 0107c3e36dccb22247f68b2cfb0f84ff5f13d238..6cad0b0fd8ab12e3735942c9a01eb0b92672c0b9 100644 (file)
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
-using namespace std;
 #include "SMESH_Hypothesis.hxx"
 #include "SMESH_Gen.hxx"
 #include "SMESH_subMesh.hxx"
 #include "utilities.h"
 
+using namespace std;
+
 //=============================================================================
 /*!
  * 
index 2edcd141ae831a6ac74c0de588fd4b0460cbbde3..79e439ef1f45a3753964b727f72d6913521a9261 100644 (file)
 #ifndef _SMESH_HYPOTHESIS_HXX_
 #define _SMESH_HYPOTHESIS_HXX_
 
+#include "SMESH_SMESH.hxx"
+
 #include "SMESHDS_Hypothesis.hxx"
 
 class SMESH_Gen;
 class TopoDS_Shape;
 class SMESH_Mesh;
 
-class SMESH_Hypothesis: public SMESHDS_Hypothesis
+class SMESH_EXPORT SMESH_Hypothesis: public SMESHDS_Hypothesis
 {
 public:
   enum Hypothesis_Status // in the order of severity
index 5010b3ebc9ee6415d179319a2aaab2cfb30a526a..4fc35195fab43095a82c14dc4c15937a067dad34 100644 (file)
 #ifndef SMESH_IndexedMapOfShape_HeaderFile
 #define SMESH_IndexedMapOfShape_HeaderFile
 
+#include "SMESH_SMESH.hxx"
+
 #include <NCollection_DefineIndexedMap.hxx>
 
 #include <TopoDS_Shape.hxx>
 
+SMESH_EXPORT 
 inline Standard_Boolean IsEqual(const TopoDS_Shape& S1,
                                 const TopoDS_Shape& S2)
 {
index 5054e0038d29f534b2a0570d94a0ce99d4251d19..246bbbca86ef4051a7e6b37bee41dedd41c032f6 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef _SMESH_MESH_HXX_
 #define _SMESH_MESH_HXX_
 
+#include "SMESH_SMESH.hxx"
+
 #include "SMESH_Hypothesis.hxx"
 //#include "SMESH_subMesh.hxx"
 
@@ -74,7 +76,7 @@ class SMESH_HypoFilter;
 //typedef NMTTools_IndexedDataMapOfShapeIndexedMapOfShape IndexedMapOfChain;
 typedef SMESH_IndexedDataMapOfShapeIndexedMapOfShape IndexedMapOfChain;
 
-class SMESH_Mesh
+class SMESH_EXPORT SMESH_Mesh
 {
   SMESH_Mesh();
   SMESH_Mesh(const SMESH_Mesh&);
index d75adf3e730c4426cf38fd9617b9c7c2dc2cc0a3..5860687f6c47a29dd404d4f9487f38f2f001a097 100644 (file)
@@ -1969,8 +1969,8 @@ void SMESH_MeshEditor::Smooth (set<const SMDS_MeshElement*> & theElems,
 //           iNotSame is where prevNodes and nextNodes are different
 //=======================================================================
 
-static bool isReverse(const SMDS_MeshNode* prevNodes[],
-                      const SMDS_MeshNode* nextNodes[],
+static bool isReverse(vector<const SMDS_MeshNode*> prevNodes,
+                      vector<const SMDS_MeshNode*> nextNodes,
                       const int            nbNodes,
                       const int            iNotSame)
 {
@@ -2005,8 +2005,12 @@ static void sweepElement(SMESHDS_Mesh*                         aMesh,
   // Loop on elem nodes:
   // find new nodes and detect same nodes indices
   int nbNodes = elem->NbNodes();
-  list<const SMDS_MeshNode*>::const_iterator itNN[ nbNodes ];
-  const SMDS_MeshNode* prevNod[ nbNodes ], *nextNod[ nbNodes ];
+  //list<const SMDS_MeshNode*>::const_iterator itNN[ nbNodes ];
+  vector<list<const SMDS_MeshNode*>::const_iterator> itNN( nbNodes );
+  //const SMDS_MeshNode* prevNod[ nbNodes ], *nextNod[ nbNodes ];
+  vector<const SMDS_MeshNode*> prevNod( nbNodes );
+  vector<const SMDS_MeshNode*> nextNod( nbNodes );
+
   int iNode, nbSame = 0, iNotSameNode = 0, iSameNode = 0;
 
   for ( iNode = 0; iNode < nbNodes; iNode++ )
@@ -3192,7 +3196,8 @@ int SMESH_MeshEditor::SimplifyFace (const vector<const SMDS_MeshNode *> faceNode
   set<const SMDS_MeshNode*> nodeSet;
 
   // get simple seq of nodes
-  const SMDS_MeshNode* simpleNodes[ nbNodes ];
+  //const SMDS_MeshNode* simpleNodes[ nbNodes ];
+  vector<const SMDS_MeshNode*> simpleNodes( nbNodes );
   int iSimple = 0, nbUnique = 0;
 
   simpleNodes[iSimple++] = faceNodes[0];
@@ -3304,8 +3309,12 @@ void SMESH_MeshEditor::MergeNodes (TListOfListOfNodes & theGroupsOfNodes)
     int aShapeId = FindShape( elem );
 
     set<const SMDS_MeshNode*> nodeSet;
-    const SMDS_MeshNode* curNodes[ nbNodes ], *uniqueNodes[ nbNodes ];
-    int iUnique = 0, iCur = 0, nbRepl = 0, iRepl [ nbNodes ];
+    //const SMDS_MeshNode* curNodes[ nbNodes ], *uniqueNodes[ nbNodes ];
+    const SMDS_MeshNode** curNodes = new const SMDS_MeshNode*[ nbNodes ];
+    const SMDS_MeshNode** uniqueNodes = new const SMDS_MeshNode*[ nbNodes ];
+    
+    int iUnique = 0, iCur = 0, nbRepl = 0;
+    vector<int> iRepl( nbNodes );
 
     // get new seq of nodes
     SMDS_ElemIteratorPtr itN = elem->nodesIterator();
@@ -3691,13 +3700,14 @@ void SMESH_MeshEditor::MergeNodes (TListOfListOfNodes & theGroupsOfNodes)
       rmElemIds.push_back( elem->GetID() );
     }
 
+    delete curNodes;
+    delete uniqueNodes;
   } // loop on elements
 
   // Remove equal nodes and bad elements
 
   Remove( rmNodeIds, true );
   Remove( rmElemIds, false );
-
 }
 
 //=======================================================================
@@ -3771,7 +3781,9 @@ const SMDS_MeshElement*
       continue;
     // get face nodes and find index of n1
     int i1, nbN = elem->NbNodes(), iNode = 0;
-    const SMDS_MeshNode* faceNodes[ nbN ], *n;
+    //const SMDS_MeshNode* faceNodes[ nbN ], *n;
+    vector<const SMDS_MeshNode*> faceNodes( nbN );
+    const SMDS_MeshNode* n;
     SMDS_ElemIteratorPtr nIt = elem->nodesIterator();
     while ( nIt->more() ) {
       faceNodes[ iNode ] = static_cast<const SMDS_MeshNode*>( nIt->next() );
@@ -4105,7 +4117,8 @@ SMESH_MeshEditor::Sew_Error
         const SMDS_MeshElement* elem = invElemIt->next();
         // prepare data for a loop on links, of a face or a volume
         int iPrevNode, iNode = 0, nbNodes = elem->NbNodes();
-        const SMDS_MeshNode* faceNodes[ nbNodes ];
+        //const SMDS_MeshNode* faceNodes[ nbNodes ];
+        const SMDS_MeshNode** faceNodes = new const SMDS_MeshNode*[ nbNodes ];
         bool isVolume = volume.Set( elem );
         const SMDS_MeshNode** nodes = isVolume ? volume.GetNodes() : faceNodes;
         if ( isVolume ) // --volume
@@ -4161,6 +4174,7 @@ SMESH_MeshEditor::Sew_Error
             }
           }
         }
+        delete faceNodes;
       } // loop on inverse elements of prevSideNode
 
       if ( !sideNode ) {
@@ -4222,7 +4236,10 @@ SMESH_MeshEditor::Sew_Error
     // insert new nodes into the border and the side to get equal nb of segments
 
     // get normalized parameters of nodes on the borders
-    double param[ 2 ][ maxNbNodes ];
+    //double param[ 2 ][ maxNbNodes ];
+    double* param[ 2 ];
+    param[0] = new double [ maxNbNodes ];
+    param[1] = new double [ maxNbNodes ];
     int iNode, iBord;
     for ( iBord = 0; iBord < 2; iBord++ ) { // loop on 2 borders
       list< const SMDS_MeshNode* >& nodes = nSide[ iBord ];
@@ -4383,6 +4400,8 @@ SMESH_MeshEditor::Sew_Error
       }
     }
 
+    delete param[0];
+    delete param[1];
   } // end: insert new nodes
 
   MergeNodes ( nodeGroupsToMerge );
@@ -4407,7 +4426,8 @@ void SMESH_MeshEditor::InsertNodesIntoLink(const SMDS_MeshElement*     theFace,
   // find indices of 2 link nodes and of the rest nodes
   int iNode = 0, il1, il2, i3, i4;
   il1 = il2 = i3 = i4 = -1;
-  const SMDS_MeshNode* nodes[ theFace->NbNodes() ];
+  //const SMDS_MeshNode* nodes[ theFace->NbNodes() ];
+  vector<const SMDS_MeshNode*> nodes( theFace->NbNodes() );
   SMDS_ElemIteratorPtr nodeIt = theFace->nodesIterator();
   while ( nodeIt->more() ) {
     const SMDS_MeshNode* n = static_cast<const SMDS_MeshNode*>( nodeIt->next() );
@@ -4489,7 +4509,8 @@ void SMESH_MeshEditor::InsertNodesIntoLink(const SMDS_MeshElement*     theFace,
 
   // put aNodesToInsert between theBetweenNode1 and theBetweenNode2
   int nbLinkNodes = 2 + aNodesToInsert.size();
-  const SMDS_MeshNode* linkNodes[ nbLinkNodes ];
+  //const SMDS_MeshNode* linkNodes[ nbLinkNodes ];
+  vector<const SMDS_MeshNode*> linkNodes( nbLinkNodes );
   linkNodes[ 0 ] = nodes[ il1 ];
   linkNodes[ nbLinkNodes - 1 ] = nodes[ il2 ];
   list<const SMDS_MeshNode*>::iterator nIt = aNodesToInsert.begin();
index 78457ef15e21528971a3d1f737197aa2637fc584..9dfaf0af6ee1fe37caf132c6bd66fbaef6c53506 100644 (file)
@@ -30,6 +30,8 @@
 #ifndef SMESH_MeshEditor_HeaderFile
 #define SMESH_MeshEditor_HeaderFile
 
+#include "SMESH_SMESH.hxx"
+
 #include "SMESH_Mesh.hxx"
 #include "SMESH_Controls.hxx"
 #include "SMESH_SequenceOfNode.hxx"
@@ -49,7 +51,7 @@ class gp_Ax1;
 class gp_Vec;
 class gp_Pnt;
 
-class SMESH_MeshEditor {
+class SMESH_EXPORT SMESH_MeshEditor {
  public:
 
   SMESH_MeshEditor( SMESH_Mesh* theMesh );
index e49b498ecb838b6868d403333fb2b0b3feeadee6..753e0237a4f8bc72979afdb3006af60903c5b648 100644 (file)
@@ -24,6 +24,8 @@
 #ifndef SMESH_Pattern_HeaderFile
 #define SMESH_Pattern_HeaderFile
 
+#include "SMESH_SMESH.hxx"
+
 #include <vector>
 #include <list>
 #include <map>
@@ -53,7 +55,7 @@ class TopoDS_Edge;
 // of 6 faces.
 //
 
-class SMESH_Pattern {
+class SMESH_EXPORT SMESH_Pattern {
  public:
   
   SMESH_Pattern ();
diff --git a/src/SMESH/SMESH_SMESH.hxx b/src/SMESH/SMESH_SMESH.hxx
new file mode 100755 (executable)
index 0000000..32433cd
--- /dev/null
@@ -0,0 +1,39 @@
+//  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_SMESH.hxx
+//  Author : Alexander A. BORODIN
+//  Module : SMESH
+
+#ifndef _SMESH_SMESH_HXX_
+#define _SMESH_SMESH_HXX_
+
+#ifdef WNT
+ #if defined SMESH_EXPORTS
+  #define SMESH_EXPORT __declspec( dllexport )
+ #else
+  #define SMESH_EXPORT __declspec( dllimport )
+ #endif
+#else
+ #define SMESH_EXPORT
+#endif
+
+#endif
index 6c0b740ed84838b76798adb0faf9ccaece479c92..c31a483f01ff65fb0e60adfe9ea4181e72f2ef7a 100644 (file)
@@ -26,6 +26,8 @@
 #ifndef SMESH_SequenceOfElemPtr_HeaderFile
 #define SMESH_SequenceOfElemPtr_HeaderFile
 
+#include "SMESH_SMESH.hxx"
+
 #include <NCollection_DefineSequence.hxx>
 
 //#include <Handle_SMDS_MeshElement.hxx>
index 21b648a0691f315d14697c6ed275377f58c1e046..35d6d17cb1e5d3caba51658e630bf9b3b3af31a6 100644 (file)
@@ -26,6 +26,8 @@
 #ifndef SMESH_SequenceOfNode_HeaderFile
 #define SMESH_SequenceOfNode_HeaderFile
 
+#include "SMESH_SMESH.hxx"
+
 #include <NCollection_DefineSequence.hxx>
 
 typedef const SMDS_MeshNode* SMDS_MeshNodePtr;
index 2500404533a5cb1f7b0c9c5936514c032ecada71..a5cb3c7bab8aeff95d79d853e95ae267aa75a63a 100644 (file)
@@ -26,7 +26,6 @@
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "SMESH_subMesh.hxx"
 #include "SMESH_Gen.hxx"
 #include "SMESH_Mesh.hxx"
@@ -53,6 +52,8 @@ using namespace std;
 #include <TopTools_IndexedMapOfShape.hxx>
 #endif
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  default constructor:
index 8251c6b940a3918ab772e171eb675237c9e2e9d4..2bebf84d1a3c01044e913eaa98cfc9bf9ce69492 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef _SMESH_SUBMESH_HXX_
 #define _SMESH_SUBMESH_HXX_
 
+#include "SMESH_SMESH.hxx"
+
 #include "SMESHDS_Mesh.hxx"
 #include "SMESHDS_SubMesh.hxx"
 #include "SMESH_Hypothesis.hxx"
@@ -46,7 +48,7 @@ class SMESH_Hypothesis;
 class SMESH_Algo;
 class SMESH_Gen;
 
-class SMESH_subMesh
+class SMESH_EXPORT SMESH_subMesh
 {
  public:
   SMESH_subMesh(int Id, SMESH_Mesh * father, SMESHDS_Mesh * meshDS,
index 50d4fa7425e1787cbde8b46b5f7b0c95a40868ee..ea7d101fb25359dcc49bd51eafda187669e71116 100644 (file)
@@ -67,7 +67,8 @@ EXPORT_HEADERS= \
        SMESHDS_SubMesh.hxx \
        SMESHDS_GroupBase.hxx \
        SMESHDS_Group.hxx \
-       SMESHDS_GroupOnGeom.hxx
+       SMESHDS_GroupOnGeom.hxx \
+       SMESH_SMESHDS.hxx
 
 # additionnal information to compil and link file
 CPPFLAGS += $(OCC_INCLUDES) -I${KERNEL_ROOT_DIR}/include/salome $(BOOST_CPPFLAGS)
index 3ecd762f30cbfd8e0d8c8155a249bdb671998c52..3439cfc1c95256226026607d64f2d34209b6a5cf 100644 (file)
 #ifndef _SMESHDS_Command_HeaderFile
 #define _SMESHDS_Command_HeaderFile
 
+#include "SMESH_SMESHDS.hxx"
+
 #include "SMESHDS_CommandType.hxx"
 #include <list>
 #include <vector>
 
-class SMESHDS_Command
+class SMESHDS_EXPORT SMESHDS_Command
 {
 
   public:
index e95269f11270208a1488a579037f907860e40654..c7184a90ed6b747d5a2c3c0309eb43429e5b8f2b 100644 (file)
 #ifndef _SMESHDS_Document_HeaderFile
 #define _SMESHDS_Document_HeaderFile
 
+#include "SMESH_SMESHDS.hxx"
+
 #include "SMESHDS_Mesh.hxx"
 #include "SMESHDS_Hypothesis.hxx"
 #include <map>
 
 
-class SMESHDS_Document
+class SMESHDS_EXPORT SMESHDS_Document
 {
   public:
        SMESHDS_Document(int UserID);
index b318a0f97d8ad9bac37cb9b3a8d01ee019c5c4a4..8ceabf52322994c3926d76a7253d52190cf07613 100644 (file)
 #ifndef _SMESHDS_Group_HeaderFile
 #define _SMESHDS_Group_HeaderFile
 
+#include "SMESH_SMESHDS.hxx"
+
 #include <string>
 #include "SMESHDS_GroupBase.hxx"
 #include "SMDS_MeshGroup.hxx"
 
 class SMESHDS_Mesh;
 
-class SMESHDS_Group : public SMESHDS_GroupBase
+class SMESHDS_EXPORT SMESHDS_Group : public SMESHDS_GroupBase
 {
  public:
 
index a7aa87cedb79b4b3d21f578e9465617aeeb292a1..29c388e6a032b88fe37441ec98bec53556ee2171 100644 (file)
 #ifndef _SMESHDS_GroupBase_HeaderFile
 #define _SMESHDS_GroupBase_HeaderFile
 
+#include "SMESH_SMESHDS.hxx"
+
 #include <string>
 #include "SMDSAbs_ElementType.hxx"
 #include "SMDS_MeshElement.hxx"
   
 class SMESHDS_Mesh;
 
-class SMESHDS_GroupBase
+class SMESHDS_EXPORT SMESHDS_GroupBase
 {
  public:
 
index 6a514e2f1052021b53cc5bc1662d470d21376ea3..cbec91ecef525e1e6860e6bd34f5790857ede2c6 100644 (file)
 #ifndef _SMESHDS_GroupOnGeom_HeaderFile
 #define _SMESHDS_GroupOnGeom_HeaderFile
 
+#include "SMESH_SMESHDS.hxx"
+
 #include "SMESHDS_GroupBase.hxx"
 #include <TopoDS_Shape.hxx>
   
 class SMESHDS_SubMesh;
 
-class SMESHDS_GroupOnGeom: public SMESHDS_GroupBase
+class SMESHDS_EXPORT SMESHDS_GroupOnGeom: public SMESHDS_GroupBase
 {
  public:
 
index 9fb413fbd80dc9b57d283be095575f66432b569b..28a2964c25fa1429c4f96b594efe89cc51af8b11 100644 (file)
 #ifndef _SMESHDS_HYPOTHESIS_HXX_
 #define _SMESHDS_HYPOTHESIS_HXX_
 
+#include "SMESH_SMESHDS.hxx"
+
 #include <string>
 #include <iostream>
 
-class SMESHDS_Hypothesis
+class SMESHDS_EXPORT SMESHDS_Hypothesis
 {
 public:
   SMESHDS_Hypothesis(int hypId);
index a5a54907b5855004ce5d61545f54cc4809ecebd5..dc3f4797552addfce43f37577954f6c1a61539c2 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef _SMESHDS_Mesh_HeaderFile
 #define _SMESHDS_Mesh_HeaderFile
 
+#include "SMESH_SMESHDS.hxx"
+
 #include "SMDS_Mesh.hxx"
 #include "SMDS_MeshNode.hxx"
 #include "SMDS_MeshEdge.hxx"
   namespace gstd = std;
 #endif
 
-#if defined WNT && defined WIN32 && defined SMESHDS_EXPORTS
-#define SMESHDS_WNT_EXPORT __declspec( dllexport )
-#else
-#define SMESHDS_WNT_EXPORT
-#endif
-
 class SMESHDS_GroupBase;
 
-class SMESHDS_WNT_EXPORT SMESHDS_Mesh:public SMDS_Mesh{
+class SMESHDS_EXPORT SMESHDS_Mesh:public SMDS_Mesh{
 public:
   SMESHDS_Mesh(int MeshID);
   void ShapeToMesh(const TopoDS_Shape & S);
index 3874facfcecdc9f895d2eaea615967df5a906035..c9b66e029bc09945e7f5aed04a79828c4a94a7d3 100644 (file)
 #ifndef _SMESHDS_Script_HeaderFile
 #define _SMESHDS_Script_HeaderFile
 
+#include "SMESH_SMESHDS.hxx"
+
 #include "SMESHDS_Command.hxx"
 
 #include <list>
 #include <vector>
 
 
-class SMESHDS_Script
+class SMESHDS_EXPORT SMESHDS_Script
 {
   public:
        void AddNode(int NewNodeID, double x, double y, double z);
index ac3cd1c3f81b79ea618a963aa2ccb5c2983dda37..4406c282b6e9b2ae9b7148f7ecdacae2cfcbe432 100644 (file)
 #ifndef _SMESHDS_SubMesh_HeaderFile
 #define _SMESHDS_SubMesh_HeaderFile
 
+#include "SMESH_SMESHDS.hxx"
+
 #include "SMDS_Mesh.hxx"
 #include <set>
 
-#if defined WNT && defined WIN32 && defined SMESHDS_EXPORTS
-#define SMESHDS_WNT_EXPORT __declspec( dllexport )
-#else
-#define SMESHDS_WNT_EXPORT
-#endif
-
-class SMESHDS_WNT_EXPORT SMESHDS_SubMesh
+class SMESHDS_EXPORT SMESHDS_SubMesh
 {
  public:
 
diff --git a/src/SMESHDS/SMESH_SMESHDS.hxx b/src/SMESHDS/SMESH_SMESHDS.hxx
new file mode 100755 (executable)
index 0000000..fdef18d
--- /dev/null
@@ -0,0 +1,39 @@
+//  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_SMESHDS.hxx
+//  Author : Alexander A. BORODIN
+//  Module : SMESH
+
+#ifndef _SMESH_SMESHDS_HXX_
+#define _SMESH_SMESHDS_HXX_
+
+#ifdef WNT
+ #if defined SMESHDS_EXPORTS
+  #define SMESHDS_EXPORT __declspec( dllexport )
+ #else
+  #define SMESHDS_EXPORT __declspec( dllimport )
+ #endif
+#else
+ #define SMESHDS_EXPORT
+#endif
+
+#endif
\ No newline at end of file
index 6098656806f5b4c57b5e183f9d3063683a1aa5fe..ce12108d7802a6c1aad526ae0832b457c36046ff 100644 (file)
 #ifndef _SMESH_LogicalFilter_HeaderFile
 #define _SMESH_LogicalFilter_HeaderFile
 
+#include "SMESH_Type.h"
+
 #include <SUIT_SelectionFilter.h>
 
 #include <qptrlist.h>
 
-class SMESH_LogicalFilter : public SUIT_SelectionFilter
+class SMESHFILTERSSELECTION_EXPORT SMESH_LogicalFilter : public SUIT_SelectionFilter
 {
  public:
   enum { LO_OR, LO_AND, LO_NOT, LO_UNDEFINED };
index 4b9f29ceaaa16e4d112949a993f450e4719671d4..b8e0932b332bff4240716772e37a9c95fc8cbb22 100644 (file)
@@ -23,6 +23,8 @@
 #ifndef _SMESH_NumberFilter_HeaderFile
 #define _SMESH_NumberFilter_HeaderFile
 
+#include "SMESH_Type.h"
+
 #include "SUIT_SelectionFilter.h"
 
 #include <TopAbs_ShapeEnum.hxx>
@@ -45,7 +47,7 @@ class SUIT_DataOwner;
  *                * theMainObject   - Sub-shapes of this object is selected only
  *                * theIsClosedOnly - Closed shapes is selected if this parameter is true
  */
-class SMESH_NumberFilter : public SUIT_SelectionFilter
+class SMESHFILTERSSELECTION_EXPORT SMESH_NumberFilter : public SUIT_SelectionFilter
 {
  public:
   SMESH_NumberFilter (const char*            theKind,
index e4d37683276d18e6070022d427eef1df22a155fe..25cc4deec1b11105b16243b6af0d87cc91d0d2b9 100644 (file)
 #ifndef SMESH_TYPE_HEADER
 #define SMESH_TYPE_HEADER
 
+#ifdef WNT
+ #if defined SMESHFILTERSSELECTION_EXPORTS
+  #define SMESHFILTERSSELECTION_EXPORT __declspec( dllexport )
+ #else
+  #define SMESHFILTERSSELECTION_EXPORT __declspec( dllimport )
+ #endif
+#else
+ #define SMESHFILTERSSELECTION_EXPORT
+#endif
+
 enum MeshObjectType {
   HYPOTHESIS,
   ALGORITHM,
index 46724b6b72e3c4f5642042effd30e0451258f620..6107a13938b2a85179822daaf8118be9323dfd09 100644 (file)
@@ -28,7 +28,7 @@
 
 class SUIT_DataOwner;
 
-class SMESH_TypeFilter : public SUIT_SelectionFilter
+class SMESHFILTERSSELECTION_EXPORT SMESH_TypeFilter : public SUIT_SelectionFilter
 {
 public:
   SMESH_TypeFilter (MeshObjectType theType);
index 55987d6c233c4e76602110c06315d03e4a49a7b2..268d4bc70c05ba8539301313558ed6c3c70aab25 100644 (file)
@@ -42,7 +42,8 @@ EXPORT_HEADERS= SMESHGUI_Swig.hxx \
                SMESHGUI_Hypotheses.h \
                SMESHGUI_HypothesesUtils.h \
                SMESHGUI_SpinBox.h \
-               SMESHGUI_Selection.h 
+               SMESHGUI_Selection.h \
+               SMESH_SMESHGUI.hxx 
 
 # .po files to transform in .qm
 PO_FILES = \
index ecc471d991be155837d92d6a79cd40da4c39d6fd..f7f79516d1c5ebdb1cdbbb37d278dc68e35a1742 100644 (file)
@@ -314,7 +314,7 @@ namespace{
              aFormat = aFilterMap[fd->selectedFilter()];
              is_ok = true;
              if( !aFilename.isEmpty()
-                 && (aMesh->NbPolygons()>0 or aMesh->NbPolyhedrons()>0)
+                 && (aMesh->NbPolygons()>0 || aMesh->NbPolyhedrons()>0)
                  && aFormat==SMESH::MED_V2_1){
                int aRet = SUIT_MessageBox::warn2(SMESHGUI::desktop(),
                                                  QObject::tr("SMESH_WRN_WARNING"),
@@ -669,127 +669,6 @@ namespace{
 
     return RefType;
   }
-
-
-  void SMESHGUI::OnEditDelete()
-  {
-    // VSR 17/11/04: check if all objects selected belong to SMESH component --> start
-    LightApp_SelectionMgr* aSel = SMESHGUI::selectionMgr();
-    SALOME_ListIO selected; aSel->selectedObjects( selected, QString::null, false );
-
-    QString aParentComponent = QString::null;
-    for( SALOME_ListIteratorOfListIO anIt( selected ); anIt.More(); anIt.Next() )
-    {
-      QString cur = anIt.Value()->getComponentDataType();
-      if( aParentComponent.isNull() )
-        aParentComponent = cur;
-      else if( !aParentComponent.isEmpty() && aParentComponent!=cur )
-        aParentComponent = "";
-    }
-
-    if ( aParentComponent != SMESHGUI::GetSMESHGUI()->name() )  {
-      SUIT_MessageBox::warn1 ( SMESHGUI::desktop(),
-                             QObject::tr("ERR_ERROR"),
-                             QObject::tr("NON_SMESH_OBJECTS_SELECTED").arg( SMESHGUI::GetSMESHGUI()->moduleName() ),
-                             QObject::tr("BUT_OK") );
-      return;
-    }
-    // VSR 17/11/04: check if all objects selected belong to SMESH component <-- finish
-    if (SUIT_MessageBox::warn2
-       (SMESHGUI::desktop(),
-        QObject::tr("SMESH_WRN_WARNING"),
-        QObject::tr("SMESH_REALLY_DELETE"),
-        QObject::tr("SMESH_BUT_YES"), QObject::tr("SMESH_BUT_NO"), 1, 0, 0) != 1)
-      return;
-
-    SalomeApp_Application* anApp = dynamic_cast<SalomeApp_Application*>( SUIT_Session::session()->activeApplication() );
-    SUIT_ViewManager* vm = anApp->activeViewManager();
-    int nbSf = vm->getViewsCount();
-
-    _PTR(Study) aStudy = SMESH::GetActiveStudyDocument();
-    _PTR(StudyBuilder) aStudyBuilder = aStudy->NewBuilder();
-    _PTR(GenericAttribute) anAttr;
-    _PTR(AttributeIOR) anIOR;
-
-    SALOME_ListIteratorOfListIO It(selected);
-
-    aStudyBuilder->NewCommand();  // There is a transaction
-    for(; It.More(); It.Next()){
-      Handle(SALOME_InteractiveObject) IObject = It.Value();
-      if(IObject->hasEntry()){
-       _PTR(SObject) SO = aStudy->FindObjectID(IObject->getEntry());
-
-       // disable removal of "SMESH" component object
-       if(SO->FindAttribute(anAttr, "AttributeIOR")){
-         anIOR = anAttr;
-         if ( !strcmp( (char*)anIOR->Value().c_str(), engineIOR().latin1() ) )
-           continue;
-       }
-
-       /* Erase child graphical objects */
-       _PTR(ChildIterator) it = aStudy->NewChildIterator(SO);
-       for(it->InitEx(true); it->More(); it->Next()){
-         _PTR(SObject) CSO = it->Value();
-         if(CSO->FindAttribute(anAttr, "AttributeIOR")){
-           anIOR = anAttr;
-
-           QPtrVector<SUIT_ViewWindow> aViews = vm->getViews();
-           for(int i = 0; i < nbSf; i++){
-             SUIT_ViewWindow *sf = aViews[i];
-             CORBA::String_var anEntry = CSO->GetID().c_str();
-             if(SMESH_Actor* anActor = SMESH::FindActorByEntry(sf,anEntry.in())){
-               SMESH::RemoveActor(sf,anActor);
-             }
-           }
-         }
-       }
-
-       /* Erase main graphical object */
-       QPtrVector<SUIT_ViewWindow> aViews = vm->getViews();
-       for(int i = 0; i < nbSf; i++){
-         SUIT_ViewWindow *sf = aViews[i];
-         if(SMESH_Actor* anActor = SMESH::FindActorByEntry(sf,IObject->getEntry())){
-           SMESH::RemoveActor(sf,anActor);
-         }
-       }
-
-       // Remove object(s) from data structures
-       _PTR(SObject) obj = aStudy->FindObjectID(IObject->getEntry());
-       if(obj){
-         SMESH::SMESH_GroupBase_var aGroup = SMESH::SMESH_GroupBase::_narrow( SMESH::SObjectToObject( obj ) );
-         SMESH::SMESH_subMesh_var   aSubMesh = SMESH::SMESH_subMesh::_narrow( SMESH::SObjectToObject( obj ) );
-          QString objType = CheckTypeObject(IObject);
-         if ( !aGroup->_is_nil() ) {                          // DELETE GROUP
-           SMESH::SMESH_Mesh_var aMesh = aGroup->GetMesh();
-           aMesh->RemoveGroup( aGroup );
-         }
-         else if ( !aSubMesh->_is_nil() ) {                   // DELETE SUBMESH
-           SMESH::SMESH_Mesh_var aMesh = aSubMesh->GetFather();
-           aMesh->RemoveSubMesh( aSubMesh );
-         }
-         else if ( objType == "Hypothesis" || objType == "Algorithm" ) {// DELETE HYPOTHESIS
-            SMESH::RemoveHypothesisOrAlgorithmOnMesh(IObject);
-           aStudyBuilder->RemoveObjectWithChildren( obj );
-         }
-         else {// default action: remove SObject from the study
-           // san - it's no use opening a transaction here until UNDO/REDO is provided in SMESH
-           //SUIT_Operation *op = new SALOMEGUI_ImportOperation(myActiveStudy);
-           //op->start();
-           aStudyBuilder->RemoveObjectWithChildren( obj );
-           //op->finish();
-         }
-       }
-
-      } /* IObject->hasEntry() */
-    } /* more/next */
-    aStudyBuilder->CommitCommand();
-
-    /* Clear any previous selection */
-    SALOME_ListIO l1;
-    aSel->setSelectedObjects( l1 );
-
-    SMESHGUI::GetSMESHGUI()->updateObjBrowser();
-  }
 }
 
 extern "C" {
@@ -3162,3 +3041,123 @@ LightApp_Displayer* SMESHGUI::displayer()
     myDisplayer = new SMESHGUI_Displayer( getApp() );
   return myDisplayer;
 }
+
+void SMESHGUI::OnEditDelete()
+  {
+    // VSR 17/11/04: check if all objects selected belong to SMESH component --> start
+    LightApp_SelectionMgr* aSel = SMESHGUI::selectionMgr();
+    SALOME_ListIO selected; aSel->selectedObjects( selected, QString::null, false );
+
+    QString aParentComponent = QString::null;
+    for( SALOME_ListIteratorOfListIO anIt( selected ); anIt.More(); anIt.Next() )
+    {
+      QString cur = anIt.Value()->getComponentDataType();
+      if( aParentComponent.isNull() )
+        aParentComponent = cur;
+      else if( !aParentComponent.isEmpty() && aParentComponent!=cur )
+        aParentComponent = "";
+    }
+
+    if ( aParentComponent != SMESHGUI::GetSMESHGUI()->name() )  {
+      SUIT_MessageBox::warn1 ( SMESHGUI::desktop(),
+                             QObject::tr("ERR_ERROR"),
+                             QObject::tr("NON_SMESH_OBJECTS_SELECTED").arg( SMESHGUI::GetSMESHGUI()->moduleName() ),
+                             QObject::tr("BUT_OK") );
+      return;
+    }
+    // VSR 17/11/04: check if all objects selected belong to SMESH component <-- finish
+    if (SUIT_MessageBox::warn2
+       (SMESHGUI::desktop(),
+        QObject::tr("SMESH_WRN_WARNING"),
+        QObject::tr("SMESH_REALLY_DELETE"),
+        QObject::tr("SMESH_BUT_YES"), QObject::tr("SMESH_BUT_NO"), 1, 0, 0) != 1)
+      return;
+
+    SalomeApp_Application* anApp = dynamic_cast<SalomeApp_Application*>( SUIT_Session::session()->activeApplication() );
+    SUIT_ViewManager* vm = anApp->activeViewManager();
+    int nbSf = vm->getViewsCount();
+
+    _PTR(Study) aStudy = SMESH::GetActiveStudyDocument();
+    _PTR(StudyBuilder) aStudyBuilder = aStudy->NewBuilder();
+    _PTR(GenericAttribute) anAttr;
+    _PTR(AttributeIOR) anIOR;
+
+    SALOME_ListIteratorOfListIO It(selected);
+
+    aStudyBuilder->NewCommand();  // There is a transaction
+    for(; It.More(); It.Next()){
+      Handle(SALOME_InteractiveObject) IObject = It.Value();
+      if(IObject->hasEntry()){
+       _PTR(SObject) SO = aStudy->FindObjectID(IObject->getEntry());
+
+       // disable removal of "SMESH" component object
+       if(SO->FindAttribute(anAttr, "AttributeIOR")){
+         anIOR = anAttr;
+         if ( !strcmp( (char*)anIOR->Value().c_str(), engineIOR().latin1() ) )
+           continue;
+       }
+
+       /* Erase child graphical objects */
+       _PTR(ChildIterator) it = aStudy->NewChildIterator(SO);
+       for(it->InitEx(true); it->More(); it->Next()){
+         _PTR(SObject) CSO = it->Value();
+         if(CSO->FindAttribute(anAttr, "AttributeIOR")){
+           anIOR = anAttr;
+
+           QPtrVector<SUIT_ViewWindow> aViews = vm->getViews();
+           for(int i = 0; i < nbSf; i++){
+             SUIT_ViewWindow *sf = aViews[i];
+             CORBA::String_var anEntry = CSO->GetID().c_str();
+             if(SMESH_Actor* anActor = SMESH::FindActorByEntry(sf,anEntry.in())){
+               SMESH::RemoveActor(sf,anActor);
+             }
+           }
+         }
+       }
+
+       /* Erase main graphical object */
+       QPtrVector<SUIT_ViewWindow> aViews = vm->getViews();
+       for(int i = 0; i < nbSf; i++){
+         SUIT_ViewWindow *sf = aViews[i];
+         if(SMESH_Actor* anActor = SMESH::FindActorByEntry(sf,IObject->getEntry())){
+           SMESH::RemoveActor(sf,anActor);
+         }
+       }
+
+       // Remove object(s) from data structures
+       _PTR(SObject) obj = aStudy->FindObjectID(IObject->getEntry());
+       if(obj){
+         SMESH::SMESH_GroupBase_var aGroup = SMESH::SMESH_GroupBase::_narrow( SMESH::SObjectToObject( obj ) );
+         SMESH::SMESH_subMesh_var   aSubMesh = SMESH::SMESH_subMesh::_narrow( SMESH::SObjectToObject( obj ) );
+          QString objType = CheckTypeObject(IObject);
+         if ( !aGroup->_is_nil() ) {                          // DELETE GROUP
+           SMESH::SMESH_Mesh_var aMesh = aGroup->GetMesh();
+           aMesh->RemoveGroup( aGroup );
+         }
+         else if ( !aSubMesh->_is_nil() ) {                   // DELETE SUBMESH
+           SMESH::SMESH_Mesh_var aMesh = aSubMesh->GetFather();
+           aMesh->RemoveSubMesh( aSubMesh );
+         }
+         else if ( objType == "Hypothesis" || objType == "Algorithm" ) {// DELETE HYPOTHESIS
+            SMESH::RemoveHypothesisOrAlgorithmOnMesh(IObject);
+           aStudyBuilder->RemoveObjectWithChildren( obj );
+         }
+         else {// default action: remove SObject from the study
+           // san - it's no use opening a transaction here until UNDO/REDO is provided in SMESH
+           //SUIT_Operation *op = new SALOMEGUI_ImportOperation(myActiveStudy);
+           //op->start();
+           aStudyBuilder->RemoveObjectWithChildren( obj );
+           //op->finish();
+         }
+       }
+
+      } /* IObject->hasEntry() */
+    } /* more/next */
+    aStudyBuilder->CommitCommand();
+
+    /* Clear any previous selection */
+    SALOME_ListIO l1;
+    aSel->setSelectedObjects( l1 );
+
+    SMESHGUI::GetSMESHGUI()->updateObjBrowser();
+  }
\ No newline at end of file
index 9626e4358b923689573c11c2d1b541d562507609..7b062275bbf37fbb6cd92a9cb264c34584168dd3 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef SMESHGUI_HeaderFile
 #define SMESHGUI_HeaderFile
 
+#include "SMESH_SMESHGUI.hxx"
+
 // SALOME Includes
 #include <SalomeApp_Module.h>
 #include <SALOME_InteractiveObject.hxx>
@@ -53,7 +55,7 @@ class LightApp_SelectionMgr;
 // class    : SMESHGUI
 // purpose  :
 //=================================================================================
-class SMESHGUI : public SalomeApp_Module
+class SMESHGUI_EXPORT SMESHGUI : public SalomeApp_Module
 {
   Q_OBJECT;
 
index 33f8a3d3ab6b745713a7febfda6f88bb980e802e..9b9e71f8fbb1bd259f6f6dd67ff63588a9e51e20 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_ADD_FACE_H
 #define DIALOGBOX_ADD_FACE_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 
 #include "SMDSAbs_ElementType.hxx"
@@ -66,7 +68,7 @@ namespace SMESH{
 // class    : SMESHGUI_AddMeshElementDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_AddMeshElementDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_AddMeshElementDlg : public QDialog
 { 
     Q_OBJECT
 
index bc4bab595580c113f268a30aa5964826cef552c2..463257cc9f383fa56f3127fbcd15f8f9710d9ec9 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_CLIPPING_H
 #define DIALOGBOX_CLIPPING_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <SMESHGUI_SpinBox.h>
 
 #include <vtkSmartPointer.h>
@@ -68,7 +70,7 @@ namespace SMESH {
 // class    : SMESHGUI_ClippingDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_ClippingDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_ClippingDlg : public QDialog
 {
     Q_OBJECT
 
index e2bb65a6741ee371ec0c3353ae34e4380c1009a2..3219dd56cc9c36daac142a8274082a8fbd6591a2 100644 (file)
@@ -28,6 +28,8 @@
 #ifndef DIALOGBOX_CREATE_HYPOTHESES_H
 #define DIALOGBOX_CREATE_HYPOTHESES_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 // QT Includes
 #include <qvariant.h>
 #include <qdialog.h>
@@ -52,7 +54,7 @@ class SMESHGUI;
 // class    : SMESHGUI_CreateHypothesesDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_CreateHypothesesDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_CreateHypothesesDlg : public QDialog
 {
     Q_OBJECT
 
index 84a0cbd34ea1cbf9e60efa2a6442580cfe34c8c7..cc16c162baea76cf46a8a7e4682b27c982179ba6 100755 (executable)
@@ -27,6 +27,8 @@
 #ifndef SMESHGUI_CreatePatternDlg_H
 #define SMESHGUI_CreatePatternDlg_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <qdialog.h>
 
 // IDL Headers
@@ -57,7 +59,7 @@ class SMESHGUI;
  *  Description : Dialog to specify filters for VTK viewer
  */
 
-class SMESHGUI_CreatePatternDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_CreatePatternDlg : public QDialog
 {
   Q_OBJECT
 
index 5070b44718a7307cfff2be486575a86119d1a9ac..b495c32909c919921fdbcb22e0b7c20fd2cab846 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_CREATEPOLYHEDRAL_H
 #define DIALOGBOX_CREATEPOLYHEDRAL_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 // QT Includes
 #include <qdialog.h>
 
@@ -59,7 +61,7 @@ namespace SMESH{
 // class    : SMESHGUI_CreatePolyhedralVolumeDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_CreatePolyhedralVolumeDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_CreatePolyhedralVolumeDlg : public QDialog
 { 
     Q_OBJECT
 
index f944b302040573dfa0217c238bdf4d954841f94d..e0b6738aa8224ee9df96f4e3f08bb6dbbdb90eb0 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef SMESHGUI_DELETEGROUPDLG_H
 #define SMESHGUI_DELETEGROUPDLG_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <qdialog.h>
 #include <qlist.h>
 
@@ -47,7 +49,7 @@ class LightApp_SelectionMgr;
  *  Description : Delete groups and their contents
  */
 
-class SMESHGUI_DeleteGroupDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_DeleteGroupDlg : public QDialog
 {
   Q_OBJECT
 
index 73c92abe2aeb1baf463d9a564c19b5ec26dc3f14..1a04adbd0a393a461e938cd63ed5edfdc6d72a5e 100644 (file)
@@ -30,6 +30,8 @@
 #ifndef SMESHGUI_DIALOG_H
 #define SMESHGUI_DIALOG_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <LightApp_Dialog.h>
 
 class SUIT_Desktop;
@@ -39,7 +41,7 @@ class SUIT_ResourceMgr;
 // class    : SMESHGUI_Dialog
 // purpose  : Base dialog for all SMESHGUI dialogs
 //=================================================================================
-class SMESHGUI_Dialog : public LightApp_Dialog
+class SMESHGUI_EXPORT SMESHGUI_Dialog : public LightApp_Dialog
 {
   Q_OBJECT
   
index 8b030526e7f27362a72b1ac2d9051a79a33332dd..4c1aa5d7960323896e696f3e43ab9c8c6a54e0d8 100644 (file)
 #ifndef SMESHGUI_DISPLAYER_HEADER
 #define SMESHGUI_DISPLAYER_HEADER
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <LightApp_Displayer.h>
 
 class SalomeApp_Application;
 class SalomeApp_Study;
 
-class SMESHGUI_Displayer : public LightApp_Displayer
+class SMESHGUI_EXPORT SMESHGUI_Displayer : public LightApp_Displayer
 {
 public:
   SMESHGUI_Displayer( SalomeApp_Application* );
index 6fe085dc6cb59be8f014be75fabe64dc05965122..7385dcb9f5db570317f4ff344eb7130239eddf7b 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_EDIT_HYPOTHESES_H
 #define DIALOGBOX_EDIT_HYPOTHESES_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 //#include "SMESH_TypeFilter.hxx"
 #include "SUIT_SelectionFilter.h"
 #include "LightApp_SelectionMgr.h"
@@ -58,7 +60,7 @@ typedef map<std::string, int> MapIOR;
 // class    : SMESHGUI_EditHypothesesDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_EditHypothesesDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_EditHypothesesDlg : public QDialog
 {
     Q_OBJECT
 
index 839b3fd7c4665f3d4a8174ef1032ea5dfa6ffdd3..eeddcfd825dd8439fccb94c293a0a1bd0a2c94d3 100644 (file)
@@ -21,6 +21,8 @@
 #ifndef DIALOGBOX_GETMESH_H
 #define DIALOGBOX_GETMESH_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 #include "SUIT_SelectionFilter.h"
 
@@ -46,7 +48,7 @@ class SMESHGUI;
 // class    : SMESHGUI_EditMeshDlg
 // purpose  : 
 //=================================================================================
-class SMESHGUI_EditMeshDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_EditMeshDlg : public QDialog
 {
   Q_OBJECT;
 
index 57f7be3b7f22b17474be87d974f9be3fd0a2ec2f..7b1e34961a51c75faa4e6a43df18d2a1f9c15c1b 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_EXTRUSION_PATH_H
 #define DIALOGBOX_EXTRUSION_PATH_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 #include "SUIT_SelectionFilter.h"
 
@@ -60,7 +62,7 @@ class SVTK_Selector;
 // class    : SMESHGUI_ExtrusionAlongPathDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_ExtrusionAlongPathDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_ExtrusionAlongPathDlg : public QDialog
 {
   Q_OBJECT
 
index 935a2716c81d2ff44b06fb35a8711d6564dc5693..9b8a3705e28938181465d323b801bc4f62311a92 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_EXTRUSION_H
 #define DIALOGBOX_EXTRUSION_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 #include "SUIT_SelectionFilter.h"
 
@@ -59,7 +61,7 @@ class SVTK_Selector;
 // class    : SMESHGUI_ExtrusionDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_ExtrusionDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_ExtrusionDlg : public QDialog
 {
   Q_OBJECT
 
index 0114f38b88c4fb58a57522a4469a42b6fd6ca2c9..466b30cc5bfefc951c7a7c05f4a1e673aec704d5 100755 (executable)
@@ -28,6 +28,8 @@
 #ifndef SMESHGUI_Filter_HeaderFile
 #define SMESHGUI_Filter_HeaderFile
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "VTKViewer_Filter.h"
 
 #include <SALOMEconfig.h>
index cd3d8eb6594b7bca2bd516ff8c58f8cc86c46b5c..6c01f45a2b5735ba55bcacf30d0ba82a0037c905 100755 (executable)
@@ -958,7 +958,7 @@ void SMESHGUI_FilterTable::onRemoveBtn()
     if (aTable->isRowSelected(i))
     {
       aRows.resize(aRows.size() + 1);
-      aRows[ aRows.size() - 1 ] = i;
+      aRows[ (int)(aRows.size() - 1) ] = i;
       removeAdditionalWidget(aTable, i);
     }
   }
index d74fc689cb59f590c4a9e101adc4f9e419083e76..bdfbd8047080174789c99c011c2054fb5e4416ea 100755 (executable)
@@ -29,6 +29,8 @@
 #ifndef SMESHGUI_FilterDlg_H
 #define SMESHGUI_FilterDlg_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <qdialog.h>
 #include <qframe.h>
 #include <qmap.h>
@@ -70,7 +72,7 @@ class SVTK_ViewWindow;
  *                  - Buttons for editing table
  */
 
-class SMESHGUI_FilterTable : public QFrame
+class SMESHGUI_EXPORT SMESHGUI_FilterTable : public QFrame
 {
   Q_OBJECT
 
index 8fbc6f9981cc6cc7a0d5525442cd43f8c96281a5..867801101d3fa1d38802adc9eaae58714a7cb627 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef SMESHGUI_FilterLibraryDlg_H
 #define SMESHGUI_FilterLibraryDlg_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <qdialog.h>
 #include <SMESHGUI_FilterDlg.h>
 
@@ -48,7 +50,7 @@ class QGroupBox;
   Description : Dialog to specify filters for VTK viewer
 */
 
-class SMESHGUI_FilterLibraryDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_FilterLibraryDlg : public QDialog
 { 
   Q_OBJECT
   
index 6b8c758626b46f9cf3a1bd9df671e68a614a88de..501bad2d94c1f50c85e8e08f58bd158274aa8093 100644 (file)
 #ifndef SMESHGUI_FilterUtils_HeaderFile
 #define SMESHGUI_FilterUtils_HeaderFile
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "SALOMEconfig.h"
 #include CORBA_SERVER_HEADER(SMESH_Filter)
 
 
 namespace SMESH{
 
-  SMESH::FilterManager_var& GetFilterManager();
+  SMESHGUI_EXPORT SMESH::FilterManager_var& GetFilterManager();
 
 }
 
index 6f2ccb9b32e406cf7a0c6461b1ffd8874ca44c7e..ecdbc4bf81471343466aee19d2698d29cec19fcd 100644 (file)
@@ -20,6 +20,8 @@
 #ifndef SMESHGUI_GEOMGenUtils_HeaderFile
 #define SMESHGUI_GEOMGenUtils_HeaderFile
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "SALOMEconfig.h"
 #include CORBA_SERVER_HEADER(GEOM_Gen)
 
@@ -29,11 +31,11 @@ class SALOMEDSClient_SObject;
 
 namespace SMESH
 {
-  GEOM::GEOM_Gen_var GetGEOMGen();
+  SMESHGUI_EXPORT GEOM::GEOM_Gen_var GetGEOMGen();
 
-  GEOM::GEOM_Object_var GetShapeOnMeshOrSubMesh (_PTR(SObject) theSObject);
+  SMESHGUI_EXPORT GEOM::GEOM_Object_var GetShapeOnMeshOrSubMesh (_PTR(SObject) theSObject);
 
-  GEOM::GEOM_Object_ptr GetGeom (_PTR(SObject) theSO);
+  SMESHGUI_EXPORT GEOM::GEOM_Object_ptr GetGeom (_PTR(SObject) theSO);
 }
 
 #endif
index af101fcff616ff15cad0dce323e0096c718ce40d..66c6c31ad780aaa307cdfa6ed434c5f06bc63acd 100644 (file)
@@ -28,6 +28,8 @@
 #ifndef DIALOGBOX_GROUP_H
 #define DIALOGBOX_GROUP_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 //#include "SMESH_TypeFilter.hxx"
 #include "SUIT_SelectionFilter.h"
@@ -58,7 +60,7 @@ class SVTK_ViewWindow;
 // class    : SMESHGUI_GroupDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_GroupDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_GroupDlg : public QDialog
 { 
     Q_OBJECT
 
index 7a62a35b31bb2ba2d0e3524c38b045cce633423b..256cdfb913da6d9502316b0af6052bedcf2943cc 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef SMESHGUI_GroupOpDlg_H
 #define SMESHGUI_GroupOpDlg_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <qdialog.h>
 
 #include <SALOMEconfig.h>
@@ -47,7 +49,7 @@ class SVTK_Selector;
   Description : Perform boolean operations on groups
 */
 
-class SMESHGUI_GroupOpDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_GroupOpDlg : public QDialog
 { 
   Q_OBJECT
     
index 9cd9783c19bb9eacca57d0f47af80f92d80d4a74..554bac9cd0365fb142b6b3b3d53da4a732667d23 100644 (file)
@@ -20,6 +20,8 @@
 #ifndef SMESHGUI_GroupUtils_HeaderFile
 #define SMESHGUI_GroupUtils_HeaderFile
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "SALOMEconfig.h"
 #include CORBA_SERVER_HEADER(SMESH_Mesh)
 #include CORBA_SERVER_HEADER(SMESH_Group)
@@ -27,6 +29,7 @@
 
 namespace SMESH{
 
+SMESHGUI_EXPORT
   SMESH::SMESH_Group_var AddGroup(SMESH::SMESH_Mesh_ptr theMesh,
                                  SMESH::ElementType theType,
                                  const char* theGroupName);
index d47422a4a1c1456c24803f42b90c47c6ac9d5474..80caf54e54d10b7244380f30f2cbf86fbfbf6182 100644 (file)
@@ -28,6 +28,8 @@
 #ifndef SMESHGUI_Hypotheses_HeaderFile
 #define SMESHGUI_Hypotheses_HeaderFile
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_Hypothesis)
 
@@ -40,7 +42,7 @@ class QPixmap;
 /*!
  * \brief Auxiliary class for creation of hypotheses
 */
-class SMESHGUI_GenericHypothesisCreator : public QObject
+class SMESHGUI_EXPORT SMESHGUI_GenericHypothesisCreator : public QObject
 {
   Q_OBJECT
 
index 98d84f8a92b5196c66610992cb315468df6744d1..c0a6460d1745079d6c45ba1f9323ba6ed4e27fab 100644 (file)
 #include <map>
 #include <string>
 
-#include <dlfcn.h>
+#ifdef WNT
+ #include <windows.h>
+#else
+ #include <dlfcn.h>
+#endif
+
+#ifdef WNT
+ #define LibHandle HMODULE
+ #define LoadLib( name ) LoadLibrary( name )
+ #define GetProc GetProcAddress
+ #define UnLoadLib( handle ) FreeLibrary( handle );
+#else
+ #define LibHandle void*
+ #define LoadLib( name ) dlopen( name, RTLD_LAZY )
+ #define GetProc dlsym
+ #define UnLoadLib( handle ) dlclose( handle );
+#endif
 
 #ifdef _DEBUG_
 static int MYDEBUG = 0;
@@ -287,11 +303,18 @@ namespace SMESH{
       try {
        // load plugin library
        if(MYDEBUG) MESSAGE("Loading client meshers plugin library ...");
-       void* libHandle = dlopen (aClientLibName, RTLD_LAZY);
+       LibHandle libHandle = LoadLib( aClientLibName );
        if (!libHandle) {
          // report any error, if occured
-         const char* anError = dlerror();
-         if(MYDEBUG) MESSAGE(anError);
+    if ( MYDEBUG )
+    {
+#ifdef WIN32
+      const char* anError = "Can't load client meshers plugin library";
+#else
+           const char* anError = dlerror();      
+#endif
+      MESSAGE(anError);
+    }
        }
        else {
          // get method, returning hypothesis creator
@@ -299,10 +322,10 @@ namespace SMESH{
          typedef SMESHGUI_GenericHypothesisCreator* (*GetHypothesisCreator) \
            ( const QString& );
          GetHypothesisCreator procHandle =
-           (GetHypothesisCreator)dlsym(libHandle, "GetHypothesisCreator");
+           (GetHypothesisCreator)GetProc(libHandle, "GetHypothesisCreator");
          if (!procHandle) {
            if(MYDEBUG) MESSAGE("bad hypothesis client plugin library");
-           dlclose(libHandle);
+           UnLoadLib(libHandle);
          }
          else {
            // get hypothesis creator
index 2fb920af91c60e99f87f4ee7322916b5a17685b3..d710a91e6b4135bf4440d1d4d47039dd8983b9ac 100644 (file)
@@ -28,6 +28,8 @@
 #ifndef SMESHGUI_HypothesesUtils_HeaderFile
 #define SMESHGUI_HypothesesUtils_HeaderFile
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <qstring.h>
 #include <qstringlist.h>
 
@@ -49,36 +51,46 @@ class algo_error_array;
 
 namespace SMESH{
 
-  void InitAvailableHypotheses();
+  SMESHGUI_EXPORT void InitAvailableHypotheses();
 
+  SMESHGUI_EXPORT
   QStringList GetAvailableHypotheses( const bool isAlgo, 
                                       const int theDim = -1, 
                                       const bool isAux = false);
-
+  SMESHGUI_EXPORT
   QStringList GetHypothesesSets();
 
+  SMESHGUI_EXPORT
   HypothesesSet* GetHypothesesSet(const QString theSetName);
 
+  SMESHGUI_EXPORT
   HypothesisData* GetHypothesisData(const char* aHypType);
 
+  SMESHGUI_EXPORT
   SMESHGUI_GenericHypothesisCreator* GetHypothesisCreator(const char* aHypType);
 
+  SMESHGUI_EXPORT
   SMESH::SMESH_Hypothesis_ptr CreateHypothesis(const char* aHypType,
                                               const char* aHypName,
                                               const bool isAlgo = false);
 
+  SMESHGUI_EXPORT
   bool AddHypothesisOnMesh(SMESH::SMESH_Mesh_ptr aMesh, SMESH::SMESH_Hypothesis_ptr aHyp);
 
+  SMESHGUI_EXPORT
   bool AddHypothesisOnSubMesh(SMESH::SMESH_subMesh_ptr aSubMesh, SMESH::SMESH_Hypothesis_ptr aHyp);
 
+  SMESHGUI_EXPORT
   bool RemoveHypothesisOrAlgorithmOnMesh(const Handle(SALOME_InteractiveObject)& IObject);
 
+  SMESHGUI_EXPORT
   bool RemoveHypothesisOrAlgorithmOnMesh(_PTR(SObject) MorSM,
                                         SMESH::SMESH_Hypothesis_ptr anHyp);
 
   typedef std::vector<_PTR(SObject)> SObjectList;
   SObjectList GetMeshesUsingAlgoOrHypothesis(SMESH::SMESH_Hypothesis_ptr AlgoOrHyp ) ;
 
+  SMESHGUI_EXPORT
   QString GetMessageOnAlgoStateErrors(const algo_error_array& errors);
 }
 
index 680dacba8679b870611982e1f3b55c9c71c64114..35e64f59f9e361c7bc9ac992e0f41bba783c2cc8 100644 (file)
 #ifndef SMESHGUI_IdValidator_HeaderFile
 #define SMESHGUI_IdValidator_HeaderFile
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <qvalidator.h>
 
 // validator for manual input of Ids
 
-class SMESHGUI_IdValidator: public QValidator
+class SMESHGUI_EXPORT SMESHGUI_IdValidator: public QValidator
 {
  public:
 
index 457259574062e0f0a27e5c72957650ca1cf582f0..eb4767619c2eda5f49815f83bb3fa7f7d36a5f5a 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_MERGENODES_H
 #define DIALOGBOX_MERGENODES_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 //#include "SMESH_TypeFilter.hxx"
 #include "SUIT_SelectionFilter.h"
@@ -63,7 +65,7 @@ class SVTK_Selector;
 // class    : SMESHGUI_MergeNodesDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_MergeNodesDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_MergeNodesDlg : public QDialog
 { 
     Q_OBJECT
 
index f12773bd100f3ca1f0d5c7af8c4db64800fd7bfc..3c3624b2578ceb6d40645cfbc16d42e245211fe6 100644 (file)
@@ -33,6 +33,8 @@
 #ifndef SMESHGUI_MeshDlg_H
 #define SMESHGUI_MeshDlg_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "SMESHGUI_Dialog.h"
 #include <qframe.h>
 #include <qstringlist.h>
@@ -51,7 +53,7 @@ class QPopupMenu;
  *
  *  This dialog is used for mech creation or editing. 
 */
-class SMESHGUI_MeshDlg : public SMESHGUI_Dialog
+class SMESHGUI_EXPORT SMESHGUI_MeshDlg : public SMESHGUI_Dialog
 { 
   Q_OBJECT       
       
@@ -98,7 +100,7 @@ private:
  * algorithms and hypotheses
 */ 
 
-class SMESHGUI_MeshTab : public QFrame
+class SMESHGUI_EXPORT SMESHGUI_MeshTab : public QFrame
 {
   Q_OBJECT
       
index 4ff11f1d9c3ea6789eff61fcd9af904c04d656b4..e8e4bd9edaf8ab27c71e068eba656bb09a55e579 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef SMESHGUI_MESHINFOSDLG_H
 #define SMESHGUI_MESHINFOSDLG_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 // QT Includes
 #include <qdialog.h>
 
@@ -40,7 +42,7 @@ class QWidgetStack;
 class LightApp_SelectionMgr;
 class SMESHGUI;
 
-class SMESHGUI_MeshInfosDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_MeshInfosDlg : public QDialog
 { 
     Q_OBJECT
 
index 677731a3b6802b2682ca560009b2170f7d8d752a..865a2fc53351d371d1e5633d2ff5e9768c591799 100644 (file)
@@ -32,6 +32,8 @@
 #ifndef SMESHGUI_MeshOp_H
 #define SMESHGUI_MeshOp_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "SMESHGUI_SelectionOp.h"
 #include <qstringlist.h>
 
@@ -47,7 +49,7 @@ class SMESHGUI_ShapeByMeshDlg;
  *
  *  This operation is used for mech creation or editing. 
 */
-class SMESHGUI_MeshOp : public SMESHGUI_SelectionOp
+class SMESHGUI_EXPORT SMESHGUI_MeshOp : public SMESHGUI_SelectionOp
 { 
   Q_OBJECT
       
index 106dc8b27717173f069e4ced20608d7013c439e5..bdaa10d08f7259dced0fa6438211c36c0365c599 100755 (executable)
@@ -27,6 +27,8 @@
 #ifndef SMESHGUI_MeshPatternDlg_H
 #define SMESHGUI_MeshPatternDlg_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <qdialog.h>
 
 // IDL Headers
@@ -60,7 +62,7 @@ class SMESHGUI;
   Description : Dialog to specify filters for VTK viewer
 */
 
-class SMESHGUI_MeshPatternDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_MeshPatternDlg : public QDialog
 {
   Q_OBJECT
 
index 011de3404b140d2ea880454a79417744682c523c..e943ac1e02f77be332e30af52db3789511c94c01 100644 (file)
@@ -20,6 +20,8 @@
 #ifndef SMESHGUI_MeshUtils_HeaderFile
 #define SMESHGUI_MeshUtils_HeaderFile
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "SALOME_InteractiveObject.hxx"
 
 #include "SALOMEconfig.h"
@@ -28,6 +30,7 @@
 
 namespace SMESH{
 
+SMESHGUI_EXPORT
   SMESH_Mesh_var GetMeshByIO(const Handle(SALOME_InteractiveObject)& theIO);
 
 }
index d115e52ff8e222d38108c3beeb25bee6fbb429bb..976aa6d0599058d88c143c04de7b2a5a937d0259 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_MOVE_NODES_H
 #define DIALOGBOX_MOVE_NODES_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 
 #include <qdialog.h>
@@ -49,7 +51,7 @@ class SVTK_ViewWindow;
 // class    : SMESHGUI_MoveNodesDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_MoveNodesDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_MoveNodesDlg : public QDialog
 { 
   Q_OBJECT
 
index 5e6c663268867ea8e5c1bd2bb7c19bd9a97b8c02..81c31d6326a9eb1e95dcfb14a7bc6f55451c2c52 100755 (executable)
@@ -27,6 +27,8 @@
 #ifndef SMESHGUI_MultiEditDlg_H
 #define SMESHGUI_MultiEditDlg_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <qdialog.h>
 
 #include "SUIT_SelectionFilter.h"
@@ -64,7 +66,7 @@ class QButtonGroup;
  *               union of two neighboring triangles
  */
 
-class SMESHGUI_MultiEditDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_MultiEditDlg : public QDialog
 {
   Q_OBJECT
 
index 0e29413e74fcba6bcf2ee3977985b199ff6e0832..4018e63fc288163195ffac55ecf7353449043a85 100644 (file)
@@ -152,7 +152,7 @@ namespace SMESH {
       aCellLocationsArray->SetNumberOfTuples(1);
 
       aCells->InitTraversal();
-      vtkIdType npts;
+      vtkIdType npts = 0;
       aCellLocationsArray->SetValue(0, aCells->GetTraversalLocation(npts));
 
       aGrid->SetCells(aCellTypesArray, aCellLocationsArray, aCells);
index 4ec0005a093285e5cfddc84e873c673d7afe90a6..a3339ce8cc31f2e2498a7302ac0f3b67fd8ea2f8 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_NODES_H
 #define DIALOGBOX_NODES_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <qvariant.h>
 #include <qdialog.h>
 
@@ -61,7 +63,7 @@ namespace SMESH{
 // class    : SMESHGUI_NodesDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_NodesDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_NodesDlg : public QDialog
 { 
     Q_OBJECT
 
index 181cb2cc7caeddaeef95fcfd63fd1f879d032ad4..cf8ce7f0ecd369d5ed7ce076a80386dccfec3bdf 100755 (executable)
@@ -12,6 +12,8 @@
 #ifndef SMESHGUI_Operation_H
 #define SMESHGUI_Operation_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <LightApp_Operation.h>
 #include <SALOMEDSClient.hxx>
 
@@ -22,7 +24,7 @@ class SMESHGUI;
   Description : Base class for all SMESH operations
 */
 
-class SMESHGUI_Operation : public LightApp_Operation
+class SMESHGUI_EXPORT SMESHGUI_Operation : public LightApp_Operation
 {
   Q_OBJECT
 
index fb09d01d9b076f649c0b6e291cd479eb89b52ed1..f3bc58c0913e2ba4813b41f79cd5a6b73a95a734 100644 (file)
 #ifndef SMESHGUI_PatternUtils_HeaderFile
 #define SMESHGUI_PatternUtils_HeaderFile
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "SALOMEconfig.h"
 #include CORBA_SERVER_HEADER(SMESH_Pattern)
 
 
 namespace SMESH{
 
+SMESHGUI_EXPORT
   SMESH::SMESH_Pattern_var GetPattern();
 
 }
index ddab7433ba4a7618da41718c0c8565e96de5994e..2319d2f18cd84da8735b045e43ead39689e6657e 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef WIDGET_PATTERN_H
 #define WIDGET_PATTERN_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <qframe.h>
 #include <qvaluevector.h>
 
@@ -45,7 +47,7 @@ class QPoint;
 // class    : SMESHGUI_PatternWidget
 // purpose  :
 //=================================================================================
-class SMESHGUI_PatternWidget : public QFrame
+class SMESHGUI_EXPORT SMESHGUI_PatternWidget : public QFrame
 { 
     Q_OBJECT
 
index 976db3091f589b3a7a2e9d1fcb9c2ee74f022abb..e033ec4382ad98496b53dd54539b2146c647e0df 100755 (executable)
@@ -29,6 +29,8 @@
 #ifndef SMESHGUI_PrecisionDlg_H
 #define SMESHGUI_PrecisionDlg_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <qdialog.h>
 
 class QSpinBox;
@@ -42,7 +44,7 @@ class SMESHGUI;
   Description : Dialog to specify precision of mesh quality controls
 */
 
-class SMESHGUI_PrecisionDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_PrecisionDlg : public QDialog
 {
   Q_OBJECT
 
index 43702b2acfcf5289bab0e8700d0d7ad30a180bad..51d5c759ba081ab87e48132e0eeef6bfb3d9dea4 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef SMESHGUI_PREFERENCES_COLORDLG_H
 #define SMESHGUI_PREFERENCES_COLORDLG_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 // SALOME Includes
 //#include "SUIT_Config.h"
 //#include "SUIT_Settings.h"
@@ -48,7 +50,7 @@ class QSpinBox;
 class QColor;
 class SMESHGUI;
 
-class SMESHGUI_Preferences_ColorDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_Preferences_ColorDlg : public QDialog
 { 
     Q_OBJECT
 
index 5d4dce8a91be309103cbebeb11139ff23116bbc3..e20dd2be7cccc4a010a3111c4817560eb150689f 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef SMESHGUI_PREFERENCES_SCALARBARDLG_H
 #define SMESHGUI_PREFERENCES_SCALARBARDLG_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <qdialog.h>
 
 class QButtonGroup;
@@ -49,7 +51,7 @@ class LightApp_SelectionMgr;
 
 class SMESH_Actor;
 
-class SMESHGUI_Preferences_ScalarBarDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_Preferences_ScalarBarDlg : public QDialog
 { 
   Q_OBJECT
 
index 07b7a644ad7cf4aa239de22568ff0d6dde1c15f9..b1556d114abf54d1e994cff3e1c9a230487f523b 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef SMESHGUI_PREFERENCES_SELECTIONDLG_H
 #define SMESHGUI_PREFERENCES_SELECTIONDLG_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 
 // QT Includes
 #include <qdialog.h>
@@ -40,7 +42,7 @@ class QSpinBox;
 class QColor;
 class SMESHGUI;
 
-class SMESHGUI_LineEdit : public QLineEdit
+class SMESHGUI_EXPORT SMESHGUI_LineEdit : public QLineEdit
 {
   Q_OBJECT
 
@@ -54,7 +56,7 @@ class SMESHGUI_LineEdit : public QLineEdit
     void focusOutEvent(QFocusEvent* e);
 };
 
-class SMESHGUI_DoubleValidator : public QDoubleValidator
+class SMESHGUI_EXPORT SMESHGUI_DoubleValidator : public QDoubleValidator
 {
   Q_OBJECT
 
@@ -68,7 +70,7 @@ class SMESHGUI_DoubleValidator : public QDoubleValidator
     void fixup(QString& text) const;
 };
 
-class SMESHGUI_Preferences_SelectionDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_Preferences_SelectionDlg : public QDialog
 { 
     Q_OBJECT
 
index 8300d124c65633fefd9e2483bb83e0a3ed62a38b..89d42292aea54356294a8ee04bb5c6f47a21be00 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_REMOVE_ELEMENTS_H
 #define DIALOGBOX_REMOVE_ELEMENTS_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 
 // QT Includes
@@ -58,7 +60,7 @@ class SVTK_ViewWindow;
 // class    : SMESHGUI_RemoveElementsDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_RemoveElementsDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_RemoveElementsDlg : public QDialog
 { 
     Q_OBJECT
 
index 68fb7817f2f00e4539a782683c3df5fa5e5a5c1c..363be9f638213d22bfb59e845c8113c5991bade3 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_REMOVE_NODES_H
 #define DIALOGBOX_REMOVE_NODES_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 
 // QT Includes
@@ -61,7 +63,7 @@ class SVTK_ViewWindow;
 // class    : SMESHGUI_RemoveNodesDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_RemoveNodesDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_RemoveNodesDlg : public QDialog
 {
     Q_OBJECT
 
index 50932fdbc650bcac7826408ad56086c33ce78d11..241e7a22c45c3e65a120dd6e452e9b279fcff30d 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_RENUMBERING_H
 #define DIALOGBOX_RENUMBERING_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 //#include "SMESH_TypeFilter.hxx"
 #include "SUIT_SelectionFilter.h"
@@ -55,7 +57,7 @@ class SMESHGUI;
 // class    : SMESHGUI_RenumberingDlg
 // purpose  : If the unit == 0 nodes will be renumbered, if the unit == 1 the elements will.
 //=================================================================================
-class SMESHGUI_RenumberingDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_RenumberingDlg : public QDialog
 { 
     Q_OBJECT
 
index dc1da869d41c7b294aa76f351d2c80c60be4c434..77639c8b5d7ed0bc59ddc0c26170c282727dbbff 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_REVOLUTION_H
 #define DIALOGBOX_REVOLUTION_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 
 #include "SMESH_LogicalFilter.hxx"
@@ -62,7 +64,7 @@ class SVTK_Selector;
 // class    : SMESHGUI_RevolutionDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_RevolutionDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_RevolutionDlg : public QDialog
 { 
     Q_OBJECT
 
index 75a263154773231b4f4ab56389813972ec278796..2ba7fd42fe61ba3fcd6484c1e171f2763c9c038e 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_ROTATION_H
 #define DIALOGBOX_ROTATION_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 
 #include "SMESH_LogicalFilter.hxx"
@@ -61,7 +63,7 @@ class SVTK_Selector;
 // class    : SMESHGUI_RotationDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_RotationDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_RotationDlg : public QDialog
 { 
     Q_OBJECT
 
index 5f2e05fb6000dca218bb480bf0105acc353135ff..bc22d7240ace45d0a20c8037833e7b3041ace369 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef SMESHGUI_SELECTION_HeaderFile
 #define SMESHGUI_SELECTION_HeaderFile
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_Selection.h"
 #include "SALOMEDSClient_definitions.hxx"
 
@@ -37,7 +39,7 @@ class SALOMEDSClient_Study;
 class LightApp_DataOwner;
 class SMESH_Actor;
 
-class SMESHGUI_Selection : public LightApp_Selection
+class SMESHGUI_EXPORT SMESHGUI_Selection : public LightApp_Selection
 {
 public:
   SMESHGUI_Selection();
index bb1a05b6619340ea877b4e2271fc85ea9578035b..ebc16d78f6277a108a073a2f8108735a1a8fb26f 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef SMESHGUI_SelectionOp_H
 #define SMESHGUI_SelectionOp_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <SMESHGUI_Operation.h>
 #include <SMESHGUI_Dialog.h>
 #include <SVTK_Selection.h>
@@ -47,7 +49,7 @@ class SMESH_Actor;
   Description : Base operation for all operations using object selection in viewer or objectbrowser
                 through common widgets created by LightApp_Dialog::createObject
 */
-class SMESHGUI_SelectionOp : public SMESHGUI_Operation
+class SMESHGUI_EXPORT SMESHGUI_SelectionOp : public SMESHGUI_Operation
 { 
   Q_OBJECT
 
index 425a928532ca81408375d89bacef893487fb6f0b..8340eb1346dd900496df27635a3176aa0d1c7bc9 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_SEWING_H
 #define DIALOGBOX_SEWING_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 
 // QT Includes
@@ -56,7 +58,7 @@ class SVTK_Selector;
 // class    : SMESHGUI_SewingDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_SewingDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_SewingDlg : public QDialog
 { 
     Q_OBJECT
 
index 1f1a50c6e63174ba1082f4890693f9de520400ed..09dec6c300549fe2b6fc7c877cdd266687ba1fbc 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef SMESHGUI_ShapeByMeshDlg_H
 #define SMESHGUI_ShapeByMeshDlg_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <qdialog.h>
 
 // IDL Headers
@@ -48,7 +50,7 @@ class SMESHGUI;
  *        by selecting mesh elements
  */
 
-class SMESHGUI_ShapeByMeshDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_ShapeByMeshDlg : public QDialog
 {
   Q_OBJECT
 
index 6a1ddc7d275890585b112ac9f3791dea2cd24b2f..f19a2b9ee4e8eca0a83652e6939c86ec06668b82 100755 (executable)
@@ -27,6 +27,8 @@
 #ifndef SMESHGUI_SingleEditDlg_H
 #define SMESHGUI_SingleEditDlg_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <qdialog.h>
 
 #include <SALOMEconfig.h>
@@ -49,7 +51,7 @@ class LightApp_SelectionMgr;
  *  Description : Base class for dialogs of diagonal inversion and 
  *                union of two neighboring triangles
  */
-class SMESHGUI_SingleEditDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_SingleEditDlg : public QDialog
 { 
   Q_OBJECT
 
index 5cccb1b223fff9357bd06ca35d704e6b71ec9da1..71455f077653126d5e2564dd6d340e2929fc0bd6 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_SMOOTHING_H
 #define DIALOGBOX_SMOOTHING_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 
 #include "SMESH_LogicalFilter.hxx"
@@ -62,7 +64,7 @@ class SVTK_Selector;
 // class    : SMESHGUI_SmoothingDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_SmoothingDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_SmoothingDlg : public QDialog
 { 
     Q_OBJECT
 
index 8655e4dfb2348881215e02f593683bc1273e2fe1..8f7444e7557fbc7400e91f8532a6b7cf601e5784 100644 (file)
 #ifndef  SMESH_SPINBOX_H
 #define  SMESH_SPINBOX_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include <QtxDblSpinBox.h>
 
 //=================================================================================
 // class    : SMESHGUI_SpinBox
 // purpose  : Derivated from QtxDblSpinBox class 
 //=================================================================================
-class SMESHGUI_SpinBox : public QtxDblSpinBox
+class SMESHGUI_EXPORT SMESHGUI_SpinBox : public QtxDblSpinBox
 {
   Q_OBJECT
 
index 28a6dfbc71eb40808fd7433223df8514f4b7a1c7..cd53455d67db31d7542c3f70b81d1fbf686efa57 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef SMESHGUI_STANDARDMESHINFOSDLG_H
 #define SMESHGUI_STANDARDMESHINFOSDLG_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 //#include "SMESH_TypeFilter.hxx"
 #include "SUIT_SelectionFilter.h"
 
@@ -44,7 +46,7 @@ class LightApp_SelectionMgr;
 class SMESHGUI;
 
 
-class SMESHGUI_StandardMeshInfosDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_StandardMeshInfosDlg : public QDialog
 { 
     Q_OBJECT
 
index d8a0805e3da46398c16a278d572ded7f16cc79a3..258bbf3a19f3ae79ea9f5f3a3acb2c700caf43a3 100644 (file)
@@ -26,7 +26,6 @@
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "SMESHGUI_Swig.hxx"
 
 #include "Utils_ORB_INIT.hxx"
@@ -55,6 +54,8 @@ using namespace std;
 #include CORBA_SERVER_HEADER(SMESH_Mesh)
 #include CORBA_SERVER_HEADER(SMESH_Hypothesis)
 
+using namespace std;
+
 static CORBA::ORB_var _orb;
 
 static CORBA::Object_ptr StringToObject (const char* ior)
index e1b2ebcbc5f78fe4dd8493bbeb85f3610b59586c..3fe481828f0e84891ea46682c74f429c75e28f9a 100644 (file)
 #ifndef _SMESHGUI_SWIG_HXX_
 #define _SMESHGUI_SWIG_HXX_
 
+#include "SMESH_SMESHGUI.hxx"
+
 // IDL Headers
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SALOMEDS)
 #include CORBA_SERVER_HEADER(SALOMEDS_Attributes)
 
-class SMESH_Swig
+class SMESHGUI_EXPORT SMESH_Swig
 {
 public:
   SMESH_Swig();
index ba49ca860fd63dca2e54c3d264242d6d164ee647..f5efd5e10e25a04ca47114a06485441b8187c560 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_SYMMETRY_H
 #define DIALOGBOX_SYMMETRY_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 
 #include "SMESH_LogicalFilter.hxx"
@@ -60,7 +62,7 @@ class SVTK_Selector;
 // class    : SMESHGUI_SymmetryDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_SymmetryDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_SymmetryDlg : public QDialog
 { 
     Q_OBJECT
 
index a101c7182a5e2ddf86cc510f1977187d0545c5a9..fbbb19ae43daa05d64b2abc9c7e8963eae503245 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_TRANSLATION_H
 #define DIALOGBOX_TRANSLATION_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "LightApp_SelectionMgr.h"
 
 #include "SMESH_LogicalFilter.hxx"
@@ -59,7 +61,7 @@ class SVTK_Selector;
 // class    : SMESHGUI_TranslationDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_TranslationDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_TranslationDlg : public QDialog
 { 
     Q_OBJECT
 
index d41385430ee75b7fcea946bc92d4adc8b62bbb4d..1e182404c673e17d715ed310ada8787d75a883b2 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef DIALOGBOX_TRANSPARENCYDLG_H
 #define DIALOGBOX_TRANSPARENCYDLG_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 // QT Includes
 #include <qdialog.h>
 
@@ -44,7 +46,7 @@ class SMESHGUI;
 // class    : SMESHGUI_TransparencyDlg
 // purpose  :
 //=================================================================================
-class SMESHGUI_TransparencyDlg : public QDialog
+class SMESHGUI_EXPORT SMESHGUI_TransparencyDlg : public QDialog
 { 
     Q_OBJECT
 
index 83278e4a5018a462ff05cfb44c8ac68f385c0ecd..0ab0529c55e73a1386da2951b130cf186dd961ab 100644 (file)
@@ -20,7 +20,9 @@
 #ifndef SMESHGUI_Utils_HeaderFile
 #define SMESHGUI_Utils_HeaderFile
 
-#include <CORBA.h>
+#include "SMESH_SMESHGUI.hxx"
+
+#include <omniORB4/CORBA.h>
 
 #include "SALOMEDSClient_definitions.hxx"
 #include "SALOME_InteractiveObject.hxx"
@@ -44,21 +46,27 @@ class LightApp_SelectionMgr;
 
 namespace SMESH {
 
+SMESHGUI_EXPORT
   SUIT_Desktop*
   GetDesktop(const CAM_Module* theModule);
 
+SMESHGUI_EXPORT
   LightApp_SelectionMgr*
   GetSelectionMgr(const SalomeApp_Module* theModule);
 
+SMESHGUI_EXPORT
   SalomeApp_Study*
   GetAppStudy(const CAM_Module* theModule);
 
+SMESHGUI_EXPORT
   SUIT_ResourceMgr*
   GetResourceMgr( const SalomeApp_Module* );
   
+SMESHGUI_EXPORT
   _PTR(Study)
   GetCStudy(const SalomeApp_Study* theStudy);
 
+SMESHGUI_EXPORT
   CORBA::Object_var DataOwnerToObject(const LightApp_DataOwnerPtr& theOwner);
 
   template<class TInterface> typename TInterface::_var_type
@@ -71,20 +79,29 @@ namespace SMESH {
     }
 
 
+SMESHGUI_EXPORT
   SUIT_Study* GetActiveStudy();
 
+SMESHGUI_EXPORT
   SUIT_ViewWindow* GetActiveWindow();
 
+SMESHGUI_EXPORT
   _PTR(Study) GetActiveStudyDocument();
 
+SMESHGUI_EXPORT
   _PTR(SObject) FindSObject(CORBA::Object_ptr theObject);
 
+SMESHGUI_EXPORT
   void SetName  (_PTR(SObject) theSObject, const char* theName);
+
+SMESHGUI_EXPORT
   void SetValue (_PTR(SObject) theSObject, const char* theValue);
 
+SMESHGUI_EXPORT
   CORBA::Object_var SObjectToObject (_PTR(SObject) theSObject,
                                     _PTR(Study) theStudy);
 
+SMESHGUI_EXPORT
   CORBA::Object_var SObjectToObject(_PTR(SObject) theSObject);
 
   template<class TInterface> typename TInterface::_var_type
@@ -96,6 +113,7 @@ namespace SMESH {
       return TInterface::_nil();
     }
 
+SMESHGUI_EXPORT
   CORBA::Object_var IObjectToObject(const Handle(SALOME_InteractiveObject)& theIO);
 
   template<class TInterface> typename TInterface::_var_type
@@ -107,6 +125,7 @@ namespace SMESH {
       return TInterface::_nil();
     }
 
+SMESHGUI_EXPORT
   CORBA::Object_var IORToObject(const char* theIOR);
 
   template<class TInterface> typename TInterface::_var_type
@@ -118,10 +137,13 @@ namespace SMESH {
       return TInterface::_nil();
     }
 
+SMESHGUI_EXPORT
   int GetNameOfSelectedIObjects (LightApp_SelectionMgr*, QString& theName);
 
+SMESHGUI_EXPORT
   _PTR(SObject) GetMeshOrSubmesh (_PTR(SObject) theSObject);
 
+SMESHGUI_EXPORT
   void ModifiedMesh (_PTR(SObject) theSObject, bool theIsRight);
 
 //  void UpdateObjBrowser (bool);
index 6b64521f0526b36b0cc7af5af0643070cc7ab043..5c12a857a4e2d66e23b732638c6ea56c69e8b905 100644 (file)
@@ -20,6 +20,8 @@
 #ifndef SMESHGUI_VTKUtils_HeaderFile
 #define SMESHGUI_VTKUtils_HeaderFile
 
+#include "SMESH_SMESHGUI.hxx"
+
 class QString;
 class vtkRenderer;
 class TColStd_IndexedMapOfInteger;
@@ -40,7 +42,7 @@ class SVTK_Selector;
 class LightApp_SelectionMgr;
 class SMESHGUI;
 
-#include <CORBA.h>
+#include <omniORB4/CORBA.h>
 
 #include "SALOMEconfig.h"
 #include CORBA_CLIENT_HEADER(SALOMEDS)
@@ -58,121 +60,162 @@ namespace SMESH{
   //----------------------------------------------------------------------------
   typedef pair<int,string> TKeyOfVisualObj;
   
+SMESHGUI_EXPORT
   TVisualObjPtr GetVisualObj(int theStudyId, 
                             const char* theEntry);
 
   //----------------------------------------------------------------------------
+SMESHGUI_EXPORT
   SVTK_ViewWindow* GetViewWindow(const SalomeApp_Module* theModule);
 
+SMESHGUI_EXPORT
   SUIT_ViewWindow* GetActiveWindow();
 
+SMESHGUI_EXPORT
   SVTK_ViewWindow* FindVtkViewWindow( SUIT_ViewManager*,
                                      SUIT_ViewWindow* );
 
+SMESHGUI_EXPORT
   SVTK_ViewWindow* GetVtkViewWindow( SUIT_ViewWindow* );
 
+SMESHGUI_EXPORT
   SVTK_ViewWindow* GetCurrentVtkView();
 
+SMESHGUI_EXPORT
   void RepaintViewWindow(SVTK_ViewWindow*);
+SMESHGUI_EXPORT
   void RenderViewWindow(SVTK_ViewWindow*);
 
   //----------------------------------------------------------------------------
+SMESHGUI_EXPORT
   SMESH_Actor* FindActorByEntry (SUIT_ViewWindow*, const char* theEntry);
+SMESHGUI_EXPORT
   SMESH_Actor* FindActorByEntry (const char* theEntry);
 
+SMESHGUI_EXPORT
   SMESH_Actor* FindActorByObject (CORBA::Object_ptr theObject);
 
   //----------------------------------------------------------------------------
+SMESHGUI_EXPORT  
   SMESH_Actor* CreateActor (_PTR(Study), const char*, int = false);
+SMESHGUI_EXPORT
   void DisplayActor (SUIT_ViewWindow*, SMESH_Actor* theActor);
+SMESHGUI_EXPORT
   void RemoveActor  (SUIT_ViewWindow*, SMESH_Actor* theActor);
 
   //----------------------------------------------------------------------------
   enum EDisplaing {eDisplayAll, eDisplay, eDisplayOnly, eErase, eEraseAll};
+SMESHGUI_EXPORT
   void UpdateView (SUIT_ViewWindow*, 
                   EDisplaing theAction, 
                   const char* theEntry = "");
+SMESHGUI_EXPORT
   void UpdateView (EDisplaing theAction, 
                   const char* theEntry = "");
 
+SMESHGUI_EXPORT
   void UpdateView();
 
+SMESHGUI_EXPORT
   void Update(const Handle(SALOME_InteractiveObject)& theIO,
              bool theDisplay);
 
 
   //----------------------------------------------------------------------------
+SMESHGUI_EXPORT
   void FitAll();
 
+SMESHGUI_EXPORT
   void RepaintCurrentView();
 
+SMESHGUI_EXPORT
   vtkRenderer* GetCurrentRenderer();
 
 
   //----------------------------------------------------------------------------
+SMESHGUI_EXPORT
   void SetPointRepresentation(bool theIsVisible);
 
+SMESHGUI_EXPORT
   void SetPickable(SMESH_Actor* theActor = NULL);
 
+SMESHGUI_EXPORT
   void UpdateSelectionProp( SMESHGUI* );
 
 
   //----------------------------------------------------------------------------
+SMESHGUI_EXPORT
   SVTK_Selector* 
     GetSelector(SUIT_ViewWindow* = GetActiveWindow());
 
+SMESHGUI_EXPORT
   void SetFilter (const Handle(VTKViewer_Filter)& theFilter,
                  SVTK_Selector* theSelector = GetSelector());
 
+SMESHGUI_EXPORT
   Handle(VTKViewer_Filter) 
     GetFilter (int theId, SVTK_Selector* theSelector = GetSelector());
 
+SMESHGUI_EXPORT
   bool IsFilterPresent (int theId, 
                        SVTK_Selector* theSelector = GetSelector());
 
+SMESHGUI_EXPORT
   void RemoveFilter (int theId, 
                     SVTK_Selector* theSelector = GetSelector());
 
+SMESHGUI_EXPORT
   void RemoveFilters (SVTK_Selector* theSelector = GetSelector());
 
+SMESHGUI_EXPORT
   bool IsValid (SALOME_Actor* theActor, int theCellId,
                SVTK_Selector* theSelector = GetSelector());
 
   //----------------------------------------------------------------------------
+SMESHGUI_EXPORT
   int GetNameOfSelectedNodes(SVTK_Selector* theSelector, 
                             const Handle(SALOME_InteractiveObject)& theIO, 
                             QString& theName);
   
+SMESHGUI_EXPORT
   int GetNameOfSelectedElements(SVTK_Selector* theSelector, 
                                const Handle(SALOME_InteractiveObject)& theIO, 
                                QString& theName);
   
+SMESHGUI_EXPORT
   int GetEdgeNodes(SVTK_Selector* theSelector, 
                   const TVisualObjPtr& theVisualObj,
                   int& theId1, 
                   int& theId2);
 
   //----------------------------------------------------------------------------
+SMESHGUI_EXPORT
   int GetNameOfSelectedNodes (LightApp_SelectionMgr*, 
                              const Handle(SALOME_InteractiveObject)& theIO, 
                              QString& theName);
 
+SMESHGUI_EXPORT
   int GetNameOfSelectedNodes (LightApp_SelectionMgr*, 
                              QString& aName);
 
+SMESHGUI_EXPORT
   int GetNameOfSelectedElements (LightApp_SelectionMgr*, 
                                 const Handle(SALOME_InteractiveObject)& theIO, 
                                 QString& theName);
 
+SMESHGUI_EXPORT
   int GetNameOfSelectedElements (LightApp_SelectionMgr*, 
                                 QString& aName);
 
+SMESHGUI_EXPORT
   int GetSelected (LightApp_SelectionMgr*, 
                   TColStd_IndexedMapOfInteger& theMap, 
                   const bool theIsElement = true );
 
+SMESHGUI_EXPORT
   int GetEdgeNodes (LightApp_SelectionMgr*, int& theId1, int& theId2);
 
+SMESHGUI_EXPORT
   void SetControlsPrecision (const long theVal);
 };
 
index 76e13851121aaad8cfe30da10b0e2904c25ed5a2..d6d875e75a29cfaaaa449b57c1e07bb52a6fa58c 100644 (file)
@@ -91,6 +91,15 @@ bool SMESHGUI_XmlHandler::startElement (const QString&, const QString&,
       myServerLib  = atts.value("server-lib");
       myClientLib  = atts.value("gui-lib");
 
+#ifdef WNT
+      myServerLib += ".dll";
+      myClientLib += ".dll";
+#else
+      myServerLib = "lib" + myServerLib + ".so";
+      myClientLib = "lib" + myClientLib + ".so";
+#endif
+
+
       QString aResName = atts.value("resources");
       if (aResName != "")
       {
index ecf738528fe8b96ebadb57a6c66fb1d631f10bab..c91f6197ccb54cadd0058d5c7f792d8c26170c06 100644 (file)
 #ifndef SMESHGUI_XmlHandler_HeaderFile
 #define SMESHGUI_XmlHandler_HeaderFile
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "SMESHGUI_Hypotheses.h"
 
 #include <qxml.h>
 #include <map>
 
-class SMESHGUI_XmlHandler : public QXmlDefaultHandler
+class SMESHGUI_EXPORT SMESHGUI_XmlHandler : public QXmlDefaultHandler
 {
  public:
   SMESHGUI_XmlHandler();
diff --git a/src/SMESHGUI/SMESH_SMESHGUI.hxx b/src/SMESHGUI/SMESH_SMESHGUI.hxx
new file mode 100755 (executable)
index 0000000..29a4e6e
--- /dev/null
@@ -0,0 +1,39 @@
+//  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_SMESHGUI.hxx
+//  Author : Alexander A. BORODIN
+//  Module : SMESH
+
+#ifndef _SMESH_SMESHGUI_HXX_
+#define _SMESH_SMESHGUI_HXX_
+
+#ifdef WNT
+ #if defined SMESHGUI_EXPORTS
+  #define SMESHGUI_EXPORT __declspec( dllexport )
+ #else
+  #define SMESHGUI_EXPORT __declspec( dllimport )
+ #endif
+#else
+ #define SMESHGUI_EXPORT
+#endif
+
+#endif
index b0c73c29efc10d155f7036695ab4245c5ab257d6..c6134226fbbd2deb6f8f6c098a5fef8be2aa6d83 100644 (file)
@@ -5,22 +5,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"PO-Revision-Date: 2006-01-13 13:50+0300\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-# This is a Qt message file in .po format.  Each msgid starts with
-# a scope.  This scope should *NOT* be translated - eg. "Foo::Bar"
-# would be translated to "Pub", not "Foo::Pub".
-msgid ""
-msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
-"POT-Creation-Date: 2002-05-28 10:46:48 AM CEST\n"
-"PO-Revision-Date: 2004-10-20 17:25+0400\n"
+"POT-Creation-Date: 2002-05-28 10:57:43 AM CEST\n"
+"PO-Revision-Date: 2005-06-07 10:51+0400\n"
 "Last-Translator: FULLNAME <EMAIL@ADDRESS>\n"
 "Content-Type: text/plain; charset=iso-8859-1\n"
 
index ea68b0445f8dc0f8c28736f44e8a14f8012868e7..2c63618152cde1d4d7104ccc5fbec8fa90098ca4 100644 (file)
 //  Module : SMESH
 //  $Header: 
 
-#ifndef _SMESH_SMESH_HXX_
-#define _SMESH_SMESH_HXX_
+#ifndef _SMESH_I_SMESH_HXX_
+#define _SMESH_I_SMESH_HXX_
+
+#ifdef WNT
+ #if defined SMESH_I_EXPORTS
+  #define SMESH_I_EXPORT __declspec( dllexport )
+ #else
+  #define SMESH_I_EXPORT __declspec( dllimport )
+ #endif
+#else
+ #define SMESH_I_EXPORT
+#endif
 
 // Tags definition
 enum {
index 06f621dc9bfd1f58bfd7f7a980622a77a75badb0..aaec199ec4a5f1d3a808143a93e7f98ca1b5b4fb 100644 (file)
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "SMESH_1D_Algo_i.hxx"
 
 #include "utilities.h"
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  SMESH_1D_Algo_i::SMESH_1D_Algo_i
index 1112a4019facf6d1e578137b5517226ee09ef809..5d085c92588715094299d9fbea8a461684e5e5d1 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef _SMESH_1D_ALGO_I_HXX_
 #define _SMESH_1D_ALGO_I_HXX_
 
+#include "SMESH.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_Hypothesis)
 
@@ -37,7 +39,7 @@
 // ======================================================
 // Generic 1D algorithm
 // ======================================================
-class SMESH_1D_Algo_i:
+class SMESH_I_EXPORT SMESH_1D_Algo_i:
   public virtual POA_SMESH::SMESH_1D_Algo,
   public virtual SMESH_Algo_i
 {
index 00744eea49a7f4d1a649eec02694f3f39d379194..f6e42c029a2dd19fbe07c2326a310ecc778a2c1b 100644 (file)
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "SMESH_2D_Algo_i.hxx"
 
 #include "utilities.h"
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  SMESH_2D_Algo_i::SMESH_2D_Algo_i
index 58664c9cfbc4a4584a5408f4d15c4029836310c2..be4ebdf7a81dfea7775ccf0d2e488433ac6d9259 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef _SMESH_2D_ALGO_I_HXX_
 #define _SMESH_2D_ALGO_I_HXX_
 
+#include "SMESH.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_Hypothesis)
 
@@ -37,7 +39,7 @@
 // ======================================================
 // Generic 2D algorithm
 // ======================================================
-class SMESH_2D_Algo_i:
+class SMESH_I_EXPORT SMESH_2D_Algo_i:
   public virtual POA_SMESH::SMESH_2D_Algo,
   public virtual SMESH_Algo_i
 {
index 6d8150db80a4ca98f62420780a0af5d6d1f45f1a..d1a64b6c73ed20930337d438d496d5afacb47e11 100644 (file)
@@ -4,11 +4,16 @@
 
 #include "SMESH_2smeshpy.hxx"
 
-#include "SMESH_Gen_i.hxx"
 #include "utilities.h"
 #include "SMESH_PythonDump.hxx"
 #include "Resource_DataMapOfAsciiStringAsciiString.hxx"
 
+#include "SMESH_Gen_i.hxx"
+/* SALOME headers that include CORBA headers that include windows.h 
+ * that defines GetObject symbol as GetObjectA should stand before SALOME headers
+ * that declare methods named GetObject - to apply the same rules of GetObject renaming
+ * and thus to avoid mess with GetObject symbol on Windows */
+
 IMPLEMENT_STANDARD_HANDLE (_pyObject          ,Standard_Transient);
 IMPLEMENT_STANDARD_HANDLE (_pyCommand         ,Standard_Transient);
 IMPLEMENT_STANDARD_HANDLE (_pyGen             ,_pyObject);
index 14276fe12ebffda055683e39a120529fef515760..875557d88f1b6229e7e8c2fcbf543f7c83915db5 100644 (file)
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "SMESH_3D_Algo_i.hxx"
 
 #include "utilities.h"
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  SMESH_3D_Algo_i::SMESH_3D_Algo_i
index 8589e166ac3fe72fb8b02dd64928c26a0a6a0550..41cf9c3b0c22f3dcc8e40497388c18cc2c1c69c8 100644 (file)
@@ -37,7 +37,7 @@
 // ======================================================
 // Generic 3D algorithm
 // ======================================================
-class SMESH_3D_Algo_i:
+class SMESH_I_EXPORT SMESH_3D_Algo_i:
   public virtual POA_SMESH::SMESH_3D_Algo,
   public virtual SMESH_Algo_i
 {
index a57df7bef82233ad88caf5898f48dfd2992271a3..71b4f961cb46e0fa7a5414a8b32d0a556096c435 100644 (file)
@@ -26,7 +26,6 @@
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "SMESH_Algo_i.hxx"
 #include "SMESH_Algo.hxx"
 
@@ -35,6 +34,8 @@ using namespace std;
 #include <string>
 #include <vector>
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  SMESH_Algo_i::SMESH_Algo_i
index 21630ec8adfb3c1961c98416d2d50564d9f7a150..99719e9c2503027aaaa2a2cb2f2964f813404775 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef _SMESH_ALGO_I_HXX_
 #define _SMESH_ALGO_I_HXX_
 
+#include "SMESH.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_Hypothesis)
 
@@ -37,7 +39,7 @@
 // ======================================================
 // Generic algorithm
 // ======================================================
-class SMESH_Algo_i:
+class SMESH_I_EXPORT SMESH_Algo_i:
   public virtual POA_SMESH::SMESH_Algo,
   public virtual SMESH_Hypothesis_i
 {
index a967580492784e322c2a4bc6cb3a349f877fabab..8a7e6b5b938730dd73a6bb66cc26600d58a5219b 100644 (file)
@@ -28,6 +28,8 @@
 #ifndef _SMESH_FILTER_I_HXX_
 #define _SMESH_FILTER_I_HXX_
 
+#include "SMESH.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_Filter)
 
@@ -50,7 +52,7 @@ namespace SMESH
       Description : Predicate for verifying whether entiy belong to
       specified geometrical support
     */
-    class BelongToGeom: public virtual Predicate
+    class SMESH_I_EXPORT BelongToGeom: public virtual Predicate
     {
     public:
       BelongToGeom();
@@ -78,7 +80,7 @@ namespace SMESH
       Description : Predicate for verifying whether entiy lying or partially lying on
       specified geometrical support
     */
-    class LyingOnGeom: public virtual Predicate
+    class SMESH_I_EXPORT LyingOnGeom: public virtual Predicate
     {
     public:
       LyingOnGeom();
@@ -115,7 +117,7 @@ namespace SMESH
     Class       : Functor_i
     Description : An abstact class for all functors 
   */
-  class Functor_i: public virtual POA_SMESH::Functor,
+  class SMESH_I_EXPORT Functor_i: public virtual POA_SMESH::Functor,
                   public virtual SALOME::GenericObj_i
   {
   public:
@@ -134,7 +136,7 @@ namespace SMESH
     Class       : NumericalFunctor_i
     Description : Base class for numerical functors 
   */
-  class NumericalFunctor_i: public virtual POA_SMESH::NumericalFunctor,
+  class SMESH_I_EXPORT NumericalFunctor_i: public virtual POA_SMESH::NumericalFunctor,
                            public virtual Functor_i
   {
   public:
@@ -152,7 +154,7 @@ namespace SMESH
     Class       : SMESH_MinimumAngleFunct
     Description : Functor for calculation of minimum angle
   */
-  class MinimumAngle_i: public virtual POA_SMESH::MinimumAngle,
+  class SMESH_I_EXPORT MinimumAngle_i: public virtual POA_SMESH::MinimumAngle,
                        public virtual NumericalFunctor_i
   {
   public:
@@ -165,7 +167,7 @@ namespace SMESH
     Class       : AspectRatio_i
     Description : Functor for calculating aspect ratio
   */
-  class AspectRatio_i: public virtual POA_SMESH::AspectRatio,
+  class SMESH_I_EXPORT AspectRatio_i: public virtual POA_SMESH::AspectRatio,
                       public virtual NumericalFunctor_i
   {
   public:
@@ -178,7 +180,7 @@ namespace SMESH
     Class       : AspectRatio3D_i
     Description : Functor for calculating aspect ratio for 3D
   */
-  class AspectRatio3D_i: public virtual POA_SMESH::AspectRatio3D,
+  class SMESH_I_EXPORT AspectRatio3D_i: public virtual POA_SMESH::AspectRatio3D,
                         public virtual NumericalFunctor_i
   {
   public:
@@ -191,7 +193,7 @@ namespace SMESH
     Class       : Warping_i
     Description : Functor for calculating warping
   */
-  class Warping_i: public virtual POA_SMESH::Warping,
+  class SMESH_I_EXPORT Warping_i: public virtual POA_SMESH::Warping,
                   public virtual NumericalFunctor_i
   {
   public:
@@ -204,7 +206,7 @@ namespace SMESH
     Class       : Taper_i
     Description : Functor for calculating taper
   */
-  class Taper_i: public virtual POA_SMESH::Taper,
+  class SMESH_I_EXPORT Taper_i: public virtual POA_SMESH::Taper,
                 public virtual NumericalFunctor_i
   {
   public:
@@ -217,7 +219,7 @@ namespace SMESH
     Class       : Skew_i
     Description : Functor for calculating skew in degrees
   */
-  class Skew_i: public virtual POA_SMESH::Skew,
+  class SMESH_I_EXPORT Skew_i: public virtual POA_SMESH::Skew,
                public virtual NumericalFunctor_i
   {
   public:
@@ -230,7 +232,7 @@ namespace SMESH
     Class       : Area_i
     Description : Functor for calculating area
   */
-  class Area_i: public virtual POA_SMESH::Area,
+  class SMESH_I_EXPORT Area_i: public virtual POA_SMESH::Area,
                public virtual NumericalFunctor_i
   {
   public:
@@ -243,7 +245,7 @@ namespace SMESH
     Class       : Volume3D_i
     Description : Functor for calculating volume of 3D element
   */
-  class Volume3D_i: public virtual POA_SMESH::Volume3D,
+  class SMESH_I_EXPORT Volume3D_i: public virtual POA_SMESH::Volume3D,
                     public virtual NumericalFunctor_i
   {
   public:
@@ -256,7 +258,7 @@ namespace SMESH
     Class       : Length_i
     Description : Functor for calculating length of edge
   */
-  class Length_i: public virtual POA_SMESH::Length,
+  class SMESH_I_EXPORT Length_i: public virtual POA_SMESH::Length,
                  public virtual NumericalFunctor_i
   {
   public:
@@ -268,7 +270,7 @@ namespace SMESH
     Class       : Length2D_i
     Description : Functor for calculating length of edge
   */
-  class Length2D_i: public virtual POA_SMESH::Length2D,
+  class SMESH_I_EXPORT Length2D_i: public virtual POA_SMESH::Length2D,
                    public virtual NumericalFunctor_i
   {
   public:
@@ -285,7 +287,7 @@ namespace SMESH
     Class       : MultiConnection_i
     Description : Functor for calculating number of faces conneted to the edge
   */
-  class MultiConnection_i: public virtual POA_SMESH::MultiConnection,
+  class SMESH_I_EXPORT MultiConnection_i: public virtual POA_SMESH::MultiConnection,
                           public virtual NumericalFunctor_i
   {
   public:
@@ -297,7 +299,7 @@ namespace SMESH
     Class       : MultiConnection2D_i
     Description : Functor for calculating number of faces conneted to the edge
   */
-  class MultiConnection2D_i: public virtual POA_SMESH::MultiConnection2D,
+  class SMESH_I_EXPORT MultiConnection2D_i: public virtual POA_SMESH::MultiConnection2D,
                             public virtual NumericalFunctor_i
   {
   public:
@@ -317,7 +319,7 @@ namespace SMESH
     Class       : Predicate_i
     Description : Base class for all predicates
   */
-  class Predicate_i: public virtual POA_SMESH::Predicate,
+  class SMESH_I_EXPORT Predicate_i: public virtual POA_SMESH::Predicate,
                     public virtual Functor_i
   {
   public:
@@ -334,7 +336,7 @@ namespace SMESH
     Description : Verify whether a mesh volume is incorrectly oriented from
     the point of view of MED convention
   */
-  class BadOrientedVolume_i: public virtual POA_SMESH::BadOrientedVolume,
+  class SMESH_I_EXPORT BadOrientedVolume_i: public virtual POA_SMESH::BadOrientedVolume,
                             public virtual Predicate_i
   {
   public:
@@ -346,7 +348,7 @@ namespace SMESH
     Class       : BelongToGeom_i
     Description : Predicate for selection on geometrical support
   */
-  class BelongToGeom_i: public virtual POA_SMESH::BelongToGeom,
+  class SMESH_I_EXPORT BelongToGeom_i: public virtual POA_SMESH::BelongToGeom,
                        public virtual Predicate_i
   {
   public:
@@ -374,7 +376,7 @@ namespace SMESH
     Class       : BelongToSurface_i
     Description : Verify whether mesh element lie in pointed Geom planar object
   */
-  class BelongToSurface_i: public virtual POA_SMESH::BelongToSurface,
+  class SMESH_I_EXPORT BelongToSurface_i: public virtual POA_SMESH::BelongToSurface,
                           public virtual Predicate_i
   {
   public:
@@ -402,7 +404,7 @@ namespace SMESH
     Class       : BelongToPlane_i
     Description : Verify whether mesh element lie in pointed Geom planar object
   */
-  class BelongToPlane_i: public virtual POA_SMESH::BelongToPlane,
+  class SMESH_I_EXPORT BelongToPlane_i: public virtual POA_SMESH::BelongToPlane,
                         public virtual BelongToSurface_i
   {
   public:
@@ -415,7 +417,7 @@ namespace SMESH
     Class       : BelongToCylinder_i
     Description : Verify whether mesh element lie in pointed Geom cylindrical object
   */
-  class BelongToCylinder_i: public virtual POA_SMESH::BelongToCylinder,
+  class SMESH_I_EXPORT BelongToCylinder_i: public virtual POA_SMESH::BelongToCylinder,
                            public virtual BelongToSurface_i
   {
   public:
@@ -428,7 +430,7 @@ namespace SMESH
     Class       : LyingOnGeom_i
     Description : Predicate for selection on geometrical support(lying or partially lying)
   */
-  class LyingOnGeom_i: public virtual POA_SMESH::LyingOnGeom,
+  class SMESH_I_EXPORT LyingOnGeom_i: public virtual POA_SMESH::LyingOnGeom,
                       public virtual Predicate_i
   {
   public:
@@ -456,7 +458,7 @@ namespace SMESH
     Class       : FreeBorders_i
     Description : Predicate for free borders
   */
-  class FreeBorders_i: public virtual POA_SMESH::FreeBorders,
+  class SMESH_I_EXPORT FreeBorders_i: public virtual POA_SMESH::FreeBorders,
                       public virtual Predicate_i
   {
   public:
@@ -469,7 +471,7 @@ namespace SMESH
     Class       : FreeEdges_i
     Description : Predicate for free edges
   */
-  class FreeEdges_i: public virtual POA_SMESH::FreeEdges,
+  class SMESH_I_EXPORT FreeEdges_i: public virtual POA_SMESH::FreeEdges,
                     public virtual Predicate_i
   {
   public:
@@ -486,7 +488,7 @@ namespace SMESH
     Class       : RangeOfIds_i
     Description : Predicate for Range of Ids
   */
-  class RangeOfIds_i: public virtual POA_SMESH::RangeOfIds,
+  class SMESH_I_EXPORT RangeOfIds_i: public virtual POA_SMESH::RangeOfIds,
                      public virtual Predicate_i
   {
   public:
@@ -506,7 +508,7 @@ namespace SMESH
     Class       : Comparator_i
     Description : Base class for comparators
   */
-  class Comparator_i: public virtual POA_SMESH::Comparator,
+  class SMESH_I_EXPORT Comparator_i: public virtual POA_SMESH::Comparator,
                      public virtual Predicate_i
   {
   public:
@@ -531,7 +533,7 @@ namespace SMESH
     Class       : LessThan_i
     Description : Comparator "<"
   */
-  class LessThan_i: public virtual POA_SMESH::LessThan,
+  class SMESH_I_EXPORT LessThan_i: public virtual POA_SMESH::LessThan,
                    public virtual Comparator_i
   {
   public:
@@ -544,7 +546,7 @@ namespace SMESH
     Class       : MoreThan_i
     Description : Comparator ">"
   */
-  class MoreThan_i: public virtual POA_SMESH::MoreThan,
+  class SMESH_I_EXPORT MoreThan_i: public virtual POA_SMESH::MoreThan,
                    public virtual Comparator_i
   {
   public:
@@ -557,7 +559,7 @@ namespace SMESH
     Class       : EqualTo_i
     Description : Comparator "="
   */
-  class EqualTo_i: public virtual POA_SMESH::EqualTo,
+  class SMESH_I_EXPORT EqualTo_i: public virtual POA_SMESH::EqualTo,
                   public virtual Comparator_i
   {
   public:
@@ -575,7 +577,7 @@ namespace SMESH
     Class       : LogicalNOT_i
     Description : Logical NOT predicate
   */
-  class LogicalNOT_i: public virtual POA_SMESH::LogicalNOT,
+  class SMESH_I_EXPORT LogicalNOT_i: public virtual POA_SMESH::LogicalNOT,
                      public virtual Predicate_i
   {
   public:
@@ -596,7 +598,7 @@ namespace SMESH
     Class       : LogicalBinary_i
     Description : Base class for binary logical predicate
   */
-  class LogicalBinary_i: public virtual POA_SMESH::LogicalBinary,
+  class SMESH_I_EXPORT LogicalBinary_i: public virtual POA_SMESH::LogicalBinary,
                         public virtual Predicate_i
   {
   public:
@@ -622,7 +624,7 @@ namespace SMESH
     Class       : LogicalAND_i
     Description : Logical AND
   */
-  class LogicalAND_i: public virtual POA_SMESH::LogicalAND,
+  class SMESH_I_EXPORT LogicalAND_i: public virtual POA_SMESH::LogicalAND,
                      public virtual LogicalBinary_i
   {
   public:
@@ -635,7 +637,7 @@ namespace SMESH
     Class       : LogicalOR_i
     Description : Logical OR
   */
-  class LogicalOR_i: public virtual POA_SMESH::LogicalOR,
+  class SMESH_I_EXPORT LogicalOR_i: public virtual POA_SMESH::LogicalOR,
                     public virtual LogicalBinary_i
   {
   public:
@@ -647,7 +649,7 @@ namespace SMESH
   /*
     FILTER
   */
-  class Filter_i: public virtual POA_SMESH::Filter,
+  class SMESH_I_EXPORT Filter_i: public virtual POA_SMESH::Filter,
                  public virtual SALOME::GenericObj_i
   {
   public:
@@ -709,7 +711,7 @@ namespace SMESH
   /*
     FILTER LIBRARY
   */
-  class FilterLibrary_i: public virtual POA_SMESH::FilterLibrary,
+  class SMESH_I_EXPORT FilterLibrary_i: public virtual POA_SMESH::FilterLibrary,
                         public virtual SALOME::GenericObj_i
   {
   public:
@@ -747,7 +749,7 @@ namespace SMESH
     FILTER MANAGER
   */
   
-  class FilterManager_i: public virtual POA_SMESH::FilterManager,
+  class SMESH_I_EXPORT FilterManager_i: public virtual POA_SMESH::FilterManager,
                         public virtual SALOME::GenericObj_i
   {
   public:
index 79f87e11617f8195f42c6ef7d54559e7c9c859b9..96f436a2b07c837987357685141869939b19fdf3 100644 (file)
 #include "utilities.h"
 #include <fstream>
 #include <stdio.h>
-#include <dlfcn.h>
+
+#ifdef WNT
+ #include <windows.h>
+#else
+ #include <dlfcn.h>
+#endif
+
+#ifdef WNT
+ #define LibHandle HMODULE
+ #define LoadLib( name ) LoadLibrary( name )
+ #define GetProc GetProcAddress
+ #define UnLoadLib( handle ) FreeLibrary( handle );
+#else
+ #define LibHandle void*
+ #define LoadLib( name ) dlopen( name, RTLD_LAZY )
+ #define GetProc dlsym
+ #define UnLoadLib( handle ) dlclose( handle );
+#endif
 
 #include <HDFOI.hxx>
 
@@ -304,23 +321,27 @@ SMESH::SMESH_Hypothesis_ptr SMESH_Gen_i::createHypothesis(const char* theHypName
     {
       // load plugin library
       if(MYDEBUG) MESSAGE("Loading server meshers plugin library ...");
-      void* libHandle = dlopen (theLibName, RTLD_LAZY);
+      LibHandle libHandle = LoadLib( theLibName );
       if (!libHandle)
       {
         // report any error, if occured
+#ifndef WNT
         const char* anError = dlerror();
         throw(SALOME_Exception(anError));
+#else
+        throw(SALOME_Exception(LOCALIZED( "Can't load server meshers plugin library" )));
+#endif
       }
 
       // get method, returning hypothesis creator
       if(MYDEBUG) MESSAGE("Find GetHypothesisCreator() method ...");
       typedef GenericHypothesisCreator_i* (*GetHypothesisCreator)(const char* theHypName);
       GetHypothesisCreator procHandle =
-        (GetHypothesisCreator)dlsym( libHandle, "GetHypothesisCreator" );
+        (GetHypothesisCreator)GetProc( libHandle, "GetHypothesisCreator" );
       if (!procHandle)
       {
         throw(SALOME_Exception(LOCALIZED("bad hypothesis plugin library")));
-        dlclose(libHandle);
+        UnLoadLib(libHandle);
       }
 
       // get hypothesis creator
@@ -2807,7 +2828,7 @@ int SMESH_Gen_i::RegisterObject(CORBA::Object_ptr theObject)
 //=============================================================================
 
 extern "C"
-{
+{ SMESH_I_EXPORT
   PortableServer::ObjectId* SMESHEngine_factory( CORBA::ORB_ptr            orb,
                                                 PortableServer::POA_ptr   poa, 
                                                 PortableServer::ObjectId* contId,
index f1cce14532e39807622b9cc37fa4ab113f6b83e6..a1ac46b7889267b965de3c6ee3dd20abf413580a 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef _SMESH_GEN_I_HXX_
 #define _SMESH_GEN_I_HXX_
 
+#include "SMESH.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_Gen)
 #include CORBA_SERVER_HEADER(SMESH_Mesh)
@@ -58,7 +60,7 @@ class SALOME_LifeCycleCORBA;
 // ===========================================================
 // Study context - stores study-connected objects references
 // ==========================================================
-class StudyContext
+class SMESH_I_EXPORT StudyContext
 {
 public:
   // constructor
@@ -122,7 +124,7 @@ private:
 // ===========================================================
 // SMESH module's engine
 // ==========================================================
-class SMESH_Gen_i:
+class SMESH_I_EXPORT SMESH_Gen_i:
   public virtual POA_SMESH::SMESH_Gen,
   public virtual Engines_Component_i 
 {
index e9801b258b9eea32e898ff871c100ae7f3621b92..5ecdc7d433e483e6f3d108ce4b46b469af96bb44 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef SMESH_Group_i_HeaderFile
 #define SMESH_Group_i_HeaderFile
 
+#include "SMESH.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_Group)
 #include CORBA_SERVER_HEADER(SMESH_Mesh)
@@ -43,7 +45,7 @@ class SMESHDS_GroupBase;
 // ===========
 // Group Base
 // ===========
-class SMESH_GroupBase_i:
+class SMESH_I_EXPORT SMESH_GroupBase_i:
   public virtual POA_SMESH::SMESH_GroupBase,
   public virtual SALOME::GenericObj_i
 {
@@ -82,7 +84,7 @@ private:
 // Group
 // ======
 
-class SMESH_Group_i:
+class SMESH_I_EXPORT SMESH_Group_i:
   public virtual POA_SMESH::SMESH_Group,
   public SMESH_GroupBase_i
 {
@@ -102,7 +104,7 @@ class SMESH_Group_i:
 // Group linked to geometry
 // =========================
 
-class SMESH_GroupOnGeom_i:
+class SMESH_I_EXPORT SMESH_GroupOnGeom_i:
   public virtual POA_SMESH::SMESH_GroupOnGeom,
   public SMESH_GroupBase_i
 {
index d5cdce9fbc609496ddb130f93bfb02d8e1de9e51..707023af085983ad6aa04ba30e7eae3b2b0555a0 100644 (file)
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include <iostream>
 #include <sstream>
 #include "SMESH_Hypothesis_i.hxx"
 #include "utilities.h"
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  SMESH_Hypothesis_i::SMESH_Hypothesis_i
index df89d82c818e9464c60602120bedb374815fff63..8bf6beaa1250065e21b8ed1ab4bd634e8f12c2ef 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef _SMESH_HYPOTHESIS_I_HXX_
 #define _SMESH_HYPOTHESIS_I_HXX_
 
+#include "SMESH.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_Hypothesis)
 
@@ -40,7 +42,7 @@
 // ======================================================
 // Generic hypothesis
 // ======================================================
-class SMESH_Hypothesis_i:
+class SMESH_I_EXPORT SMESH_Hypothesis_i:
   public virtual POA_SMESH::SMESH_Hypothesis,
   public virtual SALOME::GenericObj_i
 {
@@ -85,7 +87,7 @@ protected:
 // ======================================================
 // Generic hypothesis creator
 // ======================================================
-class GenericHypothesisCreator_i
+class SMESH_I_EXPORT GenericHypothesisCreator_i
 {
 public:
   // Create a hypothesis
index 6e25089626942f3e9e3eb96e945f75fbd493ecdd..1dfe803ef238615d2c55677ed3326b20d0f978a1 100644 (file)
 //  File   : SMESH_MEDFamily_i.cxx
 //  Module : SMESH
 
-using namespace std;
 #include "SMESH_MEDFamily_i.hxx"
 #include "utilities.h"
 #include "Utils_CorbaException.hxx"
 
+using namespace std;
+
 //=============================================================================
 /*!
  * Default constructor
index eeeef51ee7c00f2ecd6f31e9de2467ad1aca817c..d5b70f6f2e8073253660e88345c06c6e6d7e7e95 100644 (file)
 #ifndef SMESH_MED_FAMILY_I_HXX_
 #define SMESH_MED_FAMILY_I_HXX_
 
+#include "SMESH.hxx"
+
 #include "SMESH_MEDSupport_i.hxx"
 
 #include<string>
 
-class SMESH_MEDFamily_i:
+class SMESH_I_EXPORT SMESH_MEDFamily_i:
   public virtual POA_SALOME_MED::FAMILY,
   public virtual SMESH_MEDSupport_i
 {
index 3f1c017d444860ed4f43dd519368cb711a4fba28..221fc13c325d89ecaed9fe4fe6e94327c24ff8b5 100644 (file)
@@ -1137,9 +1137,15 @@ void SMESH_MEDMesh_i::createFamilies() throw(SALOME::SALOME_Exception)
                        SMESH_MEDFamily_i *famservant =
                                new SMESH_MEDFamily_i(famIdent, submesh_i,
                                famName, famDes, SALOME_MED::MED_NODE);
-                       SALOME_MED::FAMILY_ptr famille =
-                               SALOME_MED::FAMILY::_narrow(famservant->
-                               POA_SALOME_MED::FAMILY::_this());
+#ifdef WNT
+      SALOME_MED::FAMILY_ptr famille = SALOME_MED::FAMILY::_nil();
+      POA_SALOME_MED::FAMILY* servantbase = dynamic_cast<POA_SALOME_MED::FAMILY*>(famservant);
+      if ( servantbase )
+        famille = SALOME_MED::FAMILY::_narrow( servantbase->_this() );
+#else 
+               SALOME_MED::FAMILY_ptr famille = 
+        SALOME_MED::FAMILY::_narrow( famservant->POA_SALOME_MED::FAMILY::_this() );
+#endif
                        _families.push_back(famille);
                }
        }
index 3b0fedec9c9c338bbe8ce1e85893e5061603d405..0f154e8d6dbb29002104664918bec3baa3658018 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef _MED_SMESH_MESH_I_HXX_
 #define _MED_SMESH_MESH_I_HXX_
 
+#include "SMESH.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(MED)
 #include <string>
@@ -44,7 +46,7 @@
 
 class SMESH_Mesh_i;
 
-class SMESH_MEDMesh_i:
+class SMESH_I_EXPORT SMESH_MEDMesh_i:
        public virtual POA_SALOME_MED::MESH, public virtual SALOME::GenericObj_i
 {
   public: private: protected:
index 7b5289ebb879212e6acc7a12e24b70b7bcb84f7c..b66601bbc0c40095f44823b89764abbe776b4cac 100644 (file)
@@ -24,7 +24,6 @@
 //  File   : SMESH_MEDSupport_i.cxx
 //  Module : SMESH
 
-using namespace std;
 #include "SMESH_MEDSupport_i.hxx"
 #include "utilities.h"
 #include "Utils_CorbaException.hxx"
@@ -37,6 +36,8 @@ using namespace std;
 #include "SMESH_Mesh_i.hxx"
 #include "SMESH_subMesh_i.hxx"
 
+using namespace std;
+
 
 //=============================================================================
 /*!
index c888661b6e49ba0e2e204006b2dfadd5fba36185..0eb3949abfaf8d61e69c293ffe09d000161d5d2d 100644 (file)
@@ -27,6 +27,8 @@
 #ifndef _MED_SMESH_MEDSUPPORT_I_HXX_
 #define _MED_SMESH_MEDSUPPORT_I_HXX_
 
+#include "SMESH.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(MED)
 #include <string>
@@ -40,7 +42,7 @@
 #include "SALOME_GenericObj_i.hh"
 class SMESH_subMesh_i;
 
-class SMESH_MEDSupport_i:
+class SMESH_I_EXPORT SMESH_MEDSupport_i:
        public virtual POA_SALOME_MED::SUPPORT, public virtual SALOME::GenericObj_i
 {
   public:
index 9aa35ea1e2ce8320a14051225d9f6ed4260245a6..b9ab3cd4836004cd1557c8faec029aee905087ea 100644 (file)
@@ -1370,7 +1370,7 @@ void SMESH_MeshEditor_i::FindCoincidentNodes (CORBA::Double                  Tol
   {
     list< const SMDS_MeshNode* >& aListOfNodes = *llIt;
     list< const SMDS_MeshNode* >::iterator lIt = aListOfNodes.begin();;
-    SMESH::long_array& aGroup = GroupsOfNodes[ i ];
+    SMESH::long_array& aGroup = (*GroupsOfNodes)[i];
     aGroup.length( aListOfNodes.size() );
     for ( int j = 0; lIt != aListOfNodes.end(); lIt++, j++ )
       aGroup[ j ] = (*lIt)->GetID();
index aa28198c1fb6bef8e5fc6d5833e33afb6543b30d..b72bd738c16dc970fcd2bc26c7689614216e2f0c 100644 (file)
 #ifndef _SMESH_MESHEDITOR_I_HXX_
 #define _SMESH_MESHEDIOTR_I_HXX_
 
+#include "SMESH.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_Mesh)
 
 #include "SMESH_Mesh.hxx"
 
-class SMESH_MeshEditor_i: public POA_SMESH::SMESH_MeshEditor
+class SMESH_I_EXPORT SMESH_MeshEditor_i: public POA_SMESH::SMESH_MeshEditor
 {
  public:
   SMESH_MeshEditor_i(SMESH_Mesh * theMesh);
index 42fac7d5d51e2dec74a1a1e404ba9e109895125b..82a44605c4b8c36fc861170a5dd59a2707be8ed6 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef _SMESH_MESH_I_HXX_
 #define _SMESH_MESH_I_HXX_
 
+#include "SMESH.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_Mesh)
 #include CORBA_SERVER_HEADER(SMESH_Group)
@@ -48,7 +50,7 @@ class SMESH_GroupBase_i;
 
 #include <map>
 
-class SMESH_Mesh_i:
+class SMESH_I_EXPORT SMESH_Mesh_i:
   public virtual POA_SMESH::SMESH_Mesh,
   public virtual SALOME::GenericObj_i
 {
@@ -159,7 +161,7 @@ public:
     throw (SALOME::SALOME_Exception);
   void ExportUNV( const char* file )
     throw (SALOME::SALOME_Exception);
-  void ExportSTL( const char* file, const bool isascii )
+  void ExportSTL( const char* file, bool isascii )
     throw (SALOME::SALOME_Exception);
 
   SALOME_MED::MESH_ptr GetMEDMesh()
@@ -216,7 +218,7 @@ public:
   SMESH::long_array* GetNodesId()
     throw (SALOME::SALOME_Exception);
   
-  SMESH::ElementType GetElementType( const CORBA::Long id, const bool iselem )
+  SMESH::ElementType GetElementType( CORBA::Long id, bool iselem )
     throw (SALOME::SALOME_Exception);
   
   char* Dump();
index 29b5084cdf5c8b3818760f6ebad442285c5d1fe4..537d7b0151d506f12b77073642e5a208bdff25dc 100644 (file)
@@ -30,6 +30,8 @@
 #ifndef SMESH_Pattern_I_HeaderFile
 #define SMESH_Pattern_I_HeaderFile
 
+#include "SMESH.hxx"
+
 #include "SALOMEconfig.h"
 #include CORBA_SERVER_HEADER(SMESH_Pattern)
 #include CORBA_SERVER_HEADER(SMESH_Mesh)
@@ -41,7 +43,7 @@
 class SMESH_Gen_i;
 class SMESH_Mesh;
 
-class SMESH_Pattern_i:
+class SMESH_I_EXPORT SMESH_Pattern_i:
   public virtual POA_SMESH::SMESH_Pattern
 {
  public:
@@ -75,9 +77,14 @@ class SMESH_Pattern_i:
                                          CORBA::Long              theNode000Index,
                                          CORBA::Long              theNode001Index);
 
-  CORBA::Boolean MakeMesh (SMESH::SMESH_Mesh_ptr theMesh,
+  //for omniORB conflict compilation
+  /*CORBA::Boolean MakeMesh (SMESH::SMESH_Mesh_ptr theMesh,
                            const CORBA::Boolean  CreatePolygons,
-                           const CORBA::Boolean  CreatePolyedrs);
+                           const CORBA::Boolean  CreatePolyedrs);*/
+
+  CORBA::Boolean MakeMesh (SMESH::SMESH_Mesh_ptr theMesh,
+                           CORBA::Boolean  CreatePolygons,
+                           CORBA::Boolean  CreatePolyedrs);
 
   SMESH::SMESH_Pattern::ErrorCode GetErrorCode();
 
index f3a011335a57a4c588fbcd17e4e77532fe33d629..57a7cf8262df9d8d19e42d354e6822dbc4ef54c7 100644 (file)
@@ -20,6 +20,8 @@
 #ifndef _SMESH_PYTHONDUMP_HXX_
 #define _SMESH_PYTHONDUMP_HXX_
 
+#include "SMESH.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_Mesh)
 #include CORBA_SERVER_HEADER(SALOMEDS)
@@ -37,7 +39,7 @@ namespace SMESH
   class Filter_i;
   class Functor_i;
 
-  class TPythonDump
+  class SMESH_I_EXPORT TPythonDump
   {
     std::ostringstream myStream;
     static size_t myCounter;
index f8ade30f58677fdf052cdec74ea70f8e3eb8b6a0..650d44765f9d52c283b0515382213f196c89b48f 100644 (file)
@@ -26,7 +26,6 @@
 //  Module : SMESH
 //  $Header$
 
-using namespace std;
 #include "SMESH_subMesh_i.hxx"
 #include "SMESH_Gen_i.hxx"
 #include "SMESH_Mesh_i.hxx"
@@ -40,6 +39,8 @@ using namespace std;
 #include <TopoDS.hxx>
 #include <TopoDS_Iterator.hxx>
 
+using namespace std;
+
 //=============================================================================
 /*!
  *  
index e8d84b37e734eea52aa0813632159843cae75f2c..42861f04e7ce891c0a0c9930ca9466005e66d637 100644 (file)
@@ -29,6 +29,8 @@
 #ifndef _SMESH_SUBMESH_I_HXX_
 #define _SMESH_SUBMESH_I_HXX_
 
+#include "SMESH.hxx"
+
 #include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_Mesh)
 #include CORBA_SERVER_HEADER(SMESH_Hypothesis)
@@ -40,7 +42,7 @@
 class SMESH_Gen_i;
 class SMESH_Mesh_i;
 
-class SMESH_subMesh_i:
+class SMESH_I_EXPORT SMESH_subMesh_i:
   public virtual POA_SMESH::SMESH_subMesh,
   public virtual SALOME::GenericObj_i
 {
@@ -64,7 +66,10 @@ public:
   SMESH::long_array* GetElementsByType( SMESH::ElementType theElemType )
     throw (SALOME::SALOME_Exception);
   
-  SMESH::ElementType GetElementType( const CORBA::Long id, const bool iselem )
+  //for omniORB conflict compilation
+  /*SMESH::ElementType GetElementType( const CORBA::Long id, const bool iselem )
+    throw (SALOME::SALOME_Exception);*/
+  SMESH::ElementType GetElementType( CORBA::Long id, bool iselem )
     throw (SALOME::SALOME_Exception);
   
   SMESH::long_array* GetNodesId()