mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-10 18:51:21 +03:00
0023252: Fillet regression
This commit is contained in:
parent
a180e3849f
commit
73a97e76da
@ -56,9 +56,13 @@ is
|
|||||||
ResetElement(me : in out; E : Shape from TopoDS) is deferred;
|
ResetElement(me : in out; E : Shape from TopoDS) is deferred;
|
||||||
---Purpose: prepare classification involving element <E>.
|
---Purpose: prepare classification involving element <E>.
|
||||||
|
|
||||||
CompareElement(me : in out; E : Shape from TopoDS) is deferred;
|
CompareElement(me : in out; E : Shape from TopoDS)
|
||||||
---Purpose: Add element <E> in the set of elements used in classification.
|
returns Boolean from Standard
|
||||||
|
is deferred;
|
||||||
|
---Purpose: Add element <E> in the set of elements used in classification.
|
||||||
|
-- Returns FALSE if the element <E> has been already added to the set of elements,
|
||||||
|
-- otherwise returns TRUE.
|
||||||
|
|
||||||
State(me : in out) returns State from TopAbs is deferred;
|
State(me : in out) returns State from TopAbs is deferred;
|
||||||
---Purpose: Returns state of classification of 2D point, defined by
|
---Purpose: Returns state of classification of 2D point, defined by
|
||||||
-- ResetElement, with the current set of elements, defined by Compare.
|
-- ResetElement, with the current set of elements, defined by Compare.
|
||||||
|
@ -94,7 +94,8 @@ TopAbs_State TopOpeBRepBuild_CompositeClassifier::Compare
|
|||||||
TopOpeBRepBuild_BlockIterator Bit2 = L2->BlockIterator();
|
TopOpeBRepBuild_BlockIterator Bit2 = L2->BlockIterator();
|
||||||
for (Bit2.Initialize(); Bit2.More(); Bit2.Next()) {
|
for (Bit2.Initialize(); Bit2.More(); Bit2.Next()) {
|
||||||
const TopoDS_Shape& s2 = MYBB->Element(Bit2);
|
const TopoDS_Shape& s2 = MYBB->Element(Bit2);
|
||||||
CompareElement(s2);
|
if (!CompareElement(s2))
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
state = State();
|
state = State();
|
||||||
}
|
}
|
||||||
|
@ -65,10 +65,13 @@ is
|
|||||||
---Purpose: prepare classification involving face <F>
|
---Purpose: prepare classification involving face <F>
|
||||||
-- define 3D point (later used in Compare()) on first vertex of face <F>.
|
-- define 3D point (later used in Compare()) on first vertex of face <F>.
|
||||||
|
|
||||||
CompareElement(me : in out; F : Shape);
|
CompareElement(me : in out; F : Shape)
|
||||||
|
returns Boolean from Standard;
|
||||||
---Purpose: Add the face <F> in the set of faces used in 3D point
|
---Purpose: Add the face <F> in the set of faces used in 3D point
|
||||||
-- classification.
|
-- classification. Returns FALSE if the face <F> has been already
|
||||||
|
-- added to the set of faces, otherwise returns TRUE.
|
||||||
|
|
||||||
|
|
||||||
State(me : in out) returns State from TopAbs;
|
State(me : in out) returns State from TopAbs;
|
||||||
---Purpose: Returns state of classification of 3D point, defined by
|
---Purpose: Returns state of classification of 3D point, defined by
|
||||||
-- ResetElement, with the current set of faces, defined by Compare.
|
-- ResetElement, with the current set of faces, defined by Compare.
|
||||||
|
@ -154,12 +154,13 @@ void TopOpeBRepBuild_ShellFaceClassifier::ResetElement(const TopoDS_Shape& F)
|
|||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
|
|
||||||
void TopOpeBRepBuild_ShellFaceClassifier::CompareElement(const TopoDS_Shape& F)
|
Standard_Boolean TopOpeBRepBuild_ShellFaceClassifier::CompareElement(const TopoDS_Shape& F)
|
||||||
{
|
{
|
||||||
#ifdef DEB
|
#ifdef DEB
|
||||||
// const TopAbs_ShapeEnum t = F.ShapeType();
|
// const TopAbs_ShapeEnum t = F.ShapeType();
|
||||||
#endif
|
#endif
|
||||||
|
Standard_Boolean bRet = Standard_True;
|
||||||
|
//
|
||||||
if (myFirstCompare) {
|
if (myFirstCompare) {
|
||||||
Standard_Boolean found = myFaceShellMap.IsBound(F);
|
Standard_Boolean found = myFaceShellMap.IsBound(F);
|
||||||
if ( !found ) {
|
if ( !found ) {
|
||||||
@ -178,6 +179,7 @@ void TopOpeBRepBuild_ShellFaceClassifier::CompareElement(const TopoDS_Shape& F)
|
|||||||
// dont F fait partie.
|
// dont F fait partie.
|
||||||
TopoDS_Shape sbid = myFaceShellMap.Find(F);
|
TopoDS_Shape sbid = myFaceShellMap.Find(F);
|
||||||
myShell = TopoDS::Shell(sbid);
|
myShell = TopoDS::Shell(sbid);
|
||||||
|
bRet = !bRet;
|
||||||
}
|
}
|
||||||
myFirstCompare = Standard_False;
|
myFirstCompare = Standard_False;
|
||||||
}
|
}
|
||||||
@ -187,7 +189,7 @@ void TopOpeBRepBuild_ShellFaceClassifier::CompareElement(const TopoDS_Shape& F)
|
|||||||
// dont F fait partie
|
// dont F fait partie
|
||||||
myBuilder.Add(myShell,F);
|
myBuilder.Add(myShell,F);
|
||||||
}
|
}
|
||||||
|
return bRet;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef DEB
|
#ifdef DEB
|
||||||
|
@ -66,7 +66,8 @@ is
|
|||||||
---Purpose: prepare classification involving edge <E>
|
---Purpose: prepare classification involving edge <E>
|
||||||
-- define 2D point (later used in Compare()) on first vertex of edge <E>.
|
-- define 2D point (later used in Compare()) on first vertex of edge <E>.
|
||||||
|
|
||||||
CompareElement(me : in out; E : Shape from TopoDS);
|
CompareElement(me : in out; E : Shape from TopoDS)
|
||||||
|
returns Boolean from Standard;
|
||||||
---Purpose: Add the edge <E> in the set of edges used in 2D point
|
---Purpose: Add the edge <E> in the set of edges used in 2D point
|
||||||
-- classification.
|
-- classification.
|
||||||
|
|
||||||
|
@ -421,8 +421,9 @@ void TopOpeBRepBuild_WireEdgeClassifier::ResetElement(const TopoDS_Shape& EE)
|
|||||||
//purpose :
|
//purpose :
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
|
|
||||||
void TopOpeBRepBuild_WireEdgeClassifier::CompareElement(const TopoDS_Shape& EE)
|
Standard_Boolean TopOpeBRepBuild_WireEdgeClassifier::CompareElement(const TopoDS_Shape& EE)
|
||||||
{
|
{
|
||||||
|
Standard_Boolean bRet = Standard_True;
|
||||||
const TopoDS_Edge& E = TopoDS::Edge(EE);
|
const TopoDS_Edge& E = TopoDS::Edge(EE);
|
||||||
const TopoDS_Face& F = myBCEdge.Face();
|
const TopoDS_Face& F = myBCEdge.Face();
|
||||||
|
|
||||||
@ -462,6 +463,7 @@ void TopOpeBRepBuild_WireEdgeClassifier::CompareElement(const TopoDS_Shape& EE)
|
|||||||
#ifdef DEB
|
#ifdef DEB
|
||||||
// TopAbs_State state = myFPC.State();
|
// TopAbs_State state = myFPC.State();
|
||||||
#endif
|
#endif
|
||||||
|
return bRet;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user