X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FDriverGMF%2FDriverGMF_Write.hxx;h=83d86a83b92e4c84d2e385ee9ce2ef64cb386def;hb=15e0993d69189f5b30a4adb90767044c3f653952;hp=fd0918d09ef2ccabcf13e596b3117799f0d36916;hpb=f5016d85b7b4b88623723027a1585c6414c4dc66;p=modules%2Fsmesh.git diff --git a/src/DriverGMF/DriverGMF_Write.hxx b/src/DriverGMF/DriverGMF_Write.hxx index fd0918d09..83d86a83b 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-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 @@ -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. @@ -42,18 +63,31 @@ public: DriverGMF_Write(); ~DriverGMF_Write(); + void SetExportRequiredGroups( bool toExport ) + { + _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(); -/*! - * \brief An object closing GMF mesh at destruction - */ -struct DriverGMF_MeshCloser -{ - int _gmfMeshID; - DriverGMF_MeshCloser( const int gmfMeshID ): _gmfMeshID(gmfMeshID) {} - ~DriverGMF_MeshCloser(); -}; + 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