mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2024-11-11 16:19:17 +05:00
Fix for test case geom/boolean_operations_05/F5 (implement copying of source shapes for MakeFaceWires)
This commit is contained in:
parent
6c27d2b4d5
commit
398df1400a
@ -59,6 +59,8 @@
|
|||||||
#include <ShapeAnalysis.hxx>
|
#include <ShapeAnalysis.hxx>
|
||||||
#include <ShapeAnalysis_FreeBounds.hxx>
|
#include <ShapeAnalysis_FreeBounds.hxx>
|
||||||
|
|
||||||
|
#include <TNaming_CopyShape.hxx>
|
||||||
|
|
||||||
#include <TopAbs.hxx>
|
#include <TopAbs.hxx>
|
||||||
#include <TopExp.hxx>
|
#include <TopExp.hxx>
|
||||||
#include <TopExp_Explorer.hxx>
|
#include <TopExp_Explorer.hxx>
|
||||||
@ -86,6 +88,7 @@
|
|||||||
#include <GeomConvert.hxx>
|
#include <GeomConvert.hxx>
|
||||||
#include <GeomLProp.hxx>
|
#include <GeomLProp.hxx>
|
||||||
|
|
||||||
|
#include <TColStd_IndexedDataMapOfTransientTransient.hxx>
|
||||||
#include <TColStd_SequenceOfReal.hxx>
|
#include <TColStd_SequenceOfReal.hxx>
|
||||||
#include <TColStd_HSequenceOfTransient.hxx>
|
#include <TColStd_HSequenceOfTransient.hxx>
|
||||||
#include <TColStd_Array1OfReal.hxx>
|
#include <TColStd_Array1OfReal.hxx>
|
||||||
@ -208,6 +211,7 @@ Standard_Integer GEOMImpl_ShapeDriver::Execute(TFunction_Logbook& log) const
|
|||||||
// 1. Extract all edges from the given arguments
|
// 1. Extract all edges from the given arguments
|
||||||
TopTools_MapOfShape aMapEdges;
|
TopTools_MapOfShape aMapEdges;
|
||||||
Handle(TopTools_HSequenceOfShape) aSeqEdgesIn = new TopTools_HSequenceOfShape;
|
Handle(TopTools_HSequenceOfShape) aSeqEdgesIn = new TopTools_HSequenceOfShape;
|
||||||
|
TColStd_IndexedDataMapOfTransientTransient aMapTShapes;
|
||||||
|
|
||||||
for (ind = 1; ind <= nbshapes; ind++) {
|
for (ind = 1; ind <= nbshapes; ind++) {
|
||||||
Handle(GEOM_Function) aRefSh_i = Handle(GEOM_Function)::DownCast(aShapes->Value(ind));
|
Handle(GEOM_Function) aRefSh_i = Handle(GEOM_Function)::DownCast(aShapes->Value(ind));
|
||||||
@ -216,7 +220,12 @@ Standard_Integer GEOMImpl_ShapeDriver::Execute(TFunction_Logbook& log) const
|
|||||||
TopExp_Explorer anExpE_i (aSh_i, TopAbs_EDGE);
|
TopExp_Explorer anExpE_i (aSh_i, TopAbs_EDGE);
|
||||||
for (; anExpE_i.More(); anExpE_i.Next()) {
|
for (; anExpE_i.More(); anExpE_i.Next()) {
|
||||||
if (aMapEdges.Add(anExpE_i.Current())) {
|
if (aMapEdges.Add(anExpE_i.Current())) {
|
||||||
aSeqEdgesIn->Append(anExpE_i.Current());
|
// Copy the original shape.
|
||||||
|
TopoDS_Shape aShapeCopy;
|
||||||
|
|
||||||
|
TNaming_CopyShape::CopyTool
|
||||||
|
(anExpE_i.Current(), aMapTShapes, aShapeCopy);
|
||||||
|
aSeqEdgesIn->Append(aShapeCopy);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user