X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESH%2FSMESH_Gen.hxx;h=064d7685331d37192e8d1d617d8f84520f6f058f;hp=496ca9b69649318482e09495d139510698c6a4c5;hb=2e9f6a1d3399b1ea9b366f969e81c725a5a5a628;hpb=bd8f1aee7c78f7d2eb82bd4fec5e08c9e3d280ce diff --git a/src/SMESH/SMESH_Gen.hxx b/src/SMESH/SMESH_Gen.hxx index 496ca9b69..064d76853 100644 --- a/src/SMESH/SMESH_Gen.hxx +++ b/src/SMESH/SMESH_Gen.hxx @@ -1,4 +1,4 @@ -// 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 @@ -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 @@ -37,8 +37,6 @@ #include "SMESH_Algo.hxx" #include "SMESH_Mesh.hxx" -#include "chrono.hxx" - #include #include @@ -70,6 +68,8 @@ public: /*! * \brief Computes aMesh on aShape + * \param aShapeOnly - if true, algo->OnlyUnaryInput() feature is ignored and + * only \a aShape is computed. * \param anUpward - compute from vertices up to more complex shape (internal usage) * \param aDim - upper level dimension of the mesh computation * \param aShapesId - list of shapes with computed mesh entities (elements or nodes) @@ -77,16 +77,17 @@ public: */ bool Compute(::SMESH_Mesh & aMesh, const TopoDS_Shape & aShape, + const bool aShapeOnly=false, const bool anUpward=false, const ::MeshDimension aDim=::MeshDim_3D, TSetOfInt* aShapesId=0); -#ifdef WITH_SMESH_CANCEL_COMPUTE void PrepareCompute(::SMESH_Mesh & aMesh, const TopoDS_Shape & aShape); void CancelCompute(::SMESH_Mesh & aMesh, const TopoDS_Shape & aShape); -#endif + + const SMESH_subMesh* GetCurrentSubMesh() const { return _sm_current; } /*! * \brief evaluates size of prospective mesh on a shape @@ -144,6 +145,7 @@ public: { return GetShapeDim( aShape.ShapeType() ); } SMESH_Algo* GetAlgo(SMESH_Mesh & aMesh, const TopoDS_Shape & aShape, TopoDS_Shape* assignedTo=0); + SMESH_Algo* GetAlgo(SMESH_subMesh * aSubMesh, TopoDS_Shape* assignedTo=0); static bool IsGlobalHypothesis(const SMESH_Hypothesis* theHyp, SMESH_Mesh& aMesh); @@ -151,11 +153,11 @@ public: int GetANewId(); - std::map < int, SMESH_Algo * >_mapAlgo; - std::map < int, SMESH_0D_Algo * >_map0D_Algo; - std::map < int, SMESH_1D_Algo * >_map1D_Algo; - std::map < int, SMESH_2D_Algo * >_map2D_Algo; - std::map < int, SMESH_3D_Algo * >_map3D_Algo; + // std::map < int, SMESH_Algo * >_mapAlgo; + // std::map < int, SMESH_0D_Algo * >_map0D_Algo; + // std::map < int, SMESH_1D_Algo * >_map1D_Algo; + // std::map < int, SMESH_2D_Algo * >_map2D_Algo; + // std::map < int, SMESH_3D_Algo * >_map3D_Algo; private: @@ -168,14 +170,11 @@ private: // number of segments per diagonal of boundary box of geometry by which // default segment length of appropriate 1D hypotheses is defined int _segmentation; - // default of segments + // default number of segments int _nbSegments; - counters *_counters; -#ifdef WITH_SMESH_CANCEL_COMPUTE - volatile bool _compute_canceled; + volatile bool _compute_canceled; SMESH_subMesh* _sm_current; -#endif }; #endif