Salome HOME
projects
/
modules
/
geom.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[bos #37951][EDF 25230] SIGSEGV with MakeVertexInsideFace. Added check for an uniniti...
[modules/geom.git]
/
src
/
GEOMAlgo
/
GEOMAlgo_ShellSolid.cxx
diff --git
a/src/GEOMAlgo/GEOMAlgo_ShellSolid.cxx
b/src/GEOMAlgo/GEOMAlgo_ShellSolid.cxx
index f602a0ff06de79b2498fc14e7391d691701d0b84..863621166325301f6c8411f5dadf0ba633bc32c4 100644
(file)
--- a/
src/GEOMAlgo/GEOMAlgo_ShellSolid.cxx
+++ b/
src/GEOMAlgo/GEOMAlgo_ShellSolid.cxx
@@
-1,4
+1,4
@@
-// Copyright (C) 2007-202
1 CEA/DEN, EDF R&D
, OPEN CASCADE
+// Copyright (C) 2007-202
3 CEA, EDF
, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@
-55,6
+55,9
@@
#include <BOPAlgo_Builder.hxx>
#include <GEOMAlgo_AlgoTools.hxx>
#include <BOPAlgo_Builder.hxx>
#include <GEOMAlgo_AlgoTools.hxx>
+
+#include <Basics_OCCTVersion.hxx>
+
/////////////////////////////////////////////////////////////////////////
//=======================================================================
//class : GEOMAlgo_ShellSolidBuilder
/////////////////////////////////////////////////////////////////////////
//=======================================================================
//class : GEOMAlgo_ShellSolidBuilder
@@
-70,7
+73,12
@@
class GEOMAlgo_ShellSolidBuilder : public BOPAlgo_Builder {
protected:
Standard_EXPORT
protected:
Standard_EXPORT
+#if OCC_VERSION_LARGE < 0x07070000
virtual void PerformInternal(const BOPAlgo_PaveFiller& theFiller);
virtual void PerformInternal(const BOPAlgo_PaveFiller& theFiller);
+#else
+ virtual void PerformInternal(const BOPAlgo_PaveFiller& theFiller,
+ const Message_ProgressRange& theRange);
+#endif
};
//=======================================================================
};
//=======================================================================
@@
-93,9
+101,13
@@
GEOMAlgo_ShellSolidBuilder::~GEOMAlgo_ShellSolidBuilder()
//function : PerformInternal
//purpose :
//=======================================================================
//function : PerformInternal
//purpose :
//=======================================================================
+#if OCC_VERSION_LARGE < 0x07070000
void GEOMAlgo_ShellSolidBuilder::PerformInternal(const BOPAlgo_PaveFiller& theFiller)
void GEOMAlgo_ShellSolidBuilder::PerformInternal(const BOPAlgo_PaveFiller& theFiller)
+#else
+void GEOMAlgo_ShellSolidBuilder::PerformInternal(const BOPAlgo_PaveFiller& theFiller,
+ const Message_ProgressRange& theRange)
+#endif
{
{
- //
myPaveFiller=(BOPAlgo_PaveFiller*)&theFiller;
myDS=myPaveFiller->PDS();
myContext=myPaveFiller->Context();
myPaveFiller=(BOPAlgo_PaveFiller*)&theFiller;
myDS=myPaveFiller->PDS();
myContext=myPaveFiller->Context();
@@
-111,10
+123,21
@@
void GEOMAlgo_ShellSolidBuilder::PerformInternal(const BOPAlgo_PaveFiller& theFi
if (HasErrors()) {
return;
}
if (HasErrors()) {
return;
}
+
+#if OCC_VERSION_LARGE >= 0x07070000
+ Message_ProgressScope aPS(theRange, "Building the result of Boolean operation", 100);
//
//
+ BOPAlgo_PISteps aSteps (PIOperation_Last);
+ analyzeProgress (100, aSteps);
+#endif
+
// 3. Fill Images
// 3.1 Vertice
// 3. Fill Images
// 3.1 Vertice
+#if OCC_VERSION_LARGE < 0x07070000
FillImagesVertices();
FillImagesVertices();
+#else
+ FillImagesVertices(aPS.Next(aSteps.GetStep(PIOperation_TreatVertices)));
+#endif
if (HasErrors()) {
return;
}
if (HasErrors()) {
return;
}
@@
-124,7
+147,11
@@
void GEOMAlgo_ShellSolidBuilder::PerformInternal(const BOPAlgo_PaveFiller& theFi
return;
}
// 3.2 Edges
return;
}
// 3.2 Edges
+#if OCC_VERSION_LARGE < 0x07070000
FillImagesEdges();
FillImagesEdges();
+#else
+ FillImagesEdges(aPS.Next(aSteps.GetStep(PIOperation_TreatEdges)));
+#endif
if (HasErrors()) {
return;
}
if (HasErrors()) {
return;
}
@@
-135,7
+162,11
@@
void GEOMAlgo_ShellSolidBuilder::PerformInternal(const BOPAlgo_PaveFiller& theFi
}
//
// 3.3 Wires
}
//
// 3.3 Wires
+#if OCC_VERSION_LARGE < 0x07070000
FillImagesContainers(TopAbs_WIRE);
FillImagesContainers(TopAbs_WIRE);
+#else
+ FillImagesContainers(TopAbs_WIRE, aPS.Next(aSteps.GetStep(PIOperation_TreatWires)));
+#endif
if (HasErrors()) {
return;
}
if (HasErrors()) {
return;
}
@@
-146,7
+177,11
@@
void GEOMAlgo_ShellSolidBuilder::PerformInternal(const BOPAlgo_PaveFiller& theFi
}
// 3.4 Faces
}
// 3.4 Faces
+#if OCC_VERSION_LARGE < 0x07070000
FillImagesFaces();
FillImagesFaces();
+#else
+ FillImagesFaces(aPS.Next(aSteps.GetStep(PIOperation_TreatFaces)));
+#endif
if (HasErrors()) {
return;
}
if (HasErrors()) {
return;
}