mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-19 13:40:49 +03:00
0027384: BRepMesh_IncrementalMesh does not take angular deflection into account for spun/elementary surfaces
Check deviation of normals at vertices of triangles for complex surface types different from Bezier and BSpline. Modified test cased according to changes in BRepMesh. Do not remove more intermediate parameters than N - 3 in order to have at least one parameter related to surface internals. Check angle for angular deflection before removement of intermediate parameters. Unify computation of internal vertices for complex surfaces. Discretization points of edges are taken into account during computation of step of mesh grid. Remove parameters only if they fit the constrains along the whole surface. Do not add random internal parameters in case if their number is just 2. Force freezing parameters both for U and V in case of significant control point. Modified test cases Warnings elimination in vc14.
This commit is contained in:
@@ -214,7 +214,7 @@ void Extrema_GenExtCC::Perform()
|
||||
Standard_Real aLC = 9.0; // Default value.
|
||||
const Standard_Real aMaxDer1 = 1.0 / C1.Resolution(1.0);
|
||||
const Standard_Real aMaxDer2 = 1.0 / C2.Resolution(1.0);
|
||||
const Standard_Real aMaxDer = Max(aMaxDer1, aMaxDer2) * Sqrt(2.0);
|
||||
Standard_Real aMaxDer = Max(aMaxDer1, aMaxDer2) * Sqrt(2.0);
|
||||
if (aLC > aMaxDer)
|
||||
aLC = aMaxDer;
|
||||
|
||||
@@ -222,7 +222,7 @@ void Extrema_GenExtCC::Perform()
|
||||
Standard_Boolean isConstLockedFlag = Standard_False;
|
||||
if (C1.GetType() == GeomAbs_Line)
|
||||
{
|
||||
Standard_Real aMaxDer = 1.0 / C2.Resolution(1.0);
|
||||
aMaxDer = 1.0 / C2.Resolution(1.0);
|
||||
if (aLC > aMaxDer)
|
||||
{
|
||||
isConstLockedFlag = Standard_True;
|
||||
@@ -231,7 +231,7 @@ void Extrema_GenExtCC::Perform()
|
||||
}
|
||||
if (C2.GetType() == GeomAbs_Line)
|
||||
{
|
||||
Standard_Real aMaxDer = 1.0 / C1.Resolution(1.0);
|
||||
aMaxDer = 1.0 / C1.Resolution(1.0);
|
||||
if (aLC > aMaxDer)
|
||||
{
|
||||
isConstLockedFlag = Standard_True;
|
||||
|
Reference in New Issue
Block a user