X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESH%2FSMESH_subMesh.hxx;h=36a37740080173452ce1e9322e33a44836d31b5e;hb=a5f7916fb6386e1f54a9a39073e83a703b29fc48;hp=effe550983f892477ae80e8cb51a34ac5079bcef;hpb=8ead97668924421fa809f376743cbb3404d7161b;p=modules%2Fsmesh.git diff --git a/src/SMESH/SMESH_subMesh.hxx b/src/SMESH/SMESH_subMesh.hxx index effe55098..36a377400 100644 --- a/src/SMESH/SMESH_subMesh.hxx +++ b/src/SMESH/SMESH_subMesh.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 @@ -80,6 +80,7 @@ class SMESH_EXPORT SMESH_subMesh SMESH_Algo* GetAlgo() const; const std::map < int, SMESH_subMesh * >& DependsOn(); + bool DependsOn( const SMESH_subMesh* other ) const; /*! * \brief Return iterator on the sub-meshes this one depends on. By default * most simple sub-meshes go first. @@ -138,16 +139,22 @@ class SMESH_EXPORT SMESH_subMesh /*! * \brief Return an event listener data * \param listener - the listener whose data is + * \param myOwn - if \c true, returns a listener set by this sub-mesh, + * else returns a listener listening to events of this sub-mesh * \retval EventListenerData* - found data, maybe NULL */ - EventListenerData* GetEventListenerData(EventListener* listener) const; + EventListenerData* GetEventListenerData(EventListener* listener, + const bool myOwn=false) const; /*! * \brief Return an event listener data * \param listenerName - the listener name + * \param myOwn - if \c true, returns a listener set by this sub-mesh, + * else returns a listener listening to events of this sub-mesh * \retval EventListenerData* - found data, maybe NULL */ - EventListenerData* GetEventListenerData(const std::string& listenerName) const; + EventListenerData* GetEventListenerData(const std::string& listenerName, + const bool myOwn=false) const; /*! * \brief Unregister the listener and delete it and it's data @@ -287,7 +294,7 @@ protected: SMESH_Algo* theAlgo, bool & theSubComputed, bool & theSubFailed, - int & theComputeCost); + std::vector& theSubs); /*! * \brief Update compute_state by _computeError * \retval bool - false if there are errors @@ -307,6 +314,7 @@ protected: const SMESH_Hypothesis * theHyp, const int theHypType = 0); // + int computeCost() const; protected: @@ -322,7 +330,8 @@ protected: algo_state _algoState; compute_state _computeState; SMESH_ComputeErrorPtr _computeError; - int _computeCost; // how costly is to compute this sub-mesh + int _computeCost; // how costly is to compute this sub-mesh + int _realComputeCost; // _computeCost depending on presence of needed hypotheses // allow algo->Compute() if a sub-shape of lower dim is meshed but // none mesh entity is bound to it. Eg StdMeshers_CompositeSegment_1D can