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

0024983: For the incorrect seam edge in STEP file no fix is provided

fix the notched edges twice per face - before checking for missing seam and after
Test case correction for issue CR24983
Add check for invalid Surface of linear extrusion (with basis curve - line and extrusion direction parallel to this line) during converting STEP surface
Small corrections of test cases for issue CR24983
This commit is contained in:
razmyslovich
2014-07-03 17:16:07 +04:00
committed by apn
parent 9cbe629085
commit 0d4e350159
13 changed files with 71 additions and 70 deletions

View File

@@ -22,9 +22,12 @@
#include <Geom_VectorWithMagnitude.hxx>
#include <StepToGeom_MakeVectorWithMagnitude.hxx>
#include <Geom_Curve.hxx>
#include <Geom_Line.hxx>
#include <StepToGeom_MakeCurve.hxx>
#include <gp_Vec.hxx>
#include <gp_Dir.hxx>
#include <gp_Lin.hxx>
#include <Precision.hxx>
//=============================================================================
// Creation d' une SurfaceOfLinearExtrusion de Geom a partir d' une
@@ -42,6 +45,9 @@ Standard_Boolean StepToGeom_MakeSurfaceOfLinearExtrusion::Convert (const Handle(
if (StepToGeom_MakeVectorWithMagnitude::Convert(SS->ExtrusionAxis(),V))
{
const gp_Dir D(V->Vec());
Handle(Geom_Line) aLine = Handle(Geom_Line)::DownCast(C);
if (!aLine.IsNull() && aLine->Lin().Direction().IsParallel(D, Precision::Angular()))
return Standard_False;
CS = new Geom_SurfaceOfLinearExtrusion(C,D);
return Standard_True;
}