mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-01-27 14:20:32 +05:00
Replaced NMTTools map with NCollection map for removing dependencies from GEOM module.
This commit is contained in:
parent
3e906035e4
commit
ab6b16e673
38
src/SMESH/SMESH_IndexedDataMapOfShapeIndexedMapOfShape.hxx
Normal file
38
src/SMESH/SMESH_IndexedDataMapOfShapeIndexedMapOfShape.hxx
Normal 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
|
@ -1106,7 +1106,8 @@ bool SMESH_Mesh::IsPropagatedHypothesis (const TopoDS_Shape& theEdge,
|
|||||||
{
|
{
|
||||||
int nbChains = _mapPropagationChains.Extent();
|
int nbChains = _mapPropagationChains.Extent();
|
||||||
for (int i = 1; i <= nbChains; i++) {
|
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)) {
|
if (aChain.Contains(theEdge)) {
|
||||||
theMainEdge = _mapPropagationChains.FindKey(i);
|
theMainEdge = _mapPropagationChains.FindKey(i);
|
||||||
return true;
|
return true;
|
||||||
@ -1127,7 +1128,7 @@ bool SMESH_Mesh::IsReversedInChain (const TopoDS_Shape& theEdge,
|
|||||||
if ( !theMainEdge.IsNull() && !theEdge.IsNull() &&
|
if ( !theMainEdge.IsNull() && !theEdge.IsNull() &&
|
||||||
_mapPropagationChains.Contains( theMainEdge ))
|
_mapPropagationChains.Contains( theMainEdge ))
|
||||||
{
|
{
|
||||||
const TopTools_IndexedMapOfShape& aChain =
|
const SMESH_IndexedMapOfShape& aChain =
|
||||||
_mapPropagationChains.FindFromKey( theMainEdge );
|
_mapPropagationChains.FindFromKey( theMainEdge );
|
||||||
int index = aChain.FindIndex( theEdge );
|
int index = aChain.FindIndex( theEdge );
|
||||||
if ( index )
|
if ( index )
|
||||||
@ -1143,7 +1144,7 @@ bool SMESH_Mesh::IsReversedInChain (const TopoDS_Shape& theEdge,
|
|||||||
//=============================================================================
|
//=============================================================================
|
||||||
void SMESH_Mesh::CleanMeshOnPropagationChain (const TopoDS_Shape& theMainEdge)
|
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();
|
int i, nbEdges = aChain.Extent();
|
||||||
for (i = 1; i <= nbEdges; i++) {
|
for (i = 1; i <= nbEdges; i++) {
|
||||||
TopoDS_Shape anEdge = aChain.FindKey(i);
|
TopoDS_Shape anEdge = aChain.FindKey(i);
|
||||||
@ -1210,7 +1211,7 @@ bool SMESH_Mesh::RemovePropagationChain (const TopoDS_Shape& theMainEdge)
|
|||||||
TopoDS_Vertex anEmptyShape;
|
TopoDS_Vertex anEmptyShape;
|
||||||
BRep_Builder BB;
|
BRep_Builder BB;
|
||||||
BB.MakeVertex(anEmptyShape, gp_Pnt(0,0,0), 0.1);
|
BB.MakeVertex(anEmptyShape, gp_Pnt(0,0,0), 0.1);
|
||||||
TopTools_IndexedMapOfShape anEmptyMap;
|
SMESH_IndexedMapOfShape anEmptyMap;
|
||||||
_mapPropagationChains.Substitute(i, anEmptyShape, 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
|
// Add new chain, if there is no
|
||||||
if (!_mapPropagationChains.Contains(theMainEdge)) {
|
if (!_mapPropagationChains.Contains(theMainEdge)) {
|
||||||
TopTools_IndexedMapOfShape aNewChain;
|
SMESH_IndexedMapOfShape aNewChain;
|
||||||
_mapPropagationChains.Add(theMainEdge, 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>
|
// 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) {
|
if (aChain.Extent() > 0) {
|
||||||
CleanMeshOnPropagationChain(theMainEdge);
|
CleanMeshOnPropagationChain(theMainEdge);
|
||||||
aChain.Clear();
|
aChain.Clear();
|
||||||
|
@ -37,7 +37,8 @@
|
|||||||
#include "SMESHDS_Command.hxx"
|
#include "SMESHDS_Command.hxx"
|
||||||
#include "SMDSAbs_ElementType.hxx"
|
#include "SMDSAbs_ElementType.hxx"
|
||||||
|
|
||||||
#include "NMTTools_IndexedDataMapOfShapeIndexedMapOfShape.hxx"
|
//#include "NMTTools_IndexedDataMapOfShapeIndexedMapOfShape.hxx"
|
||||||
|
#include "SMESH_IndexedDataMapOfShapeIndexedMapOfShape.hxx"
|
||||||
|
|
||||||
#include "Utils_SALOME_Exception.hxx"
|
#include "Utils_SALOME_Exception.hxx"
|
||||||
|
|
||||||
@ -70,7 +71,8 @@ class TopTools_ListOfShape;
|
|||||||
class SMESH_subMesh;
|
class SMESH_subMesh;
|
||||||
class SMESH_HypoFilter;
|
class SMESH_HypoFilter;
|
||||||
|
|
||||||
typedef NMTTools_IndexedDataMapOfShapeIndexedMapOfShape IndexedMapOfChain;
|
//typedef NMTTools_IndexedDataMapOfShapeIndexedMapOfShape IndexedMapOfChain;
|
||||||
|
typedef SMESH_IndexedDataMapOfShapeIndexedMapOfShape IndexedMapOfChain;
|
||||||
|
|
||||||
class SMESH_Mesh
|
class SMESH_Mesh
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user