Mantis issue 0021191: apply a fix by PKV for note 0012153 on the case of Glue by list (second constructor in GUI)

This commit is contained in:
jfa 2013-08-06 09:37:47 +00:00
parent e8922cac3a
commit dde31f0675

View File

@ -439,30 +439,7 @@ TopoDS_Shape GEOMImpl_GlueDriver::GlueWithWarnings (const TopoDS_Shape& theShape
#if OCC_VERSION_LARGE > 0x06050200 #if OCC_VERSION_LARGE > 0x06050200
Standard_Integer iWrnDetect = aGA.WarningStatus(); Standard_Integer iWrnDetect = aGA.WarningStatus();
if (iWrnDetect == 2) { if (iWrnDetect == 2) {
/*
TopTools_ListIteratorOfListOfShape aItLS;
// Sticked shapes are detected
const TopTools_IndexedDataMapOfShapeListOfShape& aIDMSS = pGluer2->StickedShapes();
Standard_Integer i, aNb = aIDMSS.Extent();
for (i = 1; i <= aNb; ++i) {
// ancestor aSa (edge, wire face,..)
const TopoDS_Shape& aSa = aIDMSS.FindKey(i);
// successors aSs (vertex, edge, ...)
// of the ancestor that are sticked
// for given value of the tolerance
const TopTools_ListOfShape& aLSS = aIDMSS.FindFromIndex(i);
aItLS.Initialize(aLSS);
for (; aItLS.More(); aItLS.Next()) {
const TopoDS_Shape& aSs = aItLS.Value();
}
}
*/
Standard_Failure::Raise("GLUE_ERROR_STICKED_SHAPES"); Standard_Failure::Raise("GLUE_ERROR_STICKED_SHAPES");
//Standard_Failure::Raise("Sticked shapes are detected. The tolerance value is too big.");
//theWarning = "Sticked shapes are detected. The tolerance value is too big.";
} }
#endif #endif
//modified by NIZNHY-PKV Tue Mar 13 14:07:14 2012t //modified by NIZNHY-PKV Tue Mar 13 14:07:14 2012t
@ -617,6 +594,37 @@ TopoDS_Shape GEOMImpl_GlueDriver::GlueByList (const TopoDS_Shape& theShape,
// 2. Detect interferred shapes // 2. Detect interferred shapes
aGA.Detect(); aGA.Detect();
//modified by NIZNHY-PKV Tue Mar 13 14:07:12 2012f
#if OCC_VERSION_LARGE > 0x06050200
Standard_Integer iWrnDetect = aGA.WarningStatus();
if (iWrnDetect == 2) {
/*
TopTools_ListIteratorOfListOfShape aItLS;
// Sticked shapes are detected
const TopTools_IndexedDataMapOfShapeListOfShape& aIDMSS = pGluer2->StickedShapes();
Standard_Integer i, aNb = aIDMSS.Extent();
for (i = 1; i <= aNb; ++i) {
// ancestor aSa (edge, wire face,..)
const TopoDS_Shape& aSa = aIDMSS.FindKey(i);
// successors aSs (vertex, edge, ...)
// of the ancestor that are sticked
// for given value of the tolerance
const TopTools_ListOfShape& aLSS = aIDMSS.FindFromIndex(i);
aItLS.Initialize(aLSS);
for (; aItLS.More(); aItLS.Next()) {
const TopoDS_Shape& aSs = aItLS.Value();
}
}
*/
Standard_Failure::Raise("GLUE_ERROR_STICKED_SHAPES");
}
#endif
//modified by NIZNHY-PKV Tue Mar 13 14:07:14 2012t
Standard_Integer iErr = aGA.ErrorStatus(); Standard_Integer iErr = aGA.ErrorStatus();
if (iErr) { if (iErr) {
switch (iErr) { switch (iErr) {