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

0026446: GeomConvert::ConcatC1 produces not expected curve

Concatenation fixed.
This commit is contained in:
aml
2015-07-16 12:10:38 +03:00
committed by bugmaster
parent aacbabe117
commit 3ceb4c3c7e
2 changed files with 67 additions and 7 deletions

View File

@@ -1215,13 +1215,14 @@ void GeomConvert::ConcatC1(TColGeom_Array1OfBSplineCurve& ArrayOfCurv
if (index==j) //initialisation at the begining of the loop
ArrayOfConcatenated->SetValue(i,Curve1);
else{
GeomConvert_CompCurveToBSplineCurve C(Handle(Geom_BSplineCurve)::DownCast(ArrayOfConcatenated->Value(i)));
fusion=C.Add(Curve1,
local_tolerance(j-1)); //merge of two consecutive curves
if (fusion==Standard_False)
Standard_ConstructionError::Raise("GeomConvert Concatenation Error") ;
ArrayOfConcatenated->SetValue(i,C.BSplineCurve());
else
{
// Merge of two consecutive curves.
GeomConvert_CompCurveToBSplineCurve C(Handle(Geom_BSplineCurve)::DownCast(ArrayOfConcatenated->Value(i)));
fusion=C.Add(Curve1, local_tolerance(j-1), Standard_True);
if (fusion==Standard_False)
Standard_ConstructionError::Raise("GeomConvert Concatenation Error");
ArrayOfConcatenated->SetValue(i,C.BSplineCurve());
}
}
index=index+1+nb_vertexG1;