mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2025-02-03 18:50:32 +05:00
0022551: EDF 2857 - 7832 GEOM : problem with projection
This commit is contained in:
parent
b1571aacef
commit
c481b6871a
@ -183,12 +183,26 @@ Standard_Integer GEOMImpl_ProjectionDriver::Execute(TFunction_Logbook& log) cons
|
|||||||
BRepOffsetAPI_NormalProjection OrtProj (aFaceShape);
|
BRepOffsetAPI_NormalProjection OrtProj (aFaceShape);
|
||||||
OrtProj.Add(anOriginal);
|
OrtProj.Add(anOriginal);
|
||||||
|
|
||||||
//Standard_Real tol = 1.e-4;
|
// Compute maximal tolerance of projection.
|
||||||
//Standard_Real tol2d = Pow(tol, 2./3);
|
TopExp_Explorer anExp(anOriginal,TopAbs_VERTEX);
|
||||||
//GeomAbs_Shape Continuity = GeomAbs_C2;
|
Standard_Real aMaxTol = Precision::Confusion();
|
||||||
//Standard_Integer MaxDeg = 14;
|
|
||||||
//Standard_Integer MaxSeg = 16;
|
for(; anExp.More(); anExp.Next()) {
|
||||||
//OrtProj.SetParams(tol, tol2d, Continuity, MaxDeg, MaxSeg);
|
const TopoDS_Vertex aVtx = TopoDS::Vertex(anExp.Current());
|
||||||
|
const Standard_Real aCurTol = BRep_Tool::Tolerance(aVtx);
|
||||||
|
|
||||||
|
if (aMaxTol < aCurTol) {
|
||||||
|
aMaxTol = aCurTol;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Standard_Real tol2d = Pow(aMaxTol, 2./3);
|
||||||
|
GeomAbs_Shape Continuity = GeomAbs_C2;
|
||||||
|
Standard_Integer MaxDeg = 14;
|
||||||
|
Standard_Integer MaxSeg = 16;
|
||||||
|
|
||||||
|
OrtProj.SetParams(aMaxTol, tol2d, Continuity, MaxDeg, MaxSeg);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
OrtProj.Build();
|
OrtProj.Build();
|
||||||
} catch (Standard_Failure) {
|
} catch (Standard_Failure) {
|
||||||
|
Loading…
Reference in New Issue
Block a user