//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
-
// File: GEOMAlgo_Builder_2.cxx
// Author: Peter KURNEV
//function : FillImagesFaces
//purpose :
//=======================================================================
- void GEOMAlgo_Builder::FillImagesFaces()
+void GEOMAlgo_Builder::FillImagesFaces()
{
myErrorStatus=0;
//
// function: FillIn2DParts
// purpose:
//=======================================================================
- void GEOMAlgo_Builder::FillIn2DParts()
+void GEOMAlgo_Builder::FillIn2DParts()
{
const NMTDS_ShapesDataStructure& aDS=*myPaveFiller->DS();
NMTTools_PaveFiller* pPF=myPaveFiller;
aLSpIn.Clear();
//
// 1. In Parts
- //modified by NIZNHY-PKV Fri Oct 14 13:58:00 2011f
BOPTools_ListOfPaveBlock aLPBIn;
//
pPF->RealSplitsInFace(nF, aLPBIn);
const TopoDS_Shape& aSpIn=aDS.Shape(nSpIn);
aLSpIn.Append(aSpIn);
}
- /*
- for (j=1; j<=aNbCBP; ++j) {
- NMTTools_ListOfCommonBlock& aLCB=aCBP(j);
- aItCB.Initialize(aLCB);
- for (; aItCB.More(); aItCB.Next()) {
- NMTTools_CommonBlock& aCB=aItCB.Value();
- if (aCB.IsPaveBlockOnFace(nF)) {
- const BOPTools_PaveBlock& aPB1=aCB.PaveBlock1();
- nSpIn=aPB1.Edge();
- const TopoDS_Shape& aSpIn=aDS.Shape(nSpIn);
- if (aMFence.Add(aSpIn)){
- aLSpIn.Append(aSpIn);
- }
- }
- }
- }
- */
- //modified by NIZNHY-PKV Fri Oct 14 13:58:08 2011t
//
// 2. Section Parts
for (j=1; j<=aNbFFs; ++j) {
// function: BuildSplitFaces
// purpose:
//=======================================================================
- void GEOMAlgo_Builder::BuildSplitFaces()
+void GEOMAlgo_Builder::BuildSplitFaces()
{
const NMTDS_ShapesDataStructure& aDS=*myPaveFiller->DS();
NMTTools_PaveFiller* pPF=myPaveFiller;
// function: FillSameDomainFaces
// purpose:
//=======================================================================
- void GEOMAlgo_Builder::FillSameDomainFaces()
+void GEOMAlgo_Builder::FillSameDomainFaces()
{
Standard_Boolean bIsSDF, bHasImage1, bHasImage2, bForward;
Standard_Integer i, j, aNbFF, nF1, nF2, aNbPBInOn, aNbC, aNbSE;
//
NMTTools_Tools::FindChains(aLCS, aMC);
//
- //modified by NIZNHY-PKV Wed Oct 12 13:33:59 2011f
Standard_Boolean bIsImage;
Standard_Integer aIx, aIxMin, aNbMSDF, k, aNbMFj;
TopoDS_Shape aFOld, aFSDmin;
}
}
//
- //modified by NIZNHY-PKV Wed Oct 12 13:34:01 2011t
- //
// 3. Fill the map of SDF mySameDomainFaces
aNbC=aMC.Extent();
for (i=1; i<=aNbC; ++i) {
// const TopoDS_Shape& aF=aMC.FindKey(i);
const TopTools_IndexedMapOfShape& aMSDF=aMC(i);
//
- //modified by NIZNHY-PKV Wed Oct 12 13:25:16 2011f
aNbMSDF=aMSDF.Extent();
for (j=1; j<=aNbMSDF; ++j) {
const TopoDS_Shape& aFSD=aMSDF(j);
const TopoDS_Shape& aFSD=aMSDF(j);
mySameDomainShapes.Add(aFSD, aFSDmin);
}
- /*
- aNbFF=aMSDF.Extent();
- for (j=1; j<=aNbFF; ++j) {
- const TopoDS_Shape& aFSD=aMSDF(j);
- mySameDomainShapes.Add(aFSD, aF);
- }
- */
- //modified by NIZNHY-PKV Wed Oct 12 13:25:18 2011t
}
//
}
// function: FillImagesFaces1
// purpose:
//=======================================================================
- void GEOMAlgo_Builder::FillImagesFaces1()
+void GEOMAlgo_Builder::FillImagesFaces1()
{
Standard_Integer i, aNb, iSense, aNbLFx;
TopoDS_Face aF, aFSp, aFSD;
// function: FillInternalVertices
// purpose:
//=======================================================================
- void GEOMAlgo_Builder::FillInternalVertices()
+void GEOMAlgo_Builder::FillInternalVertices()
{
const NMTDS_ShapesDataStructure& aDS=*myPaveFiller->DS();
NMTTools_PaveFiller* pPF=myPaveFiller;
NMTDS_InterfPool* pIP=pPF->IP();
IntTools_Context& aCtx= pPF->ChangeContext();
//
- /*BOPTools_CArray1OfSSInterference& aFFs=*/pIP->SSInterferences();
BOPTools_CArray1OfVSInterference& aVFs=pIP->VSInterferences();
BOPTools_CArray1OfESInterference& aEFs=pIP->ESInterferences();
const NMTTools_IndexedDataMapOfIndexedMapOfInteger& aMAV=pPF->AloneVertices();
#include <NMTDS_Tools.hxx>
#include <NMTDS_InterfPool.hxx>
#include <NMTDS_PInterfPool.hxx>
-#include <NMTDS_PassKeyBoolean.hxx>
+//#include <NMTDS_PassKeyBoolean.hxx>
+#include <NMTDS_PairBoolean.hxx>
#include <NMTDS_ShapesDataStructure.hxx>
-#include <NMTDS_ListIteratorOfListOfPassKeyBoolean.hxx>
+//#include <NMTDS_ListIteratorOfListOfPassKeyBoolean.hxx>
+#include <NMTDS_ListIteratorOfListOfPairBoolean.hxx>
#include <Basics_OCCTVersion.hxx>
// 3. Get the pairs of interfered shapes
NMTDS_PInterfPool pIP = aCSI.IP();
- const NMTDS_ListOfPassKeyBoolean& aLPKB = pIP->Get();
+ //const NMTDS_ListOfPassKeyBoolean& aLPKB = pIP->Get();
+ const NMTDS_ListOfPairBoolean& aLPKB = pIP->Get();
Standard_Integer n1, n2;
- NMTDS_ListIteratorOfListOfPassKeyBoolean aIt;
+ //NMTDS_ListIteratorOfListOfPassKeyBoolean aIt;
+ NMTDS_ListIteratorOfListOfPairBoolean aIt;
aIt.Initialize(aLPKB);
for (; aIt.More(); aIt.Next()) {
- const NMTDS_PassKeyBoolean& aPKB = aIt.Value();
+ //const NMTDS_PassKeyBoolean& aPKB = aIt.Value();
+ const NMTDS_PairBoolean& aPKB = aIt.Value();
aPKB.Ids(n1, n2);
if (n1 > aNbS || n2 > aNbS)
--- /dev/null
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _Handle_NMTDS_ListNodeOfListOfPair_HeaderFile\r
+#define _Handle_NMTDS_ListNodeOfListOfPair_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_DefineHandle_HeaderFile\r
+#include <Standard_DefineHandle.hxx>\r
+#endif\r
+\r
+#ifndef _Handle_TCollection_MapNode_HeaderFile\r
+#include <Handle_TCollection_MapNode.hxx>\r
+#endif\r
+\r
+class Standard_Transient;\r
+class Handle(Standard_Type);\r
+class Handle(TCollection_MapNode);\r
+class NMTDS_ListNodeOfListOfPair;\r
+\r
+DEFINE_STANDARD_HANDLE(NMTDS_ListNodeOfListOfPair,TCollection_MapNode)\r
+\r
+#endif\r
--- /dev/null
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _Handle_NMTDS_ListNodeOfListOfPairBoolean_HeaderFile\r
+#define _Handle_NMTDS_ListNodeOfListOfPairBoolean_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_DefineHandle_HeaderFile\r
+#include <Standard_DefineHandle.hxx>\r
+#endif\r
+\r
+#ifndef _Handle_TCollection_MapNode_HeaderFile\r
+#include <Handle_TCollection_MapNode.hxx>\r
+#endif\r
+\r
+class Standard_Transient;\r
+class Handle(Standard_Type);\r
+class Handle(TCollection_MapNode);\r
+class NMTDS_ListNodeOfListOfPairBoolean;\r
+\r
+DEFINE_STANDARD_HANDLE(NMTDS_ListNodeOfListOfPairBoolean,TCollection_MapNode)\r
+\r
+#endif\r
--- /dev/null
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _Handle_NMTDS_StdMapNodeOfMapOfPairBoolean_HeaderFile\r
+#define _Handle_NMTDS_StdMapNodeOfMapOfPairBoolean_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_DefineHandle_HeaderFile\r
+#include <Standard_DefineHandle.hxx>\r
+#endif\r
+\r
+#ifndef _Handle_TCollection_MapNode_HeaderFile\r
+#include <Handle_TCollection_MapNode.hxx>\r
+#endif\r
+\r
+class Standard_Transient;\r
+class Handle(Standard_Type);\r
+class Handle(TCollection_MapNode);\r
+class NMTDS_StdMapNodeOfMapOfPairBoolean;\r
+\r
+DEFINE_STANDARD_HANDLE(NMTDS_StdMapNodeOfMapOfPairBoolean,TCollection_MapNode)\r
+\r
+#endif\r
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
# GEOM NMTAlgo : partition algorithm
# File : Makefile.in
# Author : Julia DOROVSKIKH
# Modified by : Alexander BORODIN (OCN) - autotools usage
# Module : GEOM
-# $Header$
-#
+
include $(top_srcdir)/adm_local/unix/make_common_starter.am
# header files
Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfIntegerShape.hxx \
Handle_NMTDS_IndexedDataMapNodeOfIndexedDataMapOfShapeBox.hxx \
Handle_NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors.hxx \
+ Handle_NMTDS_ListNodeOfListOfPair.hxx \
+ Handle_NMTDS_ListNodeOfListOfPairBoolean.hxx \
+ Handle_NMTDS_StdMapNodeOfMapOfPairBoolean.hxx \
Handle_NMTDS_ListNodeOfListOfPassKeyBoolean.hxx \
Handle_NMTDS_ListNodeOfListOfPassKey.hxx \
Handle_NMTDS_StdMapNodeOfMapOfPassKeyBoolean.hxx \
NMTDS_IteratorCheckerSI.ixx \
NMTDS_IteratorCheckerSI.jxx \
NMTDS_ListIteratorOfListOfIndexedDataMapOfShapeAncestorsSuccessors.hxx \
+ NMTDS_ListIteratorOfListOfPair.hxx \
+ NMTDS_ListIteratorOfListOfPairBoolean.hxx \
+ NMTDS_ListNodeOfListOfPair.hxx \
+ NMTDS_ListNodeOfListOfPairBoolean.hxx \
+ NMTDS_ListOfPair.hxx \
+ NMTDS_ListOfPairBoolean.hxx \
+ NMTDS_MapIteratorOfMapOfPairBoolean.hxx \
+ NMTDS_MapOfPairBoolean.hxx \
+ NMTDS_Pair.hxx \
+ NMTDS_Pair.ixx \
+ NMTDS_Pair.jxx \
+ NMTDS_PairBoolean.hxx \
+ NMTDS_PairBoolean.ixx \
+ NMTDS_PairBoolean.jxx \
+ NMTDS_PairMapHasher.hxx \
+ NMTDS_PairMapHasher.ixx \
+ NMTDS_PairMapHasher.jxx \
+ NMTDS_StdMapNodeOfMapOfPairBoolean.hxx \
NMTDS_ListIteratorOfListOfPassKeyBoolean.hxx \
NMTDS_ListIteratorOfListOfPassKey.hxx \
NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors.hxx \
NMTDS_Iterator.cxx \
NMTDS_IteratorCheckerSI.cxx \
NMTDS_ListIteratorOfListOfIndexedDataMapOfShapeAncestorsSuccessors_0.cxx \
+ NMTDS_ListIteratorOfListOfPairBoolean_0.cxx \
+ NMTDS_ListIteratorOfListOfPair_0.cxx \
+ NMTDS_ListNodeOfListOfPairBoolean_0.cxx \
+ NMTDS_ListNodeOfListOfPair_0.cxx \
+ NMTDS_ListOfPairBoolean_0.cxx \
+ NMTDS_ListOfPair_0.cxx \
+ NMTDS_MapIteratorOfMapOfPairBoolean_0.cxx \
+ NMTDS_MapOfPairBoolean_0.cxx \
+ NMTDS_Pair.cxx \
+ NMTDS_PairBoolean.cxx \
+ NMTDS_PairMapHasher.cxx \
+ NMTDS_StdMapNodeOfMapOfPairBoolean_0.cxx \
NMTDS_ListIteratorOfListOfPassKey_0.cxx \
NMTDS_ListIteratorOfListOfPassKeyBoolean_0.cxx \
NMTDS_ListNodeOfListOfIndexedDataMapOfShapeAncestorsSuccessors_0.cxx \
NMTDS_InterfPool.cdl \
NMTDS_Iterator.cdl \
NMTDS_IteratorCheckerSI.cdl \
+ NMTDS_Pair.cdl \
+ NMTDS_PairBoolean.cdl \
+ NMTDS_PairMapHasher.cdl \
NMTDS_PassKey.cdl \
NMTDS_PassKeyBoolean.cdl \
NMTDS_PassKeyMapHasher.cdl \
class IteratorCheckerSI;
class Tools;
class InterfPool;
- --modified by NIZNHY-PKV Thu Jan 21 09:46:48 2010f
- class BndSphere;
- --modified by NIZNHY-PKV Thu Jan 21 09:46:53 2010t
+ class BndSphere;
+ --modified by NIZNHY-PKV Mon Dec 12 08:39:27 2011f
+ class Pair;
+ class PairBoolean;
+ class PairMapHasher;
+ --modified by NIZNHY-PKV Mon Dec 12 08:39:30 2011t
--
pointer PShapesDataStructure to ShapesDataStructure from NMTDS;
pointer PIterator to Iterator from NMTDS;
class ListOfIndexedDataMapOfShapeAncestorsSuccessors instantiates
List from TCollection(IndexedDataMapOfShapeAncestorsSuccessors from BooleanOperations);
- class IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger instantiates
- IndexedDataMap from TCollection(Integer from Standard,
- IndexedDataMapOfShapeInteger from BooleanOperations,
- MapIntegerHasher from TColStd);
-
class ListOfPassKey instantiates
List from TCollection(PassKey from NMTDS);
MapOfInteger from TColStd,
MapIntegerHasher from TColStd);
- --modified by NIZNHY-PKV Thu Jan 21 09:47:13 2010f
+
class IndexedDataMapOfShapeBndSphere
instantiates IndexedDataMap from TCollection(Shape from TopoDS,
BndSphere from NMTDS,
ShapeMapHasher from TopTools);
- --modified by NIZNHY-PKV Thu Jan 21 09:47:26 2010
-
+
+
+ --modified by NIZNHY-PKV Mon Dec 12 08:41:50 2011f
+ class ListOfPair instantiates
+ List from TCollection(Pair from NMTDS);
+
+ class ListOfPairBoolean instantiates
+ List from TCollection(PairBoolean from NMTDS);
+
+ class MapOfPairBoolean instantiates
+ Map from TCollection(PairBoolean from NMTDS,
+ PairMapHasher from NMTDS);
+-- class IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger instantiates
+-- IndexedDataMap from TCollection(Integer from Standard,
+-- IndexedDataMapOfShapeInteger from BooleanOperations,
+-- MapIntegerHasher from TColStd);
+ --modified by NIZNHY-PKV Mon Dec 12 08:41:54 2011t
+
+
end NMTDS;
--
-- File: NMTDS_InterfPool.cdl
--- Created: Wed Feb 21 10:10:58 2007
+-- Created:
-- Author: Peter KURNEV
--
class InterfPool from NMTDS
---Purpose:
uses
- MapOfPassKeyBoolean from NMTDS,
- ListOfPassKeyBoolean from NMTDS,
- PassKeyBoolean from NMTDS,
+ MapOfPairBoolean from NMTDS,
+ ListOfPairBoolean from NMTDS,
+ PairBoolean from NMTDS,
InterfType from NMTDS,
--
CArray1OfSSInterference from BOPTools,
Add (me:out;
- aPKB : PassKeyBoolean from NMTDS;
+ aPKB : PairBoolean from NMTDS;
aType: InterfType from NMTDS)
returns Boolean from Standard;
returns Boolean from Standard;
Contains(me;
- aPKB : PassKeyBoolean from NMTDS)
+ aPKB : PairBoolean from NMTDS)
returns Boolean from Standard;
Contains(me;
returns Boolean from Standard;
Get(me)
- returns ListOfPassKeyBoolean from NMTDS;
+ returns ListOfPairBoolean from NMTDS;
---C++: return const &
Get(me;
aType : InterfType from NMTDS)
- returns ListOfPassKeyBoolean from NMTDS;
+ returns ListOfPairBoolean from NMTDS;
---C++: return const &
Get(me;
aInd : Integer from Standard)
- returns ListOfPassKeyBoolean from NMTDS;
+ returns ListOfPairBoolean from NMTDS;
---C++: return const &
Get(me;
aInd : Integer from Standard;
aType: InterfType from NMTDS)
- returns ListOfPassKeyBoolean from NMTDS;
+ returns ListOfPairBoolean from NMTDS;
---C++: return const &
--
---Purpose:
--- Returns the reference to arrray Of V/V interferences
---
-
+ --modified by NIZNHY-PKV Mon Dec 12 09:07:13 2011f
+ Purge(me:out) ;
+ --modified by NIZNHY-PKV Mon Dec 12 09:07:16 2011t
fields
- myTable : MapOfPassKeyBoolean from NMTDS [6] is protected;
- myList : ListOfPassKeyBoolean from NMTDS is protected;
+ myTable : MapOfPairBoolean from NMTDS [6] is protected;
+ myList : ListOfPairBoolean from NMTDS is protected;
myMaxInd: Integer from Standard is protected;
--
mySSInterferences : CArray1OfSSInterference from BOPTools is protected;
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-//
-// File: NMTDS_.InterfPoolcxx
-// Created: Wed Feb 21 10:35:35 2007
+// File: NMTDS_InterfPool.cxx
// Author: Peter KURNEV
-// <pkv@irinox>
-//
+
#include <NMTDS_InterfPool.ixx>
-#include <NMTDS_PassKeyBoolean.hxx>
-#include <NMTDS_ListOfPassKeyBoolean.hxx>
-#include <NMTDS_MapIteratorOfMapOfPassKeyBoolean.hxx>
-#include <NMTDS_ListIteratorOfListOfPassKeyBoolean.hxx>
+
+#include <NMTDS_PairBoolean.hxx>
+#include <NMTDS_ListOfPairBoolean.hxx>
+#include <NMTDS_MapIteratorOfMapOfPairBoolean.hxx>
+#include <NMTDS_ListIteratorOfListOfPairBoolean.hxx>
+
+#include <Basics_OCCTVersion.hxx>
static
Standard_Integer TypeToInteger(const NMTDS_InterfType aType);
//function :
//purpose :
//=======================================================================
- NMTDS_InterfPool::NMTDS_InterfPool()
+NMTDS_InterfPool::NMTDS_InterfPool()
{
myMaxInd=6;
}
//function : Add
//purpose :
//=======================================================================
- Standard_Boolean NMTDS_InterfPool::Add (const NMTDS_PassKeyBoolean& aPKB,
- const NMTDS_InterfType aType)
+Standard_Boolean NMTDS_InterfPool::Add (const NMTDS_PairBoolean& aPKB,
+ const NMTDS_InterfType aType)
{
Standard_Boolean bRet;
Standard_Integer iType;
//function : Add
//purpose :
//=======================================================================
- Standard_Boolean NMTDS_InterfPool::Add (const Standard_Integer aInd1,
- const Standard_Integer aInd2,
- const NMTDS_InterfType aType)
+Standard_Boolean NMTDS_InterfPool::Add (const Standard_Integer aInd1,
+ const Standard_Integer aInd2,
+ const NMTDS_InterfType aType)
{
- NMTDS_PassKeyBoolean aPKB;
+ NMTDS_PairBoolean aPKB;
//
aPKB.SetIds(aInd1, aInd2);
return Add(aPKB, aType);
//function : Add
//purpose :
//=======================================================================
- Standard_Boolean NMTDS_InterfPool::Add (const Standard_Integer aInd1,
- const Standard_Integer aInd2,
- const Standard_Boolean bFlag,
- const NMTDS_InterfType aType)
+Standard_Boolean NMTDS_InterfPool::Add (const Standard_Integer aInd1,
+ const Standard_Integer aInd2,
+ const Standard_Boolean bFlag,
+ const NMTDS_InterfType aType)
{
- NMTDS_PassKeyBoolean aPKB;
+ NMTDS_PairBoolean aPKB;
//
aPKB.SetIds(aInd1, aInd2);
aPKB.SetFlag(bFlag);
//function : Contains
//purpose :
//=======================================================================
- Standard_Boolean NMTDS_InterfPool::Contains(const NMTDS_PassKeyBoolean& aPKB)const
+Standard_Boolean NMTDS_InterfPool::Contains(const NMTDS_PairBoolean& aPKB)const
{
Standard_Boolean bRet;
Standard_Integer i;
Standard_Boolean NMTDS_InterfPool::Contains(const Standard_Integer aInd1,
const Standard_Integer aInd2)const
{
- NMTDS_PassKeyBoolean aPKB;
+ NMTDS_PairBoolean aPKB;
//
aPKB.SetIds(aInd1, aInd2);
return Contains(aPKB);
//function : Get
//purpose :
//=======================================================================
- const NMTDS_ListOfPassKeyBoolean& NMTDS_InterfPool::Get()const
+const NMTDS_ListOfPairBoolean& NMTDS_InterfPool::Get()const
{
Standard_Integer i;
- NMTDS_ListOfPassKeyBoolean* pL;
+ NMTDS_ListOfPairBoolean* pL;
//
- pL=(NMTDS_ListOfPassKeyBoolean*)&myList;
+ pL=(NMTDS_ListOfPairBoolean*)&myList;
pL->Clear();
//
for (i=0; i<myMaxInd; ++i) {
- NMTDS_MapIteratorOfMapOfPassKeyBoolean aIt;
+ NMTDS_MapIteratorOfMapOfPairBoolean aIt;
//
aIt.Initialize(myTable[i]);
for(; aIt.More(); aIt.Next()) {
- const NMTDS_PassKeyBoolean& aPKB=aIt.Key();
+ const NMTDS_PairBoolean& aPKB=aIt.Key();
pL->Append(aPKB);
}
}
//function : Get
//purpose :
//=======================================================================
- const NMTDS_ListOfPassKeyBoolean& NMTDS_InterfPool::Get(const Standard_Integer aInd)const
+const NMTDS_ListOfPairBoolean& NMTDS_InterfPool::Get
+ (const Standard_Integer aInd)const
{
Standard_Integer i, n1, n2;
- NMTDS_ListOfPassKeyBoolean* pL;
+ NMTDS_ListOfPairBoolean* pL;
//
- pL=(NMTDS_ListOfPassKeyBoolean*)&myList;
+ pL=(NMTDS_ListOfPairBoolean*)&myList;
pL->Clear();
//
for (i=0; i<myMaxInd; ++i) {
- NMTDS_MapIteratorOfMapOfPassKeyBoolean aIt;
+ NMTDS_MapIteratorOfMapOfPairBoolean aIt;
//
aIt.Initialize(myTable[i]);
for(; aIt.More(); aIt.Next()) {
- const NMTDS_PassKeyBoolean& aPKB=aIt.Key();
+ const NMTDS_PairBoolean& aPKB=aIt.Key();
aPKB.Ids(n1, n2);
if(n1==aInd || n2==aInd) {
pL->Append(aPKB);
//function : Get
//purpose :
//=======================================================================
- const NMTDS_ListOfPassKeyBoolean& NMTDS_InterfPool::Get(const NMTDS_InterfType aType)const
+const NMTDS_ListOfPairBoolean& NMTDS_InterfPool::Get
+ (const NMTDS_InterfType aType)const
{
Standard_Integer iType;
- NMTDS_ListOfPassKeyBoolean* pL;
+ NMTDS_ListOfPairBoolean* pL;
//
- pL=(NMTDS_ListOfPassKeyBoolean*)&myList;
+ pL=(NMTDS_ListOfPairBoolean*)&myList;
pL->Clear();
//
iType=TypeToInteger(aType);
if (iType>-1 && iType<myMaxInd) {
- NMTDS_MapIteratorOfMapOfPassKeyBoolean aIt;
+ NMTDS_MapIteratorOfMapOfPairBoolean aIt;
//
aIt.Initialize(myTable[iType]);
for(; aIt.More(); aIt.Next()) {
- const NMTDS_PassKeyBoolean& aPKB=aIt.Key();
+ const NMTDS_PairBoolean& aPKB=aIt.Key();
pL->Append(aPKB);
}
}
//function : Get
//purpose :
//=======================================================================
- const NMTDS_ListOfPassKeyBoolean& NMTDS_InterfPool::Get(const Standard_Integer aInd,
- const NMTDS_InterfType aType)const
+const NMTDS_ListOfPairBoolean& NMTDS_InterfPool::Get
+ (const Standard_Integer aInd,
+ const NMTDS_InterfType aType)const
{
Standard_Integer n1, n2;
- NMTDS_ListOfPassKeyBoolean *pL, aLPKB;
- NMTDS_ListIteratorOfListOfPassKeyBoolean aIt;
+ NMTDS_ListOfPairBoolean *pL, aLPKB;
+ NMTDS_ListIteratorOfListOfPairBoolean aIt;
//
aLPKB=Get(aType);
//
- pL=(NMTDS_ListOfPassKeyBoolean*)&myList;
+ pL=(NMTDS_ListOfPairBoolean*)&myList;
pL->Clear();
//
aIt.Initialize (aLPKB);
for (; aIt.More(); aIt.Next()) {
- const NMTDS_PassKeyBoolean& aPKB=aIt.Value();
+ const NMTDS_PairBoolean& aPKB=aIt.Value();
aPKB.Ids(n1, n2);
if(n1==aInd || n2==aInd) {
pL->Append(aPKB);
//function : SSInterferences
//purpose :
//===========================================================================
- BOPTools_CArray1OfSSInterference& NMTDS_InterfPool::SSInterferences()
+BOPTools_CArray1OfSSInterference& NMTDS_InterfPool::SSInterferences()
{
return mySSInterferences;
}
//function : ESInterferences
//purpose :
//===========================================================================
- BOPTools_CArray1OfESInterference& NMTDS_InterfPool::ESInterferences()
+BOPTools_CArray1OfESInterference& NMTDS_InterfPool::ESInterferences()
{
return myESInterferences;
}
//function : VSInterferences
//purpose :
//===========================================================================
- BOPTools_CArray1OfVSInterference& NMTDS_InterfPool::VSInterferences()
+BOPTools_CArray1OfVSInterference& NMTDS_InterfPool::VSInterferences()
{
return myVSInterferences;
}
//function : EEInterferences
//purpose :
//===========================================================================
- BOPTools_CArray1OfEEInterference& NMTDS_InterfPool::EEInterferences()
+BOPTools_CArray1OfEEInterference& NMTDS_InterfPool::EEInterferences()
{
return myEEInterferences;
}
//function : VEInterferences
//purpose :
//===========================================================================
- BOPTools_CArray1OfVEInterference& NMTDS_InterfPool::VEInterferences()
+BOPTools_CArray1OfVEInterference& NMTDS_InterfPool::VEInterferences()
{
return myVEInterferences;
}
//function : VVInterferences
//purpose :
//===========================================================================
- BOPTools_CArray1OfVVInterference& NMTDS_InterfPool::VVInterferences()
+BOPTools_CArray1OfVVInterference& NMTDS_InterfPool::VVInterferences()
{
return myVVInterferences;
}
-////////////////////
+
+//modified by NIZNHY-PKV Mon Dec 12 09:07:54 2011f
+//=======================================================================
+//function : Purge
+//purpose :
+//=======================================================================
+void NMTDS_InterfPool::Purge()
+{
+#if OCC_VERSION_LARGE > 0x06050200
+ myVVInterferences.Purge();
+ myVEInterferences.Purge();
+ myEEInterferences.Purge();
+ myVSInterferences.Purge();
+ myESInterferences.Purge();
+ mySSInterferences.Purge();
+#endif
+}
+//modified by NIZNHY-PKV Mon Dec 12 09:07:58 2011t
+
//=======================================================================
//function : TypeToInteger
//purpose :
-// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
-//
-// 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.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-//
-
-#ifndef _NMTDS_InterfPool_HeaderFile
-#define _NMTDS_InterfPool_HeaderFile
-
-#ifndef _NMTDS_MapOfPassKeyBoolean_HeaderFile
-#include <NMTDS_MapOfPassKeyBoolean.hxx>
-#endif
-#ifndef _NMTDS_ListOfPassKeyBoolean_HeaderFile
-#include <NMTDS_ListOfPassKeyBoolean.hxx>
-#endif
-#ifndef _Standard_Integer_HeaderFile
-#include <Standard_Integer.hxx>
-#endif
-#ifndef _BOPTools_CArray1OfSSInterference_HeaderFile
-#include <BOPTools_CArray1OfSSInterference.hxx>
-#endif
-#ifndef _BOPTools_CArray1OfESInterference_HeaderFile
-#include <BOPTools_CArray1OfESInterference.hxx>
-#endif
-#ifndef _BOPTools_CArray1OfVSInterference_HeaderFile
-#include <BOPTools_CArray1OfVSInterference.hxx>
-#endif
-#ifndef _BOPTools_CArray1OfEEInterference_HeaderFile
-#include <BOPTools_CArray1OfEEInterference.hxx>
-#endif
-#ifndef _BOPTools_CArray1OfVEInterference_HeaderFile
-#include <BOPTools_CArray1OfVEInterference.hxx>
-#endif
-#ifndef _BOPTools_CArray1OfVVInterference_HeaderFile
-#include <BOPTools_CArray1OfVVInterference.hxx>
-#endif
-#ifndef _Standard_Boolean_HeaderFile
-#include <Standard_Boolean.hxx>
-#endif
-#ifndef _NMTDS_InterfType_HeaderFile
-#include <NMTDS_InterfType.hxx>
-#endif
-class NMTDS_PassKeyBoolean;
-class NMTDS_ListOfPassKeyBoolean;
-class BOPTools_CArray1OfSSInterference;
-class BOPTools_CArray1OfESInterference;
-class BOPTools_CArray1OfVSInterference;
-class BOPTools_CArray1OfEEInterference;
-class BOPTools_CArray1OfVEInterference;
-class BOPTools_CArray1OfVVInterference;
-
-
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
-
-class NMTDS_InterfPool {
-
-public:
-
- void* operator new(size_t,void* anAddress)
- {
- return anAddress;
- }
- void* operator new(size_t size)
- {
- return Standard::Allocate(size);
- }
- void operator delete(void *anAddress)
- {
- if (anAddress) Standard::Free((Standard_Address&)anAddress);
- }
- // Methods PUBLIC
- //
-
-
-Standard_EXPORT NMTDS_InterfPool();
-Standard_EXPORT virtual ~NMTDS_InterfPool();
-
-
-Standard_EXPORT Standard_Boolean Add(const NMTDS_PassKeyBoolean& aPKB,const NMTDS_InterfType aType) ;
-
-
-Standard_EXPORT Standard_Boolean Add(const Standard_Integer aInd1,const Standard_Integer aInd2,const NMTDS_InterfType aType) ;
-
-
-Standard_EXPORT Standard_Boolean Add(const Standard_Integer aInd1,const Standard_Integer aInd2,const Standard_Boolean bFlag,const NMTDS_InterfType aType) ;
-
-
-Standard_EXPORT Standard_Boolean Contains(const NMTDS_PassKeyBoolean& aPKB) const;
-
-
-Standard_EXPORT Standard_Boolean Contains(const Standard_Integer aInd1,const Standard_Integer aInd2) const;
-
-
-Standard_EXPORT const NMTDS_ListOfPassKeyBoolean& Get() const;
-
-
-Standard_EXPORT const NMTDS_ListOfPassKeyBoolean& Get(const NMTDS_InterfType aType) const;
-
-
-Standard_EXPORT const NMTDS_ListOfPassKeyBoolean& Get(const Standard_Integer aInd) const;
-
-
-Standard_EXPORT const NMTDS_ListOfPassKeyBoolean& Get(const Standard_Integer aInd,const NMTDS_InterfType aType) const;
-
-
-//! Returns the reference to array Of F/F interferences <br>
-Standard_EXPORT BOPTools_CArray1OfSSInterference& SSInterferences() ;
-
-
-//! Returns the reference to array Of E/F interferences <br>
-Standard_EXPORT BOPTools_CArray1OfESInterference& ESInterferences() ;
-
-
-//! Returns the reference to array Of V/F interferences <br>
-Standard_EXPORT BOPTools_CArray1OfVSInterference& VSInterferences() ;
-
-
-//! Returns the reference to arrray Of E/E interferences <br>
-Standard_EXPORT BOPTools_CArray1OfEEInterference& EEInterferences() ;
-
-
-//! Returns the reference to arrray Of V/E interferences <br>
-Standard_EXPORT BOPTools_CArray1OfVEInterference& VEInterferences() ;
-
-
-//! Returns the reference to arrray Of V/V interferences <br>
-Standard_EXPORT BOPTools_CArray1OfVVInterference& VVInterferences() ;
-
-
-
-
-
-protected:
-
- // Methods PROTECTED
- //
-
-
- // Fields PROTECTED
- //
-NMTDS_MapOfPassKeyBoolean myTable[6];
-NMTDS_ListOfPassKeyBoolean myList;
-Standard_Integer myMaxInd;
-BOPTools_CArray1OfSSInterference mySSInterferences;
-BOPTools_CArray1OfESInterference myESInterferences;
-BOPTools_CArray1OfVSInterference myVSInterferences;
-BOPTools_CArray1OfEEInterference myEEInterferences;
-BOPTools_CArray1OfVEInterference myVEInterferences;
-BOPTools_CArray1OfVVInterference myVVInterferences;
-
-
-private:
-
- // Methods PRIVATE
- //
-
-
- // Fields PRIVATE
- //
-
-
-};
-
-
-
-
-
-// other Inline functions and methods (like "C++: function call" methods)
-//
-
-
-#endif
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_InterfPool_HeaderFile\r
+#define _NMTDS_InterfPool_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_Macro_HeaderFile\r
+#include <Standard_Macro.hxx>\r
+#endif\r
+\r
+#ifndef _NMTDS_MapOfPairBoolean_HeaderFile\r
+#include <NMTDS_MapOfPairBoolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListOfPairBoolean_HeaderFile\r
+#include <NMTDS_ListOfPairBoolean.hxx>\r
+#endif\r
+#ifndef _Standard_Integer_HeaderFile\r
+#include <Standard_Integer.hxx>\r
+#endif\r
+#ifndef _BOPTools_CArray1OfSSInterference_HeaderFile\r
+#include <BOPTools_CArray1OfSSInterference.hxx>\r
+#endif\r
+#ifndef _BOPTools_CArray1OfESInterference_HeaderFile\r
+#include <BOPTools_CArray1OfESInterference.hxx>\r
+#endif\r
+#ifndef _BOPTools_CArray1OfVSInterference_HeaderFile\r
+#include <BOPTools_CArray1OfVSInterference.hxx>\r
+#endif\r
+#ifndef _BOPTools_CArray1OfEEInterference_HeaderFile\r
+#include <BOPTools_CArray1OfEEInterference.hxx>\r
+#endif\r
+#ifndef _BOPTools_CArray1OfVEInterference_HeaderFile\r
+#include <BOPTools_CArray1OfVEInterference.hxx>\r
+#endif\r
+#ifndef _BOPTools_CArray1OfVVInterference_HeaderFile\r
+#include <BOPTools_CArray1OfVVInterference.hxx>\r
+#endif\r
+#ifndef _Standard_Boolean_HeaderFile\r
+#include <Standard_Boolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_InterfType_HeaderFile\r
+#include <NMTDS_InterfType.hxx>\r
+#endif\r
+class NMTDS_PairBoolean;\r
+class NMTDS_ListOfPairBoolean;\r
+class BOPTools_CArray1OfSSInterference;\r
+class BOPTools_CArray1OfESInterference;\r
+class BOPTools_CArray1OfVSInterference;\r
+class BOPTools_CArray1OfEEInterference;\r
+class BOPTools_CArray1OfVEInterference;\r
+class BOPTools_CArray1OfVVInterference;\r
+\r
+\r
+\r
+class NMTDS_InterfPool {\r
+public:\r
+\r
+ void* operator new(size_t,void* anAddress) \r
+ {\r
+ return anAddress;\r
+ }\r
+ void* operator new(size_t size) \r
+ {\r
+ return Standard::Allocate(size); \r
+ }\r
+ void operator delete(void *anAddress) \r
+ {\r
+ if (anAddress) Standard::Free((Standard_Address&)anAddress); \r
+ }\r
+\r
+ \r
+ Standard_EXPORT NMTDS_InterfPool();\r
+Standard_EXPORT virtual ~NMTDS_InterfPool();\r
+ \r
+ Standard_EXPORT Standard_Boolean Add(const NMTDS_PairBoolean& aPKB,const NMTDS_InterfType aType) ;\r
+ \r
+ Standard_EXPORT Standard_Boolean Add(const Standard_Integer aInd1,const Standard_Integer aInd2,const NMTDS_InterfType aType) ;\r
+ \r
+ Standard_EXPORT Standard_Boolean Add(const Standard_Integer aInd1,const Standard_Integer aInd2,const Standard_Boolean bFlag,const NMTDS_InterfType aType) ;\r
+ \r
+ Standard_EXPORT Standard_Boolean Contains(const NMTDS_PairBoolean& aPKB) const;\r
+ \r
+ Standard_EXPORT Standard_Boolean Contains(const Standard_Integer aInd1,const Standard_Integer aInd2) const;\r
+ \r
+ Standard_EXPORT const NMTDS_ListOfPairBoolean& Get() const;\r
+ \r
+ Standard_EXPORT const NMTDS_ListOfPairBoolean& Get(const NMTDS_InterfType aType) const;\r
+ \r
+ Standard_EXPORT const NMTDS_ListOfPairBoolean& Get(const Standard_Integer aInd) const;\r
+ \r
+ Standard_EXPORT const NMTDS_ListOfPairBoolean& Get(const Standard_Integer aInd,const NMTDS_InterfType aType) const;\r
+ \r
+//! Returns the reference to array Of F/F interferences <br>\r
+ Standard_EXPORT BOPTools_CArray1OfSSInterference& SSInterferences() ;\r
+ \r
+//! Returns the reference to array Of E/F interferences <br>\r
+ Standard_EXPORT BOPTools_CArray1OfESInterference& ESInterferences() ;\r
+ \r
+//! Returns the reference to array Of V/F interferences <br>\r
+ Standard_EXPORT BOPTools_CArray1OfVSInterference& VSInterferences() ;\r
+ \r
+//! Returns the reference to arrray Of E/E interferences <br>\r
+ Standard_EXPORT BOPTools_CArray1OfEEInterference& EEInterferences() ;\r
+ \r
+//! Returns the reference to arrray Of V/E interferences <br>\r
+ Standard_EXPORT BOPTools_CArray1OfVEInterference& VEInterferences() ;\r
+ \r
+//! Returns the reference to arrray Of V/V interferences <br>\r
+ Standard_EXPORT BOPTools_CArray1OfVVInterference& VVInterferences() ;\r
+ \r
+ Standard_EXPORT void Purge() ;\r
+\r
+\r
+\r
+\r
+\r
+protected:\r
+\r
+\r
+\r
+NMTDS_MapOfPairBoolean myTable[6];\r
+NMTDS_ListOfPairBoolean myList;\r
+Standard_Integer myMaxInd;\r
+BOPTools_CArray1OfSSInterference mySSInterferences;\r
+BOPTools_CArray1OfESInterference myESInterferences;\r
+BOPTools_CArray1OfVSInterference myVSInterferences;\r
+BOPTools_CArray1OfEEInterference myEEInterferences;\r
+BOPTools_CArray1OfVEInterference myVEInterferences;\r
+BOPTools_CArray1OfVVInterference myVVInterferences;\r
+\r
+\r
+private:\r
+\r
+\r
+\r
+\r
+\r
+};\r
+\r
+\r
+\r
+\r
+\r
+// other Inline functions and methods (like "C++: function call" methods)\r
+\r
+\r
+#endif\r
-// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
-//
-// 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.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-//
-
-#ifndef _NMTDS_PassKeyBoolean_HeaderFile
-#include <NMTDS_PassKeyBoolean.hxx>
-#endif
-#ifndef _NMTDS_ListOfPassKeyBoolean_HeaderFile
-#include <NMTDS_ListOfPassKeyBoolean.hxx>
-#endif
-#ifndef _BOPTools_CArray1OfSSInterference_HeaderFile
-#include <BOPTools_CArray1OfSSInterference.hxx>
-#endif
-#ifndef _BOPTools_CArray1OfESInterference_HeaderFile
-#include <BOPTools_CArray1OfESInterference.hxx>
-#endif
-#ifndef _BOPTools_CArray1OfVSInterference_HeaderFile
-#include <BOPTools_CArray1OfVSInterference.hxx>
-#endif
-#ifndef _BOPTools_CArray1OfEEInterference_HeaderFile
-#include <BOPTools_CArray1OfEEInterference.hxx>
-#endif
-#ifndef _BOPTools_CArray1OfVEInterference_HeaderFile
-#include <BOPTools_CArray1OfVEInterference.hxx>
-#endif
-#ifndef _BOPTools_CArray1OfVVInterference_HeaderFile
-#include <BOPTools_CArray1OfVVInterference.hxx>
-#endif
-#ifndef _NMTDS_InterfPool_HeaderFile
-#include <NMTDS_InterfPool.hxx>
-#endif
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_PairBoolean_HeaderFile\r
+#include <NMTDS_PairBoolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListOfPairBoolean_HeaderFile\r
+#include <NMTDS_ListOfPairBoolean.hxx>\r
+#endif\r
+#ifndef _BOPTools_CArray1OfSSInterference_HeaderFile\r
+#include <BOPTools_CArray1OfSSInterference.hxx>\r
+#endif\r
+#ifndef _BOPTools_CArray1OfESInterference_HeaderFile\r
+#include <BOPTools_CArray1OfESInterference.hxx>\r
+#endif\r
+#ifndef _BOPTools_CArray1OfVSInterference_HeaderFile\r
+#include <BOPTools_CArray1OfVSInterference.hxx>\r
+#endif\r
+#ifndef _BOPTools_CArray1OfEEInterference_HeaderFile\r
+#include <BOPTools_CArray1OfEEInterference.hxx>\r
+#endif\r
+#ifndef _BOPTools_CArray1OfVEInterference_HeaderFile\r
+#include <BOPTools_CArray1OfVEInterference.hxx>\r
+#endif\r
+#ifndef _BOPTools_CArray1OfVVInterference_HeaderFile\r
+#include <BOPTools_CArray1OfVVInterference.hxx>\r
+#endif\r
+#ifndef _NMTDS_InterfPool_HeaderFile\r
+#include <NMTDS_InterfPool.hxx>\r
+#endif\r
--
-- File: NMTDS_Iterator.cdl
--- Created: Sun May 07 14:58:16 2006
+-- Created:
-- Author: Peter KURNEV
--
class Iterator from NMTDS
ShapeEnum from TopAbs,
ShapesDataStructure from NMTDS,
PShapesDataStructure from NMTDS,
- ListOfPassKeyBoolean from NMTDS,
- ListIteratorOfListOfPassKeyBoolean from NMTDS,
+ ListOfPairBoolean from NMTDS,
+ ListIteratorOfListOfPairBoolean from NMTDS,
PassKeyBoolean from NMTDS
--raises
aMVSD2:out DataMapOfIntegerListOfInteger from TColStd);
fields
- myDS :PShapesDataStructure from NMTDS is protected;
- myLists :ListOfPassKeyBoolean from NMTDS [6] is protected;
- myIterator :ListIteratorOfListOfPassKeyBoolean from NMTDS is protected;
- myEmptyList:ListOfPassKeyBoolean from NMTDS is protected;
+ myDS :PShapesDataStructure from NMTDS is protected;
+ myLists :ListOfPairBoolean from NMTDS [6] is protected;
+ myIterator :ListIteratorOfListOfPairBoolean from NMTDS is protected;
+ myEmptyList:ListOfPairBoolean from NMTDS is protected;
myLength :Integer from Standard is protected;
--
myMVSD :DataMapOfIntegerListOfInteger from TColStd is protected;
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-//
// File: NMTDS_Iterator.cxx
-// Created: Sun May 07 15:04:41 2006
// Author: Peter KURNEV
-//
+
#include <NMTDS_Iterator.ixx>
//
#include <Bnd_Box.hxx>
#include <NCollection_UBTreeFiller.hxx>
#include <NMTDS_CArray1OfIndexRange.hxx>
#include <NMTDS_IndexRange.hxx>
-#include <NMTDS_PassKeyBoolean.hxx>
-#include <NMTDS_MapOfPassKeyBoolean.hxx>
+#include <NMTDS_PairBoolean.hxx>
+#include <NMTDS_MapOfPairBoolean.hxx>
#include <NMTDS_IndexedDataMapOfShapeBox.hxx>
#include <NMTDS_IndexedDataMapOfIntegerShape.hxx>
#include <NMTDS_Tools.hxx>
//function : NMTDS_Iterator
//purpose :
//=======================================================================
- NMTDS_Iterator::NMTDS_Iterator()
+NMTDS_Iterator::NMTDS_Iterator()
{
myDS=NULL;
myLength=0;
//function : ~NMTDS_Iterator
//purpose :
//=======================================================================
- NMTDS_Iterator::~NMTDS_Iterator()
+NMTDS_Iterator::~NMTDS_Iterator()
{
}
//=======================================================================
// function: SetDS
// purpose:
//=======================================================================
- void NMTDS_Iterator::SetDS(const NMTDS_PShapesDataStructure& aDS)
+void NMTDS_Iterator::SetDS(const NMTDS_PShapesDataStructure& aDS)
{
myDS=aDS;
}
// function: DS
// purpose:
//=======================================================================
- const NMTDS_ShapesDataStructure& NMTDS_Iterator::DS()const
+const NMTDS_ShapesDataStructure& NMTDS_Iterator::DS()const
{
return *myDS;
}
// function: ExpectedLength
// purpose:
//=======================================================================
- Standard_Integer NMTDS_Iterator::ExpectedLength() const
+Standard_Integer NMTDS_Iterator::ExpectedLength() const
{
return myLength;
}
// function: BlockLength
// purpose:
//=======================================================================
- Standard_Integer NMTDS_Iterator::BlockLength() const
+Standard_Integer NMTDS_Iterator::BlockLength() const
{
- Standard_Integer aNbIIs;
+ Standard_Integer aNbIIs, iTresh;
Standard_Real aCfPredict=.5;
aNbIIs=ExpectedLength();
if (aNbIIs<=1) {
return 1;
}
+ //modified by NIZNHY-PKV Mon Dec 12 08:50:50 2011f
+ iTresh=1000;
+ if (aNbIIs>iTresh) {
+ aNbIIs=iTresh;
+ return aNbIIs;
+ }
+ //modified by NIZNHY-PKV Mon Dec 12 08:50:54 2011t
//
aNbIIs=(Standard_Integer) (aCfPredict*(Standard_Real)aNbIIs);
return aNbIIs;
// function: Initialize
// purpose:
//=======================================================================
- void NMTDS_Iterator::Initialize(const TopAbs_ShapeEnum aType1,
- const TopAbs_ShapeEnum aType2)
+void NMTDS_Iterator::Initialize(const TopAbs_ShapeEnum aType1,
+ const TopAbs_ShapeEnum aType2)
{
Standard_Integer iX;
//
// function: More
// purpose:
//=======================================================================
- Standard_Boolean NMTDS_Iterator::More()const
+Standard_Boolean NMTDS_Iterator::More()const
{
return myIterator.More();
}
// function: Next
// purpose:
//=======================================================================
- void NMTDS_Iterator::Next()
+void NMTDS_Iterator::Next()
{
myIterator.Next();
}
// function: Current
// purpose:
//=======================================================================
- void NMTDS_Iterator::Current(Standard_Integer& aIndex1,
- Standard_Integer& aIndex2,
- Standard_Boolean& aWithSubShape) const
+void NMTDS_Iterator::Current(Standard_Integer& aIndex1,
+ Standard_Integer& aIndex2,
+ Standard_Boolean& aWithSubShape) const
{
- const NMTDS_PassKeyBoolean& aPKB=myIterator.Value();
+ const NMTDS_PairBoolean& aPKB=myIterator.Value();
aPKB.Ids(aIndex1, aIndex2);
aWithSubShape=aPKB.Flag();
}
// function: SDVertices
// purpose:
//=======================================================================
- const TColStd_DataMapOfIntegerListOfInteger& NMTDS_Iterator::SDVertices()const
+const TColStd_DataMapOfIntegerListOfInteger& NMTDS_Iterator::SDVertices()const
{
return myMVSD;
}
// function: Prepare
// purpose:
//=======================================================================
- void NMTDS_Iterator::Prepare()
+void NMTDS_Iterator::Prepare()
{
Standard_Integer i;
//
// function: Intersect
// purpose:
//=======================================================================
- void NMTDS_Iterator::Intersect()
+void NMTDS_Iterator::Intersect()
{
Standard_Boolean bFlag;
Standard_Integer aNb, i, aNbB, aNbR, iFlag;
TColStd_DataMapIteratorOfDataMapOfIntegerListOfInteger aItVSD;
TopTools_DataMapOfShapeInteger aMSI;
TopAbs_ShapeEnum aTi, aTj;
- NMTDS_PassKeyBoolean aPKXB;
- NMTDS_MapOfPassKeyBoolean aMPKXB;
+ NMTDS_PairBoolean aPKXB;
+ NMTDS_MapOfPairBoolean aMPKXB;
NMTDS_IndexedDataMapOfShapeBox aMSB;
//
NMTDS_BoxBndTreeSelector aSelector;
}
}
//
- //modified by NIZNHY-PKV Mon Sep 27 08:31:04 2010f
aNbLV1=aLV1.Extent();
if (aNbLV1) {
aMVSD.Bind(i, aLV1);
}
- //aMVSD.Bind(i, aLV1);
- //modified by NIZNHY-PKV Mon Sep 27 08:31:21 2010t
}
}//for (i=i1; i<=i2; ++i) {
}//for (iR=1; iR<aNbR; ++iR) {
//=================
myMVSD.Clear();
NMTDS_Iterator::FillMVSD(aMVSD, myMVSD);
+
+ //modified by NIZNHY-PKV Mon Dec 12 09:51:29 2011f
+ aMPKXB.Clear();
+ Standard::Purge();
+ //modified by NIZNHY-PKV Mon Dec 12 09:51:33 2011t
}
//=======================================================================
//function : FillMVSD
//purpose :
//=======================================================================
- void NMTDS_Iterator::FillMVSD(const TColStd_DataMapOfIntegerListOfInteger& aMVSD,
- TColStd_DataMapOfIntegerListOfInteger& bMVSD)
+void NMTDS_Iterator::FillMVSD(const TColStd_DataMapOfIntegerListOfInteger& aMVSD,
+ TColStd_DataMapOfIntegerListOfInteger& bMVSD)
{
Standard_Boolean bFound;
Standard_Integer aNbVSD, iCnt, i, j, k;
-// Copyright (C) 2007-2011 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
-//
-// 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.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-//
-
-#ifndef _NMTDS_Iterator_HeaderFile
-#define _NMTDS_Iterator_HeaderFile
-
-#ifndef _NMTDS_PShapesDataStructure_HeaderFile
-#include <NMTDS_PShapesDataStructure.hxx>
-#endif
-#ifndef _NMTDS_ListOfPassKeyBoolean_HeaderFile
-#include <NMTDS_ListOfPassKeyBoolean.hxx>
-#endif
-#ifndef _NMTDS_ListIteratorOfListOfPassKeyBoolean_HeaderFile
-#include <NMTDS_ListIteratorOfListOfPassKeyBoolean.hxx>
-#endif
-#ifndef _Standard_Integer_HeaderFile
-#include <Standard_Integer.hxx>
-#endif
-#ifndef _TColStd_DataMapOfIntegerListOfInteger_HeaderFile
-#include <TColStd_DataMapOfIntegerListOfInteger.hxx>
-#endif
-#ifndef _TopAbs_ShapeEnum_HeaderFile
-#include <TopAbs_ShapeEnum.hxx>
-#endif
-#ifndef _Standard_Boolean_HeaderFile
-#include <Standard_Boolean.hxx>
-#endif
-class NMTDS_ShapesDataStructure;
-class TColStd_DataMapOfIntegerListOfInteger;
-
-
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
-
-class NMTDS_Iterator {
-
-public:
-
- void* operator new(size_t,void* anAddress)
- {
- return anAddress;
- }
- void* operator new(size_t size)
- {
- return Standard::Allocate(size);
- }
- void operator delete(void *anAddress)
- {
- if (anAddress) Standard::Free((Standard_Address&)anAddress);
- }
- // Methods PUBLIC
- //
-
-
-Standard_EXPORT NMTDS_Iterator();
-Standard_EXPORT virtual ~NMTDS_Iterator();
-
-
-Standard_EXPORT void SetDS(const NMTDS_PShapesDataStructure& pDS) ;
-
-
-Standard_EXPORT const NMTDS_ShapesDataStructure& DS() const;
-
-
-Standard_EXPORT void Initialize(const TopAbs_ShapeEnum aType1,const TopAbs_ShapeEnum aType2) ;
-
-
-Standard_EXPORT Standard_Boolean More() const;
-
-
-Standard_EXPORT void Next() ;
-
-
-Standard_EXPORT void Current(Standard_Integer& aIndex1,Standard_Integer& aIndex2,Standard_Boolean& aWithSubShape) const;
-
-
-Standard_EXPORT virtual void Prepare() ;
-
-
-Standard_EXPORT Standard_Integer ExpectedLength() const;
-
-
-Standard_EXPORT Standard_Integer BlockLength() const;
-
-
-Standard_EXPORT const TColStd_DataMapOfIntegerListOfInteger& SDVertices() const;
-
-
-Standard_EXPORT static void FillMVSD(const TColStd_DataMapOfIntegerListOfInteger& aMVSD1,TColStd_DataMapOfIntegerListOfInteger& aMVSD2) ;
-
-
-
-
-
-protected:
-
- // Methods PROTECTED
- //
-
-
-Standard_EXPORT virtual void Intersect() ;
-
-
- // Fields PROTECTED
- //
-NMTDS_PShapesDataStructure myDS;
-NMTDS_ListOfPassKeyBoolean myLists[6];
-NMTDS_ListIteratorOfListOfPassKeyBoolean myIterator;
-NMTDS_ListOfPassKeyBoolean myEmptyList;
-Standard_Integer myLength;
-TColStd_DataMapOfIntegerListOfInteger myMVSD;
-
-
-private:
-
- // Methods PRIVATE
- //
-
-
- // Fields PRIVATE
- //
-
-
-};
-
-
-
-
-
-// other Inline functions and methods (like "C++: function call" methods)
-//
-
-
-#endif
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_Iterator_HeaderFile\r
+#define _NMTDS_Iterator_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_Macro_HeaderFile\r
+#include <Standard_Macro.hxx>\r
+#endif\r
+\r
+#ifndef _NMTDS_PShapesDataStructure_HeaderFile\r
+#include <NMTDS_PShapesDataStructure.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListOfPairBoolean_HeaderFile\r
+#include <NMTDS_ListOfPairBoolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListIteratorOfListOfPairBoolean_HeaderFile\r
+#include <NMTDS_ListIteratorOfListOfPairBoolean.hxx>\r
+#endif\r
+#ifndef _Standard_Integer_HeaderFile\r
+#include <Standard_Integer.hxx>\r
+#endif\r
+#ifndef _TColStd_DataMapOfIntegerListOfInteger_HeaderFile\r
+#include <TColStd_DataMapOfIntegerListOfInteger.hxx>\r
+#endif\r
+#ifndef _TopAbs_ShapeEnum_HeaderFile\r
+#include <TopAbs_ShapeEnum.hxx>\r
+#endif\r
+#ifndef _Standard_Boolean_HeaderFile\r
+#include <Standard_Boolean.hxx>\r
+#endif\r
+class NMTDS_ShapesDataStructure;\r
+class TColStd_DataMapOfIntegerListOfInteger;\r
+\r
+\r
+\r
+class NMTDS_Iterator {\r
+public:\r
+\r
+ void* operator new(size_t,void* anAddress) \r
+ {\r
+ return anAddress;\r
+ }\r
+ void* operator new(size_t size) \r
+ {\r
+ return Standard::Allocate(size); \r
+ }\r
+ void operator delete(void *anAddress) \r
+ {\r
+ if (anAddress) Standard::Free((Standard_Address&)anAddress); \r
+ }\r
+\r
+ \r
+ Standard_EXPORT NMTDS_Iterator();\r
+Standard_EXPORT virtual ~NMTDS_Iterator();\r
+ \r
+ Standard_EXPORT void SetDS(const NMTDS_PShapesDataStructure& pDS) ;\r
+ \r
+ Standard_EXPORT const NMTDS_ShapesDataStructure& DS() const;\r
+ \r
+ Standard_EXPORT void Initialize(const TopAbs_ShapeEnum aType1,const TopAbs_ShapeEnum aType2) ;\r
+ \r
+ Standard_EXPORT Standard_Boolean More() const;\r
+ \r
+ Standard_EXPORT void Next() ;\r
+ \r
+ Standard_EXPORT void Current(Standard_Integer& aIndex1,Standard_Integer& aIndex2,Standard_Boolean& aWithSubShape) const;\r
+ \r
+ Standard_EXPORT virtual void Prepare() ;\r
+ \r
+ Standard_EXPORT Standard_Integer ExpectedLength() const;\r
+ \r
+ Standard_EXPORT Standard_Integer BlockLength() const;\r
+ \r
+ Standard_EXPORT const TColStd_DataMapOfIntegerListOfInteger& SDVertices() const;\r
+ \r
+ Standard_EXPORT static void FillMVSD(const TColStd_DataMapOfIntegerListOfInteger& aMVSD1,TColStd_DataMapOfIntegerListOfInteger& aMVSD2) ;\r
+\r
+\r
+protected:\r
+\r
+ \r
+ Standard_EXPORT virtual void Intersect() ;\r
+\r
+\r
+NMTDS_PShapesDataStructure myDS;\r
+NMTDS_ListOfPairBoolean myLists[6];\r
+NMTDS_ListIteratorOfListOfPairBoolean myIterator;\r
+NMTDS_ListOfPairBoolean myEmptyList;\r
+Standard_Integer myLength;\r
+TColStd_DataMapOfIntegerListOfInteger myMVSD;\r
+\r
+\r
+private:\r
+\r
+};\r
+\r
+// other Inline functions and methods (like "C++: function call" methods)\r
+\r
+\r
+#endif\r
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-//
// File: NMTDS_IteratorChecker.cxx
-// Created: Tue Feb 6 10:37:59 2007
// Author: Peter KURNEV
-//
+
#include <NMTDS_IteratorCheckerSI.ixx>
#include <TopAbs_ShapeEnum.hxx>
#include <NMTDS_ShapesDataStructure.hxx>
#include <NMTDS_CArray1OfIndexRange.hxx>
#include <NMTDS_IndexRange.hxx>
-#include <NMTDS_PassKeyBoolean.hxx>
-#include <NMTDS_MapOfPassKeyBoolean.hxx>
+#include <NMTDS_PairBoolean.hxx>
+#include <NMTDS_MapOfPairBoolean.hxx>
#include <NMTDS_IndexedDataMapOfShapeBox.hxx>
#include <NMTDS_Tools.hxx>
//function :
//purpose :
//=======================================================================
- NMTDS_IteratorCheckerSI::NMTDS_IteratorCheckerSI()
+NMTDS_IteratorCheckerSI::NMTDS_IteratorCheckerSI()
:
NMTDS_Iterator()
{
//function : ~
//purpose :
//=======================================================================
- NMTDS_IteratorCheckerSI::~NMTDS_IteratorCheckerSI()
+NMTDS_IteratorCheckerSI::~NMTDS_IteratorCheckerSI()
{
}
//=======================================================================
// function: Intersect
// purpose:
//=======================================================================
- void NMTDS_IteratorCheckerSI::Intersect()
+void NMTDS_IteratorCheckerSI::Intersect()
{
Standard_Boolean bFlag;
Standard_Integer aNbS, i, aNbA, aNbB, iFlag;
TColStd_DataMapIteratorOfDataMapOfIntegerListOfInteger aItVSD;
TopTools_DataMapOfShapeInteger aMSI;
TopAbs_ShapeEnum aTi, aTj;
- NMTDS_PassKeyBoolean aPKXB;
- NMTDS_MapOfPassKeyBoolean aMPKXB;
+ NMTDS_PairBoolean aPKXB;
+ NMTDS_MapOfPairBoolean aMPKXB;
NMTDS_IndexedDataMapOfShapeBox aMSB;
- NMTDS_MapOfPassKeyBoolean aMPA;//myPairsAvoid
+ NMTDS_MapOfPairBoolean aMPA;//myPairsAvoid
//
NMTDS_BoxBndTreeSelector aSelector;
NMTDS_BoxBndTree aBBTree;
--- /dev/null
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_ListIteratorOfListOfPair_HeaderFile\r
+#define _NMTDS_ListIteratorOfListOfPair_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_Macro_HeaderFile\r
+#include <Standard_Macro.hxx>\r
+#endif\r
+\r
+#ifndef _Standard_Address_HeaderFile\r
+#include <Standard_Address.hxx>\r
+#endif\r
+#ifndef _Handle_NMTDS_ListNodeOfListOfPair_HeaderFile\r
+#include <Handle_NMTDS_ListNodeOfListOfPair.hxx>\r
+#endif\r
+#ifndef _Standard_Boolean_HeaderFile\r
+#include <Standard_Boolean.hxx>\r
+#endif\r
+class Standard_NoMoreObject;\r
+class Standard_NoSuchObject;\r
+class NMTDS_ListOfPair;\r
+class NMTDS_Pair;\r
+class NMTDS_ListNodeOfListOfPair;\r
+\r
+\r
+\r
+class NMTDS_ListIteratorOfListOfPair {\r
+public:\r
+\r
+ void* operator new(size_t,void* anAddress) \r
+ {\r
+ return anAddress;\r
+ }\r
+ void* operator new(size_t size) \r
+ {\r
+ return Standard::Allocate(size); \r
+ }\r
+ void operator delete(void *anAddress) \r
+ {\r
+ if (anAddress) Standard::Free((Standard_Address&)anAddress); \r
+ }\r
+\r
+ \r
+ Standard_EXPORT NMTDS_ListIteratorOfListOfPair();\r
+ \r
+ Standard_EXPORT NMTDS_ListIteratorOfListOfPair(const NMTDS_ListOfPair& L);\r
+ \r
+ Standard_EXPORT void Initialize(const NMTDS_ListOfPair& L) ;\r
+ \r
+ Standard_Boolean More() const;\r
+ \r
+ Standard_EXPORT void Next() ;\r
+ \r
+ Standard_EXPORT NMTDS_Pair& Value() const;\r
+\r
+\r
+friend class NMTDS_ListOfPair;\r
+\r
+\r
+\r
+protected:\r
+\r
+\r
+\r
+\r
+\r
+private:\r
+\r
+\r
+\r
+Standard_Address current;\r
+Standard_Address previous;\r
+\r
+\r
+};\r
+\r
+#define Item NMTDS_Pair\r
+#define Item_hxx <NMTDS_Pair.hxx>\r
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPair\r
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPair.hxx>\r
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPair\r
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPair.hxx>\r
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPair\r
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPair_Type_()\r
+#define TCollection_List NMTDS_ListOfPair\r
+#define TCollection_List_hxx <NMTDS_ListOfPair.hxx>\r
+\r
+#include <TCollection_ListIterator.lxx>\r
+\r
+#undef Item\r
+#undef Item_hxx\r
+#undef TCollection_ListNode\r
+#undef TCollection_ListNode_hxx\r
+#undef TCollection_ListIterator\r
+#undef TCollection_ListIterator_hxx\r
+#undef Handle_TCollection_ListNode\r
+#undef TCollection_ListNode_Type_\r
+#undef TCollection_List\r
+#undef TCollection_List_hxx\r
+\r
+\r
+// other Inline functions and methods (like "C++: function call" methods)\r
+\r
+\r
+#endif\r
--- /dev/null
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_ListIteratorOfListOfPairBoolean_HeaderFile\r
+#define _NMTDS_ListIteratorOfListOfPairBoolean_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_Macro_HeaderFile\r
+#include <Standard_Macro.hxx>\r
+#endif\r
+\r
+#ifndef _Standard_Address_HeaderFile\r
+#include <Standard_Address.hxx>\r
+#endif\r
+#ifndef _Handle_NMTDS_ListNodeOfListOfPairBoolean_HeaderFile\r
+#include <Handle_NMTDS_ListNodeOfListOfPairBoolean.hxx>\r
+#endif\r
+#ifndef _Standard_Boolean_HeaderFile\r
+#include <Standard_Boolean.hxx>\r
+#endif\r
+class Standard_NoMoreObject;\r
+class Standard_NoSuchObject;\r
+class NMTDS_ListOfPairBoolean;\r
+class NMTDS_PairBoolean;\r
+class NMTDS_ListNodeOfListOfPairBoolean;\r
+\r
+\r
+\r
+class NMTDS_ListIteratorOfListOfPairBoolean {\r
+public:\r
+\r
+ void* operator new(size_t,void* anAddress) \r
+ {\r
+ return anAddress;\r
+ }\r
+ void* operator new(size_t size) \r
+ {\r
+ return Standard::Allocate(size); \r
+ }\r
+ void operator delete(void *anAddress) \r
+ {\r
+ if (anAddress) Standard::Free((Standard_Address&)anAddress); \r
+ }\r
+\r
+ \r
+ Standard_EXPORT NMTDS_ListIteratorOfListOfPairBoolean();\r
+ \r
+ Standard_EXPORT NMTDS_ListIteratorOfListOfPairBoolean(const NMTDS_ListOfPairBoolean& L);\r
+ \r
+ Standard_EXPORT void Initialize(const NMTDS_ListOfPairBoolean& L) ;\r
+ \r
+ Standard_Boolean More() const;\r
+ \r
+ Standard_EXPORT void Next() ;\r
+ \r
+ Standard_EXPORT NMTDS_PairBoolean& Value() const;\r
+\r
+\r
+friend class NMTDS_ListOfPairBoolean;\r
+\r
+\r
+\r
+protected:\r
+\r
+\r
+\r
+\r
+\r
+private:\r
+\r
+\r
+\r
+Standard_Address current;\r
+Standard_Address previous;\r
+\r
+\r
+};\r
+\r
+#define Item NMTDS_PairBoolean\r
+#define Item_hxx <NMTDS_PairBoolean.hxx>\r
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPairBoolean\r
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPairBoolean.hxx>\r
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPairBoolean\r
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPairBoolean.hxx>\r
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPairBoolean\r
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPairBoolean_Type_()\r
+#define TCollection_List NMTDS_ListOfPairBoolean\r
+#define TCollection_List_hxx <NMTDS_ListOfPairBoolean.hxx>\r
+\r
+#include <TCollection_ListIterator.lxx>\r
+\r
+#undef Item\r
+#undef Item_hxx\r
+#undef TCollection_ListNode\r
+#undef TCollection_ListNode_hxx\r
+#undef TCollection_ListIterator\r
+#undef TCollection_ListIterator_hxx\r
+#undef Handle_TCollection_ListNode\r
+#undef TCollection_ListNode_Type_\r
+#undef TCollection_List\r
+#undef TCollection_List_hxx\r
+\r
+\r
+// other Inline functions and methods (like "C++: function call" methods)\r
+\r
+\r
+#endif\r
--- /dev/null
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#include <NMTDS_ListIteratorOfListOfPairBoolean.hxx>\r
+\r
+#ifndef _Standard_NoMoreObject_HeaderFile\r
+#include <Standard_NoMoreObject.hxx>\r
+#endif\r
+#ifndef _Standard_NoSuchObject_HeaderFile\r
+#include <Standard_NoSuchObject.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListOfPairBoolean_HeaderFile\r
+#include <NMTDS_ListOfPairBoolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_PairBoolean_HeaderFile\r
+#include <NMTDS_PairBoolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListNodeOfListOfPairBoolean_HeaderFile\r
+#include <NMTDS_ListNodeOfListOfPairBoolean.hxx>\r
+#endif\r
+ \r
+\r
+#define Item NMTDS_PairBoolean\r
+#define Item_hxx <NMTDS_PairBoolean.hxx>\r
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPairBoolean\r
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPairBoolean.hxx>\r
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPairBoolean\r
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPairBoolean.hxx>\r
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPairBoolean\r
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPairBoolean_Type_()\r
+#define TCollection_List NMTDS_ListOfPairBoolean\r
+#define TCollection_List_hxx <NMTDS_ListOfPairBoolean.hxx>\r
+#include <TCollection_ListIterator.gxx>\r
+\r
--- /dev/null
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#include <NMTDS_ListIteratorOfListOfPair.hxx>\r
+\r
+#ifndef _Standard_NoMoreObject_HeaderFile\r
+#include <Standard_NoMoreObject.hxx>\r
+#endif\r
+#ifndef _Standard_NoSuchObject_HeaderFile\r
+#include <Standard_NoSuchObject.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListOfPair_HeaderFile\r
+#include <NMTDS_ListOfPair.hxx>\r
+#endif\r
+#ifndef _NMTDS_Pair_HeaderFile\r
+#include <NMTDS_Pair.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListNodeOfListOfPair_HeaderFile\r
+#include <NMTDS_ListNodeOfListOfPair.hxx>\r
+#endif\r
+ \r
+\r
+#define Item NMTDS_Pair\r
+#define Item_hxx <NMTDS_Pair.hxx>\r
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPair\r
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPair.hxx>\r
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPair\r
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPair.hxx>\r
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPair\r
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPair_Type_()\r
+#define TCollection_List NMTDS_ListOfPair\r
+#define TCollection_List_hxx <NMTDS_ListOfPair.hxx>\r
+#include <TCollection_ListIterator.gxx>\r
+\r
--- /dev/null
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_ListNodeOfListOfPair_HeaderFile\r
+#define _NMTDS_ListNodeOfListOfPair_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_DefineHandle_HeaderFile\r
+#include <Standard_DefineHandle.hxx>\r
+#endif\r
+#ifndef _Handle_NMTDS_ListNodeOfListOfPair_HeaderFile\r
+#include <Handle_NMTDS_ListNodeOfListOfPair.hxx>\r
+#endif\r
+\r
+#ifndef _NMTDS_Pair_HeaderFile\r
+#include <NMTDS_Pair.hxx>\r
+#endif\r
+#ifndef _TCollection_MapNode_HeaderFile\r
+#include <TCollection_MapNode.hxx>\r
+#endif\r
+#ifndef _TCollection_MapNodePtr_HeaderFile\r
+#include <TCollection_MapNodePtr.hxx>\r
+#endif\r
+class NMTDS_Pair;\r
+class NMTDS_ListOfPair;\r
+class NMTDS_ListIteratorOfListOfPair;\r
+\r
+\r
+\r
+class NMTDS_ListNodeOfListOfPair : public TCollection_MapNode {\r
+\r
+public:\r
+\r
+ \r
+ NMTDS_ListNodeOfListOfPair(const NMTDS_Pair& I,const TCollection_MapNodePtr& n);\r
+ \r
+ NMTDS_Pair& Value() const;\r
+\r
+\r
+\r
+\r
+ DEFINE_STANDARD_RTTI(NMTDS_ListNodeOfListOfPair)\r
+\r
+protected:\r
+\r
+\r
+\r
+\r
+private: \r
+\r
+\r
+NMTDS_Pair myValue;\r
+\r
+\r
+};\r
+\r
+#define Item NMTDS_Pair\r
+#define Item_hxx <NMTDS_Pair.hxx>\r
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPair\r
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPair.hxx>\r
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPair\r
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPair.hxx>\r
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPair\r
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPair_Type_()\r
+#define TCollection_List NMTDS_ListOfPair\r
+#define TCollection_List_hxx <NMTDS_ListOfPair.hxx>\r
+\r
+#include <TCollection_ListNode.lxx>\r
+\r
+#undef Item\r
+#undef Item_hxx\r
+#undef TCollection_ListNode\r
+#undef TCollection_ListNode_hxx\r
+#undef TCollection_ListIterator\r
+#undef TCollection_ListIterator_hxx\r
+#undef Handle_TCollection_ListNode\r
+#undef TCollection_ListNode_Type_\r
+#undef TCollection_List\r
+#undef TCollection_List_hxx\r
+\r
+\r
+// other Inline functions and methods (like "C++: function call" methods)\r
+\r
+\r
+#endif\r
--- /dev/null
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_ListNodeOfListOfPairBoolean_HeaderFile\r
+#define _NMTDS_ListNodeOfListOfPairBoolean_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_DefineHandle_HeaderFile\r
+#include <Standard_DefineHandle.hxx>\r
+#endif\r
+#ifndef _Handle_NMTDS_ListNodeOfListOfPairBoolean_HeaderFile\r
+#include <Handle_NMTDS_ListNodeOfListOfPairBoolean.hxx>\r
+#endif\r
+\r
+#ifndef _NMTDS_PairBoolean_HeaderFile\r
+#include <NMTDS_PairBoolean.hxx>\r
+#endif\r
+#ifndef _TCollection_MapNode_HeaderFile\r
+#include <TCollection_MapNode.hxx>\r
+#endif\r
+#ifndef _TCollection_MapNodePtr_HeaderFile\r
+#include <TCollection_MapNodePtr.hxx>\r
+#endif\r
+class NMTDS_PairBoolean;\r
+class NMTDS_ListOfPairBoolean;\r
+class NMTDS_ListIteratorOfListOfPairBoolean;\r
+\r
+\r
+\r
+class NMTDS_ListNodeOfListOfPairBoolean : public TCollection_MapNode {\r
+\r
+public:\r
+\r
+ \r
+ NMTDS_ListNodeOfListOfPairBoolean(const NMTDS_PairBoolean& I,const TCollection_MapNodePtr& n);\r
+ \r
+ NMTDS_PairBoolean& Value() const;\r
+\r
+\r
+\r
+\r
+ DEFINE_STANDARD_RTTI(NMTDS_ListNodeOfListOfPairBoolean)\r
+\r
+protected:\r
+\r
+\r
+\r
+\r
+private: \r
+\r
+\r
+NMTDS_PairBoolean myValue;\r
+\r
+\r
+};\r
+\r
+#define Item NMTDS_PairBoolean\r
+#define Item_hxx <NMTDS_PairBoolean.hxx>\r
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPairBoolean\r
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPairBoolean.hxx>\r
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPairBoolean\r
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPairBoolean.hxx>\r
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPairBoolean\r
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPairBoolean_Type_()\r
+#define TCollection_List NMTDS_ListOfPairBoolean\r
+#define TCollection_List_hxx <NMTDS_ListOfPairBoolean.hxx>\r
+\r
+#include <TCollection_ListNode.lxx>\r
+\r
+#undef Item\r
+#undef Item_hxx\r
+#undef TCollection_ListNode\r
+#undef TCollection_ListNode_hxx\r
+#undef TCollection_ListIterator\r
+#undef TCollection_ListIterator_hxx\r
+#undef Handle_TCollection_ListNode\r
+#undef TCollection_ListNode_Type_\r
+#undef TCollection_List\r
+#undef TCollection_List_hxx\r
+\r
+\r
+// other Inline functions and methods (like "C++: function call" methods)\r
+\r
+\r
+#endif\r
--- /dev/null
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#include <NMTDS_ListNodeOfListOfPairBoolean.hxx>\r
+\r
+#ifndef _Standard_Type_HeaderFile\r
+#include <Standard_Type.hxx>\r
+#endif\r
+\r
+#ifndef _NMTDS_PairBoolean_HeaderFile\r
+#include <NMTDS_PairBoolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListOfPairBoolean_HeaderFile\r
+#include <NMTDS_ListOfPairBoolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListIteratorOfListOfPairBoolean_HeaderFile\r
+#include <NMTDS_ListIteratorOfListOfPairBoolean.hxx>\r
+#endif\r
+\r
+ \r
+\r
+\r
+IMPLEMENT_STANDARD_TYPE(NMTDS_ListNodeOfListOfPairBoolean)\r
+IMPLEMENT_STANDARD_SUPERTYPE_ARRAY()\r
+ STANDARD_TYPE(TCollection_MapNode),\r
+ STANDARD_TYPE(MMgt_TShared),\r
+ STANDARD_TYPE(Standard_Transient),\r
+\r
+IMPLEMENT_STANDARD_SUPERTYPE_ARRAY_END()\r
+IMPLEMENT_STANDARD_TYPE_END(NMTDS_ListNodeOfListOfPairBoolean)\r
+\r
+\r
+IMPLEMENT_DOWNCAST(NMTDS_ListNodeOfListOfPairBoolean,Standard_Transient)\r
+IMPLEMENT_STANDARD_RTTI(NMTDS_ListNodeOfListOfPairBoolean)\r
+\r
+\r
+#define Item NMTDS_PairBoolean\r
+#define Item_hxx <NMTDS_PairBoolean.hxx>\r
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPairBoolean\r
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPairBoolean.hxx>\r
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPairBoolean\r
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPairBoolean.hxx>\r
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPairBoolean\r
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPairBoolean_Type_()\r
+#define TCollection_List NMTDS_ListOfPairBoolean\r
+#define TCollection_List_hxx <NMTDS_ListOfPairBoolean.hxx>\r
+#include <TCollection_ListNode.gxx>\r
+\r
--- /dev/null
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#include <NMTDS_ListNodeOfListOfPair.hxx>\r
+\r
+#ifndef _Standard_Type_HeaderFile\r
+#include <Standard_Type.hxx>\r
+#endif\r
+\r
+#ifndef _NMTDS_Pair_HeaderFile\r
+#include <NMTDS_Pair.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListOfPair_HeaderFile\r
+#include <NMTDS_ListOfPair.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListIteratorOfListOfPair_HeaderFile\r
+#include <NMTDS_ListIteratorOfListOfPair.hxx>\r
+#endif\r
+\r
+ \r
+\r
+\r
+IMPLEMENT_STANDARD_TYPE(NMTDS_ListNodeOfListOfPair)\r
+IMPLEMENT_STANDARD_SUPERTYPE_ARRAY()\r
+ STANDARD_TYPE(TCollection_MapNode),\r
+ STANDARD_TYPE(MMgt_TShared),\r
+ STANDARD_TYPE(Standard_Transient),\r
+\r
+IMPLEMENT_STANDARD_SUPERTYPE_ARRAY_END()\r
+IMPLEMENT_STANDARD_TYPE_END(NMTDS_ListNodeOfListOfPair)\r
+\r
+\r
+IMPLEMENT_DOWNCAST(NMTDS_ListNodeOfListOfPair,Standard_Transient)\r
+IMPLEMENT_STANDARD_RTTI(NMTDS_ListNodeOfListOfPair)\r
+\r
+\r
+#define Item NMTDS_Pair\r
+#define Item_hxx <NMTDS_Pair.hxx>\r
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPair\r
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPair.hxx>\r
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPair\r
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPair.hxx>\r
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPair\r
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPair_Type_()\r
+#define TCollection_List NMTDS_ListOfPair\r
+#define TCollection_List_hxx <NMTDS_ListOfPair.hxx>\r
+#include <TCollection_ListNode.gxx>\r
+\r
--- /dev/null
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_ListOfPair_HeaderFile\r
+#define _NMTDS_ListOfPair_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_Macro_HeaderFile\r
+#include <Standard_Macro.hxx>\r
+#endif\r
+\r
+#ifndef _Standard_Address_HeaderFile\r
+#include <Standard_Address.hxx>\r
+#endif\r
+#ifndef _Handle_NMTDS_ListNodeOfListOfPair_HeaderFile\r
+#include <Handle_NMTDS_ListNodeOfListOfPair.hxx>\r
+#endif\r
+#ifndef _Standard_Integer_HeaderFile\r
+#include <Standard_Integer.hxx>\r
+#endif\r
+#ifndef _Standard_Boolean_HeaderFile\r
+#include <Standard_Boolean.hxx>\r
+#endif\r
+class Standard_NoSuchObject;\r
+class NMTDS_ListIteratorOfListOfPair;\r
+class NMTDS_Pair;\r
+class NMTDS_ListNodeOfListOfPair;\r
+\r
+\r
+\r
+class NMTDS_ListOfPair {\r
+public:\r
+\r
+ void* operator new(size_t,void* anAddress) \r
+ {\r
+ return anAddress;\r
+ }\r
+ void* operator new(size_t size) \r
+ {\r
+ return Standard::Allocate(size); \r
+ }\r
+ void operator delete(void *anAddress) \r
+ {\r
+ if (anAddress) Standard::Free((Standard_Address&)anAddress); \r
+ }\r
+\r
+ \r
+ Standard_EXPORT NMTDS_ListOfPair();\r
+ \r
+ Standard_EXPORT void Assign(const NMTDS_ListOfPair& Other) ;\r
+ void operator=(const NMTDS_ListOfPair& Other) \r
+{\r
+ Assign(Other);\r
+}\r
+ \r
+ Standard_EXPORT Standard_Integer Extent() const;\r
+ \r
+ Standard_EXPORT void Clear() ;\r
+~NMTDS_ListOfPair()\r
+{\r
+ Clear();\r
+}\r
+ \r
+ Standard_Boolean IsEmpty() const;\r
+ \r
+ Standard_EXPORT void Prepend(const NMTDS_Pair& I) ;\r
+ \r
+ Standard_EXPORT void Prepend(const NMTDS_Pair& I,NMTDS_ListIteratorOfListOfPair& theIt) ;\r
+ \r
+ Standard_EXPORT void Prepend(NMTDS_ListOfPair& Other) ;\r
+ \r
+ Standard_EXPORT void Append(const NMTDS_Pair& I) ;\r
+ \r
+ Standard_EXPORT void Append(const NMTDS_Pair& I,NMTDS_ListIteratorOfListOfPair& theIt) ;\r
+ \r
+ Standard_EXPORT void Append(NMTDS_ListOfPair& Other) ;\r
+ \r
+ Standard_EXPORT NMTDS_Pair& First() const;\r
+ \r
+ Standard_EXPORT NMTDS_Pair& Last() const;\r
+ \r
+ Standard_EXPORT void RemoveFirst() ;\r
+ \r
+ Standard_EXPORT void Remove(NMTDS_ListIteratorOfListOfPair& It) ;\r
+ \r
+ Standard_EXPORT void InsertBefore(const NMTDS_Pair& I,NMTDS_ListIteratorOfListOfPair& It) ;\r
+ \r
+ Standard_EXPORT void InsertBefore(NMTDS_ListOfPair& Other,NMTDS_ListIteratorOfListOfPair& It) ;\r
+ \r
+ Standard_EXPORT void InsertAfter(const NMTDS_Pair& I,NMTDS_ListIteratorOfListOfPair& It) ;\r
+ \r
+ Standard_EXPORT void InsertAfter(NMTDS_ListOfPair& Other,NMTDS_ListIteratorOfListOfPair& It) ;\r
+\r
+\r
+friend class NMTDS_ListIteratorOfListOfPair;\r
+\r
+\r
+\r
+protected:\r
+\r
+\r
+\r
+\r
+\r
+private:\r
+\r
+ \r
+ Standard_EXPORT NMTDS_ListOfPair(const NMTDS_ListOfPair& Other);\r
+\r
+\r
+Standard_Address myFirst;\r
+Standard_Address myLast;\r
+\r
+\r
+};\r
+\r
+#define Item NMTDS_Pair\r
+#define Item_hxx <NMTDS_Pair.hxx>\r
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPair\r
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPair.hxx>\r
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPair\r
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPair.hxx>\r
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPair\r
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPair_Type_()\r
+#define TCollection_List NMTDS_ListOfPair\r
+#define TCollection_List_hxx <NMTDS_ListOfPair.hxx>\r
+\r
+#include <TCollection_List.lxx>\r
+\r
+#undef Item\r
+#undef Item_hxx\r
+#undef TCollection_ListNode\r
+#undef TCollection_ListNode_hxx\r
+#undef TCollection_ListIterator\r
+#undef TCollection_ListIterator_hxx\r
+#undef Handle_TCollection_ListNode\r
+#undef TCollection_ListNode_Type_\r
+#undef TCollection_List\r
+#undef TCollection_List_hxx\r
+\r
+\r
+// other Inline functions and methods (like "C++: function call" methods)\r
+\r
+\r
+#endif\r
--- /dev/null
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_ListOfPairBoolean_HeaderFile\r
+#define _NMTDS_ListOfPairBoolean_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_Macro_HeaderFile\r
+#include <Standard_Macro.hxx>\r
+#endif\r
+\r
+#ifndef _Standard_Address_HeaderFile\r
+#include <Standard_Address.hxx>\r
+#endif\r
+#ifndef _Handle_NMTDS_ListNodeOfListOfPairBoolean_HeaderFile\r
+#include <Handle_NMTDS_ListNodeOfListOfPairBoolean.hxx>\r
+#endif\r
+#ifndef _Standard_Integer_HeaderFile\r
+#include <Standard_Integer.hxx>\r
+#endif\r
+#ifndef _Standard_Boolean_HeaderFile\r
+#include <Standard_Boolean.hxx>\r
+#endif\r
+class Standard_NoSuchObject;\r
+class NMTDS_ListIteratorOfListOfPairBoolean;\r
+class NMTDS_PairBoolean;\r
+class NMTDS_ListNodeOfListOfPairBoolean;\r
+\r
+\r
+\r
+class NMTDS_ListOfPairBoolean {\r
+public:\r
+\r
+ void* operator new(size_t,void* anAddress) \r
+ {\r
+ return anAddress;\r
+ }\r
+ void* operator new(size_t size) \r
+ {\r
+ return Standard::Allocate(size); \r
+ }\r
+ void operator delete(void *anAddress) \r
+ {\r
+ if (anAddress) Standard::Free((Standard_Address&)anAddress); \r
+ }\r
+\r
+ \r
+ Standard_EXPORT NMTDS_ListOfPairBoolean();\r
+ \r
+ Standard_EXPORT void Assign(const NMTDS_ListOfPairBoolean& Other) ;\r
+ void operator=(const NMTDS_ListOfPairBoolean& Other) \r
+{\r
+ Assign(Other);\r
+}\r
+ \r
+ Standard_EXPORT Standard_Integer Extent() const;\r
+ \r
+ Standard_EXPORT void Clear() ;\r
+~NMTDS_ListOfPairBoolean()\r
+{\r
+ Clear();\r
+}\r
+ \r
+ Standard_Boolean IsEmpty() const;\r
+ \r
+ Standard_EXPORT void Prepend(const NMTDS_PairBoolean& I) ;\r
+ \r
+ Standard_EXPORT void Prepend(const NMTDS_PairBoolean& I,NMTDS_ListIteratorOfListOfPairBoolean& theIt) ;\r
+ \r
+ Standard_EXPORT void Prepend(NMTDS_ListOfPairBoolean& Other) ;\r
+ \r
+ Standard_EXPORT void Append(const NMTDS_PairBoolean& I) ;\r
+ \r
+ Standard_EXPORT void Append(const NMTDS_PairBoolean& I,NMTDS_ListIteratorOfListOfPairBoolean& theIt) ;\r
+ \r
+ Standard_EXPORT void Append(NMTDS_ListOfPairBoolean& Other) ;\r
+ \r
+ Standard_EXPORT NMTDS_PairBoolean& First() const;\r
+ \r
+ Standard_EXPORT NMTDS_PairBoolean& Last() const;\r
+ \r
+ Standard_EXPORT void RemoveFirst() ;\r
+ \r
+ Standard_EXPORT void Remove(NMTDS_ListIteratorOfListOfPairBoolean& It) ;\r
+ \r
+ Standard_EXPORT void InsertBefore(const NMTDS_PairBoolean& I,NMTDS_ListIteratorOfListOfPairBoolean& It) ;\r
+ \r
+ Standard_EXPORT void InsertBefore(NMTDS_ListOfPairBoolean& Other,NMTDS_ListIteratorOfListOfPairBoolean& It) ;\r
+ \r
+ Standard_EXPORT void InsertAfter(const NMTDS_PairBoolean& I,NMTDS_ListIteratorOfListOfPairBoolean& It) ;\r
+ \r
+ Standard_EXPORT void InsertAfter(NMTDS_ListOfPairBoolean& Other,NMTDS_ListIteratorOfListOfPairBoolean& It) ;\r
+\r
+\r
+friend class NMTDS_ListIteratorOfListOfPairBoolean;\r
+\r
+\r
+\r
+protected:\r
+\r
+\r
+\r
+\r
+\r
+private:\r
+\r
+ \r
+ Standard_EXPORT NMTDS_ListOfPairBoolean(const NMTDS_ListOfPairBoolean& Other);\r
+\r
+\r
+Standard_Address myFirst;\r
+Standard_Address myLast;\r
+\r
+\r
+};\r
+\r
+#define Item NMTDS_PairBoolean\r
+#define Item_hxx <NMTDS_PairBoolean.hxx>\r
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPairBoolean\r
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPairBoolean.hxx>\r
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPairBoolean\r
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPairBoolean.hxx>\r
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPairBoolean\r
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPairBoolean_Type_()\r
+#define TCollection_List NMTDS_ListOfPairBoolean\r
+#define TCollection_List_hxx <NMTDS_ListOfPairBoolean.hxx>\r
+\r
+#include <TCollection_List.lxx>\r
+\r
+#undef Item\r
+#undef Item_hxx\r
+#undef TCollection_ListNode\r
+#undef TCollection_ListNode_hxx\r
+#undef TCollection_ListIterator\r
+#undef TCollection_ListIterator_hxx\r
+#undef Handle_TCollection_ListNode\r
+#undef TCollection_ListNode_Type_\r
+#undef TCollection_List\r
+#undef TCollection_List_hxx\r
+\r
+\r
+// other Inline functions and methods (like "C++: function call" methods)\r
+\r
+\r
+#endif\r
--- /dev/null
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#include <NMTDS_ListOfPairBoolean.hxx>\r
+\r
+#ifndef _Standard_NoSuchObject_HeaderFile\r
+#include <Standard_NoSuchObject.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListIteratorOfListOfPairBoolean_HeaderFile\r
+#include <NMTDS_ListIteratorOfListOfPairBoolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_PairBoolean_HeaderFile\r
+#include <NMTDS_PairBoolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListNodeOfListOfPairBoolean_HeaderFile\r
+#include <NMTDS_ListNodeOfListOfPairBoolean.hxx>\r
+#endif\r
+ \r
+\r
+#define Item NMTDS_PairBoolean\r
+#define Item_hxx <NMTDS_PairBoolean.hxx>\r
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPairBoolean\r
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPairBoolean.hxx>\r
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPairBoolean\r
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPairBoolean.hxx>\r
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPairBoolean\r
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPairBoolean_Type_()\r
+#define TCollection_List NMTDS_ListOfPairBoolean\r
+#define TCollection_List_hxx <NMTDS_ListOfPairBoolean.hxx>\r
+#include <TCollection_List.gxx>\r
+\r
--- /dev/null
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#include <NMTDS_ListOfPair.hxx>\r
+\r
+#ifndef _Standard_NoSuchObject_HeaderFile\r
+#include <Standard_NoSuchObject.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListIteratorOfListOfPair_HeaderFile\r
+#include <NMTDS_ListIteratorOfListOfPair.hxx>\r
+#endif\r
+#ifndef _NMTDS_Pair_HeaderFile\r
+#include <NMTDS_Pair.hxx>\r
+#endif\r
+#ifndef _NMTDS_ListNodeOfListOfPair_HeaderFile\r
+#include <NMTDS_ListNodeOfListOfPair.hxx>\r
+#endif\r
+ \r
+\r
+#define Item NMTDS_Pair\r
+#define Item_hxx <NMTDS_Pair.hxx>\r
+#define TCollection_ListNode NMTDS_ListNodeOfListOfPair\r
+#define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPair.hxx>\r
+#define TCollection_ListIterator NMTDS_ListIteratorOfListOfPair\r
+#define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPair.hxx>\r
+#define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPair\r
+#define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPair_Type_()\r
+#define TCollection_List NMTDS_ListOfPair\r
+#define TCollection_List_hxx <NMTDS_ListOfPair.hxx>\r
+#include <TCollection_List.gxx>\r
+\r
--- /dev/null
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_MapIteratorOfMapOfPairBoolean_HeaderFile\r
+#define _NMTDS_MapIteratorOfMapOfPairBoolean_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_Macro_HeaderFile\r
+#include <Standard_Macro.hxx>\r
+#endif\r
+\r
+#ifndef _TCollection_BasicMapIterator_HeaderFile\r
+#include <TCollection_BasicMapIterator.hxx>\r
+#endif\r
+#ifndef _Handle_NMTDS_StdMapNodeOfMapOfPairBoolean_HeaderFile\r
+#include <Handle_NMTDS_StdMapNodeOfMapOfPairBoolean.hxx>\r
+#endif\r
+class Standard_NoSuchObject;\r
+class NMTDS_PairBoolean;\r
+class NMTDS_PairMapHasher;\r
+class NMTDS_MapOfPairBoolean;\r
+class NMTDS_StdMapNodeOfMapOfPairBoolean;\r
+\r
+\r
+\r
+class NMTDS_MapIteratorOfMapOfPairBoolean : public TCollection_BasicMapIterator {\r
+public:\r
+\r
+ void* operator new(size_t,void* anAddress) \r
+ {\r
+ return anAddress;\r
+ }\r
+ void* operator new(size_t size) \r
+ {\r
+ return Standard::Allocate(size); \r
+ }\r
+ void operator delete(void *anAddress) \r
+ {\r
+ if (anAddress) Standard::Free((Standard_Address&)anAddress); \r
+ }\r
+\r
+ \r
+ Standard_EXPORT NMTDS_MapIteratorOfMapOfPairBoolean();\r
+ \r
+ Standard_EXPORT NMTDS_MapIteratorOfMapOfPairBoolean(const NMTDS_MapOfPairBoolean& aMap);\r
+ \r
+ Standard_EXPORT void Initialize(const NMTDS_MapOfPairBoolean& aMap) ;\r
+ \r
+ Standard_EXPORT const NMTDS_PairBoolean& Key() const;\r
+\r
+\r
+\r
+\r
+\r
+protected:\r
+\r
+\r
+\r
+\r
+\r
+private:\r
+\r
+\r
+\r
+\r
+\r
+};\r
+\r
+\r
+\r
+\r
+\r
+// other Inline functions and methods (like "C++: function call" methods)\r
+\r
+\r
+#endif\r
--- /dev/null
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#include <NMTDS_MapIteratorOfMapOfPairBoolean.hxx>\r
+\r
+#ifndef _Standard_NoSuchObject_HeaderFile\r
+#include <Standard_NoSuchObject.hxx>\r
+#endif\r
+#ifndef _NMTDS_PairBoolean_HeaderFile\r
+#include <NMTDS_PairBoolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_PairMapHasher_HeaderFile\r
+#include <NMTDS_PairMapHasher.hxx>\r
+#endif\r
+#ifndef _NMTDS_MapOfPairBoolean_HeaderFile\r
+#include <NMTDS_MapOfPairBoolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_StdMapNodeOfMapOfPairBoolean_HeaderFile\r
+#include <NMTDS_StdMapNodeOfMapOfPairBoolean.hxx>\r
+#endif\r
+ \r
+\r
+#define TheKey NMTDS_PairBoolean\r
+#define TheKey_hxx <NMTDS_PairBoolean.hxx>\r
+#define Hasher NMTDS_PairMapHasher\r
+#define Hasher_hxx <NMTDS_PairMapHasher.hxx>\r
+#define TCollection_StdMapNode NMTDS_StdMapNodeOfMapOfPairBoolean\r
+#define TCollection_StdMapNode_hxx <NMTDS_StdMapNodeOfMapOfPairBoolean.hxx>\r
+#define TCollection_MapIterator NMTDS_MapIteratorOfMapOfPairBoolean\r
+#define TCollection_MapIterator_hxx <NMTDS_MapIteratorOfMapOfPairBoolean.hxx>\r
+#define Handle_TCollection_StdMapNode Handle_NMTDS_StdMapNodeOfMapOfPairBoolean\r
+#define TCollection_StdMapNode_Type_() NMTDS_StdMapNodeOfMapOfPairBoolean_Type_()\r
+#define TCollection_Map NMTDS_MapOfPairBoolean\r
+#define TCollection_Map_hxx <NMTDS_MapOfPairBoolean.hxx>\r
+#include <TCollection_MapIterator.gxx>\r
+\r
--- /dev/null
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_MapOfPairBoolean_HeaderFile\r
+#define _NMTDS_MapOfPairBoolean_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_Macro_HeaderFile\r
+#include <Standard_Macro.hxx>\r
+#endif\r
+\r
+#ifndef _TCollection_BasicMap_HeaderFile\r
+#include <TCollection_BasicMap.hxx>\r
+#endif\r
+#ifndef _Handle_NMTDS_StdMapNodeOfMapOfPairBoolean_HeaderFile\r
+#include <Handle_NMTDS_StdMapNodeOfMapOfPairBoolean.hxx>\r
+#endif\r
+#ifndef _Standard_Integer_HeaderFile\r
+#include <Standard_Integer.hxx>\r
+#endif\r
+#ifndef _Standard_Boolean_HeaderFile\r
+#include <Standard_Boolean.hxx>\r
+#endif\r
+class Standard_DomainError;\r
+class NMTDS_PairBoolean;\r
+class NMTDS_PairMapHasher;\r
+class NMTDS_StdMapNodeOfMapOfPairBoolean;\r
+class NMTDS_MapIteratorOfMapOfPairBoolean;\r
+\r
+\r
+\r
+class NMTDS_MapOfPairBoolean : public TCollection_BasicMap {\r
+public:\r
+\r
+ void* operator new(size_t,void* anAddress) \r
+ {\r
+ return anAddress;\r
+ }\r
+ void* operator new(size_t size) \r
+ {\r
+ return Standard::Allocate(size); \r
+ }\r
+ void operator delete(void *anAddress) \r
+ {\r
+ if (anAddress) Standard::Free((Standard_Address&)anAddress); \r
+ }\r
+\r
+ \r
+ Standard_EXPORT NMTDS_MapOfPairBoolean(const Standard_Integer NbBuckets = 1);\r
+ \r
+ Standard_EXPORT NMTDS_MapOfPairBoolean& Assign(const NMTDS_MapOfPairBoolean& Other) ;\r
+ NMTDS_MapOfPairBoolean& operator =(const NMTDS_MapOfPairBoolean& Other) \r
+{\r
+ return Assign(Other);\r
+}\r
+ \r
+ Standard_EXPORT void ReSize(const Standard_Integer NbBuckets) ;\r
+ \r
+ Standard_EXPORT void Clear() ;\r
+~NMTDS_MapOfPairBoolean()\r
+{\r
+ Clear();\r
+}\r
+ \r
+ Standard_EXPORT Standard_Boolean Add(const NMTDS_PairBoolean& aKey) ;\r
+ \r
+ Standard_EXPORT Standard_Boolean Contains(const NMTDS_PairBoolean& aKey) const;\r
+ \r
+ Standard_EXPORT Standard_Boolean Remove(const NMTDS_PairBoolean& aKey) ;\r
+\r
+\r
+\r
+\r
+\r
+protected:\r
+\r
+\r
+\r
+\r
+\r
+private:\r
+\r
+ \r
+ Standard_EXPORT NMTDS_MapOfPairBoolean(const NMTDS_MapOfPairBoolean& Other);\r
+\r
+\r
+\r
+\r
+};\r
+\r
+\r
+\r
+\r
+\r
+// other Inline functions and methods (like "C++: function call" methods)\r
+\r
+\r
+#endif\r
--- /dev/null
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#include <NMTDS_MapOfPairBoolean.hxx>\r
+\r
+#ifndef _Standard_DomainError_HeaderFile\r
+#include <Standard_DomainError.hxx>\r
+#endif\r
+#ifndef _NMTDS_PairBoolean_HeaderFile\r
+#include <NMTDS_PairBoolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_PairMapHasher_HeaderFile\r
+#include <NMTDS_PairMapHasher.hxx>\r
+#endif\r
+#ifndef _NMTDS_StdMapNodeOfMapOfPairBoolean_HeaderFile\r
+#include <NMTDS_StdMapNodeOfMapOfPairBoolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_MapIteratorOfMapOfPairBoolean_HeaderFile\r
+#include <NMTDS_MapIteratorOfMapOfPairBoolean.hxx>\r
+#endif\r
+ \r
+\r
+#define TheKey NMTDS_PairBoolean\r
+#define TheKey_hxx <NMTDS_PairBoolean.hxx>\r
+#define Hasher NMTDS_PairMapHasher\r
+#define Hasher_hxx <NMTDS_PairMapHasher.hxx>\r
+#define TCollection_StdMapNode NMTDS_StdMapNodeOfMapOfPairBoolean\r
+#define TCollection_StdMapNode_hxx <NMTDS_StdMapNodeOfMapOfPairBoolean.hxx>\r
+#define TCollection_MapIterator NMTDS_MapIteratorOfMapOfPairBoolean\r
+#define TCollection_MapIterator_hxx <NMTDS_MapIteratorOfMapOfPairBoolean.hxx>\r
+#define Handle_TCollection_StdMapNode Handle_NMTDS_StdMapNodeOfMapOfPairBoolean\r
+#define TCollection_StdMapNode_Type_() NMTDS_StdMapNodeOfMapOfPairBoolean_Type_()\r
+#define TCollection_Map NMTDS_MapOfPairBoolean\r
+#define TCollection_Map_hxx <NMTDS_MapOfPairBoolean.hxx>\r
+#include <TCollection_Map.gxx>\r
+\r
--- /dev/null
+-- Copyright (C) 2007-2011 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
+--
+-- 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.
+--
+-- This library is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+-- Lesser General Public License for more details.
+--
+-- You should have received a copy of the GNU Lesser General Public
+-- License along with this library; if not, write to the Free Software
+-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+--
+-- See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+--
+
+-- File: NMTDS_Pair.cdl
+-- Created:
+-- Author: Peter KURNEV
+--
+class Pair from NMTDS
+
+ ---Purpose:
+
+--uses
+--raises
+
+is
+ Create
+ returns Pair from NMTDS;
+ ---C++: alias "Standard_EXPORT virtual ~NMTDS_Pair();"
+
+ Create(Other:Pair from NMTDS)
+ returns Pair from NMTDS;
+ ---C++: alias "Standard_EXPORT NMTDS_Pair& operator =(const NMTDS_Pair& Other);"
+
+ Clear(me:out);
+
+ SetIds(me:out;
+ aI1 :Integer from Standard;
+ aI2 :Integer from Standard);
+
+ Ids(me;
+ aI1 :out Integer from Standard;
+ aI2 :out Integer from Standard);
+
+ IsEqual(me;
+ aOther:Pair from NMTDS)
+ returns Boolean from Standard;
+
+ HashCode(me;
+ Upper : Integer from Standard)
+ returns Integer from Standard;
+
+
+fields
+ myId1: Integer from Standard is protected;
+ myId2: Integer from Standard is protected;
+
+end Pair;
--- /dev/null
+// Copyright (C) 2007-2011 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
+//
+// 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.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+// File: NMTDS_Pair.cxx
+// Author: Peter KURNEV
+
+#include <NMTDS_Pair.ixx>
+
+#include <stdio.h>
+#include <string.h>
+#include <TColStd_ListIteratorOfListOfInteger.hxx>
+#include <TColStd_ListOfInteger.hxx>
+
+#ifdef WNT
+#pragma warning( disable : 4101)
+#endif
+
+static
+ Standard_Integer NormalizedId(const Standard_Integer aId,
+ const Standard_Integer aDiv);
+
+//=======================================================================
+//function :
+//purpose :
+//=======================================================================
+NMTDS_Pair::NMTDS_Pair()
+{
+ Clear();
+}
+//=======================================================================
+//function :
+//purpose :
+//=======================================================================
+NMTDS_Pair::NMTDS_Pair(const NMTDS_Pair& aOther)
+{
+ myId1=aOther.myId1;
+ myId2=aOther.myId2;
+}
+//=======================================================================
+//function :operator =
+//purpose :
+//=======================================================================
+ NMTDS_Pair& NMTDS_Pair::operator =(const NMTDS_Pair& aOther)
+{
+ myId1=aOther.myId1;
+ myId2=aOther.myId2;
+ return *this;
+}
+//=======================================================================
+//function :~
+//purpose :
+//=======================================================================
+ NMTDS_Pair::~NMTDS_Pair()
+{
+}
+//=======================================================================
+//function :Clear
+//purpose :
+//=======================================================================
+ void NMTDS_Pair::Clear()
+{
+ myId1=0;
+ myId2=0;
+}
+//=======================================================================
+//function :SetIds
+//purpose :
+//=======================================================================
+ void NMTDS_Pair::SetIds(const Standard_Integer aId1,
+ const Standard_Integer aId2)
+{
+ Clear();
+ myId1=aId1;
+ myId2=aId2;
+ if (aId1>aId2) {
+ myId1=aId2;
+ myId2=aId1;
+ }
+}
+//=======================================================================
+//function :Ids
+//purpose :
+//=======================================================================
+ void NMTDS_Pair::Ids(Standard_Integer& aId1,
+ Standard_Integer& aId2) const
+{
+ aId1=myId1;
+ aId2=myId2;
+}
+//=======================================================================
+//function :IsEqual
+//purpose :
+//=======================================================================
+ Standard_Boolean NMTDS_Pair::IsEqual(const NMTDS_Pair& aOther) const
+{
+
+ Standard_Boolean bRet;
+ //
+ bRet=(myId1==aOther.myId1 && myId2==aOther.myId2);//ZZ
+ return bRet;
+}
+//=======================================================================
+//function : HashCode
+//purpose :
+//=======================================================================
+ Standard_Integer NMTDS_Pair::HashCode(const Standard_Integer aUpper) const
+{
+ Standard_Integer aSum;
+ //
+ aSum=0;
+ aSum+=NormalizedId(myId1, 2);
+ aSum+=NormalizedId(myId2, 2);
+ return ::HashCode(aSum, aUpper);
+}
+//=======================================================================
+// function: NormalizedId
+// purpose :
+//=======================================================================
+Standard_Integer NormalizedId(const Standard_Integer aId,
+ const Standard_Integer aDiv)
+{
+ Standard_Integer aMax, aTresh, aIdRet;
+ //
+ aIdRet=aId;
+ aMax=::IntegerLast();
+ aTresh=aMax/aDiv;
+ if (aId>aTresh) {
+ aIdRet=aId%aTresh;
+ }
+ return aIdRet;
+}
--- /dev/null
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_Pair_HeaderFile\r
+#define _NMTDS_Pair_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_Macro_HeaderFile\r
+#include <Standard_Macro.hxx>\r
+#endif\r
+\r
+#ifndef _Standard_Integer_HeaderFile\r
+#include <Standard_Integer.hxx>\r
+#endif\r
+#ifndef _Standard_Boolean_HeaderFile\r
+#include <Standard_Boolean.hxx>\r
+#endif\r
+\r
+\r
+\r
+class NMTDS_Pair {\r
+public:\r
+\r
+ void* operator new(size_t,void* anAddress) \r
+ {\r
+ return anAddress;\r
+ }\r
+ void* operator new(size_t size) \r
+ {\r
+ return Standard::Allocate(size); \r
+ }\r
+ void operator delete(void *anAddress) \r
+ {\r
+ if (anAddress) Standard::Free((Standard_Address&)anAddress); \r
+ }\r
+\r
+ \r
+ Standard_EXPORT NMTDS_Pair();\r
+Standard_EXPORT virtual ~NMTDS_Pair();\r
+ \r
+ Standard_EXPORT NMTDS_Pair(const NMTDS_Pair& Other);\r
+Standard_EXPORT NMTDS_Pair& operator =(const NMTDS_Pair& Other);\r
+ \r
+ Standard_EXPORT void Clear() ;\r
+ \r
+ Standard_EXPORT void SetIds(const Standard_Integer aI1,const Standard_Integer aI2) ;\r
+ \r
+ Standard_EXPORT void Ids(Standard_Integer& aI1,Standard_Integer& aI2) const;\r
+ \r
+ Standard_EXPORT Standard_Boolean IsEqual(const NMTDS_Pair& aOther) const;\r
+ \r
+ Standard_EXPORT Standard_Integer HashCode(const Standard_Integer Upper) const;\r
+\r
+\r
+\r
+\r
+\r
+protected:\r
+\r
+\r
+\r
+Standard_Integer myId1;\r
+Standard_Integer myId2;\r
+\r
+\r
+private:\r
+\r
+\r
+\r
+\r
+\r
+};\r
+\r
+\r
+\r
+\r
+\r
+// other Inline functions and methods (like "C++: function call" methods)\r
+\r
+\r
+#endif\r
--- /dev/null
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#include <NMTDS_Pair.jxx>\r
+\r
+ \r
+\r
+\r
--- /dev/null
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_Pair_HeaderFile\r
+#include <NMTDS_Pair.hxx>\r
+#endif\r
--- /dev/null
+-- Copyright (C) 2007-2011 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
+--
+-- 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.
+--
+-- This library is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+-- Lesser General Public License for more details.
+--
+-- You should have received a copy of the GNU Lesser General Public
+-- License along with this library; if not, write to the Free Software
+-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+--
+-- See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+-- File: NMTDS_PairBoolean.cdl
+-- Created:
+-- Author: Peter KURNEV
+
+class PairBoolean from NMTDS
+ inherits Pair from NMTDS
+
+ ---Purpose:
+
+uses
+ Shape from TopoDS,
+ ListOfInteger from TColStd
+
+--raises
+
+is
+ Create
+ returns PairBoolean from NMTDS;
+ ---C++: alias "Standard_EXPORT virtual ~NMTDS_PairBoolean();"
+
+ SetFlag(me:out;
+ aFlag: Boolean from Standard);
+ ---C++: alias " Standard_EXPORT NMTDS_PairBoolean& operator =(const NMTDS_PairBoolean& Other);"
+
+ Flag(me)
+ returns Boolean from Standard;
+
+fields
+ myFlag: Boolean from Standard is protected;
+
+end PairBoolean;
--- /dev/null
+// Copyright (C) 2007-2011 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
+//
+// 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.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+// File: NMTDS_PairBoolean.cxx
+// Author: Peter KURNEV
+
+#include <NMTDS_PairBoolean.ixx>
+
+//=======================================================================
+//function :
+//purpose :
+//=======================================================================
+ NMTDS_PairBoolean::NMTDS_PairBoolean()
+:
+ myFlag(Standard_False),
+ NMTDS_Pair()
+{
+}
+//=======================================================================
+//function : ~
+//purpose :
+//=======================================================================
+ NMTDS_PairBoolean::~NMTDS_PairBoolean()
+{
+}
+//=======================================================================
+//function :operator =
+//purpose :
+//=======================================================================
+ NMTDS_PairBoolean& NMTDS_PairBoolean::operator =(const NMTDS_PairBoolean& anOther)
+{
+ myFlag=anOther.myFlag;
+ NMTDS_Pair::operator =(anOther);
+ return *this;
+}
+//=======================================================================
+//function :SetFlag
+//purpose :
+//=======================================================================
+ void NMTDS_PairBoolean::SetFlag(const Standard_Boolean aFlag)
+{
+ myFlag=aFlag;
+}
+//=======================================================================
+//function :Flag
+//purpose :
+//=======================================================================
+ Standard_Boolean NMTDS_PairBoolean::Flag()const
+{
+ return myFlag;
+}
--- /dev/null
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_PairBoolean_HeaderFile\r
+#define _NMTDS_PairBoolean_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_Macro_HeaderFile\r
+#include <Standard_Macro.hxx>\r
+#endif\r
+\r
+#ifndef _Standard_Boolean_HeaderFile\r
+#include <Standard_Boolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_Pair_HeaderFile\r
+#include <NMTDS_Pair.hxx>\r
+#endif\r
+\r
+\r
+\r
+class NMTDS_PairBoolean : public NMTDS_Pair {\r
+public:\r
+\r
+ void* operator new(size_t,void* anAddress) \r
+ {\r
+ return anAddress;\r
+ }\r
+ void* operator new(size_t size) \r
+ {\r
+ return Standard::Allocate(size); \r
+ }\r
+ void operator delete(void *anAddress) \r
+ {\r
+ if (anAddress) Standard::Free((Standard_Address&)anAddress); \r
+ }\r
+\r
+ \r
+ Standard_EXPORT NMTDS_PairBoolean();\r
+Standard_EXPORT virtual ~NMTDS_PairBoolean();\r
+ \r
+ Standard_EXPORT void SetFlag(const Standard_Boolean aFlag) ;\r
+ Standard_EXPORT NMTDS_PairBoolean& operator =(const NMTDS_PairBoolean& Other);\r
+ \r
+ Standard_EXPORT Standard_Boolean Flag() const;\r
+\r
+\r
+\r
+\r
+\r
+protected:\r
+\r
+\r
+\r
+Standard_Boolean myFlag;\r
+\r
+\r
+private:\r
+\r
+\r
+\r
+\r
+\r
+};\r
+\r
+\r
+\r
+\r
+\r
+// other Inline functions and methods (like "C++: function call" methods)\r
+\r
+\r
+#endif\r
--- /dev/null
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#include <NMTDS_PairBoolean.jxx>\r
+\r
+ \r
+\r
+\r
--- /dev/null
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_PairBoolean_HeaderFile\r
+#include <NMTDS_PairBoolean.hxx>\r
+#endif\r
--- /dev/null
+-- Copyright (C) 2007-2011 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
+--
+-- 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.
+--
+-- This library is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+-- Lesser General Public License for more details.
+--
+-- You should have received a copy of the GNU Lesser General Public
+-- License along with this library; if not, write to the Free Software
+-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+--
+-- See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+-- File: NMTDS_PairMapHasher.cdl
+-- Author: Peter KURNEV
+
+class PairMapHasher from NMTDS
+
+ ---Purpose:
+
+uses
+ Pair from NMTDS
+
+--raises
+
+is
+ HashCode(myclass;
+ aPKey : Pair from NMTDS;
+ Upper : Integer from Standard)
+ returns Integer from Standard;
+
+
+ IsEqual(myclass;
+ aPKey1 : Pair from NMTDS;
+ aPKey2 : Pair from NMTDS)
+ returns Boolean from Standard;
+
+end PairMapHasher;
--- /dev/null
+// Copyright (C) 2007-2011 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
+//
+// 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.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+
+// File: NMTDS_PairMapHasher.cxx
+// Author: Peter KURNEV
+
+#include <NMTDS_PairMapHasher.ixx>
+
+//=======================================================================
+//function : HashCode
+//purpose :
+//=======================================================================
+Standard_Integer NMTDS_PairMapHasher::HashCode(const NMTDS_Pair& aPK,
+ const Standard_Integer Upper)
+{
+ return aPK.HashCode(Upper);
+}
+//=======================================================================
+//function :IsEqual
+//purpose :
+//=======================================================================
+Standard_Boolean NMTDS_PairMapHasher::IsEqual(const NMTDS_Pair& aPK1,
+ const NMTDS_Pair& aPK2)
+{
+ return aPK1.IsEqual(aPK2);
+}
--- /dev/null
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_PairMapHasher_HeaderFile\r
+#define _NMTDS_PairMapHasher_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_Macro_HeaderFile\r
+#include <Standard_Macro.hxx>\r
+#endif\r
+\r
+#ifndef _Standard_Integer_HeaderFile\r
+#include <Standard_Integer.hxx>\r
+#endif\r
+#ifndef _Standard_Boolean_HeaderFile\r
+#include <Standard_Boolean.hxx>\r
+#endif\r
+class NMTDS_Pair;\r
+\r
+\r
+\r
+class NMTDS_PairMapHasher {\r
+public:\r
+\r
+ void* operator new(size_t,void* anAddress) \r
+ {\r
+ return anAddress;\r
+ }\r
+ void* operator new(size_t size) \r
+ {\r
+ return Standard::Allocate(size); \r
+ }\r
+ void operator delete(void *anAddress) \r
+ {\r
+ if (anAddress) Standard::Free((Standard_Address&)anAddress); \r
+ }\r
+\r
+ \r
+ Standard_EXPORT static Standard_Integer HashCode(const NMTDS_Pair& aPKey,const Standard_Integer Upper) ;\r
+ \r
+ Standard_EXPORT static Standard_Boolean IsEqual(const NMTDS_Pair& aPKey1,const NMTDS_Pair& aPKey2) ;\r
+\r
+\r
+\r
+\r
+\r
+protected:\r
+\r
+\r
+\r
+\r
+\r
+private:\r
+\r
+\r
+\r
+\r
+\r
+};\r
+\r
+\r
+\r
+\r
+\r
+// other Inline functions and methods (like "C++: function call" methods)\r
+\r
+\r
+#endif\r
--- /dev/null
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#include <NMTDS_PairMapHasher.jxx>\r
+\r
+ \r
+\r
+\r
--- /dev/null
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_Pair_HeaderFile\r
+#include <NMTDS_Pair.hxx>\r
+#endif\r
+#ifndef _NMTDS_PairMapHasher_HeaderFile\r
+#include <NMTDS_PairMapHasher.hxx>\r
+#endif\r
--
-- File: NMTDS_ShapesDataStructure.cdl
--- Created: Mon Dec 1 10:17:05 2003
+-- Created:
-- Author: Peter KURNEV
--
class ShapesDataStructure from NMTDS
IndexedMapOfInteger from TColStd,
Shape from TopoDS,
IndexedDataMapOfShapeAncestorsSuccessors from BooleanOperations,
- CArray1OfIndexRange from NMTDS,
- IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger from NMTDS
+ CArray1OfIndexRange from NMTDS,
+ --modified by NIZNHY-PKV Mon Dec 12 08:57:18 2011f
+ DataMapOfShapeInteger from TopTools
+ --IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger from NMTDS
+ --modified by NIZNHY-PKV Mon Dec 12 08:57:22 2011t
--raises
is
returns Integer from Standard
is redefined;
--- Modified to Add new methods Thu Sep 14 14:35:18 2006
--- Contribution of Samtech www.samcef.com BEGIN
FillMap (me;
aS :Shape from TopoDS;
aMSA: out IndexedDataMapOfShapeAncestorsSuccessors from BooleanOperations;
aS :Shape from TopoDS;
aMSA:out IndexedDataMapOfShapeAncestorsSuccessors from BooleanOperations;
aMS :out IndexedDataMapOfShapeAncestorsSuccessors from BooleanOperations);
--- Contribution of Samtech www.samcef.com END
GetAllSuccessors(me;
anIndex:Integer from Standard;
fields
myCompositeShape: Shape from TopoDS is protected;
- myRanges : CArray1OfIndexRange from NMTDS is protected;
- myShapeIndexMap : IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger from NMTDS is protected;
-
+ myRanges : CArray1OfIndexRange from NMTDS is protected;
+ --modified by NIZNHY-PKV Mon Dec 12 08:58:07 2011f
+ myShapeIndexMap : DataMapOfShapeInteger from TopTools is protected;
+ --myShapeIndexMap : IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger from NMTDS is protected;
+ --modified by NIZNHY-PKV Mon Dec 12 08:58:21 2011t
end ShapesDataStructure;
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-//
// File: NMTDS_ShapesDataStructure.cxx
-// Created: Mon Dec 1 10:21:04 2003
// Author: Peter KURNEV
-// <pkv@irinox>
-//
+
#include <NMTDS_ShapesDataStructure.ixx>
#include <TopoDS_Iterator.hxx>
#include <TopoDS_Shape.hxx>
//function : NMTDS_ShapesDataStructure::NMTDS_ShapesDataStructure
//purpose :
//===========================================================================
- NMTDS_ShapesDataStructure::NMTDS_ShapesDataStructure()
+NMTDS_ShapesDataStructure::NMTDS_ShapesDataStructure()
:
BooleanOperations_ShapesDataStructure()
{}
//function : SetCompositeShape
//purpose :
//===========================================================================
- void NMTDS_ShapesDataStructure::SetCompositeShape(const TopoDS_Shape& aS)
+void NMTDS_ShapesDataStructure::SetCompositeShape(const TopoDS_Shape& aS)
{
myCompositeShape=aS;
}
//function : CompositeShape
//purpose :
//===========================================================================
- const TopoDS_Shape& NMTDS_ShapesDataStructure::CompositeShape()const
+const TopoDS_Shape& NMTDS_ShapesDataStructure::CompositeShape()const
{
return myCompositeShape;
}
//function : Ranges
//purpose :
//===========================================================================
- const NMTDS_CArray1OfIndexRange& NMTDS_ShapesDataStructure::Ranges()const
+const NMTDS_CArray1OfIndexRange& NMTDS_ShapesDataStructure::Ranges()const
{
return myRanges;
}
-// Modified to Add new methods Thu Sep 14 14:35:18 2006
-// Contribution of Samtech www.samcef.com BEGIN
//===========================================================================
//function : FillMap
//purpose :
//===========================================================================
- void NMTDS_ShapesDataStructure::FillMap
+void NMTDS_ShapesDataStructure::FillMap
(const TopoDS_Shape& aS,
BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aMSA,
BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aMS) const
//function : FillSubshapes
//purpose :
//===========================================================================
- void NMTDS_ShapesDataStructure::FillSubshapes
+void NMTDS_ShapesDataStructure::FillSubshapes
(const TopoDS_Shape& aS,
BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aMSA,
BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aMS) const
}
}
}
-// Contribution of Samtech www.samcef.com END
//===========================================================================
//function : Init
//purpose :
//===========================================================================
- void NMTDS_ShapesDataStructure::Init()
+void NMTDS_ShapesDataStructure::Init()
{
Standard_Integer i, j, aNbSx, aNbS, aShift, aNbRanges;
Standard_Integer iFirst, iLast;
for (; anIt.More(); anIt.Next()) {
const TopoDS_Shape& aSx=anIt.Value();
BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors aMS;
- //modified by NIZNHY-PKV Tue Feb 27 17:05:47 2007f
- //FillMap(aSx, aMSA, aMS);
- //aLx.Append(aMS);
//
if (!aMSA.Contains(aSx)) {
FillMap(aSx, aMSA, aMS);
aLx.Append(aMS);
}
- //modified by NIZNHY-PKV Tue Feb 27 17:06:03 2007t
}
aNbS=aMSA.Extent();
//
// Fill myRanges
- //modified by NIZNHY-PKV Tue Feb 27 17:10:07 2007f
i=aLx.Extent();
- //modified by NIZNHY-PKV Tue Feb 27 17:10:10 2007t
myRanges.Resize(i);
aLit.Initialize(aLx);
for (i=1; aLit.More(); aLit.Next(), ++i) {
- // Modified Thu Sep 14 14:35:18 2006
- // Contribution of Samtech www.samcef.com BEGIN
const BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aMSx=aLit.Value();
aNbSx=aMSx.Extent();
- // Contribution of Samtech www.samcef.com END
if (i==1) {
iFirst=1;
iLast=aNbSx;
}
//
myNumberOfShapesOfTheObject=aNbS;
- // Modified Thu Sep 14 14:35:18 2006
- // Contribution of Samtech www.samcef.com BEGIN
- //myNumberOfShapesOfTheTool=aNbS;
- //myLength=3*aNbS;
myNumberOfShapesOfTheTool=0;
myLength=2*aNbS;
- // Contribution of Samtech www.samcef.com END
//
// Allocate the whole Table
myListOfShapeAndInterferences = (BooleanOperations_PShapeAndInterferences)
Standard::Allocate(myLength*sizeof(BooleanOperations_ShapeAndInterferences));
- // Modified Thu Sep 14 14:35:18 2006
- // Contribution of Samtech www.samcef.com BEGIN
//
// Fill the table
-
- //aShift=0;
- //for (i=0; i<2; ++i) {
- // if (i) {
- // aShift=aNbS;
- // }
- // for (j=1; j<=aNbS; ++j) {
- // const TopoDS_Shape& aSx=aMSA.FindKey(j);
- // const BooleanOperations_AncestorsSeqAndSuccessorsSeq& aASx=
- // aMSA.FindFromIndex(j);
- // InsertShapeAndAncestorsSuccessors(aSx, aASx, aShift);
- // }
- //}
aShift=0;
for (j=1; j<=aNbS; ++j) {
const BooleanOperations_AncestorsSeqAndSuccessorsSeq& aASx=aMSA.FindFromIndex(j);
InsertShapeAndAncestorsSuccessors(aSx, aASx, aShift);
}
- // Contribution of Samtech www.samcef.com END
- //
// myShapeIndexMap
myShapeIndexMap.Clear();
//
+ //modified by NIZNHY-PKV Mon Dec 12 09:01:53 2011f
aNbRanges=myRanges.Extent();
for (i=1; i<=aNbRanges; ++i){
- BooleanOperations_IndexedDataMapOfShapeInteger aSIM;
- //
const NMTDS_IndexRange& aR=myRanges(i);
iFirst=aR.First();
iLast =aR.Last();
for (j=iFirst; j<=iLast; ++j) {
const TopoDS_Shape& aS=Shape(j);
- aSIM.Add(aS, j);
+ myShapeIndexMap.Bind(aS, j);
}
- myShapeIndexMap.Add(i, aSIM);
}
+ //modified by NIZNHY-PKV Mon Dec 12 09:02:00 2011t
//
// myRefEdges
iLast=myNumberOfShapesOfTheObject+myNumberOfShapesOfTheTool;
//function : ShapeRangeIndex
//purpose :
//===========================================================================
- Standard_Integer NMTDS_ShapesDataStructure::ShapeRangeIndex(const Standard_Integer aId)const
+Standard_Integer NMTDS_ShapesDataStructure::ShapeRangeIndex
+ (const Standard_Integer aId)const
{
Standard_Boolean bFound;
Standard_Integer i, aNbR, aIdx, aNbS, aZero=0;
//function : Rank
//purpose :
//===========================================================================
- Standard_Integer NMTDS_ShapesDataStructure::Rank(const Standard_Integer aId)const
+Standard_Integer NMTDS_ShapesDataStructure::Rank
+ (const Standard_Integer aId)const
{
Standard_Boolean bFound;
Standard_Integer i, aNbR, aNbS, aZero=0;
//function : ShapeIndex
//purpose :
//===========================================================================
- Standard_Integer NMTDS_ShapesDataStructure::ShapeIndex(const TopoDS_Shape& aS,
- const Standard_Integer aRank)const
+Standard_Integer NMTDS_ShapesDataStructure::ShapeIndex
+ (const TopoDS_Shape& aS,
+ const Standard_Integer aRank)const
{
- Standard_Boolean bFound;
- Standard_Integer aIndex=0;
- //
- bFound=myShapeIndexMap.Contains(aRank);
- if (!bFound) {
- return aIndex;
- }
- // Modified Thu Sep 14 14:35:18 2006
- // Contribution of Samtech www.samcef.com BEGIN
- //
- //const BooleanOperations_IndexedDataMapOfShapeInteger& aSIM=
- // myShapeIndexMap.FindFromKey(aRank);
- //
- //bFound=aSIM.Contains(aS);
- //if (!bFound) {
- // return aIndex;
- //}
- //
- //aIndex=aSIM.FindFromKey(aS);
+ Standard_Address pIndex;
+ Standard_Integer aIndex;
//
- Standard_Integer i, aNbRanks;
+ aIndex=0;
//
- aNbRanks=myShapeIndexMap.Extent();
- for (i=1; i<=aNbRanks; ++i){
- const BooleanOperations_IndexedDataMapOfShapeInteger& aSIM=myShapeIndexMap.FindFromKey(i);
- bFound=aSIM.Contains(aS);
- if (bFound) {
- aIndex=aSIM.FindFromKey(aS);
- return aIndex;
- }
+ //modified by NIZNHY-PKV Mon Dec 12 09:02:48 2011f
+ pIndex=myShapeIndexMap.Find1(aS);
+ if (pIndex) {
+ aIndex=*((Standard_Integer*)pIndex);
}
- // Contribution of Samtech www.samcef.com END
+ //modified by NIZNHY-PKV Mon Dec 12 09:02:54 2011t
return aIndex;
}
//function : ComputeBoxEx
//purpose :
//=======================================================================
- void NMTDS_ShapesDataStructure::ComputeBoxEx (const Standard_Integer aIx,
- Bnd_Box& aBoxEx)const
+void NMTDS_ShapesDataStructure::ComputeBoxEx
+ (const Standard_Integer aIx,
+ Bnd_Box& aBoxEx)const
{
ComputeBoxExS(aIx, this, aBoxEx);
}
//function : GetAllSuccessors
//purpose :
//=======================================================================
- void NMTDS_ShapesDataStructure::GetAllSuccessors(const Standard_Integer nS,
- TColStd_IndexedMapOfInteger& aMA)const
+void NMTDS_ShapesDataStructure::GetAllSuccessors
+ (const Standard_Integer nS,
+ TColStd_IndexedMapOfInteger& aMA)const
{
GetAllSuccessorsS(nS, this, aMA);
}
// function: ComputeBoxExS
// purpose:
//=======================================================================
- void ComputeBoxExS(const Standard_Integer aIx,
- const NMTDS_ShapesDataStructure* pDS,
- Bnd_Box& aBoxEx)
+void ComputeBoxExS(const Standard_Integer aIx,
+ const NMTDS_ShapesDataStructure* pDS,
+ Bnd_Box& aBoxEx)
{
Standard_Integer i, aNbS, iS;
//
-// Copyright (C) 2007-2011 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
-//
-// 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.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-//
-
-#ifndef _NMTDS_ShapesDataStructure_HeaderFile
-#define _NMTDS_ShapesDataStructure_HeaderFile
-
-#ifndef _TopoDS_Shape_HeaderFile
-#include <TopoDS_Shape.hxx>
-#endif
-#ifndef _NMTDS_CArray1OfIndexRange_HeaderFile
-#include <NMTDS_CArray1OfIndexRange.hxx>
-#endif
-#ifndef _NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger_HeaderFile
-#include <NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger.hxx>
-#endif
-#ifndef _BooleanOperations_ShapesDataStructure_HeaderFile
-#include <BooleanOperations_ShapesDataStructure.hxx>
-#endif
-#ifndef _Standard_Integer_HeaderFile
-#include <Standard_Integer.hxx>
-#endif
-class TopoDS_Shape;
-class NMTDS_CArray1OfIndexRange;
-class BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors;
-class TColStd_IndexedMapOfInteger;
-class Bnd_Box;
-
-
-#ifndef _Standard_HeaderFile
-#include <Standard.hxx>
-#endif
-#ifndef _Standard_Macro_HeaderFile
-#include <Standard_Macro.hxx>
-#endif
-
-
-class NMTDS_ShapesDataStructure : public BooleanOperations_ShapesDataStructure {
-
-public:
-
- void* operator new(size_t,void* anAddress)
- {
- return anAddress;
- }
- void* operator new(size_t size)
- {
- return Standard::Allocate(size);
- }
- void operator delete(void *anAddress)
- {
- if (anAddress) Standard::Free((Standard_Address&)anAddress);
- }
- // Methods PUBLIC
- //
-
-
-Standard_EXPORT NMTDS_ShapesDataStructure();
-
-
-Standard_EXPORT void SetCompositeShape(const TopoDS_Shape& aS) ;
-
-
-Standard_EXPORT void Init() ;
-
-
-Standard_EXPORT const NMTDS_CArray1OfIndexRange& Ranges() const;
-
-
-Standard_EXPORT const TopoDS_Shape& CompositeShape() const;
-
-
-Standard_EXPORT Standard_Integer ShapeRangeIndex(const Standard_Integer aId) const;
-
-
-Standard_EXPORT virtual Standard_Integer Rank(const Standard_Integer anIndex) const;
-
-
-Standard_EXPORT virtual Standard_Integer ShapeIndex(const TopoDS_Shape& aS,const Standard_Integer iRank) const;
-
-
-Standard_EXPORT void FillMap(const TopoDS_Shape& aS,BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aMSA,BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aMS) const;
-
-
-Standard_EXPORT void FillSubshapes(const TopoDS_Shape& aS,BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aMSA,BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aMS) const;
-
-
-Standard_EXPORT void GetAllSuccessors(const Standard_Integer anIndex,TColStd_IndexedMapOfInteger& aScrs) const;
-
-
-Standard_EXPORT void ComputeBoxEx(const Standard_Integer anIndex,Bnd_Box& aBox) const;
-
-
-
-
-
-protected:
-
- // Methods PROTECTED
- //
-
-
- // Fields PROTECTED
- //
-TopoDS_Shape myCompositeShape;
-NMTDS_CArray1OfIndexRange myRanges;
-NMTDS_IndexedDataMapOfIntegerIndexedDataMapOfShapeInteger myShapeIndexMap;
-
-
-private:
-
- // Methods PRIVATE
- //
-
-
- // Fields PRIVATE
- //
-
-
-};
-
-
-
-
-
-// other Inline functions and methods (like "C++: function call" methods)
-//
-
-
-#endif
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_ShapesDataStructure_HeaderFile\r
+#define _NMTDS_ShapesDataStructure_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_Macro_HeaderFile\r
+#include <Standard_Macro.hxx>\r
+#endif\r
+\r
+#ifndef _TopoDS_Shape_HeaderFile\r
+#include <TopoDS_Shape.hxx>\r
+#endif\r
+#ifndef _NMTDS_CArray1OfIndexRange_HeaderFile\r
+#include <NMTDS_CArray1OfIndexRange.hxx>\r
+#endif\r
+#ifndef _TopTools_DataMapOfShapeInteger_HeaderFile\r
+#include <TopTools_DataMapOfShapeInteger.hxx>\r
+#endif\r
+#ifndef _BooleanOperations_ShapesDataStructure_HeaderFile\r
+#include <BooleanOperations_ShapesDataStructure.hxx>\r
+#endif\r
+#ifndef _Standard_Integer_HeaderFile\r
+#include <Standard_Integer.hxx>\r
+#endif\r
+class TopoDS_Shape;\r
+class NMTDS_CArray1OfIndexRange;\r
+class BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors;\r
+class TColStd_IndexedMapOfInteger;\r
+class Bnd_Box;\r
+\r
+\r
+\r
+class NMTDS_ShapesDataStructure : public BooleanOperations_ShapesDataStructure {\r
+public:\r
+\r
+ void* operator new(size_t,void* anAddress) \r
+ {\r
+ return anAddress;\r
+ }\r
+ void* operator new(size_t size) \r
+ {\r
+ return Standard::Allocate(size); \r
+ }\r
+ void operator delete(void *anAddress) \r
+ {\r
+ if (anAddress) Standard::Free((Standard_Address&)anAddress); \r
+ }\r
+\r
+ \r
+ Standard_EXPORT NMTDS_ShapesDataStructure();\r
+ \r
+ Standard_EXPORT void SetCompositeShape(const TopoDS_Shape& aS) ;\r
+ \r
+ Standard_EXPORT void Init() ;\r
+ \r
+ Standard_EXPORT const NMTDS_CArray1OfIndexRange& Ranges() const;\r
+ \r
+ Standard_EXPORT const TopoDS_Shape& CompositeShape() const;\r
+ \r
+ Standard_EXPORT Standard_Integer ShapeRangeIndex(const Standard_Integer aId) const;\r
+ \r
+ Standard_EXPORT virtual Standard_Integer Rank(const Standard_Integer anIndex) const;\r
+ \r
+ Standard_EXPORT virtual Standard_Integer ShapeIndex(const TopoDS_Shape& aS,const Standard_Integer iRank) const;\r
+ \r
+ Standard_EXPORT void FillMap(const TopoDS_Shape& aS,BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aMSA,BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aMS) const;\r
+ \r
+ Standard_EXPORT void FillSubshapes(const TopoDS_Shape& aS,BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aMSA,BooleanOperations_IndexedDataMapOfShapeAncestorsSuccessors& aMS) const;\r
+ \r
+ Standard_EXPORT void GetAllSuccessors(const Standard_Integer anIndex,TColStd_IndexedMapOfInteger& aScrs) const;\r
+ \r
+ Standard_EXPORT void ComputeBoxEx(const Standard_Integer anIndex,Bnd_Box& aBox) const;\r
+\r
+\r
+\r
+\r
+\r
+protected:\r
+\r
+\r
+\r
+TopoDS_Shape myCompositeShape;\r
+NMTDS_CArray1OfIndexRange myRanges;\r
+TopTools_DataMapOfShapeInteger myShapeIndexMap;\r
+\r
+\r
+private:\r
+\r
+\r
+\r
+\r
+\r
+};\r
+\r
+\r
+\r
+\r
+\r
+// other Inline functions and methods (like "C++: function call" methods)\r
+\r
+\r
+#endif\r
--- /dev/null
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#ifndef _NMTDS_StdMapNodeOfMapOfPairBoolean_HeaderFile\r
+#define _NMTDS_StdMapNodeOfMapOfPairBoolean_HeaderFile\r
+\r
+#ifndef _Standard_HeaderFile\r
+#include <Standard.hxx>\r
+#endif\r
+#ifndef _Standard_DefineHandle_HeaderFile\r
+#include <Standard_DefineHandle.hxx>\r
+#endif\r
+#ifndef _Handle_NMTDS_StdMapNodeOfMapOfPairBoolean_HeaderFile\r
+#include <Handle_NMTDS_StdMapNodeOfMapOfPairBoolean.hxx>\r
+#endif\r
+\r
+#ifndef _NMTDS_PairBoolean_HeaderFile\r
+#include <NMTDS_PairBoolean.hxx>\r
+#endif\r
+#ifndef _TCollection_MapNode_HeaderFile\r
+#include <TCollection_MapNode.hxx>\r
+#endif\r
+#ifndef _TCollection_MapNodePtr_HeaderFile\r
+#include <TCollection_MapNodePtr.hxx>\r
+#endif\r
+class NMTDS_PairBoolean;\r
+class NMTDS_PairMapHasher;\r
+class NMTDS_MapOfPairBoolean;\r
+class NMTDS_MapIteratorOfMapOfPairBoolean;\r
+\r
+\r
+\r
+class NMTDS_StdMapNodeOfMapOfPairBoolean : public TCollection_MapNode {\r
+\r
+public:\r
+\r
+ \r
+ NMTDS_StdMapNodeOfMapOfPairBoolean(const NMTDS_PairBoolean& K,const TCollection_MapNodePtr& n);\r
+ \r
+ NMTDS_PairBoolean& Key() const;\r
+\r
+\r
+\r
+\r
+ DEFINE_STANDARD_RTTI(NMTDS_StdMapNodeOfMapOfPairBoolean)\r
+\r
+protected:\r
+\r
+\r
+\r
+\r
+private: \r
+\r
+\r
+NMTDS_PairBoolean myKey;\r
+\r
+\r
+};\r
+\r
+#define TheKey NMTDS_PairBoolean\r
+#define TheKey_hxx <NMTDS_PairBoolean.hxx>\r
+#define Hasher NMTDS_PairMapHasher\r
+#define Hasher_hxx <NMTDS_PairMapHasher.hxx>\r
+#define TCollection_StdMapNode NMTDS_StdMapNodeOfMapOfPairBoolean\r
+#define TCollection_StdMapNode_hxx <NMTDS_StdMapNodeOfMapOfPairBoolean.hxx>\r
+#define TCollection_MapIterator NMTDS_MapIteratorOfMapOfPairBoolean\r
+#define TCollection_MapIterator_hxx <NMTDS_MapIteratorOfMapOfPairBoolean.hxx>\r
+#define Handle_TCollection_StdMapNode Handle_NMTDS_StdMapNodeOfMapOfPairBoolean\r
+#define TCollection_StdMapNode_Type_() NMTDS_StdMapNodeOfMapOfPairBoolean_Type_()\r
+#define TCollection_Map NMTDS_MapOfPairBoolean\r
+#define TCollection_Map_hxx <NMTDS_MapOfPairBoolean.hxx>\r
+\r
+#include <TCollection_StdMapNode.lxx>\r
+\r
+#undef TheKey\r
+#undef TheKey_hxx\r
+#undef Hasher\r
+#undef Hasher_hxx\r
+#undef TCollection_StdMapNode\r
+#undef TCollection_StdMapNode_hxx\r
+#undef TCollection_MapIterator\r
+#undef TCollection_MapIterator_hxx\r
+#undef Handle_TCollection_StdMapNode\r
+#undef TCollection_StdMapNode_Type_\r
+#undef TCollection_Map\r
+#undef TCollection_Map_hxx\r
+\r
+\r
+// other Inline functions and methods (like "C++: function call" methods)\r
+\r
+\r
+#endif\r
--- /dev/null
+// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE\r
+//\r
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,\r
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS\r
+//\r
+// This library is free software; you can redistribute it and/or\r
+// modify it under the terms of the GNU Lesser General Public\r
+// License as published by the Free Software Foundation; either\r
+// version 2.1 of the License.\r
+//\r
+// This library is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+// Lesser General Public License for more details.\r
+//\r
+// You should have received a copy of the GNU Lesser General Public\r
+// License along with this library; if not, write to the Free Software\r
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+//\r
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+\r
+#include <NMTDS_StdMapNodeOfMapOfPairBoolean.hxx>\r
+\r
+#ifndef _Standard_Type_HeaderFile\r
+#include <Standard_Type.hxx>\r
+#endif\r
+\r
+#ifndef _NMTDS_PairBoolean_HeaderFile\r
+#include <NMTDS_PairBoolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_PairMapHasher_HeaderFile\r
+#include <NMTDS_PairMapHasher.hxx>\r
+#endif\r
+#ifndef _NMTDS_MapOfPairBoolean_HeaderFile\r
+#include <NMTDS_MapOfPairBoolean.hxx>\r
+#endif\r
+#ifndef _NMTDS_MapIteratorOfMapOfPairBoolean_HeaderFile\r
+#include <NMTDS_MapIteratorOfMapOfPairBoolean.hxx>\r
+#endif\r
+\r
+ \r
+\r
+\r
+IMPLEMENT_STANDARD_TYPE(NMTDS_StdMapNodeOfMapOfPairBoolean)\r
+IMPLEMENT_STANDARD_SUPERTYPE_ARRAY()\r
+ STANDARD_TYPE(TCollection_MapNode),\r
+ STANDARD_TYPE(MMgt_TShared),\r
+ STANDARD_TYPE(Standard_Transient),\r
+\r
+IMPLEMENT_STANDARD_SUPERTYPE_ARRAY_END()\r
+IMPLEMENT_STANDARD_TYPE_END(NMTDS_StdMapNodeOfMapOfPairBoolean)\r
+\r
+\r
+IMPLEMENT_DOWNCAST(NMTDS_StdMapNodeOfMapOfPairBoolean,Standard_Transient)\r
+IMPLEMENT_STANDARD_RTTI(NMTDS_StdMapNodeOfMapOfPairBoolean)\r
+\r
+\r
+#define TheKey NMTDS_PairBoolean\r
+#define TheKey_hxx <NMTDS_PairBoolean.hxx>\r
+#define Hasher NMTDS_PairMapHasher\r
+#define Hasher_hxx <NMTDS_PairMapHasher.hxx>\r
+#define TCollection_StdMapNode NMTDS_StdMapNodeOfMapOfPairBoolean\r
+#define TCollection_StdMapNode_hxx <NMTDS_StdMapNodeOfMapOfPairBoolean.hxx>\r
+#define TCollection_MapIterator NMTDS_MapIteratorOfMapOfPairBoolean\r
+#define TCollection_MapIterator_hxx <NMTDS_MapIteratorOfMapOfPairBoolean.hxx>\r
+#define Handle_TCollection_StdMapNode Handle_NMTDS_StdMapNodeOfMapOfPairBoolean\r
+#define TCollection_StdMapNode_Type_() NMTDS_StdMapNodeOfMapOfPairBoolean_Type_()\r
+#define TCollection_Map NMTDS_MapOfPairBoolean\r
+#define TCollection_Map_hxx <NMTDS_MapOfPairBoolean.hxx>\r
+#include <TCollection_StdMapNode.gxx>\r
+\r
-- See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
--
-- File: NMTTools_PaveFiller.cdl
--- Created: Fri Dec 5 14:35:00 2003
+-- Created:
-- Author: Peter KURNEV
-- <pkv@irinox>
--
is protected;
UpdateCommonBlocks(me:out)
+ is protected;
+
+ --modified by NIZNHY-PKV Mon Dec 12 09:12:15 2011f
+ UpdateCommonBlocks(me:out;
+ aI:Integer from Standard)
is protected;
+ --modified by NIZNHY-PKV Mon Dec 12 09:12:21 2011t
UpdatePaveBlocks(me:out)
is protected;
nF2 :Integer from Standard;
aLs :out ListOfPaveBlock from BOPTools);
---modified by NIZNHY-PKV Mon Oct 17 11:43:23 2011f
- RealSplitsInFace(me:out;
+ RealSplitsInFace(me:out;
nF1 :Integer from Standard;
aLPB :out ListOfPaveBlock from BOPTools);
---modified by NIZNHY-PKV Mon Oct 17 11:43:39 2011t
RealSplitsOnEdge(me:out;
nE1 :Integer from Standard;
myPavePoolNew.Destroy();
myPavePoolNew.Resize (myNbEdges);
//
+ //modified by NIZNHY-PKV Mon Dec 12 09:13:53 2011f
+ UpdateCommonBlocks(0);
+ //modified by NIZNHY-PKV Mon Dec 12 09:13:56 2011t
+ //
// 5.EF
PreparePaveBlocks(TopAbs_EDGE, TopAbs_FACE);
PerformEF();
//
MakeAloneVertices();
//
+ //modified by NIZNHY-PKV Mon Dec 12 09:14:23 2011f
+ myIP->Purge();
+ //modified by NIZNHY-PKV Mon Dec 12 09:14:27 2011t
myIsDone=Standard_True;
}
catch (BOPTColStd_Failure& ) {
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-//
#ifndef _NMTTools_PaveFiller_HeaderFile
#define _NMTTools_PaveFiller_HeaderFile
Standard_EXPORT void EFNewVertices(const TopoDS_Vertex& aV,const BooleanOperations_IndexedDataMapOfShapeInteger& aM) ;
Standard_EXPORT void UpdateCommonBlocks() ;
-
+
+ Standard_EXPORT void UpdateCommonBlocks (const Standard_Integer aI);
+
Standard_EXPORT void UpdatePaveBlocks() ;
-
+
Standard_EXPORT Standard_Integer SplitIndex(const BOPTools_PaveBlock& aPB) const;
Standard_EXPORT void MakeBlocks() ;
};
-
-
-
-
// other Inline functions and methods (like "C++: function call" methods)
-
#endif
//
// File: NMTTools_PaveFiller_7.cxx
-// Created: Thu Dec 18 15:14:55 2003
+// Created:
// Author: Peter KURNEV
// <pkv@irinox>
//
#include <TColStd_ListOfInteger.hxx>
#include <TColStd_IndexedMapOfInteger.hxx>
+#include <GeomAPI_ProjectPointOnCurve.hxx>
+
#include <TopAbs_Orientation.hxx>
#include <TopoDS_Vertex.hxx>
#include <NMTDS_InterfPool.hxx>
#include <NMTTools_ListIteratorOfListOfCommonBlock.hxx>
-// Modified Thu Sep 14 14:35:18 2006
-// Contribution of Samtech www.samcef.com BEGIN
-// static
-// void FuseVertices(const TopoDS_Shape& aCompound,
-// TopTools_DataMapOfShapeShape& aDMVV);
-// Contribution of Samtech www.samcef.com END
+#include <NMTTools_MapOfPaveBlock.hxx>
+
//=======================================================================
// function: MakeSplitEdges
// purpose:
//=======================================================================
- void NMTTools_PaveFiller::MakeSplitEdges()
+void NMTTools_PaveFiller::MakeSplitEdges()
{
myIsDone=Standard_False;
//
}
myIsDone=Standard_True;
}
+//modified by NIZNHY-PKV Mon Dec 12 09:16:37 2011f
+//=======================================================================
+// function: UpdateCommonBlocks
+// purpose:
+//=======================================================================
+void NMTTools_PaveFiller::UpdateCommonBlocks(const Standard_Integer)
+{
+
+ Standard_Integer nE, aNbS, nEx, nEMax, j, aNbPoints;
+ Standard_Real aTolEx, aTolExMax, aTSRMax[2], aTx[2], aTmp;
+ gp_Pnt aPMax[2];
+ TopoDS_Edge aEMax;
+ BOPTools_ListIteratorOfListOfPaveBlock aItLPB, aItLPBS;
+ NMTTools_ListIteratorOfListOfCommonBlock aItLCB;
+ NMTTools_MapOfPaveBlock aMPB;
+ //
+ myIsDone=Standard_False;
+ //
+ aNbS=myDS->NumberOfShapesOfTheObject();
+ for (nE=1; nE<=aNbS; ++nE) {
+ if (myDS->GetShapeType(nE)!=TopAbs_EDGE){
+ continue;
+ }
+ //
+ const TopoDS_Edge& aE=*((TopoDS_Edge*)&myDS->Shape(nE));
+ if (BRep_Tool::Degenerated(aE)){
+ continue;
+ }
+ //
+ NMTTools_ListOfCommonBlock& aLCB=myCommonBlockPool(myDS->RefEdge(nE));
+
+ // 1
+ aItLCB.Initialize(aLCB);
+ for (; aItLCB.More(); aItLCB.Next()) {
+ NMTTools_CommonBlock& aCB=aItLCB.Value();
+ //
+ BOPTools_PaveBlock aPBMax;
+ aTolExMax=-1.;
+ const BOPTools_ListOfPaveBlock &aLPB=aCB.PaveBlocks();
+ aItLPB.Initialize(aLPB);
+ for (; aItLPB.More(); aItLPB.Next()) {
+ const BOPTools_PaveBlock& aPBx=aItLPB.Value();
+ nEx=aPBx.OriginalEdge();
+ const TopoDS_Edge& aEx=*((TopoDS_Edge*)&myDS->Shape(nEx));
+ aTolEx=BRep_Tool::Tolerance(aEx);
+ if (aTolEx>aTolExMax) {
+ aTolExMax=aTolEx;
+ aEMax=aEx;
+ aPBMax=aPBx;
+ }
+ }
+ //
+ // 2
+ if (aMPB.Contains(aPBMax)) {
+ continue;
+ }
+ aMPB.Add(aPBMax);
+ //
+ nEMax=aPBMax.OriginalEdge();
+ const IntTools_ShrunkRange& aISRMax=aPBMax.ShrunkRange();
+ const IntTools_Range& aSRMax=aISRMax.ShrunkRange();
+ const Bnd_Box& aBoxMax=aISRMax.BndBox();
+ aSRMax.Range(aTSRMax[0], aTSRMax[1]);
+ for (j=0; j<2; ++j) {
+ BOPTools_Tools::PointOnEdge(aEMax, aTSRMax[j], aPMax[j]);
+ }
+ //
+ // 3
+ aItLPB.Initialize(aLPB);
+ for (; aItLPB.More(); aItLPB.Next()) {
+ const BOPTools_PaveBlock& aPBx=aItLPB.Value();
+ nEx=aPBx.OriginalEdge();
+ if (nEx==nEMax) {
+ continue;
+ }
+ //
+ const TopoDS_Edge& aEx=*((TopoDS_Edge*)&myDS->Shape(nEx));
+ GeomAPI_ProjectPointOnCurve& aPPCx=myContext.ProjPC(aEx);
+ //
+ for (j=0; j<2; ++j) {
+ aPPCx.Perform(aPMax[j]);
+ aNbPoints=aPPCx.NbPoints();
+ if (!aNbPoints) {
+ break;
+ }
+ aTx[j]=aPPCx.LowerDistanceParameter();
+ }
+ if (!aNbPoints) {
+ // correction the range is impossible due to
+ // a projection problem
+ continue;
+ }
+ //
+ if (aTx[0]>aTx[1]){
+ aTmp=aTx[0];
+ aTx[0]=aTx[1];
+ aTx[1]=aTmp;
+ }
+ //
+ // 4 Correction
+ // 4.1 aPBx
+ {
+ const IntTools_ShrunkRange& aISRx=aPBx.ShrunkRange();
+ IntTools_Range *pSRx=(IntTools_Range *)(&aISRx.ShrunkRange());
+ Bnd_Box *pBoxx=(Bnd_Box *)(&aISRx.BndBox());
+ //
+ pSRx->SetFirst(aTx[0]);
+ pSRx->SetLast(aTx[1]);
+ *pBoxx=aBoxMax;
+ }
+ //
+ // 4.2 aPBSx
+ BOPTools_ListOfPaveBlock& aLPBSx=mySplitShapesPool(myDS->RefEdge(nEx));
+ aItLPBS.Initialize(aLPBSx);
+ for (; aItLPBS.More(); aItLPBS.Next()) {
+ const BOPTools_PaveBlock& aPBSx=aItLPBS.Value();
+ if (!aPBSx.IsEqual(aPBx)) {
+ continue;
+ }
+ //
+ const IntTools_ShrunkRange& aISRx=aPBSx.ShrunkRange();
+ IntTools_Range *pSRx=(IntTools_Range *)(&aISRx.ShrunkRange());
+ Bnd_Box *pBoxx=(Bnd_Box *)(&aISRx.BndBox());
+ //
+ pSRx->SetFirst(aTx[0]);
+ pSRx->SetLast(aTx[1]);
+ *pBoxx=aBoxMax;
+ }
+ //
+ //
+ }//for (; aItLPB.More(); aItLPB.Next()) {
+ }//for (; aItLCB.More(); aItLCB.Next()) {
+ }//for (nE=1; nE<=aNbS; ++nE) {
+}
+//modified by NIZNHY-PKV Mon Dec 12 09:16:44 2011t
//=======================================================================
// function: UpdateCommonBlocks
// purpose:
//=======================================================================
- void NMTTools_PaveFiller::UpdateCommonBlocks()
+void NMTTools_PaveFiller::UpdateCommonBlocks()
{
myIsDone=Standard_False;
//
for (; aCBIt.More(); aCBIt.Next()) {
NMTTools_CommonBlock& aCB=aCBIt.Value();
//
- //modified by NIZNHY-PKV Wed Nov 8 15:59:46 2006f
// Among all PBs of aCB the first PB will be one
// that have max tolerance value
{
pLPB->Clear();
*pLPB=aLPBx;
}
- //modified by NIZNHY-PKV Wed Nov 8 15:59:50 2006t
//
BOPTools_PaveBlock& aPB=aCB.PaveBlock1(nE);
nSp=SplitIndex(aPB);
// function: SplitIndex
// purpose:
//=======================================================================
- Standard_Integer NMTTools_PaveFiller::SplitIndex(const BOPTools_PaveBlock& aPBx)const
+Standard_Integer NMTTools_PaveFiller::SplitIndex
+ (const BOPTools_PaveBlock& aPBx)const
{
Standard_Integer anOriginalEdge, anEdgeIndex=0;
// function: UpdatePaveBlocks
// purpose:
//=======================================================================
- void NMTTools_PaveFiller::UpdatePaveBlocks()
+void NMTTools_PaveFiller::UpdatePaveBlocks()
{
myIsDone=Standard_False;
//
}
}
}
-// Modified
-// to treat Alone Vertices between faces
-// Thu Sep 14 14:35:18 2006
-// Contribution of Samtech www.samcef.com BEGIN
//=======================================================================
// function: MakeAloneVertices
// purpose:
//=======================================================================
- void NMTTools_PaveFiller::MakeAloneVertices()
+void NMTTools_PaveFiller::MakeAloneVertices()
{
Standard_Integer i, aNbFFs, nF1, nF2, j, aNbPnts, nFx, aNbV;
Standard_Real aTolF1, aTolF2, aTolSum, aTolV;
// function: AloneVertices
// purpose:
//=======================================================================
- const NMTTools_IndexedDataMapOfIndexedMapOfInteger& NMTTools_PaveFiller::AloneVertices()const
+const NMTTools_IndexedDataMapOfIndexedMapOfInteger&
+ NMTTools_PaveFiller::AloneVertices()const
{
return myAloneVertices;
}
// function: FuseVertices
// purpose:
//=======================================================================
- void NMTTools_PaveFiller::FuseVertices(const TopoDS_Shape& aCompound,
- TopTools_DataMapOfShapeShape& aDMVV)const
+void NMTTools_PaveFiller::FuseVertices
+ (const TopoDS_Shape& aCompound,
+ TopTools_DataMapOfShapeShape& aDMVV)const
{
Standard_Integer i, aNbVV, n1, n2, nX;
NMTTools_PaveFiller tPF;
}
}
}
-// Contribution of Samtech www.samcef.com END