IPAL54421: Quadratic sub-mesh is not computed

This commit is contained in:
eap 2019-09-02 16:28:50 +03:00
parent a684de0bf7
commit a11384b3ca

View File

@ -1107,8 +1107,8 @@ bool NETGENPlugin_Mesher::FillNgMesh(netgen::OCCGeometry& occgeom,
bool isForwad = ( fOri == eNotSeam.Orientation() || fOri >= TopAbs_INTERNAL ); bool isForwad = ( fOri == eNotSeam.Orientation() || fOri >= TopAbs_INTERNAL );
// get all nodes from connected <edges> // get all nodes from connected <edges>
const bool isQuad = smDS->IsQuadratic(); const bool skipMedium = netgen::mparam.secondorder;//smDS->IsQuadratic();
StdMeshers_FaceSide fSide( face, edges, _mesh, isForwad, isQuad, &helper ); StdMeshers_FaceSide fSide( face, edges, _mesh, isForwad, skipMedium, &helper );
const vector<UVPtStruct>& points = fSide.GetUVPtStruct(); const vector<UVPtStruct>& points = fSide.GetUVPtStruct();
if ( points.empty() ) if ( points.empty() )
return false; // invalid node params? return false; // invalid node params?
@ -3273,7 +3273,10 @@ bool NETGENPlugin_Mesher::Compute()
{ {
const netgen::Segment & seg = _ngMesh->LineSegment (i); const netgen::Segment & seg = _ngMesh->LineSegment (i);
if ( seg.epgeominfo[ 0 ].edgenr == 0 ) if ( seg.epgeominfo[ 0 ].edgenr == 0 )
{
_ngMesh->DeleteSegment( i ); _ngMesh->DeleteSegment( i );
initState._nbSegments--;
}
} }
_ngMesh->Compress(); _ngMesh->Compress();
} }