From: eap Date: Mon, 27 May 2013 14:01:40 +0000 (+0000) Subject: 0022216: EDF 2613 SMESH: Projection 1D with multi-dimensional algo (Netgen 1D-2D... X-Git-Tag: V7_3_0a1~402 X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=commitdiff_plain;h=6b2c537fcdfcad5fa1ba09de17c689655cbfaaae 0022216: EDF 2613 SMESH: Projection 1D with multi-dimensional algo (Netgen 1D-2D or BLSurf...) int GetHypotheses(const TopoDS_Shape & aSubShape, const SMESH_HypoFilter& aFilter, list & aHypList, const bool andAncestors, + list< TopoDS_Shape > * assignedTo=0) const --- diff --git a/src/SMESH/SMESH_Mesh.cxx b/src/SMESH/SMESH_Mesh.cxx index 22fd2e44e..9bf36fb1f 100644 --- a/src/SMESH/SMESH_Mesh.cxx +++ b/src/SMESH/SMESH_Mesh.cxx @@ -813,7 +813,8 @@ const SMESH_Hypothesis * SMESH_Mesh::GetHypothesis(const TopoDS_Shape & aSubS int SMESH_Mesh::GetHypotheses(const TopoDS_Shape & aSubShape, const SMESH_HypoFilter& aFilter, list & aHypList, - const bool andAncestors) const + const bool andAncestors, + list< TopoDS_Shape > * assignedTo/*=0*/) const { set hypTypes; // to exclude same type hypos from the result list int nbHyps = 0; @@ -842,6 +843,7 @@ int SMESH_Mesh::GetHypotheses(const TopoDS_Shape & aSubShape, nbHyps++; if ( !cSMESH_Hyp(*hyp)->IsAuxiliary() ) mainHypFound = true; + if ( assignedTo ) assignedTo->push_back( aSubShape ); } } @@ -868,6 +870,7 @@ int SMESH_Mesh::GetHypotheses(const TopoDS_Shape & aSubShape, nbHyps++; if ( !cSMESH_Hyp(*hyp)->IsAuxiliary() ) mainHypFound = true; + if ( assignedTo ) assignedTo->push_back( curSh ); } } } diff --git a/src/SMESH/SMESH_Mesh.hxx b/src/SMESH/SMESH_Mesh.hxx index 06c4e7802..e329e0313 100644 --- a/src/SMESH/SMESH_Mesh.hxx +++ b/src/SMESH/SMESH_Mesh.hxx @@ -144,8 +144,9 @@ public: int GetHypotheses(const TopoDS_Shape & aSubShape, const SMESH_HypoFilter& aFilter, - std::list & aHypList, - const bool andAncestors) const; + std::list< const SMESHDS_Hypothesis * >& aHypList, + const bool andAncestors, + std::list< TopoDS_Shape > * assignedTo=0) const; const std::list & GetLog() throw(SALOME_Exception);