X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FDriverGMF%2FDriverGMF_Write.hxx;h=2b844d352765a280cc67be1417f556bb2753cef1;hp=0e8ee4f70859786bbc7856f788b9069a3800edd2;hb=5d68554076bbca0e1e95fb0db215a6c2b84b6c54;hpb=1067ffa6e7e5c394e3a1b17219d8b355a57607cd diff --git a/src/DriverGMF/DriverGMF_Write.hxx b/src/DriverGMF/DriverGMF_Write.hxx index 0e8ee4f70..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 @@ -31,6 +31,27 @@ #include "Driver_SMESHDS_Mesh.h" #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. @@ -46,12 +67,27 @@ 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: + SMDS_ElemIteratorPtr elementIterator(SMDSAbs_ElementType type); + SMDS_ElemIteratorPtr elementIterator(SMDSAbs_EntityType type); + SMDS_ElemIteratorPtr elementIterator(SMDSAbs_GeometryType type); + bool _exportRequiredGroups; + std::string myVerticesFile; + std::string mySolFile; }; #endif