mirror of
https://github.com/Open-Cascade-SAS/OCCT.git
synced 2026-06-15 12:07:41 +08:00
0031251: Add a new meshing parameter to enforce face linear deflection
Parameter has been renamed to ForceFaceDeflection. Added test case. New parameter -force_face_def has been added to incmesh command.
This commit is contained in:
@@ -145,18 +145,22 @@ void BRepMesh_Deflection::ComputeDeflection (
|
||||
}
|
||||
|
||||
Standard_Real aFaceDeflection = 0.0;
|
||||
if (theDFace->WiresNb () > 0)
|
||||
if (!theParameters.ForceFaceDeflection)
|
||||
{
|
||||
for (Standard_Integer aWireIt = 0; aWireIt < theDFace->WiresNb(); ++aWireIt)
|
||||
if (theDFace->WiresNb () > 0)
|
||||
{
|
||||
aFaceDeflection += theDFace->GetWire(aWireIt)->GetDeflection();
|
||||
for (Standard_Integer aWireIt = 0; aWireIt < theDFace->WiresNb (); ++aWireIt)
|
||||
{
|
||||
aFaceDeflection += theDFace->GetWire (aWireIt)->GetDeflection ();
|
||||
}
|
||||
|
||||
aFaceDeflection /= theDFace->WiresNb ();
|
||||
}
|
||||
|
||||
aFaceDeflection /= theDFace->WiresNb ();
|
||||
aFaceDeflection = Max (2. * BRepMesh_ShapeTool::MaxFaceTolerance (
|
||||
theDFace->GetFace ()), aFaceDeflection);
|
||||
}
|
||||
aFaceDeflection = Max (aDeflection, aFaceDeflection);
|
||||
|
||||
aFaceDeflection = Max(aDeflection, aFaceDeflection);
|
||||
|
||||
theDFace->SetDeflection (Max(2.* BRepMesh_ShapeTool::MaxFaceTolerance(
|
||||
theDFace->GetFace()), aFaceDeflection));
|
||||
theDFace->SetDeflection (aFaceDeflection);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user