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:
@@ -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;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user