Replaced NMTTools map with NCollection map for removing dependencies from GEOM module.

This commit is contained in:
skl 2005-09-26 07:01:06 +00:00
parent 3e906035e4
commit ab6b16e673
3 changed files with 49 additions and 8 deletions

View File

@ -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 <NCollection_DefineIndexedMap.hxx>
#include <TopoDS_Shape.hxx>
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 <NCollection_DefineIndexedDataMap.hxx>
/// Class SMESH_IndexedDataMapOfShapeIndexedMapOfShape
DEFINE_BASECOLLECTION (SMESH_BaseCollectionIndexedMapOfShape, SMESH_IndexedMapOfShape)
DEFINE_INDEXEDDATAMAP (SMESH_IndexedDataMapOfShapeIndexedMapOfShape,
SMESH_BaseCollectionIndexedMapOfShape, TopoDS_Shape,
SMESH_IndexedMapOfShape)
#endif

View File

@ -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 <theMainEdge>
TopTools_IndexedMapOfShape& aChain = _mapPropagationChains.ChangeFromKey(theMainEdge);
SMESH_IndexedMapOfShape& aChain = _mapPropagationChains.ChangeFromKey(theMainEdge);
if (aChain.Extent() > 0) {
CleanMeshOnPropagationChain(theMainEdge);
aChain.Clear();

View File

@ -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
{