mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-19 13:40:49 +03:00
0026884: Cylinder/Cylinder intersection algorithm throws an exception
Check, if cylinder axes are parallel is made more carefully. This check is brought to conformity with check if axes are parallel (see constructor AxeOperator::AxeOperator(...) in IntAna_QuadQuadGeo.cxx file) Test case for issue CR26884
This commit is contained in:
@@ -125,8 +125,8 @@ class AxeOperator {
|
||||
//=======================================================================
|
||||
AxeOperator::AxeOperator(const gp_Ax1& A1,const gp_Ax1& A2)
|
||||
{
|
||||
myEPSILON_DISTANCE=0.00000000000001;
|
||||
myEPSILON_AXES_PARA=0.000000000001;
|
||||
myEPSILON_DISTANCE=1.0e-14;
|
||||
myEPSILON_AXES_PARA=Precision::Angular();
|
||||
Axe1=A1;
|
||||
Axe2=A2;
|
||||
//---------------------------------------------------------------------
|
||||
@@ -275,12 +275,12 @@ IntAna_QuadQuadGeo::IntAna_QuadQuadGeo(void)
|
||||
//=======================================================================
|
||||
void IntAna_QuadQuadGeo::InitTolerances()
|
||||
{
|
||||
myEPSILON_DISTANCE = 0.00000000000001;
|
||||
myEPSILON_ANGLE_CONE = 0.000000000001;
|
||||
myEPSILON_MINI_CIRCLE_RADIUS = 0.000000001;
|
||||
myEPSILON_CYLINDER_DELTA_RADIUS = 0.0000000000001;
|
||||
myEPSILON_CYLINDER_DELTA_DISTANCE= 0.0000001;
|
||||
myEPSILON_AXES_PARA = 0.000000000001;
|
||||
myEPSILON_DISTANCE = 1.0e-14;
|
||||
myEPSILON_ANGLE_CONE = Precision::Angular();
|
||||
myEPSILON_MINI_CIRCLE_RADIUS = 0.01*Precision::Confusion();
|
||||
myEPSILON_CYLINDER_DELTA_RADIUS = 1.0e-13;
|
||||
myEPSILON_CYLINDER_DELTA_DISTANCE= Precision::Confusion();
|
||||
myEPSILON_AXES_PARA = Precision::Angular();
|
||||
}
|
||||
//=======================================================================
|
||||
//function : IntAna_QuadQuadGeo
|
||||
|
Reference in New Issue
Block a user