X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FDriverGMF%2FDriverGMF_Write.hxx;h=2b844d352765a280cc67be1417f556bb2753cef1;hb=2742029b9094540c12b9e30bbdb958087e0cb850;hp=b66b3d946ba7f759cfa656d7df28fb03c6d16c49;hpb=7aebb99e42c6b0c3c056a5eecb0f29033db2231a;p=modules%2Fsmesh.git diff --git a/src/DriverGMF/DriverGMF_Write.hxx b/src/DriverGMF/DriverGMF_Write.hxx index b66b3d946..2b844d352 100644 --- a/src/DriverGMF/DriverGMF_Write.hxx +++ b/src/DriverGMF/DriverGMF_Write.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2012 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 @@ -6,7 +6,7 @@ // 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 @@ -33,6 +33,26 @@ #include "SMDSAbs_ElementType.hxx" #include "SMDS_ElemIterator.hxx" +#include + +/*! + * \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. */ @@ -47,8 +67,17 @@ public: { _exportRequiredGroups = toExport; } - + virtual Status Perform(); + + // Size Maps + Status PerformSizeMap( const std::vector& points ); + void SetSizeMapPrefix( std::string prefix ) + { + myVerticesFile = prefix + ".mesh"; + mySolFile = prefix + ".sol"; + }; + std::vector GetSizeMapFiles(); private: @@ -57,6 +86,8 @@ public: SMDS_ElemIteratorPtr elementIterator(SMDSAbs_GeometryType type); bool _exportRequiredGroups; + std::string myVerticesFile; + std::string mySolFile; }; #endif