-// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2014 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
// 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.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
#include "SMDSAbs_ElementType.hxx"
#include "SMDS_ElemIterator.hxx"
+#include <gp_Pnt.hxx>
+
+/*!
+ * \brief Class for storing control points for writing GMF size maps
+ */
+class MESHDriverGMF_EXPORT Control_Pnt : public gp_Pnt
+{
+public:
+ Control_Pnt();
+ Control_Pnt(const gp_Pnt& aPnt, double theSize);
+ Control_Pnt(double x, double y, double z);
+ Control_Pnt(double x, double y, double z, double size);
+
+ double Size() const { return size; };
+ void SetSize( double theSize ) { size = theSize; };
+
+private:
+ double size;
+};
+
/*!
* \brief Driver Writing a mesh into a GMF file.
*/
{
_exportRequiredGroups = toExport;
}
-
+
virtual Status Perform();
+
+ // Size Maps
+ Status PerformSizeMap( const std::vector<Control_Pnt>& points );
+ void SetSizeMapPrefix( std::string prefix )
+ {
+ myVerticesFile = prefix + ".mesh";
+ mySolFile = prefix + ".sol";
+ };
+ std::vector<std::string> GetSizeMapFiles();
private:
SMDS_ElemIteratorPtr elementIterator(SMDSAbs_GeometryType type);
bool _exportRequiredGroups;
+ std::string myVerticesFile;
+ std::string mySolFile;
};
#endif