mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-29 10:50:34 +05:00
PAL13460 (PAL EDF 301 force the mesh to go through a point)
fix ignoreMediumNodes initialization
This commit is contained in:
parent
d29de81e16
commit
07da32d86f
@ -178,6 +178,11 @@ bool StdMeshers_MEFISTO_2D::Compute(SMESH_Mesh & aMesh, const TopoDS_Shape & aSh
|
|||||||
MESSAGE("StdMeshers_MEFISTO_2D::Compute");
|
MESSAGE("StdMeshers_MEFISTO_2D::Compute");
|
||||||
|
|
||||||
TopoDS_Face F = TopoDS::Face(aShape.Oriented(TopAbs_FORWARD));
|
TopoDS_Face F = TopoDS::Face(aShape.Oriented(TopAbs_FORWARD));
|
||||||
|
|
||||||
|
// helper builds quadratic mesh if necessary
|
||||||
|
myTool = new SMESH_MesherHelper(aMesh);
|
||||||
|
auto_ptr<SMESH_MesherHelper> helperDeleter( myTool );
|
||||||
|
_quadraticMesh = myTool->IsQuadraticSubMesh(aShape);
|
||||||
const bool ignoreMediumNodes = _quadraticMesh;
|
const bool ignoreMediumNodes = _quadraticMesh;
|
||||||
|
|
||||||
// get all edges of a face
|
// get all edges of a face
|
||||||
@ -222,11 +227,6 @@ bool StdMeshers_MEFISTO_2D::Compute(SMESH_Mesh & aMesh, const TopoDS_Shape & aSh
|
|||||||
if (_hypLengthFromEdges && _edgeLength < DBL_MIN )
|
if (_hypLengthFromEdges && _edgeLength < DBL_MIN )
|
||||||
_edgeLength = 100;
|
_edgeLength = 100;
|
||||||
|
|
||||||
// helper builds a quadratic mesh if necessary
|
|
||||||
myTool = new SMESH_MesherHelper(aMesh);
|
|
||||||
auto_ptr<SMESH_MesherHelper> helperDeleter( myTool );
|
|
||||||
_quadraticMesh = myTool->IsQuadraticSubMesh(aShape);
|
|
||||||
|
|
||||||
Z nblf; //nombre de lignes fermees (enveloppe en tete)
|
Z nblf; //nombre de lignes fermees (enveloppe en tete)
|
||||||
Z *nudslf = NULL; //numero du dernier sommet de chaque ligne fermee
|
Z *nudslf = NULL; //numero du dernier sommet de chaque ligne fermee
|
||||||
R2 *uvslf = NULL;
|
R2 *uvslf = NULL;
|
||||||
@ -253,7 +253,7 @@ bool StdMeshers_MEFISTO_2D::Compute(SMESH_Mesh & aMesh, const TopoDS_Shape & aSh
|
|||||||
// count nb of input points
|
// count nb of input points
|
||||||
for ( int iW = 0; iW < nbWires; ++iW )
|
for ( int iW = 0; iW < nbWires; ++iW )
|
||||||
{
|
{
|
||||||
nbpnt += wires[iW]->NbSegments();
|
nbpnt += wires[iW]->NbPoints() - 1;
|
||||||
nudslf[iw++] = nbpnt;
|
nudslf[iw++] = nbpnt;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -497,7 +497,7 @@ bool StdMeshers_MEFISTO_2D::LoadPoints(TWireVector & wires,
|
|||||||
TopExp::MapShapesAndAncestors( F, TopAbs_VERTEX, TopAbs_WIRE, VWMap );
|
TopExp::MapShapesAndAncestors( F, TopAbs_VERTEX, TopAbs_WIRE, VWMap );
|
||||||
int nbVertices = 0;
|
int nbVertices = 0;
|
||||||
for ( int iW = 0; iW < wires.size(); ++iW )
|
for ( int iW = 0; iW < wires.size(); ++iW )
|
||||||
nbVertices += wires[ iW ]->NbSegments();
|
nbVertices += wires[ iW ]->NbEdges();
|
||||||
if ( nbVertices == VWMap.Extent() )
|
if ( nbVertices == VWMap.Extent() )
|
||||||
VWMap.Clear(); // wires have no common vertices
|
VWMap.Clear(); // wires have no common vertices
|
||||||
}
|
}
|
||||||
@ -515,6 +515,10 @@ bool StdMeshers_MEFISTO_2D::LoadPoints(TWireVector & wires,
|
|||||||
MESSAGE("Wrong nb UVPtStruct: "<<uvPtVec.size()<<" != "<<wires[ iW ]->NbPoints());
|
MESSAGE("Wrong nb UVPtStruct: "<<uvPtVec.size()<<" != "<<wires[ iW ]->NbPoints());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if ( m + uvPtVec.size()-1 > mefistoToDS.size() ) {
|
||||||
|
MESSAGE("Wrong mefistoToDS.size: "<<mefistoToDS.size()<<" < "<<m + uvPtVec.size()-1);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
vector<UVPtStruct>::const_iterator uvPt = uvPtVec.begin();
|
vector<UVPtStruct>::const_iterator uvPt = uvPtVec.begin();
|
||||||
for ( ++uvPt; uvPt != uvPtVec.end(); ++uvPt )
|
for ( ++uvPt; uvPt != uvPtVec.end(); ++uvPt )
|
||||||
|
Loading…
Reference in New Issue
Block a user