From ab6b16e673b44c983e261331181bcec90be2e920 Mon Sep 17 00:00:00 2001 From: skl Date: Mon, 26 Sep 2005 07:01:06 +0000 Subject: [PATCH] Replaced NMTTools map with NCollection map for removing dependencies from GEOM module. --- ...IndexedDataMapOfShapeIndexedMapOfShape.hxx | 38 +++++++++++++++++++ src/SMESH/SMESH_Mesh.cxx | 13 ++++--- src/SMESH/SMESH_Mesh.hxx | 6 ++- 3 files changed, 49 insertions(+), 8 deletions(-) create mode 100644 src/SMESH/SMESH_IndexedDataMapOfShapeIndexedMapOfShape.hxx diff --git a/src/SMESH/SMESH_IndexedDataMapOfShapeIndexedMapOfShape.hxx b/src/SMESH/SMESH_IndexedDataMapOfShapeIndexedMapOfShape.hxx new file mode 100644 index 000000000..27e7a6d9d --- /dev/null +++ b/src/SMESH/SMESH_IndexedDataMapOfShapeIndexedMapOfShape.hxx @@ -0,0 +1,38 @@ +// File: SMESH_IndexedDataMapOfShapeIndexedMapOfShape.hxx +// Created: 20.09.05 09:51:12 +// Author: Sergey KUUL +// Copyright: Open CASCADE 2005 + + +#ifndef SMESH_IndexedMapOfShape_HeaderFile +#define SMESH_IndexedMapOfShape_HeaderFile + +#include + +#include + +inline Standard_Boolean IsEqual(const TopoDS_Shape& S1, + const TopoDS_Shape& S2) +{ + return S1.IsSame(S2); +} + +/// Class SMESH_IndexedMapOfShape + +DEFINE_BASECOLLECTION (SMESH_BaseCollectionShape, TopoDS_Shape) +DEFINE_INDEXEDMAP (SMESH_IndexedMapOfShape, SMESH_BaseCollectionShape, TopoDS_Shape) + +#endif + +#ifndef SMESH_IndexedDataMapOfShapeIndexedMapOfShape_HeaderFile +#define SMESH_IndexedDataMapOfShapeIndexedMapOfShape_HeaderFile + +#include + +/// Class SMESH_IndexedDataMapOfShapeIndexedMapOfShape + +DEFINE_BASECOLLECTION (SMESH_BaseCollectionIndexedMapOfShape, SMESH_IndexedMapOfShape) +DEFINE_INDEXEDDATAMAP (SMESH_IndexedDataMapOfShapeIndexedMapOfShape, + SMESH_BaseCollectionIndexedMapOfShape, TopoDS_Shape, + SMESH_IndexedMapOfShape) +#endif diff --git a/src/SMESH/SMESH_Mesh.cxx b/src/SMESH/SMESH_Mesh.cxx index 8622faec5..d4497448f 100644 --- a/src/SMESH/SMESH_Mesh.cxx +++ b/src/SMESH/SMESH_Mesh.cxx @@ -1106,7 +1106,8 @@ bool SMESH_Mesh::IsPropagatedHypothesis (const TopoDS_Shape& theEdge, { int nbChains = _mapPropagationChains.Extent(); for (int i = 1; i <= nbChains; i++) { - const TopTools_IndexedMapOfShape& aChain = _mapPropagationChains.FindFromIndex(i); + //const TopTools_IndexedMapOfShape& aChain = _mapPropagationChains.FindFromIndex(i); + const SMESH_IndexedMapOfShape& aChain = _mapPropagationChains.FindFromIndex(i); if (aChain.Contains(theEdge)) { theMainEdge = _mapPropagationChains.FindKey(i); return true; @@ -1127,7 +1128,7 @@ bool SMESH_Mesh::IsReversedInChain (const TopoDS_Shape& theEdge, if ( !theMainEdge.IsNull() && !theEdge.IsNull() && _mapPropagationChains.Contains( theMainEdge )) { - const TopTools_IndexedMapOfShape& aChain = + const SMESH_IndexedMapOfShape& aChain = _mapPropagationChains.FindFromKey( theMainEdge ); int index = aChain.FindIndex( theEdge ); if ( index ) @@ -1143,7 +1144,7 @@ bool SMESH_Mesh::IsReversedInChain (const TopoDS_Shape& theEdge, //============================================================================= void SMESH_Mesh::CleanMeshOnPropagationChain (const TopoDS_Shape& theMainEdge) { - const TopTools_IndexedMapOfShape& aChain = _mapPropagationChains.FindFromKey(theMainEdge); + const SMESH_IndexedMapOfShape& aChain = _mapPropagationChains.FindFromKey(theMainEdge); int i, nbEdges = aChain.Extent(); for (i = 1; i <= nbEdges; i++) { TopoDS_Shape anEdge = aChain.FindKey(i); @@ -1210,7 +1211,7 @@ bool SMESH_Mesh::RemovePropagationChain (const TopoDS_Shape& theMainEdge) TopoDS_Vertex anEmptyShape; BRep_Builder BB; BB.MakeVertex(anEmptyShape, gp_Pnt(0,0,0), 0.1); - TopTools_IndexedMapOfShape anEmptyMap; + SMESH_IndexedMapOfShape anEmptyMap; _mapPropagationChains.Substitute(i, anEmptyShape, anEmptyMap); } @@ -1228,7 +1229,7 @@ bool SMESH_Mesh::BuildPropagationChain (const TopoDS_Shape& theMainEdge) // Add new chain, if there is no if (!_mapPropagationChains.Contains(theMainEdge)) { - TopTools_IndexedMapOfShape aNewChain; + SMESH_IndexedMapOfShape aNewChain; _mapPropagationChains.Add(theMainEdge, aNewChain); } @@ -1240,7 +1241,7 @@ bool SMESH_Mesh::BuildPropagationChain (const TopoDS_Shape& theMainEdge) } // Edges, on which the 1D hypothesis will be propagated from - TopTools_IndexedMapOfShape& aChain = _mapPropagationChains.ChangeFromKey(theMainEdge); + SMESH_IndexedMapOfShape& aChain = _mapPropagationChains.ChangeFromKey(theMainEdge); if (aChain.Extent() > 0) { CleanMeshOnPropagationChain(theMainEdge); aChain.Clear(); diff --git a/src/SMESH/SMESH_Mesh.hxx b/src/SMESH/SMESH_Mesh.hxx index 321714ac1..5054e0038 100644 --- a/src/SMESH/SMESH_Mesh.hxx +++ b/src/SMESH/SMESH_Mesh.hxx @@ -37,7 +37,8 @@ #include "SMESHDS_Command.hxx" #include "SMDSAbs_ElementType.hxx" -#include "NMTTools_IndexedDataMapOfShapeIndexedMapOfShape.hxx" +//#include "NMTTools_IndexedDataMapOfShapeIndexedMapOfShape.hxx" +#include "SMESH_IndexedDataMapOfShapeIndexedMapOfShape.hxx" #include "Utils_SALOME_Exception.hxx" @@ -70,7 +71,8 @@ class TopTools_ListOfShape; class SMESH_subMesh; class SMESH_HypoFilter; -typedef NMTTools_IndexedDataMapOfShapeIndexedMapOfShape IndexedMapOfChain; +//typedef NMTTools_IndexedDataMapOfShapeIndexedMapOfShape IndexedMapOfChain; +typedef SMESH_IndexedDataMapOfShapeIndexedMapOfShape IndexedMapOfChain; class SMESH_Mesh { -- 2.39.2