#include <gp_XY.hxx>
#include <gp_XYZ.hxx>
-#include <Basics_OCCTVersion.hxx>
-
#include <Basics_Utils.hxx>
#include "utilities.h"
++nbMeduimNodes;
continue;
}
- const SMDS_EdgePosition* epos =
- static_cast<const SMDS_EdgePosition*>(node->GetPosition());
+ SMDS_EdgePositionPtr epos = node->GetPosition();
double u = epos->GetUParameter();
paramNodeMap.insert( make_pair( u, node ));
}
if ( theProject || edgesUVBox.IsOut( p->myInitUV ) )
p->myInitUV = project( node, projector );
else {
- const SMDS_FacePosition* pos =
- static_cast<const SMDS_FacePosition*>(node->GetPosition());
+ SMDS_FacePositionPtr pos = node->GetPosition();
p->myInitUV.SetCoord( pos->GetUParameter(), pos->GetVParameter() );
}
p->myInitXYZ.SetCoord( p->myInitUV.X(), p->myInitUV.Y(), 0 );
// If there are several wires, define the order of edges of inner wires:
// compute UV of inner edge-points using 2 methods: the one for in-face points
// and the one for on-edge points and then choose the best edge order
- // by the best correspondance of the 2 results
+ // by the best correspondence of the 2 results
if ( nbWires > 1 )
{
// compute UV of inner edge-points using the method for in-face points
const SMDS_MeshNode* node = nIt->next();
if ( isQuadMesh && SMESH_MeshEditor::IsMedium( node, SMDSAbs_Edge ))
continue;
- const SMDS_EdgePosition* epos =
- static_cast<const SMDS_EdgePosition*>(node->GetPosition());
+ SMDS_EdgePositionPtr epos = node->GetPosition();
double u = ( epos->GetUParameter() - f ) / ( l - f );
(*pIt)->myInitXYZ.SetCoord( iCoord, isForward ? u : 1 - u );
}
createElements( theMesh, nodesVector, myElemPointIDs, myElements );
}
- aMeshDS->compactMesh();
+ aMeshDS->Modified();
+ aMeshDS->CompactMesh();
if ( myToKeepNodes )
myOutNodes.swap( nodesVector );