mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-02-04 19:54:18 +05:00
0052461: Viscous layers 2D on Cone
This commit is contained in:
parent
3eb21ad301
commit
36c9ad01c3
@ -275,7 +275,7 @@ bool StdMeshers_Quadrangle_2D::Compute (SMESH_Mesh& aMesh,
|
||||
"two opposite sides should have same number of segments, "
|
||||
"but actual number of segments is different on all sides. "
|
||||
"'Standard' transion has been used.");
|
||||
else
|
||||
else if ( ! ( n1 == n3 && n2 == n4 ))
|
||||
error( COMPERR_WARNING,
|
||||
"To use 'Reduced' transition, "
|
||||
"two opposite sides should have an even difference in number of segments. "
|
||||
|
@ -1571,9 +1571,46 @@ bool _ViscousBuilder2D::shrink()
|
||||
myEdgeSM->SetUVPtStructVec( nodeDataVec );
|
||||
|
||||
existingNodesFound = true;
|
||||
break;
|
||||
}
|
||||
} // loop on FACEs sharing E
|
||||
|
||||
// Commented as a case with a seam EDGE (issue 0052461) is hard to support
|
||||
// because SMESH_ProxyMesh can't hold different sub-meshes for two
|
||||
// 2D representations of the seam. But such a case is not a real practice one.
|
||||
// Check if L is an already shrinked seam
|
||||
// if ( adjFace.IsNull() && _helper.IsRealSeam( edgeID ))
|
||||
// {
|
||||
// for ( int iL2 = iL1-1; iL2 > -1; --iL2 )
|
||||
// {
|
||||
// _PolyLine& L2 = _polyLineVec[ iL2 ];
|
||||
// if ( edgeID == L2._wire->EdgeID( L2._edgeInd ))
|
||||
// {
|
||||
// // copy layer nodes
|
||||
// const int seamPar = _helper.GetPeriodicIndex();
|
||||
// vector<gp_XY>& uvVec = L._lEdges.front()._uvRefined;
|
||||
// if ( isShrinkableL )
|
||||
// {
|
||||
// L._leftNodes = L2._rightNodes;
|
||||
// uvVec = L2._lEdges.back()._uvRefined;
|
||||
// }
|
||||
// if ( isShrinkableR )
|
||||
// {
|
||||
// L._rightNodes = L2._leftNodes;
|
||||
// uvVec = L2._lEdges.front()._uvRefined;
|
||||
// }
|
||||
// for ( size_t i = 0; i < uvVec.size(); ++i )
|
||||
// {
|
||||
// gp_XY & uv = uvVec[i];
|
||||
// uv.SetCoord( seamPar, _helper.GetOtherParam( uv.Coord( seamPar )));
|
||||
// }
|
||||
|
||||
// existingNodesFound = true;
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
if ( existingNodesFound )
|
||||
continue; // nothing more to do in this case
|
||||
|
||||
@ -1912,7 +1949,7 @@ bool _ViscousBuilder2D::toShrinkForAdjacent( const TopoDS_Face& adjFace,
|
||||
const TopoDS_Edge& E,
|
||||
const TopoDS_Vertex& V)
|
||||
{
|
||||
if ( _noShrinkVert.count( getMeshDS()->ShapeToIndex( V )))
|
||||
if ( _noShrinkVert.count( getMeshDS()->ShapeToIndex( V )) || adjFace.IsNull() )
|
||||
return false;
|
||||
|
||||
TopoDS_Shape hypAssignedTo;
|
||||
|
Loading…
Reference in New Issue
Block a user