mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-14 13:30:48 +03:00
0022715: Incorrect faces of the filleted cube after import from iges file
Writing and reading tabulated cylinders in IGES were changed in accordance of Type 122 (parametrization [0,1]x[0,1] some cosmetic changes Adding test cases for this fix
This commit is contained in:
@@ -445,17 +445,10 @@ Handle(IGESData_IGESEntity) BRepToIGES_BRWire ::TransferEdge (const TopoDS_Edge&
|
||||
// trans.SetScale(gp_Pnt2d(0,0),1./Vlast);
|
||||
|
||||
Standard_Real du = 1.;
|
||||
Handle(Geom_SurfaceOfLinearExtrusion) LE =
|
||||
Handle(Geom_SurfaceOfLinearExtrusion)::DownCast(Surf);
|
||||
if(LE->BasisCurve()->IsKind(STANDARD_TYPE(Geom_TrimmedCurve))) {
|
||||
Handle(Geom_TrimmedCurve) tc =
|
||||
Handle(Geom_TrimmedCurve)::DownCast(LE->BasisCurve());
|
||||
if(tc->BasisCurve()->IsKind(STANDARD_TYPE(Geom_Line))) {
|
||||
Standard_Real us1,us2,vs1,vs2;
|
||||
Surf->Bounds(us1,us2,vs1,vs2);
|
||||
du = us2-us1;
|
||||
}
|
||||
}
|
||||
Standard_Real us1,us2,vs1,vs2;
|
||||
//scaling parameterization to [0,1]
|
||||
Surf->Bounds(us1,us2,vs1,vs2);
|
||||
du = us2-us1;
|
||||
//emv: changed for bug OCC22126 17.12.2010
|
||||
uFact = (Vlast - Vfirst)/du;
|
||||
//uFact = aDiv/du;
|
||||
@@ -475,7 +468,11 @@ Handle(IGESData_IGESEntity) BRepToIGES_BRWire ::TransferEdge (const TopoDS_Edge&
|
||||
if(Surf->IsKind(STANDARD_TYPE(Geom_SurfaceOfLinearExtrusion))) {
|
||||
//emv: changed for bug OCC22126 17.12.2010
|
||||
gp_Trsf2d trans1;
|
||||
trans1.SetTranslation(gp_Vec2d(0.,-Vfirst/(Vlast-Vfirst)));
|
||||
Standard_Real us1,us2,vs1,vs2,du;
|
||||
//computing shift of pcurves
|
||||
Surf->Bounds(us1,us2,vs1,vs2);
|
||||
du = us2-us1;
|
||||
trans1.SetTranslation(gp_Vec2d(-us1/du,-Vfirst/(Vlast-Vfirst)));
|
||||
Curve2d = sbe.TransformPCurve(Curve2d,trans1,1.,First,Last);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user