Salome HOME
allow multiple size-maps definition
[modules/smesh.git] / src / DriverGMF / DriverGMF_Write.hxx
index b66b3d946ba7f759cfa656d7df28fb03c6d16c49..a1779a6740dad5ad3a2965271ed7a269a5c66a13 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
 #include "SMDSAbs_ElementType.hxx"
 #include "SMDS_ElemIterator.hxx"
 
+struct TLocalSize
+{
+  TLocalSize( int theNbNodes, double theSize)
+  {
+    nbNodes = theNbNodes;
+    size = theSize;
+  }
+  int nbNodes;
+  double size;
+};
+
 /*!
  * \brief Driver Writing a mesh into a GMF file.
  */
@@ -47,8 +58,16 @@ public:
   {
     _exportRequiredGroups = toExport;
   }
-
+   
   virtual Status Perform();
+  Status PerformSizeMap();
+  void AddSizeMapFromMesh( SMESHDS_Mesh* mesh, double size);
+//   void WriteSizeMapFromMesh( double size );
+//   void AddSizeMapSection( int meshID, int nbControlPoints );
+//   void AppendSize( int meshID, double size );
+//   int NbVerticesInFile();
+//   int OpenFileToWrite();
+//   void CloseFile( int );
 
  private:
 
@@ -57,6 +76,9 @@ public:
   SMDS_ElemIteratorPtr elementIterator(SMDSAbs_GeometryType type);
 
   bool _exportRequiredGroups;
+  int mySizeMapVerticesNumber;
+  std::list<SMESHDS_Mesh*> mySizeMapMeshes;
+  std::list<TLocalSize> myLocalSizes;
 };
 
 #endif