* \param Pint - (out) intersection point
* \param aMesh - mesh
* \param aShape - shape to check faces on
- * \param NotCheckedFace - not used
+ * \param NotCheckedFace - mesh face not to check
* \retval bool - true if there is an intersection
*/
//================================================================================
gp_Pnt& Pint,
SMESH_Mesh& aMesh,
const TopoDS_Shape& aShape,
- const TopoDS_Shape& NotCheckedFace)
+ const SMDS_MeshElement* NotCheckedFace)
{
if ( !myElemSearcher )
myElemSearcher = SMESH_MeshEditor(&aMesh).GetElementSearcher();
for ( int i = 0; i < suspectElems.size(); ++i )
{
const SMDS_MeshElement* face = suspectElems[i];
+ if ( face == NotCheckedFace ) continue;
Handle(TColgp_HSequenceOfPnt) aContour = new TColgp_HSequenceOfPnt;
for ( int i = 0; i < face->NbCornerNodes(); ++i )
aContour->Append( SMESH_MeshEditor::TNodeXYZ( face->GetNode(i) ));
else {
// check possible intersection with other faces
gp_Pnt Pint;
- bool check = CheckIntersection(PCbest, PC, Pint, aMesh, aShape, aShapeFace);
+ bool check = CheckIntersection(PCbest, PC, Pint, aMesh, aShape, face);
if(check) {
//cout<<"--PC("<<PC.X()<<","<<PC.Y()<<","<<PC.Z()<<")"<<endl;
//cout<<" PCbest("<<PCbest.X()<<","<<PCbest.Y()<<","<<PCbest.Z()<<")"<<endl;
else {
gp_Vec VB(PC,PCbest);
gp_Pnt PCbestTmp = PC.XYZ() + VB.XYZ() * 3.0;
- check = CheckIntersection(PCbestTmp, PC, Pint, aMesh, aShape, aShapeFace);
+ check = CheckIntersection(PCbestTmp, PC, Pint, aMesh, aShape, face);
if(check) {
double dist = PC.Distance(Pint)/3.;
if(dist<height) {
bool CheckIntersection(const gp_Pnt& P, const gp_Pnt& PC,
gp_Pnt& Pint, SMESH_Mesh& aMesh,
const TopoDS_Shape& aShape,
- const TopoDS_Shape& NotCheckedFace);
+ const SMDS_MeshElement* NotCheckedFace);
bool Compute2ndPart(SMESH_Mesh& aMesh);