Curve from BOPDS,
IndexedDataMapOfShapeCoupleOfPaveBlocks from BOPDS,
MapOfPaveBlock from BOPDS,
+ IndexedMapOfPaveBlock from BOPDS,
ListOfPaveBlock from BOPDS,
ListOfPave from BOPDS,
ListOfPntOn2S from IntSurf,
thePB:PaveBlock from BOPDS;
theNC:Curve from BOPDS;
theTolR3D:Real from Standard;
- theMPB:MapOfPaveBlock from BOPDS;
+ theMPB:IndexedMapOfPaveBlock from BOPDS;
thePBOut:out PaveBlock from BOPDS)
returns Boolean from Standard
is protected;
ProcessExistingPaveBlocks(me:out;
theInt : Integer from Standard;
- theMPBOnIn : MapOfPaveBlock from BOPDS;
+ theMPBOnIn : IndexedMapOfPaveBlock from BOPDS;
theMSCPB : out IndexedDataMapOfShapeCoupleOfPaveBlocks from BOPDS;
theMVI : out DataMapOfShapeInteger from BOPCol;
theMVB : MapOfInteger from BOPCol;
BOPCol_MapOfInteger aMVOnIn(100, aAllocator), aMF(100, aAllocator),
aMVStick(100,aAllocator), aMVEF(100, aAllocator),
aMVB(100, aAllocator), aMI(100, aAllocator);
- BOPDS_MapOfPaveBlock aMPBOnIn(100, aAllocator),
- aMPBAdd(100, aAllocator);
+ BOPDS_IndexedMapOfPaveBlock aMPBOnIn(100, aAllocator);
+ BOPDS_MapOfPaveBlock aMPBAdd(100, aAllocator);
BOPDS_ListOfPaveBlock aLPB(aAllocator);
BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks aMSCPB(100, aAllocator);
BOPCol_DataMapOfShapeInteger aMVI(100, aAllocator);
(const Handle(BOPDS_PaveBlock)& thePB,
const BOPDS_Curve& theNC,
const Standard_Real theTolR3D,
- const BOPDS_MapOfPaveBlock& theMPBOnIn,
+ const BOPDS_IndexedMapOfPaveBlock& theMPBOnIn,
Handle(BOPDS_PaveBlock&) aPBOut)
{
Standard_Boolean bRet;
Standard_Real aT1, aT2, aTm, aTx;
- Standard_Integer nSp, iFlag1, iFlag2, nV11, nV12, nV21, nV22;
+ Standard_Integer nSp, iFlag1, iFlag2, nV11, nV12, nV21, nV22, i, aNbPB;
gp_Pnt aP1, aPm, aP2;
Bnd_Box aBoxP1, aBoxPm, aBoxP2;
- BOPDS_MapIteratorOfMapOfPaveBlock aIt;
//
bRet=Standard_False;
const IntTools_Curve& aIC=theNC.Curve();
aBoxP2.Add(aP2);
aBoxP2.Enlarge(theTolR3D);
//
- aIt.Initialize(theMPBOnIn);
- for (; aIt.More(); aIt.Next()) {
- const Handle(BOPDS_PaveBlock)& aPB=aIt.Value();
+ aNbPB = theMPBOnIn.Extent();
+ for (i = 1; i <= aNbPB; ++i) {
+ const Handle(BOPDS_PaveBlock)& aPB = theMPBOnIn(i);
aPB->Indices(nV21, nV22);
nSp=aPB->Edge();
const BOPDS_ShapeInfo& aSISp=myDS->ChangeShapeInfo(nSp);
//=======================================================================
void BOPAlgo_PaveFiller::ProcessExistingPaveBlocks
(const Standard_Integer theInt,
- const BOPDS_MapOfPaveBlock& aMPBOnIn,
+ const BOPDS_IndexedMapOfPaveBlock& aMPBOnIn,
BOPDS_IndexedDataMapOfShapeCoupleOfPaveBlocks& aMSCPB,
BOPCol_DataMapOfShapeInteger& aMVI,
const BOPCol_MapOfInteger& aMVB,
BOPDS_MapOfPaveBlock& aMPB)
{
- Standard_Integer nV, nE, iFlag;
+ Standard_Integer nV, nE, iFlag, i, aNbPB;
Standard_Real aT;
BOPCol_MapIteratorOfMapOfInteger aItB;
- BOPDS_MapIteratorOfMapOfPaveBlock aItPB;
//
BOPDS_VectorOfInterfFF& aFFs=myDS->InterfFF();
BOPDS_InterfFF& aFF = aFFs(theInt);
continue;
}
//
- aItPB.Initialize(aMPBOnIn);
- for (; aItPB.More(); aItPB.Next()) {
- const Handle(BOPDS_PaveBlock)& aPB = aItPB.Value();
+ aNbPB = aMPBOnIn.Extent();
+ for (i = 1; i <= aNbPB; ++i) {
+ const Handle(BOPDS_PaveBlock)& aPB = aMPBOnIn(i);
if (aPB->Pave1().Index() == nV || aPB->Pave2().Index() == nV) {
continue;
}
#include <BOPDS_PassKey.hxx>
#include <BOPDS_DataMapOfPassKeyListOfPaveBlock.hxx>
#include <BOPDS_PassKey.hxx>
+#include <BOPDS_MapOfPave.hxx>
+#include <BOPDS_MapOfPaveBlock.hxx>
#include <Geom_Curve.hxx>
#include <BRep_Builder.hxx>
#include <IntTools_Tools.hxx>
#include <BOPTools_AlgoTools.hxx>
#include <GeomAPI_ProjectPointOnCurve.hxx>
-#include <BOPDS_MapOfPave.hxx>
//
static
(const Standard_Integer nF1,
const Standard_Integer nF2,
BOPCol_MapOfInteger& aMI,
- BOPDS_MapOfPaveBlock& aMPB)const
+ BOPDS_IndexedMapOfPaveBlock& aMPB)const
{
- Standard_Integer i, nV, nV1, nV2;
+ Standard_Integer i, j, nV, nV1, nV2, aNbPB;
BOPCol_MapIteratorOfMapOfInteger aIt;
- BOPDS_IndexedMapOfPaveBlock* pMPB[4];
- BOPDS_MapIteratorOfMapOfPaveBlock aItMPB;
+ BOPDS_IndexedMapOfPaveBlock pMPB[4];
//
const BOPDS_FaceInfo& aFI1=FaceInfo(nF1);
const BOPDS_FaceInfo& aFI2=FaceInfo(nF2);
//
- pMPB[0]=(BOPDS_IndexedMapOfPaveBlock*)&aFI1.PaveBlocksOn();
- pMPB[1]=(BOPDS_IndexedMapOfPaveBlock*)&aFI1.PaveBlocksIn();
- pMPB[2]=(BOPDS_IndexedMapOfPaveBlock*)&aFI2.PaveBlocksOn();
- pMPB[3]=(BOPDS_IndexedMapOfPaveBlock*)&aFI2.PaveBlocksIn();
+ pMPB[0]=aFI1.PaveBlocksOn();
+ pMPB[1]=aFI1.PaveBlocksIn();
+ pMPB[2]=aFI2.PaveBlocksOn();
+ pMPB[3]=aFI2.PaveBlocksIn();
//
for (i=0; i<4; ++i) {
- aItMPB.Initialize(*pMPB[i]);
- for (; aItMPB.More(); aItMPB.Next()) {
- const Handle(BOPDS_PaveBlock)& aPB=aItMPB.Value();
+ aNbPB = pMPB[i].Extent();
+ for (j = 1; j <= aNbPB; ++j) {
+ const Handle(BOPDS_PaveBlock)& aPB = pMPB[i](j);
aMPB.Add(aPB);
aPB->Indices(nV1, nV2);
aMI.Add(nV1);
for (; aIt.More(); aIt.Next()) {
nV=aIt.Value();
if (aMVOn2.Contains(nV) || aMVIn2.Contains(nV)) {
- aMI.Add(nV);
+ aMI.Add(nV);
}
}
}