fix MakeMeshOnFxy1(): set medium nodes to the Fxy1 face instead of volume

This commit is contained in:
eap 2009-08-27 10:43:10 +00:00
parent 20a656158d
commit e069a4fc65

View File

@ -437,7 +437,7 @@ void StdMeshers_Penta_3D::MakeNodes()
FindNodeOnShape(aS, aCoords, i, aTN);
}
else{
// create node and get it id
// create node and get its id
CreateNode (bIsUpperLayer, aCoords, aTN);
//
if ( bIsUpperLayer ) {
@ -477,33 +477,6 @@ void StdMeshers_Penta_3D::MakeNodes()
myTNodes[ij]=aTN;
}
}
//DEB
/*
{
int iSSID, iBNID, aID;
//
for (i=0; i<myISize; ++i) {
printf(" Layer# %d\n", i);
for (j=0; j<myJSize; ++j) {
ij=i*myJSize+j;
const StdMeshers_TNode& aTN=myTNodes[ij];
//const StdMeshers_TNode& aTN=aTNodes[ij];
const gp_XYZ& aXYZ=aTN.NormCoord();
iSSID=aTN.ShapeSupportID();
iBNID=aTN.BaseNodeID();
//
const SMDS_MeshNode* aNode=aTN.Node();
aID=aNode->GetID();
aX=aNode->X();
aY=aNode->Y();
aZ=aNode->Z();
printf("*** j:%d BNID#%d iSSID:%d ID:%d { %lf %lf %lf }, { %lf %lf %lf }\n",
j, iBNID, iSSID, aID, aXYZ.X(), aXYZ.Y(), aXYZ.Z(), aX, aY, aZ);
}
}
}
*/
//DEB t
}
@ -822,7 +795,7 @@ void StdMeshers_Penta_3D::MakeMeshOnFxy1()
itn = aSM0->GetNodes();
aNbNodes = aSM0->NbNodes();
//printf("** aNbNodes=%d\n", aNbNodes);
myTool->SetSubShape( aFxy1 ); // to set medium nodes to aFxy1
//
// set elements on aFxy1
vector<const SMDS_MeshNode*> aNodes1;
@ -873,6 +846,7 @@ void StdMeshers_Penta_3D::MakeMeshOnFxy1()
}
meshDS->SetMeshElementOnShape(face, aFxy1);
}
myTool->SetSubShape( myShape );
// update compute state of top face submesh
aSubMesh1->ComputeStateEngine( SMESH_subMesh::CHECK_COMPUTE_STATE );
@ -1784,8 +1758,7 @@ void StdMeshers_SMESHBlock::ComputeParameters(const double& theU,
//function : Point
//purpose :
//=======================================================================
void StdMeshers_SMESHBlock::Point(const gp_XYZ& theParams,
gp_Pnt& aP3D)
void StdMeshers_SMESHBlock::Point(const gp_XYZ& theParams, gp_Pnt& aP3D)
{
TopoDS_Shape aS;
//