mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-26 01:10:35 +05:00
23562: EDF 17098 - problem with Extrusion 3D
+ fix computing "Min elem size" in Mesh Info dlg
This commit is contained in:
parent
08fca6f5de
commit
24dd5df5f0
@ -4425,6 +4425,12 @@ bool ElementsOnShape::IsSatisfy (const SMDS_MeshElement* elem)
|
||||
return isSatisfy;
|
||||
}
|
||||
|
||||
//================================================================================
|
||||
/*!
|
||||
* \brief Check and optionally return a satisfying shape
|
||||
*/
|
||||
//================================================================================
|
||||
|
||||
bool ElementsOnShape::IsSatisfy (const SMDS_MeshNode* node,
|
||||
TopoDS_Shape* okShape)
|
||||
{
|
||||
|
@ -2083,7 +2083,9 @@ void SMESHGUI_TreeElemInfo::information( const QList<long>& ids )
|
||||
afunctor->SetMesh( actor()->GetObject()->GetMesh() );
|
||||
QTreeWidgetItem* minEdgeItem = createItem( cntrItem, Bold );
|
||||
minEdgeItem->setText( 0, tr( "MIN_ELEM_EDGE" ));
|
||||
minEdgeItem->setText( 1, QString( "%1" ).arg( afunctor->GetValue( id )) );
|
||||
SMESH::Controls::TSequenceOfXYZ points;
|
||||
afunctor->GetPoints( e, points ); // "non-standard" way, to make it work for all elem types
|
||||
minEdgeItem->setText( 1, QString( "%1" ).arg( afunctor->GetValue( points )) );
|
||||
|
||||
// gravity center
|
||||
XYZ gc = gravityCenter( e );
|
||||
|
@ -1170,6 +1170,11 @@ bool StdMeshers_Prism_3D::compute(const Prism_3D::TPrismTopo& thePrism)
|
||||
if ( !assocOrProjBottom2Top( bottomToTopTrsf, thePrism ) ) // it also fills myBotToColumnMap
|
||||
return false;
|
||||
|
||||
// If all "vertical" EDGEs are straight, then all nodes of an internal node column
|
||||
// are located on a line connecting the top node and the bottom node.
|
||||
bool isStrightColunm = allVerticalEdgesStraight( thePrism );
|
||||
if ( isStrightColunm )
|
||||
myUseBlock = false;
|
||||
|
||||
// Create nodes inside the block
|
||||
|
||||
@ -1208,9 +1213,6 @@ bool StdMeshers_Prism_3D::compute(const Prism_3D::TPrismTopo& thePrism)
|
||||
|
||||
myHelper->SetElementsOnShape( true );
|
||||
|
||||
// If all "vertical" EDGEs are straight, then all nodes of an internal node column
|
||||
// are located on a line connecting the top node and the bottom node.
|
||||
bool isStrightColunm = allVerticalEdgesStraight( thePrism );
|
||||
if ( !isStrightColunm )
|
||||
{
|
||||
double tol = getSweepTolerance( thePrism );
|
||||
|
Loading…
Reference in New Issue
Block a user