mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2025-02-20 23:59:42 +05:00
Fix for NPAL17921
This commit is contained in:
parent
1706a8d813
commit
c18d12b2cf
@ -113,7 +113,7 @@ static
|
||||
IntTools_Context& aCtx=pPF->ChangeContext();
|
||||
//
|
||||
Standard_Boolean bToReverse;
|
||||
Standard_Integer i, aNb, aNbSp, nSp, nSpR, nSpx;
|
||||
Standard_Integer i, aNb, aNbSp, nSp, nSpR, nSpx, aIsCB;
|
||||
TColStd_ListIteratorOfListOfInteger aItLB;
|
||||
TColStd_ListOfInteger aLB;
|
||||
TopoDS_Edge aEE, aESpR;
|
||||
@ -147,10 +147,16 @@ static
|
||||
nSp=aPB.Edge();
|
||||
const TopoDS_Shape& aSp=aDS.Shape(nSp);
|
||||
//
|
||||
const BOPTools_PaveBlock& aPBR=pPF->RealPaveBlock(aPB, aLB);
|
||||
//modified by NIZNHY-PKV Fri Nov 30 10:40:36 2007 f
|
||||
//const BOPTools_PaveBlock& aPBR=pPF->RealPaveBlock(aPB, aLB);
|
||||
const BOPTools_PaveBlock& aPBR=pPF->RealPaveBlock(aPB, aLB, aIsCB);
|
||||
//modified by NIZNHY-PKV Fri Nov 30 10:40:48 2007t
|
||||
nSpR=aPBR.Edge();
|
||||
const TopoDS_Shape& aSpR=aDS.Shape(nSpR);
|
||||
if (aSpR.IsSame(aSp) && aSpR.IsSame(aE)) {
|
||||
//modified by NIZNHY-PKV Fri Nov 30 10:41:39 2007f
|
||||
//if (aSpR.IsSame(aSp) && aSpR.IsSame(aE)) {
|
||||
if (aSpR.IsSame(aSp) && aSpR.IsSame(aE) && !aIsCB) {
|
||||
//modified by NIZNHY-PKV Fri Nov 30 10:41:46 2007t
|
||||
continue;
|
||||
}
|
||||
//
|
||||
@ -174,7 +180,10 @@ static
|
||||
aIt.Initialize(aLPB);
|
||||
for (; aIt.More(); aIt.Next()) {
|
||||
const BOPTools_PaveBlock& aPB=aIt.Value();
|
||||
const BOPTools_PaveBlock& aPBR=pPF->RealPaveBlock(aPB, aLB);
|
||||
//modified by NIZNHY-PKV Fri Nov 30 10:42:15 2007f
|
||||
//const BOPTools_PaveBlock& aPBR=pPF->RealPaveBlock(aPB, aLB);
|
||||
const BOPTools_PaveBlock& aPBR=pPF->RealPaveBlock(aPB, aLB, aIsCB);
|
||||
//modified by NIZNHY-PKV Fri Nov 30 10:42:20 2007t
|
||||
nSpR=aPBR.Edge();
|
||||
const TopoDS_Shape& aSpR=aDS.Shape(nSpR);
|
||||
//
|
||||
|
@ -46,9 +46,7 @@ uses
|
||||
ShrunkRange from IntTools,
|
||||
|
||||
IndexedDataMapOfShapeInteger from BooleanOperations,
|
||||
|
||||
--InterferencePool from BOPTools,
|
||||
--PInterferencePool from BOPTools,
|
||||
|
||||
PavePool from BOPTools,
|
||||
PaveBlock from BOPTools,
|
||||
ListOfPaveBlock from BOPTools,
|
||||
@ -85,16 +83,7 @@ is
|
||||
returns PaveFiller from NMTTools;
|
||||
---C++: alias "Standard_EXPORT virtual ~NMTTools_PaveFiller();"
|
||||
|
||||
-- Create(aIP:InterferencePool from BOPTools)
|
||||
-- returns PaveFiller from NMTTools;
|
||||
|
||||
-- Destroy (me: in out)
|
||||
--is virtual;
|
||||
-- -C++: alias "Standard_EXPORT virtual ~NMTTools_PaveFiller(){Destroy();}"
|
||||
--
|
||||
-- Selectors/Modifiers
|
||||
--SetInterferencePool(me:out;
|
||||
-- aIP:PInterferencePool from BOPTools);
|
||||
|
||||
|
||||
SetCompositeShape (me:out;
|
||||
aS: Shape from TopoDS);
|
||||
@ -103,18 +92,10 @@ is
|
||||
returns Shape from TopoDS;
|
||||
---C++: return const&
|
||||
|
||||
--InterfPool(me:out)
|
||||
--returns PInterferencePool from BOPTools;
|
||||
|
||||
--SetDS(me:out;
|
||||
-- aDS:PShapesDataStructure from NMTDS);
|
||||
|
||||
DS(me:out)
|
||||
returns PShapesDataStructure from NMTDS;
|
||||
|
||||
--SetDSIt(me:out;
|
||||
-- aIt:PIterator from NMTDS);
|
||||
|
||||
|
||||
DSIt(me:out)
|
||||
returns PIterator from NMTDS;
|
||||
|
||||
@ -169,21 +150,11 @@ is
|
||||
PreparePaveBlocks (me:out;
|
||||
anE:Integer from Standard)
|
||||
is virtual protected;
|
||||
|
||||
--PerformNewVertices (me:out)
|
||||
--is virtual;
|
||||
|
||||
|
||||
PrepareEdges (me:out)
|
||||
is virtual protected;
|
||||
|
||||
--SortTypes (me;
|
||||
-- anInd1:in out Integer from Standard;
|
||||
-- anInd2:in out Integer from Standard)
|
||||
-- is protected;
|
||||
|
||||
--ExpectedPoolLength(me)
|
||||
-- returns Integer from Standard
|
||||
--is protected;
|
||||
--
|
||||
-- Query section
|
||||
IsDone(me)
|
||||
@ -394,16 +365,16 @@ is
|
||||
RealPaveBlock(me:out;
|
||||
aPB:PaveBlock from BOPTools)
|
||||
returns PaveBlock from BOPTools;
|
||||
---C++: return const &
|
||||
---C++: return const &
|
||||
|
||||
-- Modified to add new method Thu Sep 14 14:35:18 2006
|
||||
-- Contribution of Samtech www.samcef.com BEGIN
|
||||
--modified by NIZNHY-PKV Fri Nov 30 10:30:54 2007 f
|
||||
RealPaveBlock(me:out;
|
||||
aPB:PaveBlock from BOPTools;
|
||||
aLB:out ListOfInteger from TColStd)
|
||||
aLB:out ListOfInteger from TColStd;
|
||||
aIsCommonBlock:out Integer from Standard)
|
||||
returns PaveBlock from BOPTools;
|
||||
---C++: return const &
|
||||
-- Contribution of Samtech www.samcef.com END
|
||||
--modified by NIZNHY-PKV Fri Nov 30 10:30:58 2007 t
|
||||
|
||||
RealSplitsFace (me:out;
|
||||
nF2 :Integer from Standard;
|
||||
@ -530,7 +501,6 @@ is
|
||||
aDMVV: out DataMapOfShapeShape from TopTools);
|
||||
|
||||
fields
|
||||
--myIntrPool : PInterferencePool from BOPTools is protected;
|
||||
myDS : PShapesDataStructure from NMTDS is protected;
|
||||
myIsDone : Boolean from Standard is protected;
|
||||
myNbSources : Integer from Standard is protected;
|
||||
@ -544,10 +514,10 @@ fields
|
||||
myContext : Context from IntTools is protected;
|
||||
mySectionAttribute : SSIntersectionAttribute from BOPTools is protected;
|
||||
myAloneVertices : IndexedDataMapOfIndexedMapOfInteger from NMTTools is protected;
|
||||
--modified by NIZNHY-PKV Wed Oct 11 11:06:50 2006f
|
||||
--
|
||||
myVSD : DataMapOfIntegerInteger from TColStd is protected;
|
||||
myDSIt : PIterator from NMTDS is protected;
|
||||
myCompositeShape : Shape from TopoDS is protected;
|
||||
myIP : PInterfPool from NMTDS is protected;
|
||||
--modified by NIZNHY-PKV Wed Oct 11 11:06:55 2006t
|
||||
|
||||
end PaveFiller;
|
||||
|
@ -1,21 +1,23 @@
|
||||
// Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||
// File generated by CPPExt (Value)
|
||||
//
|
||||
// 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.
|
||||
// Copyright (C) 1991 - 2000 by
|
||||
// Matra Datavision SA. All rights reserved.
|
||||
//
|
||||
// Copyright (C) 2001 - 2004 by
|
||||
// Open CASCADE SA. All rights reserved.
|
||||
//
|
||||
// This file is part of the Open CASCADE Technology software.
|
||||
//
|
||||
// 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
|
||||
// This software may be distributed and/or modified under the terms and
|
||||
// conditions of the Open CASCADE Public License as defined by Open CASCADE SA
|
||||
// and appearing in the file LICENSE included in the packaging of this file.
|
||||
//
|
||||
// This software is distributed on an "AS IS" basis, without warranty of any
|
||||
// kind, and Open CASCADE SA hereby disclaims all such warranties,
|
||||
// including without limitation, any warranties of merchantability, fitness
|
||||
// for a particular purpose or non-infringement. Please see the License for
|
||||
// the specific terms and conditions governing rights and limitations under the
|
||||
// License.
|
||||
|
||||
#ifndef _NMTTools_PaveFiller_HeaderFile
|
||||
#define _NMTTools_PaveFiller_HeaderFile
|
||||
@ -217,7 +219,7 @@ Standard_EXPORT void PrepareFace(const Standard_Integer nF,TopoDS_Face& aF) ;
|
||||
Standard_EXPORT const BOPTools_PaveBlock& RealPaveBlock(const BOPTools_PaveBlock& aPB) ;
|
||||
|
||||
|
||||
Standard_EXPORT const BOPTools_PaveBlock& RealPaveBlock(const BOPTools_PaveBlock& aPB,TColStd_ListOfInteger& aLB) ;
|
||||
Standard_EXPORT const BOPTools_PaveBlock& RealPaveBlock(const BOPTools_PaveBlock& aPB,TColStd_ListOfInteger& aLB,Standard_Integer& aIsCommonBlock) ;
|
||||
|
||||
|
||||
Standard_EXPORT void RealSplitsFace(const Standard_Integer nF2,BOPTools_ListOfPaveBlock& aLs) ;
|
||||
|
@ -83,12 +83,15 @@
|
||||
// function: RealPaveBlock
|
||||
// purpose:
|
||||
//=======================================================================
|
||||
const BOPTools_PaveBlock& NMTTools_PaveFiller::RealPaveBlock(const BOPTools_PaveBlock& aPB,
|
||||
TColStd_ListOfInteger& aLB)
|
||||
const BOPTools_PaveBlock& NMTTools_PaveFiller::RealPaveBlock
|
||||
(const BOPTools_PaveBlock& aPB,
|
||||
TColStd_ListOfInteger& aLB,
|
||||
Standard_Integer& aIsCommonBlock)
|
||||
{
|
||||
Standard_Integer nE, nSpx;
|
||||
BOPTools_ListIteratorOfListOfPaveBlock aItPBx;
|
||||
//
|
||||
aIsCommonBlock=0;
|
||||
aLB.Clear();
|
||||
nE=aPB.OriginalEdge();
|
||||
const NMTTools_ListOfCommonBlock& aLCBE=myCommonBlockPool(myDS->RefEdge(nE));
|
||||
@ -96,6 +99,8 @@
|
||||
if (aCBAPI.IsCommonBlock(aPB)) {
|
||||
NMTTools_CommonBlock& aCB=aCBAPI.CommonBlock(aPB);
|
||||
//
|
||||
aIsCommonBlock=1;
|
||||
//
|
||||
const BOPTools_ListOfPaveBlock& aLPBx=aCB.PaveBlocks();
|
||||
aItPBx.Initialize(aLPBx);
|
||||
for (; aItPBx.More(); aItPBx.Next()) {
|
||||
|
Loading…
Reference in New Issue
Block a user