X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FStdMeshers%2FStdMeshers_Penta_3D.cxx;h=96f97933cf403395c95a238d8346d86e9130da1a;hb=3d87656309c14522ac02fa8ba23270b6d762a795;hp=0223a7a074cb9b2852fb11bc345510b3fbb8cc21;hpb=7a713be33b27d6a8c77f983460f0e97e52c6ff7c;p=modules%2Fsmesh.git diff --git a/src/StdMeshers/StdMeshers_Penta_3D.cxx b/src/StdMeshers/StdMeshers_Penta_3D.cxx index 0223a7a07..96f97933c 100644 --- a/src/StdMeshers/StdMeshers_Penta_3D.cxx +++ b/src/StdMeshers/StdMeshers_Penta_3D.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2020 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 @@ -234,8 +234,7 @@ void StdMeshers_Penta_3D::MakeNodes() aTNode.SetBaseNodeID(aNodeID); // if ( SMESH_Block::IsEdgeID (aSID)) { - const SMDS_EdgePosition* epos = - static_cast(aNode->GetPosition()); + SMDS_EdgePositionPtr epos = aNode->GetPosition(); myBlock.ComputeParameters( epos->GetUParameter(), aS, aCoords ); } else { @@ -1465,11 +1464,9 @@ bool StdMeshers_Penta_3D::LoadIJNodes(StdMeshers_IJNodeMap & theIJNodes, node = nIt->next(); if(myTool->IsMedium(node)) continue; - const SMDS_EdgePosition* pos = - dynamic_cast( node->GetPosition() ); - if ( !pos ) { + SMDS_EdgePositionPtr pos = node->GetPosition(); + if ( !pos ) return false; - } double u = ( pos->GetUParameter() - f ) / range; vector & nVec = theIJNodes[ u ]; nVec.resize( vsize, nullNode ); @@ -1488,11 +1485,9 @@ bool StdMeshers_Penta_3D::LoadIJNodes(StdMeshers_IJNodeMap & theIJNodes, node = nIt->next(); if(myTool->IsMedium(node)) continue; - const SMDS_EdgePosition* pos = - dynamic_cast( node->GetPosition() ); - if ( !pos ) { + SMDS_EdgePositionPtr pos = node->GetPosition(); + if ( !pos ) return false; - } sortedNodes.insert( make_pair( pos->GetUParameter(), node )); } loadedNodes.insert( nVecf[ vsize - 1 ] = smVft->GetNodes()->next() );