1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-14 13:30:48 +03:00

0029435: Data Exchange - Exporting wires consisting of more than one edge results in loss of color data in IGES

Colors wasn't read correctly because of incorrect curve transfers in IGESToBRep_TopoCurve.cxx
I added new calls to SetShapeResult() at the necessary places.
Also in the IGESCAFControl_Writer.cxx I added new condition because of the possible NULL exception.
This commit is contained in:
atychini
2022-02-04 19:14:16 +03:00
committed by smoskvin
parent 1caf5fd317
commit 179fb34661
229 changed files with 526 additions and 448 deletions

View File

@@ -391,7 +391,7 @@ TopoDS_Shape IGESToBRep_TopoCurve::Transfer2dCompositeCurve
// SendWarning(start,Msg1036);
// AddWarning(start, "The Trsf cannot be applied to the entity.");
//}
return res;
return res;
}
//=======================================================================
@@ -704,7 +704,7 @@ TopoDS_Shape IGESToBRep_TopoCurve::TransferOffsetCurve
}
//AddWarning(start, "Transformation skipped (not a similarity)");
}
SetShapeResult(start, res);
return res;
}
@@ -798,6 +798,7 @@ TopoDS_Shape IGESToBRep_TopoCurve::Transfer2dOffsetCurve
res = sfw->Wire();
}
}
SetShapeResult(start, res);
return res;
}
@@ -1041,7 +1042,7 @@ TopoDS_Shape IGESToBRep_TopoCurve::TransferTopoBasicCurve
if (start->IsKind(STANDARD_TYPE(IGESGeom_CircularArc)) &&
Handle(IGESGeom_CircularArc)::DownCast (start)->IsClosed())
TheBadCase = Standard_True;
SetShapeResult(start, myshape);
return myedge;
}
@@ -1214,7 +1215,6 @@ TopoDS_Shape IGESToBRep_TopoCurve::Transfer2dTopoBasicCurve
if (start->IsKind(STANDARD_TYPE(IGESGeom_CircularArc)) &&
Handle(IGESGeom_CircularArc)::DownCast (start)->IsClosed())
TheBadCase = Standard_True;
return myedge;
}