1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-10 18:51:21 +03:00

0027476: Code alignment for ShapeFix_ComposeShell

This commit is contained in:
anv 2016-04-29 13:51:18 +03:00 committed by bugmaster
parent 4613a51fd4
commit 38f24151f6

View File

@ -153,7 +153,6 @@ void ShapeFix_ComposeShell::Init (const Handle(ShapeExtend_CompositeSurface) &Gr
if ( myVResolution == RealLast() ) myVResolution = ::Precision::Parametric ( 1. );
}
//=======================================================================
//function : Perform
//purpose :
@ -203,7 +202,6 @@ Standard_Boolean ShapeFix_ComposeShell::Perform ()
return Standard_True;
}
//=======================================================================
//function : SplitEdges
//purpose :
@ -222,7 +220,6 @@ void ShapeFix_ComposeShell::SplitEdges ()
SplitByGrid ( seqw );
}
//=======================================================================
//function : Result
//purpose :
@ -233,7 +230,6 @@ const TopoDS_Shape& ShapeFix_ComposeShell::Result () const
return myResult;
}
//=======================================================================
//function : Status
//purpose :
@ -244,7 +240,6 @@ Standard_Boolean ShapeFix_ComposeShell::Status (const ShapeExtend_Status status)
return ShapeExtend::DecodeStatus ( myStatus, status );
}
//=======================================================================
// PRIVATE (working) METHODS
//=======================================================================
@ -264,7 +259,6 @@ Standard_Boolean ShapeFix_ComposeShell::Status (const ShapeExtend_Status status)
#define ITP_ENDSEG 32 // stop of tangential segment
#define ITP_TANG 64 // tangential point
//=======================================================================
//function : PointLineDeviation
//purpose : auxilary
@ -277,7 +271,6 @@ static Standard_Real PointLineDeviation (const gp_Pnt2d &p, const gp_Lin2d &line
return n.XY() * ( p.XY() - line.Location().XY() );
}
//=======================================================================
//function : PointLinePosition
//purpose : auxilary
@ -290,7 +283,6 @@ static Standard_Integer PointLinePosition (const gp_Pnt2d &p, const gp_Lin2d &li
return ( dev > TOLINT ? IOR_LEFT : ( dev < -TOLINT ? IOR_RIGHT : IOR_UNDEF ) );
}
//=======================================================================
//function : PointLinePosition
//purpose : auxilary
@ -302,7 +294,6 @@ static Standard_Integer PointLinePosition (const gp_Pnt2d &p, const gp_Lin2d &li
return PointLinePosition ( p, line, dev );
}
//=======================================================================
//function : ParamPointsOnLine
//purpose : auxilary
@ -313,7 +304,6 @@ static inline Standard_Real ParamPointOnLine (const gp_Pnt2d &p, const gp_Lin2d
return line.Direction().XY() * ( p.XY() - line.Location().XY() );
}
//=======================================================================
//function : ParamPointsOnLine
//purpose : auxilary
@ -340,7 +330,6 @@ static Standard_Real ParamPointsOnLine (const gp_Pnt2d &p1, const gp_Pnt2d &p2,
ParamPointOnLine ( p2, line ) * dist1 ) / ( dist2 - dist1 );
}
//=======================================================================
//function : ProjectPointOnLine
//purpose : auxilary
@ -351,7 +340,6 @@ static inline gp_Pnt2d ProjectPointOnLine (const gp_Pnt2d &p, const gp_Lin2d &li
return line.Location().XY() + line.Direction().XY() * ParamPointOnLine ( p, line );
}
//=======================================================================
//function : ApplyContext
//purpose : auxilary
@ -583,7 +571,6 @@ void ShapeFix_ComposeShell::LoadWires (ShapeFix_SequenceOfWireSegment &seqw) con
}
}
//=======================================================================
//function : ComputeCode
//purpose : compute code for wire segment between two intersections (by deviation)
@ -607,8 +594,7 @@ Standard_Integer ShapeFix_ComposeShell::ComputeCode (const Handle(ShapeExtend_Wi
( wire->Edge(begInd).Orientation() == TopAbs_FORWARD ||
wire->Edge(begInd).Orientation() == TopAbs_INTERNAL) ==
( begPar > endPar ) ? 1 : 0);
if ( ! special && begInd == endInd && begPar == endPar &&
(myClosedMode || isInternal))
if ( ! special && begInd == endInd && begPar == endPar && (myClosedMode || isInternal))
special = 1;
// for tracking cases in closed mode
@ -711,7 +697,6 @@ Standard_Integer ShapeFix_ComposeShell::ComputeCode (const Handle(ShapeExtend_Wi
return code;
}
//=======================================================================
//function : DistributeSplitPoints
//purpose : auxilary
@ -744,7 +729,6 @@ static void DistributeSplitPoints (const Handle(ShapeExtend_WireData) &sbwd,
indexes.SetValue ( i, indexes(i) + nsplit - 1 );
}
//=======================================================================
//function : CheckByCurve3d
//purpose : auxilary
@ -761,7 +745,6 @@ static Standard_Integer CheckByCurve3d (const gp_Pnt &pos,
return pos.SquareDistance ( p ) <= tol * tol;
}
//=======================================================================
//function : DefinePatch
//purpose : auxilary
@ -796,7 +779,6 @@ static Standard_Real GetGridResolution(const Handle(TColStd_HArray1OfReal) Split
return Min(leftLen,rigthLen)/3.;
}
//=======================================================================
//function : SplitWire
//purpose :
@ -893,7 +875,6 @@ ShapeFix_WireSegment ShapeFix_ComposeShell::SplitWire (ShapeFix_WireSegment &wir
TColStd_SequenceOfReal aNMVertParams;
if( nbNMVert) {
Geom2dAdaptor_Curve adc(C2d);
Standard_Integer n =1;
for( ; n<= nbNMVert; n++) {
gp_Pnt apV = BRep_Tool::Pnt(TopoDS::Vertex(aNMVertices.Value(n)));
@ -906,7 +887,6 @@ ShapeFix_WireSegment ShapeFix_ComposeShell::SplitWire (ShapeFix_WireSegment &wir
adist2 *= adist2;
}
else {
gp_Pnt2d aP2d = aSurfTool->ValueOfUV(apV,Precision::Confusion());
Extrema_ExtPC2d aExtr(aP2d,adc);
if(aExtr.IsDone() && aExtr.NbExt()) {
@ -921,7 +901,6 @@ ShapeFix_WireSegment ShapeFix_ComposeShell::SplitWire (ShapeFix_WireSegment &wir
}
}
apar = aExtr.Point(index).Parameter();
}
}
aNMVertParams.Append(apar);
@ -948,12 +927,11 @@ ShapeFix_WireSegment ShapeFix_ComposeShell::SplitWire (ShapeFix_WireSegment &wir
Standard_Boolean splitted = Standard_False;
Standard_Real currPar=lastPar; //SK
for ( Standard_Integer j = start; j <= stop; prevPar = currPar, j++ ) {
if ( ! splitted && j >= stop ) { // no splitting at all
if ( ! splitted && j >= stop ) {// no splitting at all
// code = SegmentCodes ( j >1 ? j-1 : SegmentCodes.Length() ); // classification code
break;
}
currPar = ( j < stop ? values.Value(j) : lastPar );
//fix for case when pcurve is periodic and first parameter of edge is more than 2P
//method ShapeBuild_Edge::CopyRanges shift pcurve to range 0-2P and parameters of cutting
//should be shifted too. gka SAMTECH 28.07.06
@ -1000,8 +978,8 @@ ShapeFix_WireSegment ShapeFix_ComposeShell::SplitWire (ShapeFix_WireSegment &wir
vRes = Min(myVResolution,gridRes);
}
if ( IsCoincided ( lastPnt2d, currPnt2d, uRes, vRes, tol ) &&
IsCoincided ( lastPnt2d, C2d->Value(0.5*(currPar+lastPar)),
uRes, vRes, tol ) ) doCut = Standard_False;
IsCoincided ( lastPnt2d, C2d->Value(0.5*(currPar+lastPar)), uRes, vRes, tol ) )
doCut = Standard_False;
}
else if ( currPnt.Distance ( prevVPnt ) <= prevVTol &&
prevPnt.Distance ( currPnt ) <= tol &&
@ -1020,8 +998,7 @@ ShapeFix_WireSegment ShapeFix_ComposeShell::SplitWire (ShapeFix_WireSegment &wir
vRes = Min(myVResolution,gridRes);
}
if ( IsCoincided ( prevPnt2d, currPnt2d, uRes, vRes, tol ) &&
IsCoincided ( prevPnt2d, C2d->Value(0.5*(currPar+prevPar)),
uRes, vRes, tol ) ) {
IsCoincided ( prevPnt2d, C2d->Value(0.5*(currPar+prevPar)), uRes, vRes, tol ) ) {
vertices.Append ( prevV );
code = SegmentCodes ( j ); // classification code - update for next segment
continue; // no splitting at this point, go to next one
@ -1086,7 +1063,6 @@ ShapeFix_WireSegment ShapeFix_ComposeShell::SplitWire (ShapeFix_WireSegment &wir
anInitEdge.Orientation(TopAbs_FORWARD);
TopoDS_Edge newEdge = sbe.CopyReplaceVertices (anInitEdge, prevV, V );
//addition internal vertices if they exists on edge
Standard_Integer n =1;
for( ; n <= aNMVertParams.Length(); n++) {
@ -1113,16 +1089,13 @@ ShapeFix_WireSegment ShapeFix_ComposeShell::SplitWire (ShapeFix_WireSegment &wir
}
}
sbe.CopyPCurves ( newEdge, anInitEdge );
Handle(ShapeAnalysis_TransferParameters) theTransferParamtool = GetTransferParamTool();
theTransferParamtool->SetMaxTolerance(MaxTolerance());
theTransferParamtool->Init(anInitEdge,myFace);
theTransferParamtool->TransferRange(newEdge,prevPar,currPar,Standard_True);
if(!ismanifold) {
if(code == IOR_UNDEF) //tangential segment
newEdge.Orientation(TopAbs_EXTERNAL);
@ -1186,7 +1159,6 @@ ShapeFix_WireSegment ShapeFix_ComposeShell::SplitWire (ShapeFix_WireSegment &wir
return result;
}
//=======================================================================
//function : SplitByLine
//purpose :
@ -1253,7 +1225,6 @@ Standard_Boolean ShapeFix_ComposeShell::SplitByLine (ShapeFix_WireSegment &wire,
gp_Pnt2d firstPos, prevPos;
Standard_Real firstDev=0., prevDev=0.;
for (Standard_Integer iedge = 1; iedge <= nbe; iedge++) {
TopoDS_Edge E= sewd->Edge ( iedge );
Standard_Boolean isreversed = ( E.Orientation() == TopAbs_REVERSED );
@ -1271,7 +1242,6 @@ Standard_Boolean ShapeFix_ComposeShell::SplitByLine (ShapeFix_WireSegment &wire,
Standard_Integer nbIter = 1;
gp_Vec2d shiftNext(0.,0.);
if ( myClosedMode ) {
// get bounding box of pcurve
ShapeAnalysis_Curve sac;
Bnd_Box2d box;
@ -1337,7 +1307,6 @@ Standard_Boolean ShapeFix_ComposeShell::SplitByLine (ShapeFix_WireSegment &wire,
// cycle with shift in order to track all possible intersections
for ( Standard_Integer iter=1; iter <= nbIter; iter++ ) {
// data for intersection
IntRes2d_Domain iDom ( pppf, f, TOLINT, pppl, l, TOLINT );
Geom2dAdaptor_Curve iGAC(c2d);
@ -1348,7 +1317,6 @@ Standard_Boolean ShapeFix_ComposeShell::SplitByLine (ShapeFix_WireSegment &wire,
// Fill arrays with new intersection points
if ( Inter.IsDone() ) {
Standard_Integer i;
for ( i = 1; i <= Inter.NbPoints(); i++ ) {
IntRes2d_IntersectionPoint IP = Inter.Point (i);
@ -1369,7 +1337,6 @@ Standard_Boolean ShapeFix_ComposeShell::SplitByLine (ShapeFix_WireSegment &wire,
}
}
}
if ( iter < nbIter ) {
if ( iter == 1 ) c2d = Handle(Geom2d_Curve)::DownCast ( c2d->Copy() );
pppf += shiftNext.XY();
@ -1543,8 +1510,6 @@ Standard_Boolean ShapeFix_ComposeShell::SplitByLine (ShapeFix_WireSegment &wire,
}
//=======================================
// Split edges in the wire by intersection points and fill vertices array
TopTools_SequenceOfShape IntVertices;
wire = SplitWire ( wire, IntEdgeInd, IntEdgePar, IntVertices,
@ -1560,7 +1525,6 @@ Standard_Boolean ShapeFix_ComposeShell::SplitByLine (ShapeFix_WireSegment &wire,
return Standard_True;
}
//=======================================================================
//function : SplitByLine
//purpose :
@ -1687,18 +1651,14 @@ void ShapeFix_ComposeShell::SplitByLine (ShapeFix_SequenceOfWireSegment &wires,
Standard_Real aPar = SplitLinePar(i-1) + shiftU;
seg.DefineIUMin ( 1, GetPatchIndex ( aPar+::Precision::PConfusion(), myGrid->UJointValues(), myUClosed ) );
seg.DefineIUMax ( 1, GetPatchIndex ( aPar-::Precision::PConfusion(),
myGrid->UJointValues(), myUClosed ) + 1 );
seg.DefineIUMax ( 1, GetPatchIndex ( aPar-::Precision::PConfusion(), myGrid->UJointValues(), myUClosed ) + 1 );
}
else {
Standard_Real shiftV = (myClosedMode && myVClosed ? ShapeAnalysis::AdjustToPeriod(SplitLinePar(i-1) -TOLINT, myGrid->VJointValue(1), myGrid->VJointValue(2)) : 0.);
Standard_Real aPar = SplitLinePar(i-1) + shiftV;
seg.DefineIVMin ( 1, GetPatchIndex ( aPar+::Precision::PConfusion(),
myGrid->VJointValues(), myVClosed ) );
seg.DefineIVMax ( 1, GetPatchIndex ( aPar-::Precision::PConfusion(),
myGrid->VJointValues(), myVClosed ) + 1 );
seg.DefineIVMin ( 1, GetPatchIndex ( aPar+::Precision::PConfusion(), myGrid->VJointValues(), myVClosed ) );
seg.DefineIVMax ( 1, GetPatchIndex ( aPar-::Precision::PConfusion(), myGrid->VJointValues(), myVClosed ) + 1 );
}
wires.Append ( seg );
}
if ( parity % 2 ) {
@ -1715,7 +1675,6 @@ void ShapeFix_ComposeShell::SplitByLine (ShapeFix_SequenceOfWireSegment &wires,
}
}
//=======================================================================
//function : SplitByGrid
//purpose :
@ -1739,7 +1698,6 @@ void ShapeFix_ComposeShell::SplitByGrid (ShapeFix_SequenceOfWireSegment &seqw)
//Therefore in this case it is necessary to move all wire segments in the range of the patch between first and last joint
//values. Then all wire segments are lie between -period and period in order to have valid split ranges after splitting.
//Because for closed mode cut index always equal to 1 and parts of segments after splitting always should have index either (0,1) or (1,2).
for ( i=1; i <= seqw.Length(); i++ )
{
ShapeFix_WireSegment &wire = seqw(i);
@ -1763,7 +1721,6 @@ void ShapeFix_ComposeShell::SplitByGrid (ShapeFix_SequenceOfWireSegment &seqw)
Standard_Integer iumin = Max(0,GetPatchIndex ( Uf1+pprec, myGrid->UJointValues(), myUClosed ));
Standard_Integer iumax = GetPatchIndex ( Ul1-pprec, myGrid->UJointValues(), myUClosed ) + 1;
for ( Standard_Integer j=1; j <= wire.NbEdges(); j++ ) {
wire.DefineIUMin ( j, iumin );
wire.DefineIUMax ( j, iumax );
@ -1836,10 +1793,8 @@ void ShapeFix_ComposeShell::SplitByGrid (ShapeFix_SequenceOfWireSegment &seqw)
else
SplitByLine ( seqw, line, Standard_False, i );
}
}
//=======================================================================
//function : BreakWires
//purpose :
@ -1847,7 +1802,6 @@ void ShapeFix_ComposeShell::SplitByGrid (ShapeFix_SequenceOfWireSegment &seqw)
void ShapeFix_ComposeShell::BreakWires (ShapeFix_SequenceOfWireSegment &seqw)
{
// split all the wires by vertices
TopTools_MapOfShape splitVertices;
ShapeAnalysis_Edge sae;
@ -1893,7 +1847,7 @@ void ShapeFix_ComposeShell::BreakWires (ShapeFix_SequenceOfWireSegment &seqw)
TopoDS_Vertex V = sae.FirstVertex ( sbwd->Edge(1) );
if ( ! splitVertices.Contains ( V ) )
shift = j - 1;
// wire.SetLast ( j-1 );
// wire.SetLast ( j-1 );
}
// perform splitting
@ -1907,7 +1861,7 @@ void ShapeFix_ComposeShell::BreakWires (ShapeFix_SequenceOfWireSegment &seqw)
if ( ind==1 || splitVertices.Contains ( V ) ) {
if ( newwire.NbEdges() ) {
newwire.Orientation ( curOri );
// ShapeFix_WireSegment seg ( newwire, ori );
// ShapeFix_WireSegment seg ( newwire, ori );
seqw.InsertBefore ( i++, newwire );
nbnew++;
}
@ -1921,18 +1875,16 @@ void ShapeFix_ComposeShell::BreakWires (ShapeFix_SequenceOfWireSegment &seqw)
edge.Orientation(TopAbs_FORWARD);
nbnew++;
}
newwire.AddEdge ( 0, edge, iumin, iumax, ivmin, ivmax );
}
if ( nbnew ) {
newwire.Orientation ( curOri );
// ShapeFix_WireSegment seg ( newwire, ori );
// ShapeFix_WireSegment seg ( newwire, ori );
seqw.SetValue ( i, newwire );
}
}
}
//=======================================================================
//function : IsShortSegment
//purpose : auxilary
@ -1979,7 +1931,6 @@ static Standard_Integer IsShortSegment (const ShapeFix_WireSegment &seg,
return code;
}
//=======================================================================
//function : IsSamePatch
//purpose : auxilary
@ -2017,7 +1968,6 @@ static Standard_Boolean IsSamePatch (const ShapeFix_WireSegment wire,
return ok;
}
//=======================================================================
//function : CollectWires
//purpose :
@ -2026,7 +1976,6 @@ static Standard_Boolean IsSamePatch (const ShapeFix_WireSegment wire,
void ShapeFix_ComposeShell::CollectWires (ShapeFix_SequenceOfWireSegment &wires,
ShapeFix_SequenceOfWireSegment &seqw)
{
ShapeAnalysis_Edge sae;
Standard_Integer i; // svv #1
// Collect information on short closed segments
@ -2120,7 +2069,7 @@ void ShapeFix_ComposeShell::CollectWires (ShapeFix_SequenceOfWireSegment &wires,
// check for misorientation only if nothing better is found
Standard_Integer misor = ( anOr == ( j ? TopAbs_REVERSED : TopAbs_FORWARD ) );
// if ( misor ) continue; // temporarily, to be improved
// if ( misor ) continue; // temporarily, to be improved
// returning back by the same edge is lowest priority
if ( lastEdge.IsSame ( wire->Edge ( j ? wire->NbEdges() : 1 ) ) ) {
@ -2166,17 +2115,16 @@ void ShapeFix_ComposeShell::CollectWires (ShapeFix_SequenceOfWireSegment &wires,
Standard_Real ang = ( shorts(i) >0 ? M_PI : endTan.Angle ( lVec ) );
if ( myClosedMode && shorts(i) <=0 && M_PI-ang < ::Precision::Angular() )
ang = 0.; // abv 21 Mar 00: trj3_s1-md-214.stp #2471: avoid going back
// abv 05 Feb 02: face from Parasolid: use tolerance of edges for check
// for coincidence (instead of vertex tolerance) in order
// this check to be in agreement with check for position of wire segments
// thus avoiding bad effects on overlapping edges
Standard_Real ctol = Max ( edgeTol, BRep_Tool::Tolerance(lastEdge) );
Standard_Boolean conn = IsCoincided ( endPnt, lPnt, myUResolution,
myVResolution, ctol );
Standard_Boolean conn = IsCoincided ( endPnt, lPnt, myUResolution, myVResolution, ctol );
Standard_Real dist = endPnt.SquareDistance ( lPnt );
// check if case is better than last found
Standard_Integer w1 = ( sp ? 16 : 0 ) + ( conn ? 4 : 0 ) + (misor==0 ? 8 : 0);
Standard_Integer tail1 = ( !conn && (dist < mindist) ? 2 : 0) + (ang > angle ? 1 : 0);
Standard_Integer tail2 = ( !connected &&(dist > mindist) ? 2 : 0) + (ang < angle ? 1 : 0);
@ -2212,7 +2160,7 @@ void ShapeFix_ComposeShell::CollectWires (ShapeFix_SequenceOfWireSegment &wires,
if(myClosedMode )
seg.GetPatchIndex ( 1, iumin, iumax, ivmin, ivmax );
// TopAbs_Orientation or = seg.Orientation();
// TopAbs_Orientation or = seg.Orientation();
if ( ! reverse ) sbwd->Add ( seg.WireData() );
else {
Handle(ShapeExtend_WireData) wire = new ShapeExtend_WireData;
@ -2281,8 +2229,11 @@ void ShapeFix_ComposeShell::CollectWires (ShapeFix_SequenceOfWireSegment &wires,
//pdn The short seqments are stil plased in "in" sequence.
for ( i=1; i <= seqw.Length(); i++ ) {
if ( shorts(i) != 1 || seqw(i).IsVertex() || seqw(i).Orientation() == TopAbs_INTERNAL ||
seqw(i).Orientation() == TopAbs_EXTERNAL ) continue;
if ( shorts(i) != 1 ||
seqw(i).IsVertex() ||
seqw(i).Orientation() == TopAbs_INTERNAL ||
seqw(i).Orientation() == TopAbs_EXTERNAL )
continue;
// find any other wire containing the same vertex
Handle(ShapeExtend_WireData) wd = seqw(i).WireData();
@ -2292,12 +2243,12 @@ void ShapeFix_ComposeShell::CollectWires (ShapeFix_SequenceOfWireSegment &wires,
gp_Vec2d vec;
Standard_Real mindist=0;
Standard_Boolean samepatch = Standard_False;
// Standard_Integer iumin, iumax, ivmin, ivmax;
// Standard_Integer iumin, iumax, ivmin, ivmax;
seqw(i).GetPatchIndex ( 1, iumin, iumax, ivmin, ivmax );
sae.GetEndTangent2d ( wd->Edge(1), myFace, Standard_False, p2d, vec );
for ( Standard_Integer j=1; j <= wires.Length(); j++ ) {
// if ( j == i ) continue;
// Handle(ShapeExtend_WireData)
// if ( j == i ) continue;
// Handle(ShapeExtend_WireData)
sbwd = wires(j).WireData();
for ( Standard_Integer k=1; k <= sbwd->NbEdges(); k++ ) {
if ( !V.IsSame ( sae.FirstVertex ( sbwd->Edge(k) ) ) ) continue; //pdn I suppose that short segment should be inserted into the SAME vertex.
@ -2324,15 +2275,14 @@ void ShapeFix_ComposeShell::CollectWires (ShapeFix_SequenceOfWireSegment &wires,
}
// and if found, merge
// Handle(ShapeExtend_WireData)
// Handle(ShapeExtend_WireData)
sbwd = wires(minj).WireData();
for ( Standard_Integer n=1; n <= wd->NbEdges(); n++ )
sbwd->Add ( wd->Edge(n), mink++ );
// wires.Remove ( i );
// i--;
// wires.Remove ( i );
// i--;
}
}
//=======================================================================
@ -2360,9 +2310,9 @@ static gp_Pnt2d GetMiddlePoint (const ShapeFix_WireSegment wire,
Handle(Geom2d_Curve) c2d;
if(sae.PCurve (E,face,c2d,cf,cl,Standard_False)) {
sac.FillBndBox ( c2d, cf, cl, 3, Standard_False, box );
// box.Add(c2d->Value(cf));
// box.Add(c2d->Value(cl));
// box.Add(c2d->Value((cl+cf)/2.));
// box.Add(c2d->Value(cf));
// box.Add(c2d->Value(cl));
// box.Add(c2d->Value((cl+cf)/2.));
}
}
if ( box.IsVoid() ) return gp_Pnt2d(0.,0.);
@ -2461,7 +2411,6 @@ void ShapeFix_ComposeShell::MakeFacesOnPatch (TopTools_SequenceOfShape &faces,
B.Add(awtmp,aIt.Value());
nbe++;
}
}
if(!nbe)
continue;
@ -2687,7 +2636,6 @@ void ShapeFix_ComposeShell::DispatchWires (TopTools_SequenceOfShape &faces,
Standard_Real U1,U2,V1,V2;
myGrid->Bounds(U1,U2,V1,V2);
for ( i = 1; i <= nb; i++ ) {
gp_Pnt2d pnt = mPnts(i);
Standard_Real ush =0., vsh=0.;
if(myUClosed) {
@ -2737,7 +2685,6 @@ void ShapeFix_ComposeShell::DispatchWires (TopTools_SequenceOfShape &faces,
newEdge = TopoDS::Edge ( tmpNE );
}
else {
if(!ismanifold)
anInitEdge.Orientation(TopAbs_FORWARD);