1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-29 14:00:49 +03:00

Compare commits

..

1 Commits

Author SHA1 Message Date
akaftasev
fa872240ea 0033340: Modeling Algorithm - Improve memory management performance in the PaveFiller
Changed NCollection_BaseAllocator to NCollection_IncAllocator in BOPAlgo_PaveFiller::MakeBlocks()
2023-03-16 13:58:01 +03:00
4 changed files with 10 additions and 43 deletions

View File

@@ -62,6 +62,7 @@
#include <IntTools_SequenceOfCurves.hxx>
#include <IntTools_SequenceOfPntOn2Faces.hxx>
#include <IntTools_Tools.hxx>
#include <NCollection_IncAllocator.hxx>
#include <NCollection_Vector.hxx>
#include <Precision.hxx>
#include <TColStd_ListOfInteger.hxx>
@@ -578,14 +579,12 @@ void BOPAlgo_PaveFiller::MakeBlocks(const Message_ProgressRange& theRange)
Standard_Integer i, nF1, nF2, aNbC, aNbP, j;
Standard_Integer nV1, nV2;
Standard_Real aT1, aT2;
Handle(NCollection_BaseAllocator) aAllocator;
Handle(NCollection_BaseAllocator) aAllocator = new NCollection_IncAllocator;
BOPDS_ListIteratorOfListOfPaveBlock aItLPB;
TopoDS_Edge aES;
Handle(BOPDS_PaveBlock) aPBOut;
//
//-----------------------------------------------------scope f
aAllocator=
NCollection_BaseAllocator::CommonBaseAllocator();
//
TColStd_ListOfInteger aLSE(aAllocator), aLBV(aAllocator);
TColStd_MapOfInteger aMVOnIn(100, aAllocator), aMVCommon(100, aAllocator),

View File

@@ -150,7 +150,6 @@ static Standard_Boolean Connect (const Handle(ShapeAnalysis_Wire)& theSAW,
const Standard_Integer number,
Handle(ShapeExtend_WireData)& Gsewd)
{
(void)number;
Gsewd = new ShapeExtend_WireData;//local translation (for mysewd)
Handle(ShapeExtend_WireData) Gsewd3d = new ShapeExtend_WireData;//local translation (for mysewd3d)
Handle(ShapeExtend_WireData) Gsewd2d = new ShapeExtend_WireData;//local translation (for mysewd2d)
@@ -385,31 +384,17 @@ static Standard_Boolean Connect (const Handle(ShapeAnalysis_Wire)& theSAW,
}
}
if (!mysewd.IsNull())
{
okCurve = okCurve && Connect(saw, mysewd, Gsewd, (len3d > 1) || (len2d > 1), maxtol,
distmin, revsewd, revnextsewd);
}
else
{
mysewd = Gsewd;
}
if (!mysewd3d.IsNull())
{
if (number > 1) {
okCurve = okCurve && Connect (saw, mysewd, Gsewd, (len3d > 1) || (len2d > 1), maxtol,
distmin, revsewd, revnextsewd);
okCurve3d = okCurve3d && Connect (saw3d, mysewd3d, Gsewd3d, len3d > 1, maxtol,
distmin, revsewd, revnextsewd);
}
else
{
mysewd3d = Gsewd3d;
}
if (!mysewd2d.IsNull())
{
okCurve2d = okCurve2d && Connect (saw2d, mysewd2d, Gsewd2d, len2d > 1, maxtol,
distmin, revsewd, revnextsewd);
}
else
{
else {
mysewd = Gsewd;
mysewd3d = Gsewd3d;
mysewd2d = Gsewd2d;
}
return okCurve;

View File

@@ -1249,7 +1249,7 @@ Handle(Geom_Curve) IGESToBRep_BasicCurve::TransferLine
// modif du 15/10/97 : test moins severe
// beaucoup de points confondus a GetEpsGeom()*GetUnitFactor()
if (!Ps.IsEqual(Pe,Precision::Confusion() / GetUnitFactor())) { //:l3 abv 11 Jan 99: GetEpsGeom()*GetUnitFactor()/10.)) {
if (!Ps.IsEqual(Pe,Precision::Confusion())) { //:l3 abv 11 Jan 99: GetEpsGeom()*GetUnitFactor()/10.)) {
gp_Lin line(Ps, gp_Dir(gp_Vec(Ps,Pe)));
Standard_Real t1 = ElCLib::Parameter(line, Ps);
Standard_Real t2 = ElCLib::Parameter(line, Pe);
@@ -1299,7 +1299,7 @@ Handle(Geom2d_Curve) IGESToBRep_BasicCurve::Transfer2dLine
start->EndPoint().Y());
}
if (!beg.IsEqual(end,Precision::PConfusion() / GetUnitFactor())) { //:l3 abv 11 Jan 99: GetEpsCoeff())) {
if (!beg.IsEqual(end,Precision::PConfusion())) { //:l3 abv 11 Jan 99: GetEpsCoeff())) {
gp_Lin2d line2d(beg, gp_Dir2d(gp_Vec2d(beg,end)));
Standard_Real t1 = ElCLib::Parameter(line2d, beg);
Standard_Real t2 = ElCLib::Parameter(line2d, end);

View File

@@ -1,17 +0,0 @@
puts "==================================================="
puts "0033326: Data Exchange, IGES Import - Ignoring unit value for validating geometry"
puts "==================================================="
puts ""
pload DCAF
Close D -silent
ReadIges D [locate_data_file "bug33326.igs"]
vclear
vinit View1
XDisplay -dispMode 1 D
vfit
vdump "$imagedir/${casename}_src.png"
Close D