-// Copyright (C) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2008 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
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+// File: NMTTools_PaveFiller_4.cxx
+// Created: Mon Dec 8 17:08:58 2003
+// Author: Peter KURNEV
-// File: NMTTools_PaveFiller_4.cxx
-// Created: Mon Dec 8 17:08:58 2003
-// Author: Peter KURNEV
-// <pkv@irinox>
-//
#include <NMTTools_PaveFiller.ixx>
-//
+
#include <stdio.h>
#include <Precision.hxx>
#include <NMTTools_CommonBlock.hxx>
#include <NMTTools_ListIteratorOfListOfCommonBlock.hxx>
-
#include <TColStd_ListOfInteger.hxx>
#include <TColStd_ListIteratorOfListOfInteger.hxx>
#include <BRepBndLib.hxx>
#include <TColStd_MapOfInteger.hxx>
#include <TColStd_MapIteratorOfMapOfInteger.hxx>
-
static
void TreatNewVertices(const BooleanOperations_IndexedDataMapOfShapeInteger& aMapVI,
TopTools_DataMapOfShapeListOfShape& myImages,
TopTools_DataMapOfShapeShape& myOrigins);
static
- void MakeNewVertex(const TopTools_ListOfShape& aLV,
+ void MakeNewVertex(const TopTools_ListOfShape& aLV,
TopoDS_Vertex& aNewVertex);
-
-static
+static
void VertexParameters(const IntTools_CommonPrt& aCPart,
- Standard_Real& aT1,
+ Standard_Real& aT1,
Standard_Real& aT2);
+
static
Standard_Boolean IsOnPave(const Standard_Real& aT1,
const IntTools_Range& aRange,
const Standard_Real& aTolerance);
+
static
void EECommonBlocks(const BOPTools_IDMapOfPaveBlockIMapOfPaveBlock& aMapCB);
const BOPTools_IDMapOfPaveBlockIMapOfPaveBlock& aMapCB,
BOPTools_IMapOfPaveBlock& aProcessedBlocks,
BOPTools_IMapOfPaveBlock& aChain);
+
static
void FindChains(const BOPTools_IDMapOfPaveBlockIMapOfPaveBlock& aMapCB,
NMTTools_ListOfCommonBlock& aLCB);
//=======================================================================
// function: PerformEE
-// purpose:
+// purpose:
//=======================================================================
- void NMTTools_PaveFiller::PerformEE()
+void NMTTools_PaveFiller::PerformEE()
{
myIsDone=Standard_False;
//
Standard_Integer aNbLPB1, aNbLPB2;
Standard_Real aTolE1, aTolE2, aDeflection=0.01;
BOPTools_ListIteratorOfListOfPaveBlock anIt1, anIt2;
- TopoDS_Edge aEWhat, aEWith;
+ TopoDS_Edge aEWhat, aEWith;
TopoDS_Vertex aNewVertex;
BooleanOperations_IndexedDataMapOfShapeInteger aMapVI;
BOPTools_IDMapOfPaveBlockIMapOfPaveBlock aMapCB;
// continue;
//}
//
- nE1=n1;
- nE2=n2;
+ nE1=n1;
+ nE2=n2;
//
if(bJustAdd) {
//myIntrPool->AddInterference (nE1, nE2, BooleanOperations_EdgeEdge, anIndexIn);
//
const TopoDS_Edge aE1=TopoDS::Edge(myDS->Shape(nE1));//mpv
const TopoDS_Edge aE2=TopoDS::Edge(myDS->Shape(nE2));//mpv
-
//
if (BRep_Tool::Degenerated(aE1) || BRep_Tool::Degenerated(aE2)){
continue;
BOPTools_ListOfPaveBlock& aLPB1=mySplitShapesPool(myDS->RefEdge(nE1));
BOPTools_ListOfPaveBlock& aLPB2=mySplitShapesPool(myDS->RefEdge(nE2));
//
- // Modified Thu Sep 14 14:35:18 2006
+ // Modified Thu Sep 14 14:35:18 2006
// Contribution of Samtech www.samcef.com BEGIN
aNbLPB1=aLPB1.Extent();
aNbLPB2=aLPB2.Extent();
-
- //if (aE1.IsSame(aE2) && aNbLPB1==1 && aNbLPB2==1) {
+ //
+ //if (aE1.IsSame(aE2) && aNbLPB1==1 && aNbLPB2==1) {
// continue;
//}
// Contribution of Samtech www.samcef.com END
for (anIt2.Initialize(aLPB2); anIt2.More(); anIt2.Next()) {
BOPTools_PaveBlock& aPB2=anIt2.Value();
const IntTools_ShrunkRange& aShrunkRange2=aPB2.ShrunkRange();
-
+ //
const IntTools_Range& aSR2=aShrunkRange2.ShrunkRange();
const Bnd_Box& aBB2=aShrunkRange2.BndBox();
//
if (aBB1.IsOut (aBB2)) {
continue;
}
- //
+ //
// EE
IntTools_EdgeEdge aEE;
aEE.SetEdge1 (aE1);
//
aEE.SetRange1(anewSR1);
aEE.SetRange2(anewSR2);
-
+ //
aEE.Perform();
//
anIndexIn=0;
IntTools_Range aR1, aR2;
//
VertexParameters(aCPart, aT1, aT2);
- //
+ //
//decide to keep the pave or not
aR1 = (aEE.Order()) ? anewSR2 : anewSR1;
aR2 = (aEE.Order()) ? anewSR1 : anewSR2;
//
+ //modified by NIZNHY-PKV Mon Jun 07 11:01:40 2010f
+ aTol=0.8*aTol;
+ //modified by NIZNHY-PKV Mon Jun 07 11:01:43 2010t
bIsOnPave1=IsOnPave(aT1, aR1, aTol);
bIsOnPave2=IsOnPave(aT2, aR2, aTol);
//
aMapVI.Add(aNewVertex, anIndexIn);
}
break;
-
+
case TopAbs_EDGE: {
Standard_Integer aNbComPrt2;
Standard_Boolean aCoinsideFlag;
// Fill aMapCB
if (aMapCB.Contains(aPB1)) {
BOPTools_IMapOfPaveBlock& aMapPB=aMapCB.ChangeFromKey(aPB1);
- aMapPB.Add(aPB1);
- aMapPB.Add(aPB2);
+ aMapPB.Add(aPB1);
+ aMapPB.Add(aPB2);
}
else {
BOPTools_IMapOfPaveBlock aMapPB;
- aMapPB.Add(aPB1);
- aMapPB.Add(aPB2);
+ aMapPB.Add(aPB1);
+ aMapPB.Add(aPB2);
aMapCB.Add(aPB1, aMapPB);
}
//
if (aMapCB.Contains(aPB2)) {
BOPTools_IMapOfPaveBlock& aMapPB=aMapCB.ChangeFromKey(aPB2);
- aMapPB.Add(aPB1);
- aMapPB.Add(aPB2);
+ aMapPB.Add(aPB1);
+ aMapPB.Add(aPB2);
}
else {
BOPTools_IMapOfPaveBlock aMapPB;
- aMapPB.Add(aPB1);
- aMapPB.Add(aPB2);
+ aMapPB.Add(aPB1);
+ aMapPB.Add(aPB2);
aMapCB.Add(aPB2, aMapPB);
}
// qqf
break;
default:
break;
- } // switch (aType)
- } // for (i=1; i<=aNbCPrts; i++)
+ } // switch (aType)
+ } // for (i=1; i<=aNbCPrts; i++)
}// if (aEE.IsDone())
- } // for (; anIt2.More(); anIt2.Next())
- } // for (; anIt1.More(); anIt1.Next())
- }// for (; myDSIt.More(); myDSIt.Next())
- //
- //modified by NIZNHY-PKV Thu Mar 19 14:13:34 2009f
+ } // for (; anIt2.More(); anIt2.Next())
+ } // for (; anIt1.More(); anIt1.Next())
+ }// for (; myDSIt.More(); myDSIt.Next())
//
- //EENewVertices (aMapVI);
- //EECommonBlocks(aMapCB);
-
{
NMTTools_ListOfCommonBlock aLCB;
//
TreatPaveBlocks(aLCB);
ReplaceCommonBlocks(aLCB);
}
- //modified by NIZNHY-PKV Thu Mar 19 14:13:42 2009t
//
PerformVF1();
//
myIsDone=Standard_True;
}
-//modified by NIZNHY-PKV Thu Mar 19 14:13:52 2009f
+
//=======================================================================
// function:TreatPaveBlocks
-// purpose:
+// purpose:
//=======================================================================
- void NMTTools_PaveFiller::TreatPaveBlocks (NMTTools_ListOfCommonBlock& theLCB)
+void NMTTools_PaveFiller::TreatPaveBlocks (NMTTools_ListOfCommonBlock& theLCB)
{
Standard_Boolean bFound;
Standard_Integer nE, nV, nVp, iFlag;
}//for (; anItLPB.More(); anItLPB.Next()) {
}
}
-//modified by NIZNHY-PKV Thu Mar 19 14:14:13 2009t
+
//=======================================================================
// function:EECommonBlocks
-// purpose:
+// purpose:
//=======================================================================
- void NMTTools_PaveFiller::EECommonBlocks(const BOPTools_IDMapOfPaveBlockIMapOfPaveBlock& aMapCB)
+void NMTTools_PaveFiller::EECommonBlocks(const BOPTools_IDMapOfPaveBlockIMapOfPaveBlock& aMapCB)
{
NMTTools_ListOfCommonBlock aLCB;
//
FindChains(aMapCB, aLCB);
ReplaceCommonBlocks(aLCB);
}
+
//=======================================================================
// function:EENewVertices
-// purpose:
+// purpose:
//=======================================================================
- void NMTTools_PaveFiller::EENewVertices (const BooleanOperations_IndexedDataMapOfShapeInteger& aMapVI)
+void NMTTools_PaveFiller::EENewVertices (const BooleanOperations_IndexedDataMapOfShapeInteger& aMapVI)
{
Standard_Integer aNb, aNbVSD, nVnew, nIEE, nE[2], j, iFlag;
Standard_Real aT;
- TopoDS_Edge aE;
+ TopoDS_Edge aE;
TopTools_DataMapOfShapeListOfShape myImages;
TopTools_DataMapOfShapeShape myOrigins;
TopTools_DataMapIteratorOfDataMapOfShapeListOfShape aItIm;
BOPTools_CArray1OfEEInterference& aEEs=myIP->EEInterferences();
//
aNb=aMapVI.Extent();
- if (!aNb) { // no new vertices, no new problems
+ if (!aNb) { // no new vertices, no new problems
return;
}
//
- // 0.
+ // 0.
if (aNb==1) {
TopoDS_Vertex aV1=TopoDS::Vertex(aMapVI.FindKey(1));
EENewVertices(aV1, aMapVI);
// completely rewritten
//=======================================================================
//function : TreatNewVertices
-//purpose :
+//purpose :
//=======================================================================
void TreatNewVertices(const BooleanOperations_IndexedDataMapOfShapeInteger& aMapVI,
- TopTools_DataMapOfShapeListOfShape& myImages,
- TopTools_DataMapOfShapeShape& myOrigins)
+ TopTools_DataMapOfShapeListOfShape& myImages,
+ TopTools_DataMapOfShapeShape& myOrigins)
{
Standard_Integer j, i, aNbV, aNbVSD;
Standard_Real aTol;
Bnd_Box aBox;
//
aTol=BRep_Tool::Tolerance(TopoDS::Vertex(aV));
- aBox.SetGap(aTol);
+ aBox.SetGap(aTol);
BRepBndLib::Add(aV, aBox);
//
aTreeFiller.Add(i, aBox);
//
aMIS.Add(i, aV);
- aMSB.Add(aV, aBox);
+ aMSB.Add(aV, aBox);
}
//
aTreeFiller.Fill();
//
aNbVSD=aBBTree.Select(aSelector);
if (!aNbVSD) {
- continue; // it must not be
+ continue; // it must not be
}
//
const TColStd_ListOfInteger& aLI=aSelector.Indices();
}
}
}
-//
+
//=======================================================================
//function : MakeNewVertex
-//purpose :
+//purpose :
//=======================================================================
-void MakeNewVertex(const TopTools_ListOfShape& aLV,
+void MakeNewVertex(const TopTools_ListOfShape& aLV,
TopoDS_Vertex& aNewVertex)
{
Standard_Integer aNbV;
//
aBB.MakeVertex (aNewVertex, aPGC, aDmax);
}
+
//=======================================================================
// function:EENewVertices
-// purpose:
+// purpose:
//=======================================================================
- void NMTTools_PaveFiller::EENewVertices (const TopoDS_Vertex& aNewVertex,
- const BooleanOperations_IndexedDataMapOfShapeInteger& aMapVI)
+void NMTTools_PaveFiller::EENewVertices (const TopoDS_Vertex& aNewVertex,
+ const BooleanOperations_IndexedDataMapOfShapeInteger& aMapVI)
{
Standard_Integer i, aNewShape, nE1, nE2;
Standard_Real aT1, aT2;
- BooleanOperations_AncestorsSeqAndSuccessorsSeq anASSeq;
+ BooleanOperations_AncestorsSeqAndSuccessorsSeq anASSeq;
BOPTools_Pave aPave;
//
BOPTools_CArray1OfEEInterference& aEEs=myIP->EEInterferences();
BOPTools_PaveSet& aPaveSet2=myPavePoolNew(myDS->RefEdge(nE2));
aPaveSet2.Append(aPave);
}
+
//=======================================================================
// function: RefinePavePool
-// purpose:
+// purpose:
//=======================================================================
- void NMTTools_PaveFiller::RefinePavePool()
+void NMTTools_PaveFiller::RefinePavePool()
{
Standard_Integer i, aNbNew;
}
}
}
+
//=======================================================================
// function: PreparePaveBlocks
-// purpose:
+// purpose:
//=======================================================================
- void NMTTools_PaveFiller::PreparePaveBlocks(const TopAbs_ShapeEnum aType1,
- const TopAbs_ShapeEnum aType2)
+void NMTTools_PaveFiller::PreparePaveBlocks(const TopAbs_ShapeEnum aType1,
+ const TopAbs_ShapeEnum aType2)
{
myIsDone=Standard_False;
//
Standard_Boolean bOk1, bOk2, bOk3, bFlag;
Standard_Integer i, aNb, nE[2], n1, n2, aNbSplits;
TColStd_MapOfInteger aMap;
-
+ //
bOk1= (aType1==TopAbs_VERTEX) && (aType2==TopAbs_EDGE) ;
bOk2= (aType1==TopAbs_EDGE) && (aType2==TopAbs_EDGE) ;
bOk3= (aType1==TopAbs_EDGE) && (aType2==TopAbs_FACE) ;
for (; myDSIt->More(); myDSIt->Next()) {
myDSIt->Current(n1, n2, bFlag);
//
- nE[0]=n1;
- nE[1]=n2;
+ nE[0]=n1;
+ nE[1]=n2;
if (myDS->GetShapeType(n1)!=TopAbs_EDGE) {
- nE[0]=n2;
+ nE[0]=n2;
nE[1]=n1;
}
//
BOPTools_ListOfPaveBlock& aLPB=mySplitShapesPool(myDS->RefEdge(nE[i]));
aNbSplits=aLPB.Extent();
if (!aNbSplits) {
- if (aMap.Add(nE[i])) {
+ if (aMap.Add(nE[i])) {
PreparePaveBlocks(nE[i]);
if (!myIsDone) {
return;
}
}
}
- }// for (; myDSIt.More(); myDSIt.Next())
+ }// for (; myDSIt.More(); myDSIt.Next())
myIsDone=Standard_True;
}
+
//=======================================================================
// function: PreparePaveBlocks
-// purpose:
+// purpose:
//=======================================================================
- void NMTTools_PaveFiller::PreparePaveBlocks(const Standard_Integer nE)
+void NMTTools_PaveFiller::PreparePaveBlocks(const Standard_Integer nE)
{
myIsDone=Standard_False;
//
TopoDS_Vertex aV1, aV2;
//
BOPTools_ListOfPaveBlock& aLPB=mySplitShapesPool(myDS->RefEdge(nE));
- // Edge
+ // Edge
aE=TopoDS::Edge(myDS->Shape(nE));
if (BRep_Tool::Degenerated(aE)) {
myIsDone=Standard_True;
}
//
BOPTools_PaveSet& aPS=myPavePool(myDS->RefEdge(nE));
-
+ //
BOPTools_PaveBlockIterator aPBIt(nE, aPS);
for (; aPBIt.More(); aPBIt.Next()) {
BOPTools_PaveBlock& aPB=aPBIt.Value();
sprintf (buf, "Can not obtain ShrunkRange for Edge %d\n", nE);
BOPTColStd_Dump::PrintMessage(buf);
sprintf (buf, "Can not obtain ShrunkRange for Edge %d", nE);
- throw
+ throw
BOPTColStd_Failure(buf) ;
}
//
//
aPB.SetShrunkRange(aSR);
aLPB.Append(aPB);
- } //for (; aPBIt.More(); aPBIt.Next())
+ } //for (; aPBIt.More(); aPBIt.Next())
myIsDone=Standard_True;
}
+
//=======================================================================
// function: CorrectShrunkRanges
-// purpose:
+// purpose:
//=======================================================================
- void NMTTools_PaveFiller::CorrectShrunkRanges(const Standard_Integer aSide,
- const BOPTools_Pave& aPave,
- IntTools_ShrunkRange& aShrunkRange)
+void NMTTools_PaveFiller::CorrectShrunkRanges(const Standard_Integer aSide,
+ const BOPTools_Pave& aPave,
+ IntTools_ShrunkRange& aShrunkRange)
{
BooleanOperations_KindOfInterference aType;
Standard_Integer anIndexInterf ;
const IntTools_Range& aSR=aShrunkRange.ShrunkRange();
const TopoDS_Edge& aE=aShrunkRange.Edge();
-
+
IntTools_Range aNewRange;
IntTools_Range aCPRange;
}
}
}
+
//=======================================================================
// function: IsBlocksCoinside
-// purpose:
+// purpose:
//=======================================================================
- Standard_Boolean
- NMTTools_PaveFiller::IsBlocksCoinside(const BOPTools_PaveBlock& aPB1,
- const BOPTools_PaveBlock& aPB2) const
+Standard_Boolean NMTTools_PaveFiller::IsBlocksCoinside(const BOPTools_PaveBlock& aPB1,
+ const BOPTools_PaveBlock& aPB2) const
{
Standard_Boolean bRetFlag=Standard_True;
Standard_Real aTolV11, aTolV12, aTolV21, aTolV22;
aTolV12=BRep_Tool::Tolerance(aV12);
aTolV21=BRep_Tool::Tolerance(aV21);
aTolV22=BRep_Tool::Tolerance(aV22);
-
+
aP11=BRep_Tool::Pnt(aV11);
aP12=BRep_Tool::Pnt(aV12);
aP21=BRep_Tool::Pnt(aV21);
}
return !bRetFlag;
}
+
//=======================================================================
// function: ReplaceCommonBlocks
-// purpose:
+// purpose:
//=======================================================================
- void NMTTools_PaveFiller::ReplaceCommonBlocks(const NMTTools_ListOfCommonBlock& aLCB)
+void NMTTools_PaveFiller::ReplaceCommonBlocks(const NMTTools_ListOfCommonBlock& aLCB)
{
RemoveCommonBlocks(aLCB);
SplitCommonBlocks(aLCB);
}
+
//=======================================================================
// function: SplitCommonBlocks
-// purpose:
+// purpose:
//=======================================================================
- void NMTTools_PaveFiller::SplitCommonBlocks(const NMTTools_ListOfCommonBlock& aLCB)
+void NMTTools_PaveFiller::SplitCommonBlocks(const NMTTools_ListOfCommonBlock& aLCB)
{
Standard_Integer nE;
NMTTools_ListOfCommonBlock aLCBx;
}
}
}
- // Modified to provide the order of edges
- // in common block where the edge with max
+ // Modified to provide the order of edges
+ // in common block where the edge with max
// tolerance value will be the first
- // Thu Sep 14 14:35:18 2006
+ // Thu Sep 14 14:35:18 2006
// Contribution of Samtech www.samcef.com BEGIN
Standard_Integer i, iMax, aNb, aNbCB, nSp;
Standard_Real aTolSp, aTolMax;
}//for (nE=1; nE<=aNb; ++nE) {
// Contribution of Samtech www.samcef.com END
}
+
//=======================================================================
// function: RemoveCommonBlocks
-// purpose:
+// purpose:
//=======================================================================
- void NMTTools_PaveFiller::RemoveCommonBlocks(const NMTTools_ListOfCommonBlock& aLCB)
+void NMTTools_PaveFiller::RemoveCommonBlocks(const NMTTools_ListOfCommonBlock& aLCB)
{
Standard_Integer nE;
NMTTools_ListOfCommonBlock aLCBx;
const NMTTools_CommonBlock& aCB=anItCB.Value();
const BOPTools_ListOfPaveBlock& aLPB=aCB.PaveBlocks();
//
- // Remove aCB from each edge
+ // Remove aCB from each edge
anItLPB.Initialize(aLPB);
for (; anItLPB.More(); anItLPB.Next()) {
const BOPTools_PaveBlock& aPB=anItLPB.Value();
}
}
}
+
//=======================================================================
// function: SplitCommonBlock
-// purpose:
+// purpose:
//=======================================================================
- void NMTTools_PaveFiller::SplitCommonBlock(const NMTTools_CommonBlock& aCB,
- NMTTools_ListOfCommonBlock& aLCBx)
+void NMTTools_PaveFiller::SplitCommonBlock(const NMTTools_CommonBlock& aCB,
+ NMTTools_ListOfCommonBlock& aLCBx)
{
- Standard_Integer i, j, k, nE, aNbE, aNbSPBx, aNbPB;
+ Standard_Integer i, j,nE, aNbE, aNbSPBx, aNbPB, k;
BOPTools_SequenceOfPaveBlock aSPBx;
BOPTools_ListIteratorOfListOfPaveBlock anItLPB;
BOPTools_ListIteratorOfListOfPave anIt;
-
- BOPTools_PaveBlockIterator anPBIt;
+ BOPTools_PaveBlockIterator anPBIt;
//
const BOPTools_ListOfPaveBlock& aLPB=aCB.PaveBlocks();
aNbE=aLPB.Extent();
//
- // 1. Whether we realy need to split the common block ?
+ // 1. Checking: Whether we realy need to split the common block ?
anItLPB.Initialize(aLPB);
for (; anItLPB.More(); anItLPB.Next()) {
const BOPTools_PaveBlock& aPB=anItLPB.Value();
}
}
//
- // 3. Do new common blocks
+ // 3. Do new common blocks
//
const TColStd_ListOfInteger& aLF=aCB.Faces();
aNbSPBx=aSPBx.Length();
aNbPB=aNbSPBx/aNbE;
//
+ //modified by NIZNHY-PKV Fri Jun 04 14:07:37 2010f
+ //
+ Standard_Integer k1, k2, n11, n12, n21, n22;
+ //
+ for (i=1; i<=aNbPB; ++i) {
+ NMTTools_CommonBlock aCBx;
+ //
+ aCBx.AddFaces(aLF);
+ //
+ const BOPTools_PaveBlock& aPB1=aSPBx(i);
+ n11=aPB1.Pave1().Index();
+ n12=aPB1.Pave2().Index();
+ //
+ aCBx.AddPaveBlock(aPB1);
+ //
+ for (j=2; j<=aNbE; ++j) {
+ k1=(j-1)*aNbPB+1;
+ k2=k1+aNbPB-1;
+ for(k=k1; k<=k2; ++k) {
+ const BOPTools_PaveBlock& aPB2=aSPBx(k);
+ n21=aPB2.Pave1().Index();
+ n22=aPB2.Pave2().Index();
+ if ((n21==n11 && n22==n12) || (n21==n12 && n22==n11)) {
+ aCBx.AddPaveBlock(aPB2);
+ break;
+ }
+ }
+ }
+ aLCBx.Append(aCBx);
+ }
+ /*
for (i=1; i<=aNbPB; ++i) {
NMTTools_CommonBlock aCBx;
//
}
aLCBx.Append(aCBx);
}
+ */
+ //modified by NIZNHY-PKV Fri Jun 04 14:07:42 2010t
}
//=======================================================================
// function: VertexParameters
-// purpose:
+// purpose:
//=======================================================================
void VertexParameters(const IntTools_CommonPrt& aCPart,
- Standard_Real& aT1,
+ Standard_Real& aT1,
Standard_Real& aT2)
{
const IntTools_Range& aR1=aCPart.Range1();
aT2 = aCPart.VertexParameter2();
}
}
+
//=======================================================================
// function: KeepPave
-// purpose:
+// purpose:
//=======================================================================
Standard_Boolean IsOnPave(const Standard_Real& aT1,
const IntTools_Range& aRange,
//=======================================================================
// function:FindChains
-// purpose:
+// purpose:
//=======================================================================
void FindChains(const BOPTools_IDMapOfPaveBlockIMapOfPaveBlock& aMapCB,
NMTTools_ListOfCommonBlock& aLCB)
aChain.Clear();
}
}
+
//=======================================================================
// function:ProcessBlock
-// purpose:
+// purpose:
//=======================================================================
void ProcessBlock(const BOPTools_PaveBlock& aPB,
const BOPTools_IDMapOfPaveBlockIMapOfPaveBlock& aMapCB,
ProcessBlock(aPBx, aMapCB, aProcessedBlocks, aChain);
}
}
+
// Modified to provide VS interference between
// vertex as result of EE and a Face of argument
-// Thu Sep 14 14:35:18 2006
+// Thu Sep 14 14:35:18 2006
// Contribution of Samtech www.samcef.com BEGIN
//=======================================================================
-// function: PerformVF1
-// purpose:
+// function: PerformVF1
+// purpose:
//=======================================================================
void NMTTools_PaveFiller::PerformVF1()
{
const TopoDS_Shape& aSnew=myDS->Shape(nNewShape);
if (aSnew.ShapeType()!=TopAbs_VERTEX) {
continue;
- }
+ }
//
const TopoDS_Vertex& aVnew=TopoDS::Vertex(aSnew);
//
}
}
}
-}
+}
// Contribution of Samtech www.samcef.com END