X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FStdMeshers%2FStdMeshers_Projection_3D.cxx;h=d8939feadf14986318733aff833ab9e3297622be;hb=5fabc58d7e765d9c2fe9eea8b73eea1bb352ce0b;hp=6281024106e9d0c896a24bfa764b572d27823432;hpb=bb0c89d5a835e16cb265fd475e49cfb40c3a885f;p=modules%2Fsmesh.git diff --git a/src/StdMeshers/StdMeshers_Projection_3D.cxx b/src/StdMeshers/StdMeshers_Projection_3D.cxx index 628102410..d8939fead 100644 --- a/src/StdMeshers/StdMeshers_Projection_3D.cxx +++ b/src/StdMeshers/StdMeshers_Projection_3D.cxx @@ -68,7 +68,7 @@ StdMeshers_Projection_3D::StdMeshers_Projection_3D(int hypId, int studyId, SMESH :SMESH_3D_Algo(hypId, studyId, gen) { _name = "Projection_3D"; - _shapeType = (1 << TopAbs_SHELL) | (1 << TopAbs_SOLID); // 1 bit per shape type + _shapeType = (1 << TopAbs_SHELL) | (1 << TopAbs_SOLID); // 1 bit per shape type _compatibleHypothesis.push_back("ProjectionSource3D"); _sourceHypo = 0; @@ -308,9 +308,9 @@ bool StdMeshers_Projection_3D::Compute(SMESH_Mesh& aMesh, const TopoDS_Shape& aS TNodeNodeMap faceMatchingNodes; if ( ! TAssocTool::FindMatchingNodesOnFaces( srcFace, srcMesh, tgtFace, tgtMesh, shape2ShapeMap, faceMatchingNodes )) - return error(COMPERR_BAD_INPUT_MESH,SMESH_Comment("Mesh on faces #") - << srcMeshDS->ShapeToIndex( srcFace ) << " and " - << tgtMeshDS->ShapeToIndex( tgtFace ) << " seems different" ); + return error(COMPERR_BAD_INPUT_MESH,SMESH_Comment("Mesh on faces #") + << srcMeshDS->ShapeToIndex( srcFace ) << " and " + << tgtMeshDS->ShapeToIndex( tgtFace ) << " seems different" ); // put found matching nodes of 2 faces to the global map src2tgtNodeMap.insert( faceMatchingNodes.begin(), faceMatchingNodes.end() ); @@ -427,8 +427,8 @@ bool StdMeshers_Projection_3D::Compute(SMESH_Mesh& aMesh, const TopoDS_Shape& aS //======================================================================= bool StdMeshers_Projection_3D::Evaluate(SMESH_Mesh& aMesh, - const TopoDS_Shape& aShape, - MapShapeNbElems& aResMap) + const TopoDS_Shape& aShape, + MapShapeNbElems& aResMap) { if ( !_sourceHypo ) return false; @@ -473,41 +473,41 @@ bool StdMeshers_Projection_3D::Evaluate(SMESH_Mesh& aMesh, return error(COMPERR_BAD_INPUT_MESH,"Source mesh not computed"); - std::vector aVec(17); - for(int i=0; i<17; i++) aVec[i] = 0; + std::vector aVec(SMDSEntity_Last); + for(int i=SMDSEntity_Node; iGetSubMeshDS()->NbNodes(); + aVec[SMDSEntity_Node] = srcSubMesh->GetSubMeshDS()->NbNodes(); //bool quadratic = false; SMDS_ElemIteratorPtr elemIt = srcSubMesh->GetSubMeshDS()->GetElements(); while ( elemIt->more() ) { const SMDS_MeshElement* E = elemIt->next(); if( E->NbNodes()==4 ) { - aVec[8]++; + aVec[SMDSEntity_Tetra]++; } else if( E->NbNodes()==5 ) { - aVec[10]++; + aVec[SMDSEntity_Pyramid]++; } else if( E->NbNodes()==6 ) { - aVec[12]++; + aVec[SMDSEntity_Penta]++; } else if( E->NbNodes()==8 ) { - aVec[14]++; + aVec[SMDSEntity_Hexa]++; } else if( E->NbNodes()==10 && E->IsQuadratic() ) { - aVec[9]++; + aVec[SMDSEntity_Quad_Tetra]++; } else if( E->NbNodes()==13 && E->IsQuadratic() ) { - aVec[11]++; + aVec[SMDSEntity_Quad_Pyramid]++; } else if( E->NbNodes()==15 && E->IsQuadratic() ) { - aVec[13]++; + aVec[SMDSEntity_Quad_Penta]++; } else if( E->NbNodes()==20 && E->IsQuadratic() ) { - aVec[15]++; + aVec[SMDSEntity_Quad_Hexa]++; } else { - aVec[16]++; + aVec[SMDSEntity_Polyhedra]++; } }