mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2024-11-15 10:08:35 +05:00
Mantis issue 0021129: EDF 1541 GEOM: Problem with GetInPlace.
This commit is contained in:
parent
82dd601449
commit
10e60380a9
@ -19,9 +19,9 @@
|
|||||||
//
|
//
|
||||||
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
||||||
//
|
//
|
||||||
// File: GEOMAlgo_GetInPlace.cxx
|
// File: GEOMAlgo_GetInPlace.cxx
|
||||||
// Created:
|
// Created:
|
||||||
// Author: Peter KURNEV
|
// Author: Peter KURNEV
|
||||||
|
|
||||||
#include <GEOMAlgo_GetInPlace.hxx>
|
#include <GEOMAlgo_GetInPlace.hxx>
|
||||||
|
|
||||||
@ -63,14 +63,14 @@
|
|||||||
#include <GEOMAlgo_Tools.hxx>
|
#include <GEOMAlgo_Tools.hxx>
|
||||||
|
|
||||||
|
|
||||||
static
|
static
|
||||||
void MapBRepShapes(const TopoDS_Shape& aS,
|
void MapBRepShapes(const TopoDS_Shape& aS,
|
||||||
TopTools_IndexedMapOfShape& aM);
|
TopTools_IndexedMapOfShape& aM);
|
||||||
|
|
||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : GEOMAlgo_GetInPlace
|
//function : GEOMAlgo_GetInPlace
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
GEOMAlgo_GetInPlace::GEOMAlgo_GetInPlace()
|
GEOMAlgo_GetInPlace::GEOMAlgo_GetInPlace()
|
||||||
:
|
:
|
||||||
@ -85,14 +85,14 @@ GEOMAlgo_GetInPlace::GEOMAlgo_GetInPlace()
|
|||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : ~
|
//function : ~
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
GEOMAlgo_GetInPlace::~GEOMAlgo_GetInPlace()
|
GEOMAlgo_GetInPlace::~GEOMAlgo_GetInPlace()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : SetTolMass
|
//function : SetTolMass
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
void GEOMAlgo_GetInPlace::SetTolMass(const Standard_Real theTol)
|
void GEOMAlgo_GetInPlace::SetTolMass(const Standard_Real theTol)
|
||||||
{
|
{
|
||||||
@ -100,7 +100,7 @@ void GEOMAlgo_GetInPlace::SetTolMass(const Standard_Real theTol)
|
|||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : TolMass
|
//function : TolMass
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
Standard_Real GEOMAlgo_GetInPlace::TolMass()const
|
Standard_Real GEOMAlgo_GetInPlace::TolMass()const
|
||||||
{
|
{
|
||||||
@ -108,7 +108,7 @@ Standard_Real GEOMAlgo_GetInPlace::TolMass()const
|
|||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : SetTolCG
|
//function : SetTolCG
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
void GEOMAlgo_GetInPlace::SetTolCG(const Standard_Real theTol)
|
void GEOMAlgo_GetInPlace::SetTolCG(const Standard_Real theTol)
|
||||||
{
|
{
|
||||||
@ -116,7 +116,7 @@ void GEOMAlgo_GetInPlace::SetTolCG(const Standard_Real theTol)
|
|||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : TolCG
|
//function : TolCG
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
Standard_Real GEOMAlgo_GetInPlace::TolCG()const
|
Standard_Real GEOMAlgo_GetInPlace::TolCG()const
|
||||||
{
|
{
|
||||||
@ -124,7 +124,7 @@ Standard_Real GEOMAlgo_GetInPlace::TolCG()const
|
|||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : IsFound
|
//function : IsFound
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
Standard_Boolean GEOMAlgo_GetInPlace::IsFound()const
|
Standard_Boolean GEOMAlgo_GetInPlace::IsFound()const
|
||||||
{
|
{
|
||||||
@ -132,7 +132,7 @@ Standard_Boolean GEOMAlgo_GetInPlace::IsFound()const
|
|||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : SetShapeWhere
|
//function : SetShapeWhere
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
void GEOMAlgo_GetInPlace::SetShapeWhere(const TopoDS_Shape& theShape)
|
void GEOMAlgo_GetInPlace::SetShapeWhere(const TopoDS_Shape& theShape)
|
||||||
{
|
{
|
||||||
@ -140,7 +140,7 @@ void GEOMAlgo_GetInPlace::SetShapeWhere(const TopoDS_Shape& theShape)
|
|||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : ShapeWhere
|
//function : ShapeWhere
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
const TopoDS_Shape& GEOMAlgo_GetInPlace::ShapeWhere()const
|
const TopoDS_Shape& GEOMAlgo_GetInPlace::ShapeWhere()const
|
||||||
{
|
{
|
||||||
@ -148,7 +148,7 @@ const TopoDS_Shape& GEOMAlgo_GetInPlace::ShapeWhere()const
|
|||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : ShapesIn
|
//function : ShapesIn
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
const GEOMAlgo_DataMapOfShapeMapOfShape& GEOMAlgo_GetInPlace::ShapesIn()const
|
const GEOMAlgo_DataMapOfShapeMapOfShape& GEOMAlgo_GetInPlace::ShapesIn()const
|
||||||
{
|
{
|
||||||
@ -156,7 +156,7 @@ const GEOMAlgo_DataMapOfShapeMapOfShape& GEOMAlgo_GetInPlace::ShapesIn()const
|
|||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : ShapesOn
|
//function : ShapesOn
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
const GEOMAlgo_DataMapOfShapeMapOfShape& GEOMAlgo_GetInPlace::ShapesOn()const
|
const GEOMAlgo_DataMapOfShapeMapOfShape& GEOMAlgo_GetInPlace::ShapesOn()const
|
||||||
{
|
{
|
||||||
@ -164,7 +164,7 @@ const GEOMAlgo_DataMapOfShapeMapOfShape& GEOMAlgo_GetInPlace::ShapesOn()const
|
|||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : Clear
|
//function : Clear
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
void GEOMAlgo_GetInPlace::Clear()
|
void GEOMAlgo_GetInPlace::Clear()
|
||||||
{
|
{
|
||||||
@ -179,7 +179,7 @@ void GEOMAlgo_GetInPlace::Clear()
|
|||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : Perform
|
//function : Perform
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
void GEOMAlgo_GetInPlace::Perform()
|
void GEOMAlgo_GetInPlace::Perform()
|
||||||
{
|
{
|
||||||
@ -269,7 +269,7 @@ void GEOMAlgo_GetInPlace::Perform()
|
|||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : CheckData
|
//function : CheckData
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
void GEOMAlgo_GetInPlace::CheckData()
|
void GEOMAlgo_GetInPlace::CheckData()
|
||||||
{
|
{
|
||||||
@ -288,7 +288,7 @@ void GEOMAlgo_GetInPlace::CheckData()
|
|||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : Intersect
|
//function : Intersect
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
void GEOMAlgo_GetInPlace::Intersect()
|
void GEOMAlgo_GetInPlace::Intersect()
|
||||||
{
|
{
|
||||||
@ -316,7 +316,10 @@ void GEOMAlgo_GetInPlace::Intersect()
|
|||||||
//
|
//
|
||||||
const TopoDS_Shape& aS1=aMS1(i);
|
const TopoDS_Shape& aS1=aMS1(i);
|
||||||
BRepBndLib::Add(aS1, aBox1);
|
BRepBndLib::Add(aS1, aBox1);
|
||||||
aBox1.SetGap(myTolerance);
|
//modified by NIZNHY-PKV Fri Jun 10 08:20:03 2011f
|
||||||
|
//aBox1.SetGap(myTolerance);
|
||||||
|
aBox1.Enlarge(myTolerance);
|
||||||
|
//modified by NIZNHY-PKV Fri Jun 10 08:20:06 2011t
|
||||||
//
|
//
|
||||||
aTreeFiller.Add(i, aBox1);
|
aTreeFiller.Add(i, aBox1);
|
||||||
}
|
}
|
||||||
@ -330,13 +333,16 @@ void GEOMAlgo_GetInPlace::Intersect()
|
|||||||
//
|
//
|
||||||
const TopoDS_Shape& aS2=aMS2(j);
|
const TopoDS_Shape& aS2=aMS2(j);
|
||||||
BRepBndLib::Add(aS2, aBox2);
|
BRepBndLib::Add(aS2, aBox2);
|
||||||
aBox2.SetGap(myTolerance);
|
//modified by NIZNHY-PKV Fri Jun 10 08:20:23 2011f
|
||||||
|
//aBox2.SetGap(myTolerance);
|
||||||
|
aBox2.Enlarge(myTolerance);
|
||||||
|
//modified by NIZNHY-PKV Fri Jun 10 08:20:25 2011t
|
||||||
//
|
//
|
||||||
aSelector.Clear();
|
aSelector.Clear();
|
||||||
aSelector.SetBox(aBox2);
|
aSelector.SetBox(aBox2);
|
||||||
aNbSD=aBBTree.Select(aSelector);
|
aNbSD=aBBTree.Select(aSelector);
|
||||||
if (!aNbSD) {
|
if (!aNbSD) {
|
||||||
continue; // it should not be
|
continue; // it should not be
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
const TColStd_ListOfInteger& aLI=aSelector.Indices();
|
const TColStd_ListOfInteger& aLI=aSelector.Indices();
|
||||||
@ -346,14 +352,14 @@ void GEOMAlgo_GetInPlace::Intersect()
|
|||||||
const TopoDS_Shape& aS1=aMS1(i);
|
const TopoDS_Shape& aS1=aMS1(i);
|
||||||
//
|
//
|
||||||
if (aDMSLS.IsBound(aS1)) {
|
if (aDMSLS.IsBound(aS1)) {
|
||||||
TopTools_ListOfShape& aLS=aDMSLS.ChangeFind(aS1);
|
TopTools_ListOfShape& aLS=aDMSLS.ChangeFind(aS1);
|
||||||
aLS.Append(aS2);
|
aLS.Append(aS2);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
TopTools_ListOfShape aLS;
|
TopTools_ListOfShape aLS;
|
||||||
//
|
//
|
||||||
aLS.Append(aS2);
|
aLS.Append(aS2);
|
||||||
aDMSLS.Bind(aS1, aLS);
|
aDMSLS.Bind(aS1, aLS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}// for (j=1; j<=aNbS2; ++j) {
|
}// for (j=1; j<=aNbS2; ++j) {
|
||||||
@ -373,7 +379,7 @@ void GEOMAlgo_GetInPlace::Intersect()
|
|||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : PerformVV
|
//function : PerformVV
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
void GEOMAlgo_GetInPlace::PerformVV()
|
void GEOMAlgo_GetInPlace::PerformVV()
|
||||||
{
|
{
|
||||||
@ -391,11 +397,11 @@ void GEOMAlgo_GetInPlace::PerformVV()
|
|||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : FillEdgesOn
|
//function : FillEdgesOn
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
void GEOMAlgo_GetInPlace::FillEdgesOn()
|
void GEOMAlgo_GetInPlace::FillEdgesOn()
|
||||||
{
|
{
|
||||||
Standard_Integer i, aNbE, aNbSOn;
|
Standard_Integer i, aNbE;
|
||||||
TopoDS_Iterator aIt;
|
TopoDS_Iterator aIt;
|
||||||
TopTools_IndexedMapOfShape aME;
|
TopTools_IndexedMapOfShape aME;
|
||||||
TopTools_MapIteratorOfMapOfShape aItMS;
|
TopTools_MapIteratorOfMapOfShape aItMS;
|
||||||
@ -412,20 +418,20 @@ void GEOMAlgo_GetInPlace::FillEdgesOn()
|
|||||||
for (; aIt.More(); aIt.Next()) {
|
for (; aIt.More(); aIt.Next()) {
|
||||||
const TopoDS_Shape& aV1=aIt.Value();
|
const TopoDS_Shape& aV1=aIt.Value();
|
||||||
if (myShapesOn.IsBound(aV1)) {
|
if (myShapesOn.IsBound(aV1)) {
|
||||||
const TopTools_MapOfShape& aMSOn=myShapesOn.Find(aV1);
|
const TopTools_MapOfShape& aMSOn=myShapesOn.Find(aV1);
|
||||||
aNbSOn=aMSOn.Extent();
|
//aNbSOn=aMSOn.Extent();
|
||||||
aItMS.Initialize(aMSOn);
|
aItMS.Initialize(aMSOn);
|
||||||
for (; aItMS.More(); aItMS.Next()) {
|
for (; aItMS.More(); aItMS.Next()) {
|
||||||
const TopoDS_Shape& aV2=aItMS.Key();
|
const TopoDS_Shape& aV2=aItMS.Key();
|
||||||
FillShapesOn(aE1, aV2);
|
FillShapesOn(aE1, aV2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : PerformVE
|
//function : PerformVE
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
void GEOMAlgo_GetInPlace::PerformVE()
|
void GEOMAlgo_GetInPlace::PerformVE()
|
||||||
{
|
{
|
||||||
@ -444,7 +450,7 @@ void GEOMAlgo_GetInPlace::PerformVE()
|
|||||||
if (myShapesOn.IsBound(aE1)) {
|
if (myShapesOn.IsBound(aE1)) {
|
||||||
const TopTools_MapOfShape& aMSOn=myShapesOn.Find(aE1);
|
const TopTools_MapOfShape& aMSOn=myShapesOn.Find(aE1);
|
||||||
if (aMSOn.Contains(aV2)) {
|
if (aMSOn.Contains(aV2)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
@ -459,7 +465,7 @@ void GEOMAlgo_GetInPlace::PerformVE()
|
|||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : PerformEE
|
//function : PerformEE
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
void GEOMAlgo_GetInPlace::PerformEE()
|
void GEOMAlgo_GetInPlace::PerformEE()
|
||||||
{
|
{
|
||||||
@ -486,8 +492,8 @@ void GEOMAlgo_GetInPlace::PerformEE()
|
|||||||
for (; aIt.More(); aIt.Next()) {
|
for (; aIt.More(); aIt.Next()) {
|
||||||
const TopoDS_Shape& aV2=aIt.Value();
|
const TopoDS_Shape& aV2=aIt.Value();
|
||||||
if (!(aMSOn.Contains(aV2) || aMSIn.Contains(aV2))) {
|
if (!(aMSOn.Contains(aV2) || aMSIn.Contains(aV2))) {
|
||||||
bFound=!bFound;
|
bFound=!bFound;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!bFound) {
|
if (!bFound) {
|
||||||
@ -505,7 +511,7 @@ void GEOMAlgo_GetInPlace::PerformEE()
|
|||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : PerformVF
|
//function : PerformVF
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
void GEOMAlgo_GetInPlace::PerformVF()
|
void GEOMAlgo_GetInPlace::PerformVF()
|
||||||
{
|
{
|
||||||
@ -531,7 +537,7 @@ void GEOMAlgo_GetInPlace::PerformVF()
|
|||||||
for (i=1; i<=aNbE; ++i) {
|
for (i=1; i<=aNbE; ++i) {
|
||||||
const TopoDS_Edge& aE1=*((TopoDS_Edge*)&aME(i));
|
const TopoDS_Edge& aE1=*((TopoDS_Edge*)&aME(i));
|
||||||
if (BRep_Tool::Degenerated(aE1)) {
|
if (BRep_Tool::Degenerated(aE1)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
bHasOn=myShapesOn.IsBound(aE1);
|
bHasOn=myShapesOn.IsBound(aE1);
|
||||||
@ -540,7 +546,7 @@ void GEOMAlgo_GetInPlace::PerformVF()
|
|||||||
const TopTools_MapOfShape& aMSIn=(bHasIn) ? myShapesIn.Find(aE1) : aMSX;
|
const TopTools_MapOfShape& aMSIn=(bHasIn) ? myShapesIn.Find(aE1) : aMSX;
|
||||||
bFound= (aMSOn.Contains(aV2) || aMSIn.Contains(aV2));
|
bFound= (aMSOn.Contains(aV2) || aMSIn.Contains(aV2));
|
||||||
if (bFound) {
|
if (bFound) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
@ -559,11 +565,11 @@ void GEOMAlgo_GetInPlace::PerformVF()
|
|||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : FillFacesOn
|
//function : FillFacesOn
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
void GEOMAlgo_GetInPlace::FillFacesOn()
|
void GEOMAlgo_GetInPlace::FillFacesOn()
|
||||||
{
|
{
|
||||||
Standard_Integer i, j, aNbF, aNbE, aNbSOn;
|
Standard_Integer i, j, aNbF, aNbE;
|
||||||
TopoDS_Iterator aIt;
|
TopoDS_Iterator aIt;
|
||||||
TopTools_IndexedMapOfShape aMF, aME;
|
TopTools_IndexedMapOfShape aMF, aME;
|
||||||
TopTools_MapIteratorOfMapOfShape aItMS;
|
TopTools_MapIteratorOfMapOfShape aItMS;
|
||||||
@ -579,37 +585,36 @@ void GEOMAlgo_GetInPlace::FillFacesOn()
|
|||||||
for (j=1; j<=aNbE; ++j) {
|
for (j=1; j<=aNbE; ++j) {
|
||||||
const TopoDS_Edge& aE1=*((TopoDS_Edge*)&aME(j));
|
const TopoDS_Edge& aE1=*((TopoDS_Edge*)&aME(j));
|
||||||
if (BRep_Tool::Degenerated(aE1)) {
|
if (BRep_Tool::Degenerated(aE1)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
if (myShapesOn.IsBound(aE1)) {
|
if (myShapesOn.IsBound(aE1)) {
|
||||||
const TopTools_MapOfShape& aMSOn=myShapesOn.Find(aE1);
|
const TopTools_MapOfShape& aMSOn=myShapesOn.Find(aE1);
|
||||||
aItMS.Initialize(aMSOn);
|
aItMS.Initialize(aMSOn);
|
||||||
for (; aItMS.More(); aItMS.Next()) {
|
for (; aItMS.More(); aItMS.Next()) {
|
||||||
const TopoDS_Shape& aS2=aItMS.Key();
|
const TopoDS_Shape& aS2=aItMS.Key();
|
||||||
FillShapesOn(aF1, aS2);
|
FillShapesOn(aF1, aS2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
if (myShapesIn.IsBound(aE1)) {
|
if (myShapesIn.IsBound(aE1)) {
|
||||||
const TopTools_MapOfShape& aMSIn=myShapesIn.Find(aE1);
|
const TopTools_MapOfShape& aMSIn=myShapesIn.Find(aE1);
|
||||||
aItMS.Initialize(aMSIn);
|
aItMS.Initialize(aMSIn);
|
||||||
for (; aItMS.More(); aItMS.Next()) {
|
for (; aItMS.More(); aItMS.Next()) {
|
||||||
const TopoDS_Shape& aS2=aItMS.Key();
|
const TopoDS_Shape& aS2=aItMS.Key();
|
||||||
FillShapesOn(aF1, aS2);
|
FillShapesOn(aF1, aS2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}//for (j=1; j<=aNbE; ++j) {
|
}//for (j=1; j<=aNbE; ++j) {
|
||||||
}//for (i=1; i<=aNbF; ++i) {
|
}//for (i=1; i<=aNbF; ++i) {
|
||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : PerformEF
|
//function : PerformEF
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
void GEOMAlgo_GetInPlace::PerformEF()
|
void GEOMAlgo_GetInPlace::PerformEF()
|
||||||
{
|
{
|
||||||
Standard_Boolean bFound, bHasOnF, bHasInF;
|
Standard_Boolean bFound, bHasOnF, bHasInF;
|
||||||
Standard_Integer i, aNbE;
|
|
||||||
TopoDS_Iterator aIt;
|
TopoDS_Iterator aIt;
|
||||||
TopTools_MapOfShape aMSX;
|
TopTools_MapOfShape aMSX;
|
||||||
//
|
//
|
||||||
@ -629,7 +634,7 @@ void GEOMAlgo_GetInPlace::PerformEF()
|
|||||||
if (bFound) {
|
if (bFound) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
// 2.
|
// 2.
|
||||||
bHasInF=myShapesIn.IsBound(aF1);
|
bHasInF=myShapesIn.IsBound(aF1);
|
||||||
const TopTools_MapOfShape& aMSInF=(bHasInF) ? myShapesIn.Find(aF1) : aMSX;
|
const TopTools_MapOfShape& aMSInF=(bHasInF) ? myShapesIn.Find(aF1) : aMSX;
|
||||||
@ -639,7 +644,7 @@ void GEOMAlgo_GetInPlace::PerformEF()
|
|||||||
const TopoDS_Shape& aV2=aIt.Value();
|
const TopoDS_Shape& aV2=aIt.Value();
|
||||||
bFound=(aMSOnF.Contains(aV2) || aMSInF.Contains(aV2));
|
bFound=(aMSOnF.Contains(aV2) || aMSInF.Contains(aV2));
|
||||||
if (!bFound) {
|
if (!bFound) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!bFound) {
|
if (!bFound) {
|
||||||
@ -657,7 +662,7 @@ void GEOMAlgo_GetInPlace::PerformEF()
|
|||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : PerformFF
|
//function : PerformFF
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
void GEOMAlgo_GetInPlace::PerformFF()
|
void GEOMAlgo_GetInPlace::PerformFF()
|
||||||
{
|
{
|
||||||
@ -689,11 +694,11 @@ void GEOMAlgo_GetInPlace::PerformFF()
|
|||||||
for (i=1; i<=aNbS2; ++i) {
|
for (i=1; i<=aNbS2; ++i) {
|
||||||
const TopoDS_Shape& aS2=aMS2(i);
|
const TopoDS_Shape& aS2=aMS2(i);
|
||||||
if (aS2.IsSame(aF2)) {
|
if (aS2.IsSame(aF2)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
bFound=(aMSOnF.Contains(aS2) || aMSInF.Contains(aS2));
|
bFound=(aMSOnF.Contains(aS2) || aMSInF.Contains(aS2));
|
||||||
if (!bFound) {
|
if (!bFound) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!bFound) {
|
if (!bFound) {
|
||||||
@ -711,11 +716,11 @@ void GEOMAlgo_GetInPlace::PerformFF()
|
|||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : FillSolidsOn
|
//function : FillSolidsOn
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
void GEOMAlgo_GetInPlace::FillSolidsOn()
|
void GEOMAlgo_GetInPlace::FillSolidsOn()
|
||||||
{
|
{
|
||||||
Standard_Integer i, j, aNbS, aNbF, aNbSOn;
|
Standard_Integer i, j, aNbS, aNbF;
|
||||||
TopTools_IndexedMapOfShape aMS, aMF;
|
TopTools_IndexedMapOfShape aMS, aMF;
|
||||||
TopTools_MapIteratorOfMapOfShape aItMS;
|
TopTools_MapIteratorOfMapOfShape aItMS;
|
||||||
//
|
//
|
||||||
@ -732,33 +737,32 @@ void GEOMAlgo_GetInPlace::FillSolidsOn()
|
|||||||
const TopoDS_Shape& aF1=aMF(j);
|
const TopoDS_Shape& aF1=aMF(j);
|
||||||
//
|
//
|
||||||
if (myShapesOn.IsBound(aF1)) {
|
if (myShapesOn.IsBound(aF1)) {
|
||||||
const TopTools_MapOfShape& aMSOn=myShapesOn.Find(aF1);
|
const TopTools_MapOfShape& aMSOn=myShapesOn.Find(aF1);
|
||||||
aItMS.Initialize(aMSOn);
|
aItMS.Initialize(aMSOn);
|
||||||
for (; aItMS.More(); aItMS.Next()) {
|
for (; aItMS.More(); aItMS.Next()) {
|
||||||
const TopoDS_Shape& aS2=aItMS.Key();
|
const TopoDS_Shape& aS2=aItMS.Key();
|
||||||
FillShapesOn(aSD1, aS2);
|
FillShapesOn(aSD1, aS2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
if (myShapesIn.IsBound(aF1)) {
|
if (myShapesIn.IsBound(aF1)) {
|
||||||
const TopTools_MapOfShape& aMSIn=myShapesIn.Find(aF1);
|
const TopTools_MapOfShape& aMSIn=myShapesIn.Find(aF1);
|
||||||
aItMS.Initialize(aMSIn);
|
aItMS.Initialize(aMSIn);
|
||||||
for (; aItMS.More(); aItMS.Next()) {
|
for (; aItMS.More(); aItMS.Next()) {
|
||||||
const TopoDS_Shape& aS2=aItMS.Key();
|
const TopoDS_Shape& aS2=aItMS.Key();
|
||||||
FillShapesOn(aSD1, aS2);
|
FillShapesOn(aSD1, aS2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}//for (j=1; j<=aNbF; ++j) {
|
}//for (j=1; j<=aNbF; ++j) {
|
||||||
}//for (i=1; i<=aNbS; ++i) {
|
}//for (i=1; i<=aNbS; ++i) {
|
||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : PerformZF
|
//function : PerformZF
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
void GEOMAlgo_GetInPlace::PerformZF()
|
void GEOMAlgo_GetInPlace::PerformZF()
|
||||||
{
|
{
|
||||||
Standard_Boolean bFound, bHasOnF, bHasInF;
|
Standard_Boolean bFound, bHasOnF;
|
||||||
Standard_Integer i, aNbE;
|
|
||||||
TopTools_MapOfShape aMSX;
|
TopTools_MapOfShape aMSX;
|
||||||
//
|
//
|
||||||
myErrorStatus=0;
|
myErrorStatus=0;
|
||||||
@ -788,7 +792,7 @@ void GEOMAlgo_GetInPlace::PerformZF()
|
|||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : PerformZZ
|
//function : PerformZZ
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
void GEOMAlgo_GetInPlace::PerformZZ()
|
void GEOMAlgo_GetInPlace::PerformZZ()
|
||||||
{
|
{
|
||||||
@ -824,17 +828,17 @@ void GEOMAlgo_GetInPlace::PerformZZ()
|
|||||||
const TopoDS_Shape& aF2=aMS2(i);
|
const TopoDS_Shape& aF2=aMS2(i);
|
||||||
//
|
//
|
||||||
if (aMSIn.Contains(aF2)) {
|
if (aMSIn.Contains(aF2)) {
|
||||||
++iCntIn;
|
++iCntIn;
|
||||||
bFound=Standard_True;
|
bFound=Standard_True;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else if (!aMSOn.Contains(aF2)) {
|
else if (!aMSOn.Contains(aF2)) {
|
||||||
++iCntOut;
|
++iCntOut;
|
||||||
bFound=Standard_False;// out
|
bFound=Standard_False;// out
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
++iCntOn; //on
|
++iCntOn; //on
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
@ -845,7 +849,7 @@ void GEOMAlgo_GetInPlace::PerformZZ()
|
|||||||
if (!iCntIn) {
|
if (!iCntIn) {
|
||||||
bFound=CheckCoincidence(aSo1, aSo2);
|
bFound=CheckCoincidence(aSo1, aSo2);
|
||||||
if (myErrorStatus) {
|
if (myErrorStatus) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (bFound) {
|
if (bFound) {
|
||||||
@ -855,7 +859,7 @@ void GEOMAlgo_GetInPlace::PerformZZ()
|
|||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : FillImages
|
//function : FillImages
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
void GEOMAlgo_GetInPlace::FillImages()
|
void GEOMAlgo_GetInPlace::FillImages()
|
||||||
{
|
{
|
||||||
@ -870,7 +874,7 @@ void GEOMAlgo_GetInPlace::FillImages()
|
|||||||
myErrorStatus=0;
|
myErrorStatus=0;
|
||||||
myWarningStatus=0;
|
myWarningStatus=0;
|
||||||
//
|
//
|
||||||
myImages.Clear();
|
myImages.Clear();
|
||||||
//
|
//
|
||||||
// 1. Vertices
|
// 1. Vertices
|
||||||
aMS.Clear();
|
aMS.Clear();
|
||||||
@ -885,8 +889,8 @@ void GEOMAlgo_GetInPlace::FillImages()
|
|||||||
aLSx.Clear();
|
aLSx.Clear();
|
||||||
aItMS.Initialize(aMSx);
|
aItMS.Initialize(aMSx);
|
||||||
for (; aItMS.More(); aItMS.Next()) {
|
for (; aItMS.More(); aItMS.Next()) {
|
||||||
const TopoDS_Shape& aVx=aItMS.Key();
|
const TopoDS_Shape& aVx=aItMS.Key();
|
||||||
aLSx.Append(aVx);
|
aLSx.Append(aVx);
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
myImages.Bind(aV, aLSx);
|
myImages.Bind(aV, aLSx);
|
||||||
@ -906,11 +910,11 @@ void GEOMAlgo_GetInPlace::FillImages()
|
|||||||
aLSx.Clear();
|
aLSx.Clear();
|
||||||
aItMS.Initialize(aMSx);
|
aItMS.Initialize(aMSx);
|
||||||
for (; aItMS.More(); aItMS.Next()) {
|
for (; aItMS.More(); aItMS.Next()) {
|
||||||
const TopoDS_Shape& aEx=aItMS.Key();
|
const TopoDS_Shape& aEx=aItMS.Key();
|
||||||
aType=aEx.ShapeType();
|
aType=aEx.ShapeType();
|
||||||
if (aType==TopAbs_EDGE){
|
if (aType==TopAbs_EDGE){
|
||||||
aLSx.Append(aEx);
|
aLSx.Append(aEx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
myImages.Bind(aE, aLSx);
|
myImages.Bind(aE, aLSx);
|
||||||
@ -928,14 +932,14 @@ void GEOMAlgo_GetInPlace::FillImages()
|
|||||||
for(; aIt.More(); aIt.Next()) {
|
for(; aIt.More(); aIt.Next()) {
|
||||||
const TopoDS_Shape& aE=aIt.Value();
|
const TopoDS_Shape& aE=aIt.Value();
|
||||||
if (myImages.IsBound(aE)) {
|
if (myImages.IsBound(aE)) {
|
||||||
const TopTools_ListOfShape& aLSi=myImages.Find(aE);
|
const TopTools_ListOfShape& aLSi=myImages.Find(aE);
|
||||||
aNbSi=aLSi.Extent();
|
aNbSi=aLSi.Extent();
|
||||||
//
|
//
|
||||||
aItLS.Initialize(aLSi);
|
aItLS.Initialize(aLSi);
|
||||||
for (; aItLS.More(); aItLS.Next()) {
|
for (; aItLS.More(); aItLS.Next()) {
|
||||||
const TopoDS_Shape& aEi=aItLS.Value();
|
const TopoDS_Shape& aEi=aItLS.Value();
|
||||||
aLSx.Append(aEi);
|
aLSx.Append(aEi);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
myImages.Bind(aW, aLSx);
|
myImages.Bind(aW, aLSx);
|
||||||
@ -954,11 +958,11 @@ void GEOMAlgo_GetInPlace::FillImages()
|
|||||||
aLSx.Clear();
|
aLSx.Clear();
|
||||||
aItMS.Initialize(aMSx);
|
aItMS.Initialize(aMSx);
|
||||||
for (; aItMS.More(); aItMS.Next()) {
|
for (; aItMS.More(); aItMS.Next()) {
|
||||||
const TopoDS_Shape& aFx=aItMS.Key();
|
const TopoDS_Shape& aFx=aItMS.Key();
|
||||||
aType=aFx.ShapeType();
|
aType=aFx.ShapeType();
|
||||||
if (aType==TopAbs_FACE){
|
if (aType==TopAbs_FACE){
|
||||||
aLSx.Append(aFx);
|
aLSx.Append(aFx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
myImages.Bind(aF, aLSx);
|
myImages.Bind(aF, aLSx);
|
||||||
@ -976,14 +980,14 @@ void GEOMAlgo_GetInPlace::FillImages()
|
|||||||
for(; aIt.More(); aIt.Next()) {
|
for(; aIt.More(); aIt.Next()) {
|
||||||
const TopoDS_Shape& aF=aIt.Value();
|
const TopoDS_Shape& aF=aIt.Value();
|
||||||
if (myImages.IsBound(aF)) {
|
if (myImages.IsBound(aF)) {
|
||||||
const TopTools_ListOfShape& aLSi=myImages.Find(aF);
|
const TopTools_ListOfShape& aLSi=myImages.Find(aF);
|
||||||
aNbSi=aLSi.Extent();
|
aNbSi=aLSi.Extent();
|
||||||
//
|
//
|
||||||
aItLS.Initialize(aLSi);
|
aItLS.Initialize(aLSi);
|
||||||
for (; aItLS.More(); aItLS.Next()) {
|
for (; aItLS.More(); aItLS.Next()) {
|
||||||
const TopoDS_Shape& aFi=aItLS.Value();
|
const TopoDS_Shape& aFi=aItLS.Value();
|
||||||
aLSx.Append(aFi);
|
aLSx.Append(aFi);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
myImages.Bind(aSh, aLSx);
|
myImages.Bind(aSh, aLSx);
|
||||||
@ -1002,11 +1006,11 @@ void GEOMAlgo_GetInPlace::FillImages()
|
|||||||
aLSx.Clear();
|
aLSx.Clear();
|
||||||
aItMS.Initialize(aMSx);
|
aItMS.Initialize(aMSx);
|
||||||
for (; aItMS.More(); aItMS.Next()) {
|
for (; aItMS.More(); aItMS.Next()) {
|
||||||
const TopoDS_Shape& aZx=aItMS.Key();
|
const TopoDS_Shape& aZx=aItMS.Key();
|
||||||
aType=aZx.ShapeType();
|
aType=aZx.ShapeType();
|
||||||
if (aType==TopAbs_SOLID){
|
if (aType==TopAbs_SOLID){
|
||||||
aLSx.Append(aZx);
|
aLSx.Append(aZx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
myImages.Bind(aZ, aLSx);
|
myImages.Bind(aZ, aLSx);
|
||||||
@ -1024,14 +1028,14 @@ void GEOMAlgo_GetInPlace::FillImages()
|
|||||||
for(; aIt.More(); aIt.Next()) {
|
for(; aIt.More(); aIt.Next()) {
|
||||||
const TopoDS_Shape& aZ=aIt.Value();
|
const TopoDS_Shape& aZ=aIt.Value();
|
||||||
if (myImages.IsBound(aZ)) {
|
if (myImages.IsBound(aZ)) {
|
||||||
const TopTools_ListOfShape& aLSi=myImages.Find(aZ);
|
const TopTools_ListOfShape& aLSi=myImages.Find(aZ);
|
||||||
aNbSi=aLSi.Extent();
|
aNbSi=aLSi.Extent();
|
||||||
//
|
//
|
||||||
aItLS.Initialize(aLSi);
|
aItLS.Initialize(aLSi);
|
||||||
for (; aItLS.More(); aItLS.Next()) {
|
for (; aItLS.More(); aItLS.Next()) {
|
||||||
const TopoDS_Shape& aZi=aItLS.Value();
|
const TopoDS_Shape& aZi=aItLS.Value();
|
||||||
aLSx.Append(aZi);
|
aLSx.Append(aZi);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
myImages.Bind(aCs, aLSx);
|
myImages.Bind(aCs, aLSx);
|
||||||
@ -1045,7 +1049,7 @@ void GEOMAlgo_GetInPlace::FillImages()
|
|||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : FillImagesCompound
|
//function : FillImagesCompound
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
void GEOMAlgo_GetInPlace::FillImagesCompound(const TopoDS_Shape& aS)
|
void GEOMAlgo_GetInPlace::FillImagesCompound(const TopoDS_Shape& aS)
|
||||||
{
|
{
|
||||||
@ -1067,8 +1071,8 @@ void GEOMAlgo_GetInPlace::FillImagesCompound(const TopoDS_Shape& aS)
|
|||||||
const TopTools_ListOfShape& aLSi=myImages.Find(aSx);
|
const TopTools_ListOfShape& aLSi=myImages.Find(aSx);
|
||||||
aItLS.Initialize(aLSi);
|
aItLS.Initialize(aLSi);
|
||||||
for (; aItLS.More(); aItLS.Next()) {
|
for (; aItLS.More(); aItLS.Next()) {
|
||||||
const TopoDS_Shape& aSi=aItLS.Value();
|
const TopoDS_Shape& aSi=aItLS.Value();
|
||||||
aLSx.Append(aSi);
|
aLSx.Append(aSi);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1077,10 +1081,10 @@ void GEOMAlgo_GetInPlace::FillImagesCompound(const TopoDS_Shape& aS)
|
|||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : FillShapesIn
|
//function : FillShapesIn
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
void GEOMAlgo_GetInPlace::FillShapesIn(const TopoDS_Shape& aS1,
|
void GEOMAlgo_GetInPlace::FillShapesIn(const TopoDS_Shape& aS1,
|
||||||
const TopoDS_Shape& aS2)
|
const TopoDS_Shape& aS2)
|
||||||
{
|
{
|
||||||
if (myShapesIn.IsBound(aS1)) {
|
if (myShapesIn.IsBound(aS1)) {
|
||||||
TopTools_MapOfShape& aMS=myShapesIn.ChangeFind(aS1);
|
TopTools_MapOfShape& aMS=myShapesIn.ChangeFind(aS1);
|
||||||
@ -1095,10 +1099,10 @@ void GEOMAlgo_GetInPlace::FillShapesIn(const TopoDS_Shape& aS1,
|
|||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : FillShapesOn
|
//function : FillShapesOn
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
void GEOMAlgo_GetInPlace::FillShapesOn(const TopoDS_Shape& aS1,
|
void GEOMAlgo_GetInPlace::FillShapesOn(const TopoDS_Shape& aS1,
|
||||||
const TopoDS_Shape& aS2)
|
const TopoDS_Shape& aS2)
|
||||||
{
|
{
|
||||||
if (myShapesOn.IsBound(aS1)) {
|
if (myShapesOn.IsBound(aS1)) {
|
||||||
TopTools_MapOfShape& aMS=myShapesOn.ChangeFind(aS1);
|
TopTools_MapOfShape& aMS=myShapesOn.ChangeFind(aS1);
|
||||||
@ -1113,17 +1117,17 @@ void GEOMAlgo_GetInPlace::FillShapesOn(const TopoDS_Shape& aS1,
|
|||||||
}
|
}
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
//function : MapBRepShapes
|
//function : MapBRepShapes
|
||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
void MapBRepShapes(const TopoDS_Shape& aS,
|
void MapBRepShapes(const TopoDS_Shape& aS,
|
||||||
TopTools_IndexedMapOfShape& aM)
|
TopTools_IndexedMapOfShape& aM)
|
||||||
{
|
{
|
||||||
Standard_Boolean bHasBRep, bDegenerated;
|
Standard_Boolean bDegenerated;
|
||||||
TopAbs_ShapeEnum aType;
|
TopAbs_ShapeEnum aType;
|
||||||
TopoDS_Iterator aIt;
|
TopoDS_Iterator aIt;
|
||||||
//
|
//
|
||||||
aType=aS.ShapeType();
|
aType=aS.ShapeType();
|
||||||
if (aType==TopAbs_VERTEX || aType==TopAbs_EDGE ||
|
if (aType==TopAbs_VERTEX || aType==TopAbs_EDGE ||
|
||||||
aType==TopAbs_FACE || aType==TopAbs_SOLID) {
|
aType==TopAbs_FACE || aType==TopAbs_SOLID) {
|
||||||
bDegenerated=Standard_False;
|
bDegenerated=Standard_False;
|
||||||
if (aType==TopAbs_EDGE) {
|
if (aType==TopAbs_EDGE) {
|
||||||
|
@ -3858,10 +3858,13 @@ Handle(GEOM_Object) GEOMImpl_IShapesOperations::GetInPlace (Handle(GEOM_Object)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!aGIP.IsFound()) {
|
// aGIP.IsFound() returns true only when the whole theShapeWhat
|
||||||
SetErrorCode(NOT_FOUND_ANY);
|
// is found (as one shape or several parts). But we are also interested
|
||||||
return NULL;
|
// in the partial result, that is why this check is commented.
|
||||||
}
|
//if (!aGIP.IsFound()) {
|
||||||
|
// SetErrorCode(NOT_FOUND_ANY);
|
||||||
|
// return NULL;
|
||||||
|
//}
|
||||||
|
|
||||||
const TopTools_DataMapOfShapeListOfShape& aDMSLS = aGIP.Images();
|
const TopTools_DataMapOfShapeListOfShape& aDMSLS = aGIP.Images();
|
||||||
if (!aDMSLS.IsBound(aWhat)) {
|
if (!aDMSLS.IsBound(aWhat)) {
|
||||||
@ -3871,7 +3874,7 @@ Handle(GEOM_Object) GEOMImpl_IShapesOperations::GetInPlace (Handle(GEOM_Object)
|
|||||||
|
|
||||||
// the list of shapes aLSA contains the shapes
|
// the list of shapes aLSA contains the shapes
|
||||||
// of the Shape For Search that corresponds
|
// of the Shape For Search that corresponds
|
||||||
// to the Argument aWhat
|
// to the Argument aWhat
|
||||||
const TopTools_ListOfShape& aLSA = aDMSLS.Find(aWhat);
|
const TopTools_ListOfShape& aLSA = aDMSLS.Find(aWhat);
|
||||||
if (aLSA.Extent() == 0) {
|
if (aLSA.Extent() == 0) {
|
||||||
SetErrorCode(NOT_FOUND_ANY); // Not found any Results
|
SetErrorCode(NOT_FOUND_ANY); // Not found any Results
|
||||||
|
Loading…
Reference in New Issue
Block a user