1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-19 13:40:49 +03:00

0031573: Visualization - Do not show seam edge for shading presentation with boundary edges in VTK

This commit is contained in:
vsv
2020-05-20 15:50:15 +03:00
committed by bugmaster
parent e4e3254a35
commit 2ba1172b73
4 changed files with 27 additions and 7 deletions

View File

@@ -180,16 +180,16 @@ void IVtkOCC_ShapeMesher::addEdges()
TopAbs_EDGE,
TopAbs_FACE,
anEdgesMap);
int aNbFaces;
IVtk_MeshType aType;
myEdgesTypes.Clear();
TopExp_Explorer anEdgeIter (GetShapeObj()->GetShape(), TopAbs_EDGE);
for (; anEdgeIter.More(); anEdgeIter.Next())
TopTools_IndexedDataMapOfShapeListOfShape::Iterator aEdgeIt(anEdgesMap);
for (; aEdgeIt.More(); aEdgeIt.Next())
{
const TopoDS_Edge& anOcctEdge = TopoDS::Edge (anEdgeIter.Current());
aNbFaces = anEdgesMap.FindFromKey (anOcctEdge).Extent();
const TopoDS_Edge& anOcctEdge = TopoDS::Edge (aEdgeIt.Key());
const TopTools_ListOfShape& aFaceList = aEdgeIt.Value();
aNbFaces = aFaceList.Extent();
if (aNbFaces == 0)
{
aType = MT_FreeEdge;
@@ -200,7 +200,8 @@ void IVtkOCC_ShapeMesher::addEdges()
}
else
{
aType = MT_SharedEdge;
aType = (aNbFaces >= 2) && (BRep_Tool::MaxContinuity(anOcctEdge) > GeomAbs_G2) ?
MT_SeamEdge : MT_SharedEdge;
}
addEdge (anOcctEdge, GetShapeObj()->GetSubShapeId (anOcctEdge), aType);
myEdgesTypes.Bind (anOcctEdge, aType);