-// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
}
double u, v, minVal = DBL_MAX;
for ( int i = theProjectorPS.NbExt(); i > 0; i-- )
-#if OCC_VERSION_LARGE > 0x06040000 // Porting to OCCT6.5.1
if ( theProjectorPS.SquareDistance( i ) < minVal ) {
minVal = theProjectorPS.SquareDistance( i );
-#else
- if ( theProjectorPS.Value( i ) < minVal ) {
- minVal = theProjectorPS.Value( i );
-#endif
theProjectorPS.Point( i ).Parameter( u, v );
}
return gp_XY( u, v );
{
if ( isClosed && ( iE == 0 || iE == *nbEinW ))
{
- // new wire begins; put EDGEs in eVec
+ // new wire begins; put wire EDGEs in eVec
list<TopoDS_Edge>::iterator eEnd = elIt;
+ if ( iE == *nbEinW )
+ ++nbEinW;
std::advance( eEnd, *nbEinW );
eVec.assign( elIt, eEnd );
- if ( iE > 0 )
- ++nbEinW;
iE = 0;
}
TopoDS_Edge & edge = *elIt;
TopoDS_Shape v1 = TopExp::FirstVertex( edge, true ); // always FORWARD
TopoDS_Shape v2 = TopExp::LastVertex( edge, true ); // always REVERSED
// to make adjacent edges share key-point, we make v2 FORWARD too
- // (as we have different points for same shape with different orienation)
+ // (as we have different points for same shape with different orientation)
v2.Reverse();
// on closed face we must have REVERSED some of seam vertices
v2.Reverse();
}
}
- else { // on CLOSED edge (i.e. having one vertex with different orienations)
+ else { // on CLOSED edge (i.e. having one vertex with different orientations)
for ( int is2 = 0; is2 < 2; ++is2 ) {
TopoDS_Shape & v = is2 ? v2 : v1;
if ( helper.IsRealSeam( v ) ) {
list< TopoDS_Edge >& wire = (*wlIt);
int nbEdges = wire.size();
wlIt++;
- if ( wlIt == wireList.end() || (*wlIt).size() != nbEdges ) // a unique size wire
+ if ( wlIt != wireList.end() && (*wlIt).size() != nbEdges ) // a unique size wire
{
// choose the best first edge of a wire
setFirstEdge( wire, id1 );