Merge remote-tracking branch 'origin/master' into gni/documentation

This commit is contained in:
GERALD NICOLAS 2021-01-12 13:45:39 +01:00
commit 96b56d1ee6
56 changed files with 548 additions and 248 deletions

View File

@ -1,6 +1,6 @@
# Double nodes on groups boundaries
# This example represents an iron cable (a thin cylinder) in a concrete bloc (a big cylinder).
# This example represents an iron cable (a thin cylinder) in a concrete block (a big cylinder).
# The big cylinder is defined by two geometric volumes.

View File

@ -10,7 +10,7 @@ Several criteria can be combined together by using logical operators *AND* and *
Some filtering criteria use the functionality of :ref:`mesh quality controls <quality_page>` to filter mesh nodes / elements by specific characteristic (Area, Length, etc).
The functinality of mesh filters is available in both GUI and TUI modes:
The functionality of mesh filters is available in both GUI and TUI modes:
* In GUI, filters are available in some dialog boxes via "Set Filters" button, clicking on which opens the :ref:`dialog box <filtering_elements>` allowing to specify the list of filter criteria to be applied to the current selection. See :ref:`selection_filter_library_page` page to learn more about selection filters and their usage in GUI.

View File

@ -27,7 +27,7 @@ The following targets are supported:
* **Node:** single mesh node;
* **Element:** single mesh element (not available in this version);
* **Object:** mesh, sub-mesh or group object (not available in this version);
* **Origin:** origin of the global co-ordinate system.
* **Origin:** origin of the global coordinate system.
The result will be shown in the bottom area of the dialog. In addition, a simple preview will be shown in the 3D viewer.

View File

@ -79,7 +79,7 @@ The user can either input the ID of a node or element he wants to analyze direct
If **Show IDs** is activated, IDs of selected nodes or elements are displayed in the 3D viewer.
.. note::
The information about the groups, to which the node or element belongs, can be shown in a short or in a detailed form. By default, for performance rasons, this information is shown in a short form (group names only). The detailed information on groups can be switched on via :ref:`Show details on groups in element information tab <group_detail_info_pref>` option of :ref:`mesh_preferences_page`.
The information about the groups, to which the node or element belongs, can be shown in a short or in a detailed form. By default, for performance reasons, this information is shown in a short form (group names only). The detailed information on groups can be switched on via :ref:`Show details on groups in element information tab <group_detail_info_pref>` option of :ref:`mesh_preferences_page`.
.. _mesh_addition_info_anchor:

View File

@ -308,7 +308,7 @@ If there is no shared faces between the group \#n and the group \#p in the list,
All the flat elements are gathered into the group named "joints3D" (or "joints2D" in 2D situation).
The flat element of the multiple junctions between the simple junction are stored in a group named "jointsMultiples".
This example represents an iron cable (a thin cylinder) in a concrete bloc (a big cylinder).
This example represents an iron cable (a thin cylinder) in a concrete block (a big cylinder).
The big cylinder is defined by two geometric volumes.
.. literalinclude:: ../../../examples/generate_flat_elements.py

View File

@ -121,7 +121,7 @@ module SMESH
*/
struct HypInitParams
{
short way; // 0 - by mesh, 1 - by geometry size + prefered parameters, 2 - by averageLength
short way; // 0 - by mesh, 1 - by geometry size + preferred parameters, 2 - by averageLength
double averageLength;
boolean quadDominated;
};

File diff suppressed because one or more lines are too long

View File

@ -123,15 +123,15 @@ std::string Driver_Mesh::fixUTF8(const std::string & str )
// how many bytes follow?
int len = 0;
if (s[i] >> 5 == 0b110 ) len = 1; // todo: binary constants are a GCC extension
else if (s[i] >> 4 == 0b1110 ) len = 2; // todo: binary constants are a GCC extension
else if (s[i] >> 3 == 0b11110) len = 3; // todo: binary constants are a GCC extension
if (s[i] >> 5 == 0b110 ) len = 1; // WARNING: binary constants included in C++14
else if (s[i] >> 4 == 0b1110 ) len = 2;
else if (s[i] >> 3 == 0b11110) len = 3;
else
invalid = true;
// check the bytes
for ( int j = 0; j < len && !invalid; ++j )
invalid = ( s[i+j+1] >> 6 != 0b10 ); // todo: binary constants are a GCC extension
invalid = ( s[i+j+1] >> 6 != 0b10 );
if ( invalid )
fixed[i] = '?';

View File

@ -165,9 +165,9 @@ namespace
int _beg[3], _end[3], _cur[3], _dir[3], _dim;
bool _more;
public:
TPointRangeIterator( const cgsize_t* range, int dim ):_dim(dim)
TPointRangeIterator( const cgsize_t* range, int dim ):
_beg{0,0,0}, _end{0,0,0}, _cur{0,0,0}, _dir{0,0,0}, _dim(dim), _more(false)
{
_more = false;
for ( int i = 0; i < dim; ++i )
{
_beg[i] = range[i];
@ -178,8 +178,6 @@ namespace
if ( _end[i] - _beg[i] )
_more = true;
}
// for ( int i = dim; i < 3; ++i )
// _cur[i] = _beg[i] = _end[i] = _dir[i] = 0;
}
bool More() const
{
@ -187,7 +185,7 @@ namespace
}
gp_XYZ Next()
{
gp_XYZ res( _cur[0], _cur[1], _cur[2] ); // todo: _cur can be used uninitialized
gp_XYZ res( _cur[0], _cur[1], _cur[2] );
for ( int i = 0; i < _dim; ++i )
{
_cur[i] += _dir[i];
@ -207,7 +205,7 @@ namespace
size *= _dir[i]*(_end[i]-_beg[i]);
return size;
}
gp_XYZ Begin() const { return gp_XYZ( _beg[0], _beg[1], _beg[2] ); } // todo: _beg can be used uninitialized
gp_XYZ Begin() const { return gp_XYZ( _beg[0], _beg[1], _beg[2] ); }
//gp_XYZ End() const { return gp_XYZ( _end[0]-1, _end[1]-1, _end[2]-1 ); }
};
@ -297,7 +295,7 @@ namespace
}
// fill nodeReplacementMap
TPointRangeIterator rangeIt1( range, _meshDim ); // todo: rangeIt1: _end[i], _dir[i], _beg[i], _cur[i] may be used uninitialized
TPointRangeIterator rangeIt1( range, _meshDim );
TPointRangeIterator rangeIt2( donorRange, _meshDim );
gp_XYZ begin1 = rangeIt1.Begin(), begin2 = rangeIt2.Begin(), index1, index2;
if ( &zone2 == this )

View File

@ -875,7 +875,7 @@ void GmfSetLin(int MshIdx, int KwdCod, ...)
{
for(i=0;i<kwd->SolSiz;i++)
if(kwd->fmt[i] == 'r')
fprintf(msh->hdl, "%.15lg ", va_arg(VarArg, double)); /* todo: ISO C90 does not support the '%lg' gnu_printf format */
fprintf(msh->hdl, "%.15g ", va_arg(VarArg, double)); /* was "%.15lg and warning "ISO C90 does not support the '%lg' gnu_printf format"*/
else if(kwd->fmt[i] == 'n') {
nb_repeat = va_arg(VarArg, int);
fprintf(msh->hdl, "%d ", nb_repeat);
@ -936,7 +936,7 @@ void GmfSetLin(int MshIdx, int KwdCod, ...)
if(msh->typ & Asc)
for(j=0;j<kwd->SolSiz;j++)
fprintf(msh->hdl, "%.15lg ", DblSolTab[j]); /* todo: ISO C90 does not support the '%lg' gnu_printf format */
fprintf(msh->hdl, "%.15g ", DblSolTab[j]); /* was " %.15lg " and warning "ISO C90 does not support the '%lg' gnu_printf format" */
else
RecBlk(msh, (unsigned char *)DblSolTab, kwd->NmbWrd);
}

View File

@ -28,8 +28,8 @@
static int MYDEBUG = 0;
static int MYVALUEDEBUG = 0;
#else
static int MYDEBUG = 0; // todo: unused in release mode
static int MYVALUEDEBUG = 0; // todo: unused in release mode
// static int MYDEBUG = 0;
// static int MYVALUEDEBUG = 0;
#endif
namespace MED

View File

@ -27,8 +27,8 @@
static int MYDEBUG = 0;
static int MYVALUEDEBUG = 0;
#else
static int MYDEBUG = 0; // todo: unused in release mode
static int MYVALUEDEBUG = 0; // todo: unused in release mode
// static int MYDEBUG = 0; // unused in release mode
// static int MYVALUEDEBUG = 0; // unused in release mode
#endif
namespace MED

View File

@ -352,10 +352,10 @@ namespace MED
TGaussInfo::TLess
::operator()(const TGaussInfo& theLeft, const TGaussInfo& theRight) const
{
if(!&theLeft) // todo: address of reference can be assumed always non-null by compiler
if(!&theLeft) // address of reference can be assumed always non-null by compiler - OK
return true;
if(!&theRight) // todo: address of reference can be assumed always non-null by compiler
if(!&theRight) //address of reference can be assumed always non-null by compiler - OK
return false;
if(theLeft.myGeom != theRight.myGeom)

View File

@ -26,7 +26,7 @@
#ifdef _DEBUG_
static int MYDEBUG = 0;
#else
static int MYDEBUG = 0; // todo: unused in release mode
//static int MYDEBUG = 0; // unused in release mode
#endif
int MED::PrefixPrinter::myCounter = 0;

View File

@ -38,8 +38,8 @@
static int MYDEBUG = 0;
static int MYVALUEDEBUG = 0;
#else
static int MYDEBUG = 0; // todo: unused in release mode
static int MYVALUEDEBUG = 0; // todo: unused in release mode
// static int MYDEBUG = 0; // unused in release mode
// static int MYVALUEDEBUG = 0; // unused in release mode
#endif
namespace MED

View File

@ -1488,10 +1488,10 @@ bool SMDS_VolumeTool::IsLinked (const int theNode1Index,
case QUAD_TETRA:
{
switch ( minInd ) {
case 0: if( maxInd==4 || maxInd==6 || maxInd==7 ) return true; // fall through
case 1: if( maxInd==4 || maxInd==5 || maxInd==8 ) return true; // fall through
case 2: if( maxInd==5 || maxInd==6 || maxInd==9 ) return true; // fall through
case 3: if( maxInd==7 || maxInd==8 || maxInd==9 ) return true; // fall through
case 0: return ( maxInd==4 || maxInd==6 || maxInd==7 );
case 1: return ( maxInd==4 || maxInd==5 || maxInd==8 );
case 2: return ( maxInd==5 || maxInd==6 || maxInd==9 );
case 3: return ( maxInd==7 || maxInd==8 || maxInd==9 );
default:;
}
break;
@ -1499,14 +1499,14 @@ bool SMDS_VolumeTool::IsLinked (const int theNode1Index,
case QUAD_HEXA:
{
switch ( minInd ) {
case 0: if( maxInd==8 || maxInd==11 || maxInd==16 ) return true; // fall through
case 1: if( maxInd==8 || maxInd==9 || maxInd==17 ) return true; // fall through
case 2: if( maxInd==9 || maxInd==10 || maxInd==18 ) return true; // fall through
case 3: if( maxInd==10 || maxInd==11 || maxInd==19 ) return true; // fall through
case 4: if( maxInd==12 || maxInd==15 || maxInd==16 ) return true; // fall through
case 5: if( maxInd==12 || maxInd==13 || maxInd==17 ) return true; // fall through
case 6: if( maxInd==13 || maxInd==14 || maxInd==18 ) return true; // fall through
case 7: if( maxInd==14 || maxInd==15 || maxInd==19 ) return true; // fall through
case 0: return ( maxInd==8 || maxInd==11 || maxInd==16 );
case 1: return ( maxInd==8 || maxInd==9 || maxInd==17 );
case 2: return ( maxInd==9 || maxInd==10 || maxInd==18 );
case 3: return ( maxInd==10 || maxInd==11 || maxInd==19 );
case 4: return ( maxInd==12 || maxInd==15 || maxInd==16 );
case 5: return ( maxInd==12 || maxInd==13 || maxInd==17 );
case 6: return ( maxInd==13 || maxInd==14 || maxInd==18 );
case 7: return ( maxInd==14 || maxInd==15 || maxInd==19 );
default:;
}
break;
@ -1514,11 +1514,11 @@ bool SMDS_VolumeTool::IsLinked (const int theNode1Index,
case QUAD_PYRAM:
{
switch ( minInd ) {
case 0: if( maxInd==5 || maxInd==8 || maxInd==9 ) return true; // fall through
case 1: if( maxInd==5 || maxInd==6 || maxInd==10 ) return true; // fall through
case 2: if( maxInd==6 || maxInd==7 || maxInd==11 ) return true; // fall through
case 3: if( maxInd==7 || maxInd==8 || maxInd==12 ) return true; // fall through
case 4: if( maxInd==9 || maxInd==10 || maxInd==11 || maxInd==12 ) return true;
case 0: return ( maxInd==5 || maxInd==8 || maxInd==9 );
case 1: return ( maxInd==5 || maxInd==6 || maxInd==10 );
case 2: return ( maxInd==6 || maxInd==7 || maxInd==11 );
case 3: return ( maxInd==7 || maxInd==8 || maxInd==12 );
case 4: return ( maxInd==9 || maxInd==10 || maxInd==11 || maxInd==12 );
default:;
}
break;
@ -1526,12 +1526,12 @@ bool SMDS_VolumeTool::IsLinked (const int theNode1Index,
case QUAD_PENTA:
{
switch ( minInd ) {
case 0: if( maxInd==6 || maxInd==8 || maxInd==12 ) return true; // fall through
case 1: if( maxInd==6 || maxInd==7 || maxInd==13 ) return true; // fall through
case 2: if( maxInd==7 || maxInd==8 || maxInd==14 ) return true; // fall through
case 3: if( maxInd==9 || maxInd==11 || maxInd==12 ) return true; // fall through
case 4: if( maxInd==9 || maxInd==10 || maxInd==13 ) return true; // fall through
case 5: if( maxInd==10 || maxInd==11 || maxInd==14 ) return true; // fall through
case 0: return ( maxInd==6 || maxInd==8 || maxInd==12 );
case 1: return ( maxInd==6 || maxInd==7 || maxInd==13 );
case 2: return ( maxInd==7 || maxInd==8 || maxInd==14 );
case 3: return ( maxInd==9 || maxInd==11 || maxInd==12 );
case 4: return ( maxInd==9 || maxInd==10 || maxInd==13 );
case 5: return ( maxInd==10 || maxInd==11 || maxInd==14 );
default:;
}
break;

View File

@ -338,12 +338,13 @@ bool SMESH_Gen::Compute(SMESH_Mesh & aMesh,
std::vector< SMESH_subMesh* > smVec;
for ( aShapeDim = 0; aShapeDim < 4; ++aShapeDim )
smVec.insert( smVec.end(),
smWithAlgoSupportingSubmeshes[aShapeDim].begin(),
smWithAlgoSupportingSubmeshes[aShapeDim].end() );
{
// ------------------------------------------------
// sort list of sub-meshes according to mesh order
// ------------------------------------------------
smVec.assign( smWithAlgoSupportingSubmeshes[ aShapeDim ].begin(),
smWithAlgoSupportingSubmeshes[ aShapeDim ].end() );
aMesh.SortByMeshOrder( smVec );
// ------------------------------------------------------------
@ -354,20 +355,29 @@ bool SMESH_Gen::Compute(SMESH_Mesh & aMesh,
for ( size_t i = 0; i < smVec.size(); ++i )
{
sm = smVec[i];
if ( sm->GetComputeState() != SMESH_subMesh::READY_TO_COMPUTE)
continue;
const TopAbs_ShapeEnum shapeType = sm->GetSubShape().ShapeType();
// get a shape the algo is assigned to
if ( !GetAlgo( sm, & algoShape ))
continue; // strange...
// look for more local algos
if ( SMESH_subMesh* algoSM = aMesh.GetSubMesh( algoShape ))
smIt = algoSM->getDependsOnIterator(!includeSelf, !complexShapeFirst);
else
smIt = sm->getDependsOnIterator(!includeSelf, !complexShapeFirst);
while ( smIt->more() )
{
SMESH_subMesh* smToCompute = smIt->next();
const TopoDS_Shape& aSubShape = smToCompute->GetSubShape();
const int aShapeDim = GetShapeDim( aSubShape );
if ( aShapeDim < 1 ) continue;
if ( aShapeDim < 1 || aSubShape.ShapeType() == shapeType )
continue;
// check for preview dimension limitations
if ( aShapesId && GetShapeDim( aSubShape.ShapeType() ) > (int)aDim )
@ -391,22 +401,15 @@ bool SMESH_Gen::Compute(SMESH_Mesh & aMesh,
Compute( aMesh, aSubShape, aFlags | SHAPE_ONLY_UPWARD, aDim, aShapesId, localAllowed );
}
}
}
// --------------------------------
// apply the all-dimensional algos
// apply the all-dimensional algo
// --------------------------------
for ( size_t i = 0; i < smVec.size(); ++i )
{
sm = smVec[i];
if ( sm->GetComputeState() == SMESH_subMesh::READY_TO_COMPUTE)
{
const TopAbs_ShapeEnum shapeType = sm->GetSubShape().ShapeType();
if (_compute_canceled)
return false;
// check for preview dimension limitations
if ( aShapesId && GetShapeDim( shapeType ) > (int)aDim )
continue;
if (_compute_canceled)
return false;
sm->SetAllowedSubShapes( fillAllowed( shapeSM, aShapeOnly, allowedSubShapes ));
setCurrentSubMesh( sm );
sm->ComputeStateEngine( computeEvent );
@ -416,7 +419,7 @@ bool SMESH_Gen::Compute(SMESH_Mesh & aMesh,
aShapesId->insert( sm->GetId() );
}
}
} // loop on shape dimensions
}
// -----------------------------------------------
// mesh the rest sub-shapes starting from vertices
@ -1079,10 +1082,13 @@ std::vector< std::string > SMESH_Gen::GetPluginXMLPaths()
#else
const char* path = xmlPath.c_str();
#endif
fileOK = (GetFileAttributes(path) != INVALID_FILE_ATTRIBUTES);
#ifdef UNICODE
delete path;
#endif
#else
fileOK = (access(xmlPath.c_str(), F_OK) == 0);
#endif

View File

@ -1159,7 +1159,7 @@ bool SMESH_Mesh::IsUsedHypothesis(SMESHDS_Hypothesis * anHyp,
// algorithm parameter
if (algo)
{
// look trough hypotheses used by algo
// look through hypotheses used by algo
const SMESH_HypoFilter* hypoKind;
if (( hypoKind = algo->GetCompatibleHypoFilter( !hyp->IsAuxiliary() ))) {
std::list <const SMESHDS_Hypothesis * > usedHyps;
@ -2432,6 +2432,7 @@ bool SMESH_Mesh::SortByMeshOrder(std::vector<SMESH_subMesh*>& theListToSort) con
smVec.push_back( sm );
if ( sm->GetSubMeshDS() && sm->GetSubMeshDS()->IsComplexSubmesh() )
{
smVec.reserve( smVec.size() + sm->GetSubMeshDS()->NbSubMeshes() );
SMESHDS_SubMeshIteratorPtr smdsIt = sm->GetSubMeshDS()->GetSubMeshIterator();
while ( smdsIt->more() )
{

View File

@ -1927,7 +1927,7 @@ namespace
}
for ( int variant = 0; variant < nbVariants && method._nbSplits == 0; ++variant )
{
// check method compliancy with adjacent tetras,
// check method compliance with adjacent tetras,
// all found splits must be among facets of tetras described by this method
method = TSplitMethod( nbTet, connVariants[variant] );
if ( hasAdjacentSplits && method._nbSplits > 0 )
@ -2126,7 +2126,7 @@ namespace
// there are adjacent prism
for ( int variant = 0; variant < nbVariants; ++variant )
{
// check method compliancy with adjacent prisms,
// check method compliance with adjacent prisms,
// the found prism facets must be among facets of prisms described by current method
method._nbSplits = nbSplits;
method._nbCorners = 6;
@ -3629,7 +3629,7 @@ static bool getClosestUV (Extrema_GenExtPS& projector,
{
projector.Perform( point );
if ( projector.IsDone() ) {
double u, v, minVal = DBL_MAX;
double u = 0, v = 0, minVal = DBL_MAX;
for ( int i = projector.NbExt(); i > 0; i-- )
if ( projector.SquareDistance( i ) < minVal ) {
minVal = projector.SquareDistance( i );
@ -3857,9 +3857,9 @@ void SMESH_MeshEditor::Smooth (TIDSortedElemSet & theElems,
}
else {
if ( isUPeriodic )
newUV.SetX( ElCLib::InPeriod( newUV.X(), u1, u2 )); // todo: u may be used unitialized
newUV.SetX( ElCLib::InPeriod( newUV.X(), u1, u2 ));
if ( isVPeriodic )
newUV.SetY( ElCLib::InPeriod( newUV.Y(), v1, v2 )); // todo: v may be used unitialized
newUV.SetY( ElCLib::InPeriod( newUV.Y(), v1, v2 ));
// check new UV
// if ( posType != SMDS_TOP_3DSPACE )
// dist2 = pNode.SquareDistance( surface->Value( newUV.X(), newUV.Y() ));
@ -7461,10 +7461,10 @@ public:
//int& GroupID() const { return const_cast< int& >( myGroupID ); }
ComparableElement( const ComparableElement& theSource ) // move copy
: boost::container::flat_set< int >()
: int_set()
{
ComparableElement& src = const_cast< ComparableElement& >( theSource );
(int_set&) (*this ) = boost::move( src );
(int_set&) (*this ) = std::move( src );
myElem = src.myElem;
mySumID = src.mySumID;
myGroupID = src.myGroupID;
@ -10200,7 +10200,7 @@ namespace // automatically find theAffectedElems for DoubleNodes()
if ( SMESH_MeshAlgos::FaceNormal( _elems[1], norm ))
avgNorm += norm;
gp_XYZ bordDir( SMESH_NodeXYZ( _nodes[0] ) - SMESH_NodeXYZ( _nodes[1] )); // todo: compiler complains about zero-size array
gp_XYZ bordDir( SMESH_NodeXYZ( this->_nodes[0] ) - SMESH_NodeXYZ( this->_nodes[1] ));
norm = bordDir ^ avgNorm;
}
else

View File

@ -2972,7 +2972,7 @@ bool SMESH_MesherHelper::IsReversedSubMesh (const TopoDS_Face& theFace)
if ( !aSubMeshDSFace )
return isReversed;
// find an element on a bounday of theFace
// find an element on a boundary of theFace
SMDS_ElemIteratorPtr iteratorElem = aSubMeshDSFace->GetElements();
const SMDS_MeshNode* nn[2];
while ( iteratorElem->more() ) // loop on elements on theFace
@ -3769,7 +3769,7 @@ namespace { // Structures used by FixQuadraticElements()
/*!
* \brief Dump QLink and QFace
*/
ostream& operator << (ostream& out, const QLink& l) // todo: unused in release mode
ostream& operator << (ostream& out, const QLink& l)
{
out <<"QLink nodes: "
<< l.node1()->GetID() << " - "
@ -3777,7 +3777,7 @@ namespace { // Structures used by FixQuadraticElements()
<< l.node2()->GetID() << endl;
return out;
}
ostream& operator << (ostream& out, const QFace& f) // todo: unused in release mode
ostream& operator << (ostream& out, const QFace& f)
{
out <<"QFace nodes: "/*<< &f << " "*/;
for ( TIDSortedNodeSet::const_iterator n = f.begin(); n != f.end(); ++n )
@ -3819,8 +3819,9 @@ namespace { // Structures used by FixQuadraticElements()
#ifdef _DEBUG_
_face = face;
#endif
#else
(void)face; // unused in release mode
#endif
}
//================================================================================
/*!
@ -4131,30 +4132,30 @@ namespace { // Structures used by FixQuadraticElements()
*/
//================================================================================
bool QFace::IsSpoiled(const QLink* bentLink ) const // todo: unused
{
// code is valid for convex faces only
gp_XYZ gc(0,0,0);
for ( TIDSortedNodeSet::const_iterator n = begin(); n != end(); ++n )
gc += XYZ( *n ) / double( size() );
for ( size_t i = 0; i < _sides.size(); ++i )
{
if ( _sides[i] == bentLink ) continue;
gp_Vec linkNorm = _normal ^ gp_Vec( XYZ(_sides[i]->node1()), XYZ(_sides[i]->node2()));
gp_Vec vecOut( gc, _sides[i]->MiddlePnt() );
if ( linkNorm * vecOut < 0 )
linkNorm.Reverse();
double mag2 = linkNorm.SquareMagnitude();
if ( mag2 > numeric_limits<double>::min() )
linkNorm /= sqrt( mag2 );
gp_Vec vecBent ( _sides[i]->MiddlePnt(), bentLink->MediumPnt());
gp_Vec vecStraight( _sides[i]->MiddlePnt(), bentLink->MiddlePnt());
if ( vecBent * linkNorm > -0.1*vecStraight.Magnitude() )
return true;
}
return false;
// bool QFace::IsSpoiled(const QLink* bentLink ) const
// {
// // code is valid for convex faces only
// gp_XYZ gc(0,0,0);
// for ( TIDSortedNodeSet::const_iterator n = begin(); n != end(); ++n )
// gc += XYZ( *n ) / double( size() );
// for ( size_t i = 0; i < _sides.size(); ++i )
// {
// if ( _sides[i] == bentLink ) continue;
// gp_Vec linkNorm = _normal ^ gp_Vec( XYZ(_sides[i]->node1()), XYZ(_sides[i]->node2()));
// gp_Vec vecOut( gc, _sides[i]->MiddlePnt() );
// if ( linkNorm * vecOut < 0 )
// linkNorm.Reverse();
// double mag2 = linkNorm.SquareMagnitude();
// if ( mag2 > numeric_limits<double>::min() )
// linkNorm /= sqrt( mag2 );
// gp_Vec vecBent ( _sides[i]->MiddlePnt(), bentLink->MediumPnt());
// gp_Vec vecStraight( _sides[i]->MiddlePnt(), bentLink->MiddlePnt());
// if ( vecBent * linkNorm > -0.1*vecStraight.Magnitude() )
// return true;
// }
// return false;
}
// }
//================================================================================
/*!
@ -5506,10 +5507,12 @@ void SMESH_MesherHelper::FixQuadraticElements(SMESH_ComputeErrorPtr& compError,
volExp.Set( *pentIt, /*ignoreCentralNodes=*/false );
}
}
#ifdef _DEBUG_
if ( false )
// avoid warning: defined but not used operator<<()
SMESH_Comment() << *links.begin() << *faces.begin();
#endif
return;
}
//================================================================================

View File

@ -745,34 +745,34 @@ namespace
//=======================================================================
//function : ChangePolyhedronNodes
//=======================================================================
inline void ChangePolyhedronNodes (SMDS_Mesh* /*theMesh*/,
SMESH::log_array_var& /*theSeq*/,
CORBA::Long /*theId*/)
inline void ChangePolyhedronNodes (SMDS_Mesh* theMesh,
SMESH::log_array_var& theSeq,
CORBA::Long theId)
{
// const SMESH::long_array& anIndexes = theSeq[theId].indexes;
// CORBA::Long iind = 0, aNbElems = theSeq[theId].number;
const SMESH::long_array& anIndexes = theSeq[theId].indexes;
CORBA::Long iind = 0, aNbElems = theSeq[theId].number;
// for (CORBA::Long anElemId = 0; anElemId < aNbElems; anElemId++)
// {
// // find element
// const SMDS_MeshElement* elem = FindElement(theMesh, anIndexes[iind++]);
// // nb nodes
// int nbNodes = anIndexes[iind++];
// // nodes
// std::vector<const SMDS_MeshNode*> aNodes (nbNodes);
// for (int iNode = 0; iNode < nbNodes; iNode++) {
// aNodes[iNode] = FindNode(theMesh, anIndexes[iind++]);
// }
// // nb faces
// int nbFaces = anIndexes[iind++];
// // quantities
// std::vector<int> quantities (nbFaces);
// for (int iFace = 0; iFace < nbFaces; iFace++) {
// quantities[iFace] = anIndexes[iind++];
// }
// // change
// theMesh->ChangePolyhedronNodes(elem, aNodes, quantities);
// }
for (CORBA::Long anElemId = 0; anElemId < aNbElems; anElemId++)
{
// find element
const SMDS_MeshElement* elem = FindElement(theMesh, anIndexes[iind++]);
// nb nodes
int nbNodes = anIndexes[iind++];
// nodes
std::vector<const SMDS_MeshNode*> aNodes (nbNodes);
for (int iNode = 0; iNode < nbNodes; iNode++) {
aNodes[iNode] = FindNode(theMesh, anIndexes[iind++]);
}
// nb faces
int nbFaces = anIndexes[iind++];
// quantities
std::vector<int> quantities (nbFaces);
for (int iFace = 0; iFace < nbFaces; iFace++) {
quantities[iFace] = anIndexes[iind++];
}
// change
theMesh->ChangePolyhedronNodes(elem, aNodes, quantities);
}
}
}

View File

@ -113,6 +113,7 @@
#include <LightApp_UpdateFlags.h>
#include <QtxFontEdit.h>
#include <QtxPopupMgr.h>
#include <QtxInfoPanel.h>
#include <SALOME_ListIO.hxx>
#include <SUIT_Desktop.h>
#include <SUIT_FileDlg.h>
@ -2863,7 +2864,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
case SMESHOp::OpMeshOrder:
case SMESHOp::OpCreateSubMesh:
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
// fall through
case SMESHOp::OpCreateMesh:
case SMESHOp::OpCompute:
@ -2915,7 +2916,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
if ( isStudyLocked() )
break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
/*Standard_Boolean aRes;
SMESH::SMESH_Mesh_var aMesh = SMESH::IObjectToInterface<SMESH::SMESH_Mesh>(IObject);
@ -2947,7 +2948,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
if ( isStudyLocked() )
break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
EmitSignalDeactivateDialog();
SMESHGUI_MultiEditDlg* aDlg = NULL;
@ -2967,7 +2968,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
{
if(isStudyLocked()) break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
if( vtkwnd ) {
EmitSignalDeactivateDialog();
( new SMESHGUI_SmoothingDlg( this ) )->show();
@ -2981,7 +2982,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
{
if (isStudyLocked()) break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
if (vtkwnd) {
EmitSignalDeactivateDialog();
( new SMESHGUI_ExtrusionDlg ( this ) )->show();
@ -2994,7 +2995,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
{
if (isStudyLocked()) break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
if (vtkwnd) {
EmitSignalDeactivateDialog();
( new SMESHGUI_ExtrusionAlongPathDlg( this ) )->show();
@ -3007,7 +3008,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
{
if(isStudyLocked()) break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
if( vtkwnd ) {
EmitSignalDeactivateDialog();
( new SMESHGUI_RevolutionDlg( this ) )->show();
@ -3022,7 +3023,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
if ( isStudyLocked() )
break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
if ( vtkwnd )
{
EmitSignalDeactivateDialog();
@ -3040,7 +3041,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
case SMESHOp::OpCreateGeometryGroup:
{
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
startOperation( theCommandID );
break;
}
@ -3054,7 +3055,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
if(isStudyLocked()) break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
EmitSignalDeactivateDialog();
SMESH::SMESH_Mesh_var aMesh = SMESH::SMESH_Mesh::_nil();
@ -3083,7 +3084,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
if(isStudyLocked()) break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
EmitSignalDeactivateDialog();
LightApp_SelectionMgr *aSel = SMESHGUI::selectionMgr();
@ -3162,7 +3163,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
if(isStudyLocked()) break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
EmitSignalDeactivateDialog();
LightApp_SelectionMgr *aSel = SMESHGUI::selectionMgr();
@ -3261,7 +3262,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
if ( isStudyLocked() )
break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
EmitSignalDeactivateDialog();
@ -3283,7 +3284,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
if ( isStudyLocked() )
break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
EmitSignalDeactivateDialog();
SMESHGUI_GroupOpDlg* aDlg = new SMESHGUI_DimGroupDlg( this );
@ -3297,7 +3298,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
if ( isStudyLocked() )
break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
EmitSignalDeactivateDialog();
SMESHGUI_FaceGroupsSeparatedByEdgesDlg* aDlg = new SMESHGUI_FaceGroupsSeparatedByEdgesDlg( this );
@ -3358,7 +3359,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
{
if(isStudyLocked()) break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
LightApp_SelectionMgr *aSel = SMESHGUI::selectionMgr();
SALOME_ListIO selected;
@ -3405,7 +3406,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
{
if(isStudyLocked()) break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
SUIT_OverrideCursor wc;
LightApp_SelectionMgr *aSel = SMESHGUI::selectionMgr();
@ -3438,7 +3439,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
{
if(isStudyLocked()) break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
if ( vtkwnd ) {
EmitSignalDeactivateDialog();
SMDSAbs_EntityType type = SMDSEntity_Edge;
@ -3466,7 +3467,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
{
if(isStudyLocked()) break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
if ( vtkwnd ) {
EmitSignalDeactivateDialog();
( new SMESHGUI_CreatePolyhedralVolumeDlg( this ) )->show();
@ -3491,7 +3492,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
{
if(isStudyLocked()) break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
if ( vtkwnd ) {
EmitSignalDeactivateDialog();
SMDSAbs_EntityType type = SMDSEntity_Last;
@ -3524,7 +3525,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
{
if(isStudyLocked()) break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
if ( vtkwnd ) {
EmitSignalDeactivateDialog();
( new SMESHGUI_RemoveNodesDlg( this ) )->show();
@ -3539,7 +3540,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
{
if(isStudyLocked()) break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
if( vtkwnd ) {
EmitSignalDeactivateDialog();
( new SMESHGUI_RemoveElementsDlg( this ) )->show();
@ -3555,7 +3556,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
if(isStudyLocked()) break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
SALOME_ListIO selected;
if( LightApp_SelectionMgr *aSel = SMESHGUI::selectionMgr() )
@ -3596,7 +3597,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
{
if(isStudyLocked()) break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
SALOME_ListIO selected;
if( LightApp_SelectionMgr *aSel = SMESHGUI::selectionMgr() )
aSel->selectedObjects( selected );
@ -3637,7 +3638,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
{
if(isStudyLocked()) break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
if( vtkwnd ) {
EmitSignalDeactivateDialog();
( new SMESHGUI_RenumberingDlg( this, 0 ) )->show();
@ -3653,7 +3654,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
{
if(isStudyLocked()) break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
if ( vtkwnd ) {
EmitSignalDeactivateDialog();
( new SMESHGUI_RenumberingDlg( this, 1 ) )->show();
@ -3669,7 +3670,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
{
if(isStudyLocked()) break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
if ( vtkwnd ) {
EmitSignalDeactivateDialog();
( new SMESHGUI_TranslationDlg( this ) )->show();
@ -3684,7 +3685,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
{
if(isStudyLocked()) break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
if( vtkwnd ) {
EmitSignalDeactivateDialog();
( new SMESHGUI_RotationDlg( this ) )->show();
@ -3699,7 +3700,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
{
if(isStudyLocked()) break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
if(vtkwnd) {
EmitSignalDeactivateDialog();
( new SMESHGUI_SymmetryDlg( this ) )->show();
@ -3714,7 +3715,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
{
if(isStudyLocked()) break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
if ( vtkwnd ) {
EmitSignalDeactivateDialog();
( new SMESHGUI_ScaleDlg( this ) )->show();
@ -3730,7 +3731,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
{
if(isStudyLocked()) break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
if ( vtkwnd ) {
EmitSignalDeactivateDialog();
( new SMESHGUI_OffsetDlg( this ) )->show();
@ -3746,7 +3747,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
{
if(isStudyLocked()) break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
if(vtkwnd) {
EmitSignalDeactivateDialog();
( new SMESHGUI_SewingDlg( this ) )->show();
@ -3761,7 +3762,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
{
if(isStudyLocked()) break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
if(vtkwnd) {
EmitSignalDeactivateDialog();
( new SMESHGUI_MergeDlg( this, 0 ) )->show();
@ -3776,7 +3777,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
{
if (isStudyLocked()) break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
if (vtkwnd) {
EmitSignalDeactivateDialog();
( new SMESHGUI_MergeDlg( this, 1 ) )->show();
@ -3789,7 +3790,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
case SMESHOp::OpMoveNode: // MAKE MESH PASS THROUGH POINT
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
startOperation( SMESHOp::OpMoveNode );
break;
@ -3797,7 +3798,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
{
if(isStudyLocked()) break;
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
if ( vtkwnd ) {
EmitSignalDeactivateDialog();
( new SMESHGUI_DuplicateNodesDlg( this ) )->show();
@ -3811,7 +3812,7 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
case SMESHOp::OpElem0DOnElemNodes: // 0D_ON_ALL_NODES
if ( warnOnGeomModif() )
break; // action forbiden as geometry modified
break; // action forbidden as geometry modified
startOperation( SMESHOp::OpElem0DOnElemNodes );
break;
@ -4686,7 +4687,7 @@ void SMESHGUI::initialize( CAM_Application* app )
popupMgr()->insert( separator(), -1, 0 );
createPopupItem( SMESHOp::OpCompute, OB, mesh, "&& selcount=1 && hasAlgo && isComputable" );
createPopupItem( SMESHOp::OpRecompute, OB, mesh, "&& selcount=1 && hasAlgo && " + isNotEmpty );
createPopupItem( SMESHOp::OpRecompute, OB, mesh, "&& selcount=1 && hasAlgo && (" + isNotEmpty + " || hasErrors )");
createPopupItem( SMESHOp::OpShowErrors, OB, mesh, "&& selcount=1 && hasErrors" );
createPopupItem( SMESHOp::OpComputeSubMesh, OB, subMesh, "&& selcount=1 && hasAlgo && isComputable" );
createPopupItem( SMESHOp::OpPreCompute, OB, mesh, "&& selcount=1 && hasAlgo && isPreComputable" );
@ -5105,6 +5106,12 @@ bool SMESHGUI::reusableOperation( const int id )
return ( id == SMESHOp::OpCompute || id == SMESHOp::OpPreCompute || id == SMESHOp::OpEvaluate || id == SMESHOp::OpRecompute ) ? false : SalomeApp_Module::reusableOperation( id );
}
namespace
{
QString wrap(const QString& text, const QString& tag)
{ return QString("<%1>%2</%3>").arg(tag).arg(text).arg(tag);}
}
bool SMESHGUI::activateModule( SUIT_Study* study )
{
bool res = SalomeApp_Module::activateModule( study );
@ -5112,6 +5119,49 @@ bool SMESHGUI::activateModule( SUIT_Study* study )
setMenuShown( true );
setToolShown( true );
// Fill in Help Panel
SalomeApp_Application* app = dynamic_cast<SalomeApp_Application*>( application() );
app->infoPanel()->setTitle(tr("INFO_WELCOME_TO_SMESH"));
int gb = app->infoPanel()->addGroup(tr("INFO_GRP_CREATE_MESH"));
QString lab;
QStringList items;
lab = tr("INFO_DEFINE_ALGOS") + "<br/>";
lab = lab + tr("INFO_DEFINE_HYPOS") + "<br/>";
lab = lab + tr("INFO_COMPUTE") + "<br/>";
lab = lab + tr("INFO_REFINE") + ":";
items << wrap(tr("INFO_REFINE_LOCAL_SIZE"), "li")
<< wrap(tr("INFO_REFINE_SUBMESH"), "li");
lab = lab + wrap(items.join(""), "ul");
items.clear();
app->infoPanel()->addLabel(lab, gb);
gb = app->infoPanel()->addGroup(tr("INFO_GRP_IMPORT_MESH"));
items << wrap("UNV", "li")
<< wrap("MED", "li")
<< wrap("STL", "li")
<< wrap("CGNS", "li")
<< wrap("SAUV", "li")
<< wrap("GMF", "li");
lab = tr("INFO_AVAILABLE_FORMATS") + ":" + wrap(items.join(""), "ul");
items.clear();
app->infoPanel()->addLabel(lab, gb);
gb = app->infoPanel()->addGroup(tr("INFO_GRP_CHECK_MESH"));
lab = tr("INFO_DISPLAY") + "<br/>";
items << wrap(tr("INFO_QUALITY_AREA"), "li")
<< wrap(tr("INFO_QUALITY_VOLUME"), "li")
<< wrap(tr("INFO_QUALITY_ASPECT_RATION"), "li")
<< wrap("...", "li");
lab = lab + tr("INFO_QUALITY_INFO") + ":" + wrap(items.join(""), "ul");
items.clear();
lab = lab + tr("INFO_CLIPPING");
app->infoPanel()->addLabel(lab, gb);
// << Help Panel
// import Python module that manages SMESH plugins (need to be here because SalomePyQt API uses active module)
PyGILState_STATE gstate = PyGILState_Ensure();
PyObject* pluginsmanager = PyImport_ImportModuleNoBlock((char*)"salome_pluginsmanager");
@ -5230,6 +5280,7 @@ void SMESHGUI::windows( QMap<int, int>& aMap ) const
{
aMap.insert( SalomeApp_Application::WT_ObjectBrowser, Qt::LeftDockWidgetArea );
aMap.insert( SalomeApp_Application::WT_NoteBook, Qt::LeftDockWidgetArea );
aMap.insert( SalomeApp_Application::WT_InfoPanel, Qt::RightDockWidgetArea);
#ifndef DISABLE_PYCONSOLE
aMap.insert( SalomeApp_Application::WT_PyConsole, Qt::BottomDockWidgetArea );
#endif

View File

@ -211,7 +211,7 @@ QWidget* SMESHGUI_FilterLibraryDlg::createMainFrame (QWidget* theParent)
myTable->SetLibsEnabled(false);
myListBox->setMinimumHeight((int)(myTable->sizeHint().height() * 0.5));
//myListBox->setRowMode(QListWidget::FitToWidth); //VSR : TODO ???
//myListBox->setRowMode(QListWidget::FitToWidth);
myListBox->setSelectionMode(QListWidget::SingleSelection);
myOpenBtn->setAutoDefault(false);

View File

@ -1577,22 +1577,22 @@ void SMESHGUI_SewingDlg::onTextChange (const QString& theNewText)
QStringList aListId = theNewText.split(" ", QString::SkipEmptyParts);
bool isEvenOneExists = false;
bool atLeastOneExists = false;
for (int i = 0; i < aListId.count(); i++) {
const SMDS_MeshElement * e = aMesh->FindElement(aListId[ i ].toInt());
if (e)
{
newIndices.Add(e->GetID());
if (!isEvenOneExists)
isEvenOneExists = true;
atLeastOneExists = true;
}
}
mySelector->AddOrRemoveIndex(myActor->getIO(), newIndices, false);
if ( SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ))
aViewWindow->highlight( myActor->getIO(), true, true );
if (isEvenOneExists) {
if (atLeastOneExists) {
if (send == LineEdit1)
myOk1 = true;
else if(send == LineEdit4)

View File

@ -226,6 +226,6 @@ SMESHGUI_EXPORT
SMESHGUI_EXPORT
bool NoSmeshActors(SUIT_ViewWindow *theWnd=nullptr);
};
}
#endif // SMESHGUI_VTKUTILS_H

View File

@ -5029,6 +5029,74 @@ Please, create VTK viewer and try again</translation>
<source>PREF_PREVIEW_CHUNK_SIZE</source>
<translation>Sub-shapes preview chunk size</translation>
</message>
<message>
<source>INFO_WELCOME_TO_SMESH</source>
<translation>Welcome to Mesh</translation>
</message>
<message>
<source>INFO_GRP_CREATE_MESH</source>
<translation>Create mesh</translation>
</message>
<message>
<source>INFO_DEFINE_ALGOS</source>
<translation>Choose algorithms</translation>
</message>
<message>
<source>INFO_DEFINE_HYPOS</source>
<translation>Define hypotheses</translation>
</message>
<message>
<source>INFO_COMPUTE</source>
<translation>Compute</translation>
</message>
<message>
<source>INFO_REFINE</source>
<translation>Add refinements</translation>
</message>
<message>
<source>INFO_REFINE_LOCAL_SIZE</source>
<translation>via local sizes with some hypotheses</translation>
</message>
<message>
<source>INFO_REFINE_SUBMESH</source>
<translation>via sub-meshes</translation>
</message>
<message>
<source>INFO_GRP_IMPORT_MESH</source>
<translation>Import mesh</translation>
</message>
<message>
<source>INFO_AVAILABLE_FORMATS</source>
<translation>Available formats</translation>
</message>
<message>
<source>INFO_GRP_CHECK_MESH</source>
<translation> Check mesh quality</translation>
</message>
<message>
<source>INFO_DISPLAY</source>
<translation>Display mesh</translation>
</message>
<message>
<source>INFO_QUALITY_INFO</source>
<translation>Display some quality criteria</translation>
</message>
<message>
<source>INFO_QUALITY_AREA</source>
<translation>area</translation>
</message>
<message>
<source>INFO_QUALITY_VOLUME</source>
<translation>volume</translation>
</message>
<message>
<source>INFO_QUALITY_ASPECT_RATION</source>
<translation>aspect ration</translation>
</message>
<message>
<source>INFO_CLIPPING</source>
<translation>Add clipping planes</translation>
</message>
</context>
<context>
<name>SMESHGUI_GroupDlg</name>

View File

@ -4581,6 +4581,10 @@ Il ne peut pas être supprimé.</translation>
<source>SMESH_HEX_PRISM</source>
<translation>Prisme hexagonal</translation>
</message>
<message>
<source>Generate mesh from CAD model or import mesh</source>
<translation type="unfinished">Generate mesh from CAD model or import mesh</translation>
</message>
</context>
<context>
<name>SMESHGUI_FieldSelectorWdg</name>
@ -5029,6 +5033,74 @@ Ouvrez une fenêtre VTK et essayez de nouveau</translation>
<source>PREF_PREVIEW_CHUNK_SIZE</source>
<translation>Taille des blocs pour la prévisualisation des sous-shapes</translation>
</message>
<message>
<source>INFO_WELCOME_TO_SMESH</source>
<translation type="unfinished">Welcome to Mesh</translation>
</message>
<message>
<source>INFO_GRP_CREATE_MESH</source>
<translation type="unfinished">Create mesh</translation>
</message>
<message>
<source>INFO_DEFINE_ALGOS</source>
<translation type="unfinished">Choose algorithms</translation>
</message>
<message>
<source>INFO_DEFINE_HYPOS</source>
<translation type="unfinished">Define hypotheses</translation>
</message>
<message>
<source>INFO_COMPUTE</source>
<translation type="unfinished">Compute</translation>
</message>
<message>
<source>INFO_REFINE</source>
<translation type="unfinished">Add refinements</translation>
</message>
<message>
<source>INFO_REFINE_LOCAL_SIZE</source>
<translation type="unfinished">via local sizes with some hypotheses</translation>
</message>
<message>
<source>INFO_REFINE_SUBMESH</source>
<translation type="unfinished">via sub-meshes</translation>
</message>
<message>
<source>INFO_GRP_IMPORT_MESH</source>
<translation type="unfinished">Import mesh</translation>
</message>
<message>
<source>INFO_AVAILABLE_FORMATS</source>
<translation type="unfinished">Available formats</translation>
</message>
<message>
<source>INFO_GRP_CHECK_MESH</source>
<translation type="unfinished"> Check mesh quality</translation>
</message>
<message>
<source>INFO_DISPLAY</source>
<translation type="unfinished">Display mesh</translation>
</message>
<message>
<source>INFO_QUALITY_INFO</source>
<translation type="unfinished">Display some quality criteria</translation>
</message>
<message>
<source>INFO_QUALITY_AREA</source>
<translation type="unfinished">area</translation>
</message>
<message>
<source>INFO_QUALITY_VOLUME</source>
<translation type="unfinished">volume</translation>
</message>
<message>
<source>INFO_QUALITY_ASPECT_RATION</source>
<translation type="unfinished">aspect ration</translation>
</message>
<message>
<source>INFO_CLIPPING</source>
<translation type="unfinished">Add clipping planes</translation>
</message>
</context>
<context>
<name>SMESHGUI_GroupDlg</name>

View File

@ -4431,6 +4431,10 @@
<source>SMESH_HEX_PRISM</source>
<translation></translation>
</message>
<message>
<source>Generate mesh from CAD model or import mesh</source>
<translation type="unfinished">Generate mesh from CAD model or import mesh</translation>
</message>
</context>
<context>
<name>SMESHGUI_FieldSelectorWdg</name>
@ -4827,6 +4831,74 @@
<source>PREF_PREVIEW_CHUNK_SIZE</source>
<translation>Under-shapes </translation>
</message>
<message>
<source>INFO_WELCOME_TO_SMESH</source>
<translation type="unfinished">Welcome to Mesh</translation>
</message>
<message>
<source>INFO_GRP_CREATE_MESH</source>
<translation type="unfinished">Create mesh</translation>
</message>
<message>
<source>INFO_DEFINE_ALGOS</source>
<translation type="unfinished">Choose algorithms</translation>
</message>
<message>
<source>INFO_DEFINE_HYPOS</source>
<translation type="unfinished">Define hypotheses</translation>
</message>
<message>
<source>INFO_COMPUTE</source>
<translation type="unfinished">Compute</translation>
</message>
<message>
<source>INFO_REFINE</source>
<translation type="unfinished">Add refinements</translation>
</message>
<message>
<source>INFO_REFINE_LOCAL_SIZE</source>
<translation type="unfinished">via local sizes with some hypotheses</translation>
</message>
<message>
<source>INFO_REFINE_SUBMESH</source>
<translation type="unfinished">via sub-meshes</translation>
</message>
<message>
<source>INFO_GRP_IMPORT_MESH</source>
<translation type="unfinished">Import mesh</translation>
</message>
<message>
<source>INFO_AVAILABLE_FORMATS</source>
<translation type="unfinished">Available formats</translation>
</message>
<message>
<source>INFO_GRP_CHECK_MESH</source>
<translation type="unfinished"> Check mesh quality</translation>
</message>
<message>
<source>INFO_DISPLAY</source>
<translation type="unfinished">Display mesh</translation>
</message>
<message>
<source>INFO_QUALITY_INFO</source>
<translation type="unfinished">Display some quality criteria</translation>
</message>
<message>
<source>INFO_QUALITY_AREA</source>
<translation type="unfinished">area</translation>
</message>
<message>
<source>INFO_QUALITY_VOLUME</source>
<translation type="unfinished">volume</translation>
</message>
<message>
<source>INFO_QUALITY_ASPECT_RATION</source>
<translation type="unfinished">aspect ration</translation>
</message>
<message>
<source>INFO_CLIPPING</source>
<translation type="unfinished">Add clipping planes</translation>
</message>
</context>
<context>
<name>SMESHGUI_GroupDlg</name>

View File

@ -1130,7 +1130,7 @@ bool SMESH_Block::findUVByHalfDivision( const gp_Pnt& thePoint,
//================================================================================
/*!
* \brief Finds parameters corresponding to a given UV of a given face by searching
* \brief Find parameters corresponding to a given UV of a given face by searching
* around the starting solution
* \param [in] theUV - the UV to locate
* \param [in] tface - the face

View File

@ -101,10 +101,10 @@ class SMESH_OrientedIndexer : public SMESH_Indexer
public:
enum OriFlags //!< transformation types
{
REV_X = 1, REV_Y = 2, SWAP_XY = 4, MAX_ORI = REV_X|REV_Y|SWAP_XY
NO_TRSF = 0, REV_X = 1, REV_Y = 2, SWAP_XY = 4, MAX_ORI = REV_X|REV_Y|SWAP_XY
};
SMESH_OrientedIndexer( const SMESH_Indexer& indexer, const int oriFlags ):
SMESH_OrientedIndexer( const SMESH_Indexer& indexer, const int oriFlags = NO_TRSF):
TFather( indexer._xSize, indexer._ySize ),
_xRevFun( (oriFlags & REV_X) ? & reverse : & lazy ),
_yRevFun( (oriFlags & REV_Y) ? & reverse : & lazy ),

View File

@ -418,8 +418,10 @@ namespace
*/
//================================================================================
void bndSegsToMesh( const vector< vector< BndSeg > >& /*bndSegsPerEdge*/ )
void bndSegsToMesh( const vector< vector< BndSeg > >& bndSegsPerEdge )
{
if ( bndSegsPerEdge.empty() )
return;
#ifdef _MYDEBUG_
if ( !getenv("bndSegsToMesh")) return;
map< const TVDVertex *, int > v2Node;

View File

@ -2022,6 +2022,8 @@ namespace SMESH_MeshAlgos
#ifdef _DEBUG_
std::cerr << "BAD tria" << std::endl;
cf.Dump();
#else
if ( i < 0 ) cf.Dump(); // avoid "CutFace::Dump() unused in release mode"
#endif
continue;
}
@ -2358,7 +2360,7 @@ namespace
*/
//================================================================================
void CutFace::Dump() const // todo: unused in release mode
void CutFace::Dump() const
{
std::cout << std::endl << "INI F " << myInitFace->GetID() << std::endl;
for ( size_t i = 0; i < myLinks.size(); ++i )
@ -2779,13 +2781,11 @@ namespace
}
}
if ( closestNode1 && closestNode2 ) {
size_t i = myLinks.size();
myLinks.resize( i + 2 );
myLinks[ i ].Set( closestNode1, closestNode2 );
myLinks[ i+1 ].Set( closestNode2, closestNode1 );
}
}
return true;
}

View File

@ -33,8 +33,11 @@
#include <SALOMEDS_wrap.hxx>
#include <utilities.h>
#include <Basics_OCCTVersion.hxx>
#include <Resource_DataMapOfAsciiStringAsciiString.hxx>
#if OCC_VERSION_LARGE < 0x07050000
#include <Resource_DataMapIteratorOfDataMapOfAsciiStringAsciiString.hxx>
#endif
#include "SMESH_Gen_i.hxx"
/* SALOME headers that include CORBA headers that include windows.h
@ -931,7 +934,8 @@ Handle(_pyCommand) _pyGen::AddCommand( const TCollection_AsciiString& theCommand
Threshold = SMESH + types[ iGeom ];
#ifdef _DEBUG_
// is types complete? (compilation failure means that enum GeometryType changed)
int _asrt[( sizeof(types) / sizeof(const char*) == nbTypes ) ? 2 : -1 ]; _asrt[0]=_asrt[1]; // _asrt[1] may be used uninitialized => replace this with static_assert?
static_assert( sizeof(types) / sizeof(const char*) == nbTypes,
"Update names of GeometryType's!!!" );
#endif
}
if (Type == "SMESH.FT_EntityType")
@ -951,7 +955,8 @@ Handle(_pyCommand) _pyGen::AddCommand( const TCollection_AsciiString& theCommand
Threshold = SMESH + types[ iGeom ];
#ifdef _DEBUG_
// is 'types' complete? (compilation failure means that enum EntityType changed)
int _asrt[( sizeof(types) / sizeof(const char*) == nbTypes ) ? 2 : -1 ]; _asrt[0]=_asrt[1]; // _asrt[1] may be used uninitialized => replace this with static_assert?
static_assert( sizeof(types) / sizeof(const char*) == nbTypes,
"Update names of EntityType's!!!" );
#endif
}
}

View File

@ -422,7 +422,7 @@ protected:
std::list<Handle(_pyCommand)> myUnusedCommands;
std::list<Handle(_pyObject) > myReferredObjs;
// maps used to clear commands setting parameters if result of setting is
// discared (e.g. by mesh.Clear())
// discarded (e.g. by mesh.Clear())
std::map<_AString, std::list<Handle(_pyCommand)> > myMeth2Commands;
std::map< _pyCommand::TAddr, std::list<Handle(_pyCommand) > > myComputeAddr2Cmds;
std::list<Handle(_pyCommand) > myComputeCmds;

View File

@ -843,7 +843,7 @@ void BelongToMeshGroup_i::SetGroupID( const char* theID ) // IOR or StoreName
std::string BelongToMeshGroup_i::GetGroupID()
{
if ( myGroup->_is_nil() )
SMESH::SMESH_GroupBase_var( GetGroup() ); // todo: unnecessary parentheses?
SMESH::SMESH_GroupBase_var( GetGroup() ); // decref the returned pointer
if ( !myGroup->_is_nil() )
myID = SMESH_Gen_i::GetORB()->object_to_string( myGroup );

View File

@ -6346,7 +6346,6 @@ CORBA::Boolean SMESH_Gen_i::IsApplicable ( const char* theAlgoType,
SMESH_TRY;
std::string aPlatformLibName;
//typedef GenericHypothesisCreator_i* (*GetHypothesisCreator)(const char*);
GenericHypothesisCreator_i* aCreator =
getHypothesisCreator(theAlgoType, theLibName, aPlatformLibName);
if (aCreator)

View File

@ -6584,10 +6584,13 @@ void findConcurrents(const SMESH_DimHyp* theDimHyp,
}
//-----------------------------------------------------------------------------
void unionLists(TListOfInt& theListOfId,
bool unionLists(TListOfInt& theListOfId,
TListOfListOfInt& theListOfListOfId,
const int theIndx )
{
bool changed = false;
if ( theListOfId.empty() )
return changed;
TListOfListOfInt::iterator it = theListOfListOfId.begin();
for ( int i = 0; it != theListOfListOfId.end(); it++, i++ )
{
@ -6603,11 +6606,15 @@ void unionLists(TListOfInt& theListOfId,
TListOfInt::iterator it2 = otherListOfId.begin();
for ( ; it2 != otherListOfId.end(); it2++ ) {
if ( find( theListOfId.begin(), theListOfId.end(), (*it2) ) == theListOfId.end() )
{
theListOfId.push_back(*it2);
changed = true;
}
}
// clear source list
otherListOfId.clear();
}
return changed;
}
//-----------------------------------------------------------------------------
@ -6691,10 +6698,15 @@ SMESH::submesh_array_array* SMESH_Mesh_i::GetMeshOrder()
TListOfListOfInt allConurrent = findConcurrentSubMeshes();
anOrder.splice( anOrder.end(), allConurrent );
int listIndx = 0;
bool changed;
do {
changed = false;
TListOfListOfInt::iterator listIt = anOrder.begin();
for(; listIt != anOrder.end(); listIt++, listIndx++ )
unionLists( *listIt, anOrder, listIndx + 1 );
for ( int listIndx = 1; listIt != anOrder.end(); listIt++, listIndx++ )
if ( unionLists( *listIt, anOrder, listIndx ))
changed = true;
}
while ( changed );
// convert submesh ids into interface instances
// and dump command into python

View File

@ -286,7 +286,7 @@ void SMESH_NoteBook::ReplaceVariables()
varIndex = atoi( varIndexPtr );
if ( 0 <= (int)varIndex && varIndex < vars.size() && !vars[varIndex].empty() )
{
// replace '$VarIndex$' either by var name of var value
// replace '$VarIndex$' either by var name or var value
const char var0 = vars[varIndex][0];
const bool isValue = (( '0' <= var0 && var0 <= '9' ) || var0 == '-');
if ( isValue ) // remove TVar::Quote() as well

View File

@ -114,7 +114,7 @@ SMESH_Pattern_i::SMESH_Pattern_i( SMESH_Gen_i* theGen_i ):
CORBA::Boolean SMESH_Pattern_i::LoadFromFile(const char* theFileContents)
{
// remove some gabage from the end
// remove some garbage from the end
TCollection_AsciiString patternDescription = (char*) theFileContents;
int pos = patternDescription.Length();
while (! isdigit( patternDescription.Value( pos )))

View File

@ -33,13 +33,17 @@
#include "SMESH_MeshEditor_i.hxx"
#include <Basics_Utils.hxx>
#include <Basics_OCCTVersion.hxx>
#include <SALOMEDS_wrap.hxx>
#include <LDOMParser.hxx>
#include <Resource_DataMapIteratorOfDataMapOfAsciiStringAsciiString.hxx>
#include <TColStd_HSequenceOfInteger.hxx>
#include <TCollection_AsciiString.hxx>
#if OCC_VERSION_LARGE < 0x07050000
#include <Resource_DataMapIteratorOfDataMapOfAsciiStringAsciiString.hxx>
#endif
#include <cstring>
#ifdef _DEBUG_
@ -672,7 +676,7 @@ namespace SMESH
#ifdef _DEBUG_
std::cout << "Exception in SMESH_Gen_i::DumpPython(): " << text << std::endl;
#else
(void)text; // todo: unused in release mode
(void)text; // unused in release mode
#endif
}

View File

@ -127,7 +127,7 @@ bool StdMeshers_BlockRenumber::IsSolidIncluded( SMESH_Mesh& mesh,
//=======================================================================
SMESH_ComputeErrorPtr StdMeshers_BlockRenumber::CheckHypothesis(SMESH_Mesh& aMesh,
const TopoDS_Shape& aShape) const
const TopoDS_Shape& /*shape*/) const
{
SMESH_Comment errorTxt;
for ( size_t i = 0; i < _blockCS.size() && errorTxt.empty(); ++i )
@ -313,7 +313,7 @@ namespace boost {
//=======================================================================
template<class Archive>
void serialize(Archive & ar, StdMeshers_BlockCS & blockCS, const unsigned int version)
void serialize(Archive & ar, StdMeshers_BlockCS & blockCS, const unsigned int /*version*/)
{
ar & blockCS._solid;
ar & blockCS._vertex000;

View File

@ -86,14 +86,14 @@ public:
* \param theShape - the geometry of interest
* \retval bool - true if parameter values have been successfully defined
*/
bool SetParametersByMesh(const SMESH_Mesh* theMesh, const TopoDS_Shape& theShape) override
bool SetParametersByMesh(const SMESH_Mesh* /*mesh*/, const TopoDS_Shape& /*shape*/) override
{ return false; }
/*!
* \brief Initialize my parameter values by default parameters.
* \retval bool - true if parameter values have been successfully defined
*/
bool SetParametersByDefaults(const TDefaults& dflts, const SMESH_Mesh* theMesh=0) override
bool SetParametersByDefaults(const TDefaults& /*dflts*/, const SMESH_Mesh* /*mesh*/=0) override
{ return false; }
public:
@ -115,7 +115,7 @@ public:
// Persistence: define both input and output at once
friend class boost::serialization::access;
template<class Archive> void serialize( Archive & ar, const unsigned int version )
template<class Archive> void serialize( Archive & ar, const unsigned int /*version*/ )
{
ar & _blockCS;
}

View File

@ -2563,7 +2563,7 @@ namespace
case 3: // at a corner
{
_Node& node = _hexNodes[ subEntity - SMESH_Block::ID_FirstV ];
if ( node.Node() != 0 )
if ( node.Node() )
{
if ( node._intPoint )
node._intPoint->Add( _eIntPoints[ iP ]->_faceIDs, _eIntPoints[ iP ]->_node );
@ -3503,7 +3503,7 @@ namespace
continue;
// perform intersection
E_IntersectPoint* eip, *vip = 0; // todo: vip must be explicitly initialized to avoid warning (see below)
E_IntersectPoint* eip, *vip = 0;
for ( int iDirZ = 0; iDirZ < 3; ++iDirZ )
{
GridPlanes& planes = pln[ iDirZ ];
@ -3604,7 +3604,7 @@ namespace
vip = _grid->Add( ip );
if ( isInternal && !sameV )
vip->_faceIDs.push_back( _grid->PseudoIntExtFaceID() );
if ( !addIntersection( vip, hexes, ijk, d000 ) && !sameV ) // todo: vip must be explicitly initialized to avoid warning (see above)
if ( !addIntersection( vip, hexes, ijk, d000 ) && !sameV )
_grid->Remove( vip );
ip._shapeID = edgeID;
}

View File

@ -44,6 +44,7 @@
#include <BRepAdaptor_Surface.hxx>
#include <BRep_Tool.hxx>
#include <Bnd_B3d.hxx>
#include <Standard_ErrorHandler.hxx>
#include <Standard_Failure.hxx>
#include <TopExp_Explorer.hxx>
@ -61,10 +62,9 @@
#include <gp_XYZ.hxx>
#include <list>
#include <numeric>
#include <set>
#include <vector>
#include <numeric>
#include <Bnd_B3d.hxx>
using namespace std;

View File

@ -55,7 +55,6 @@
#include "Utils_ExceptHandlers.hxx"
#include <cstddef>
#include <numeric>
typedef SMESH_Comment TComm;

View File

@ -693,14 +693,14 @@ namespace // INTERNAL STUFF
if ( removeImport )
{
// treate removal of Import algo from subMesh
// treat removal of Import algo from subMesh
removeSubmesh( subMesh, (_ListenerData*) data );
}
else if ( modifHyp ||
( SMESH_subMesh::CLEAN == event &&
SMESH_subMesh::COMPUTE_EVENT == eventType))
{
// treate modification of ImportSource hypothesis
// treat modification of ImportSource hypothesis
clearSubmesh( subMesh, (_ListenerData*) data, /*all=*/false );
}
else if ( SMESH_subMesh::CHECK_COMPUTE_STATE == event &&
@ -720,7 +720,7 @@ namespace // INTERNAL STUFF
d->_computedSubM.insert( *smIt);
}
}
// Clear _ImportData::_n2n if it's no more useful, i.e. when
// Clear _ImportData::_n2n if it isn't useful anymore, i.e. when
// the event is not within mesh.Compute()
if ( SMESH_subMesh::ALGO_EVENT == eventType )
clearN2N( subMesh->GetFather() );

View File

@ -1841,6 +1841,8 @@ bool StdMeshers_Prism_3D::computeWalls(const Prism_3D::TPrismTopo& thePrism)
mesh->GetSubMesh( v )->ComputeStateEngine( SMESH_subMesh::COMPUTE );
const SMDS_MeshNode* n = SMESH_Algo::VertexNode( v, meshDS );
newNodes[ is2ndV ? newNodes.size()-1 : 0 ] = (SMDS_MeshNode*) n;
if ( !n )
return toSM( error( TCom("No node on vertex #") << meshDS->ShapeToIndex( v )));
}
// compute nodes on target EDGEs

View File

@ -123,17 +123,19 @@ namespace {
bool storeShapeForDebug(const TopoDS_Shape& shape)
{
bool toShow;
#ifdef _DEBUG_
const char* type[] ={"COMPOUND","COMPSOLID","SOLID","SHELL","FACE","WIRE","EDGE","VERTEX"};
BRepTools::Write( shape, SMESH_Comment("/tmp/") << type[shape.ShapeType()] << "_"
<< shape.TShape().operator->() << ".brep");
if ( !theMeshDS[0] ) {
show_shape( TopoDS_Shape(), "avoid warning: show_shape() defined but not used");
toShow = !theMeshDS[0]; // no show
#else
toShow = theMeshDS[0]; // no show
#endif
if ( toShow ) {
show_shape( shape, "avoid warning: show_shape() defined but not used");
show_list( "avoid warning: show_list() defined but not used", list< TopoDS_Edge >() );
}
#else
(void)shape; // unused in release mode
#endif
return false;
}
@ -540,8 +542,10 @@ bool StdMeshers_ProjectionUtils::FindSubShapeAssociation(const TopoDS_Shape& the
// b) find association of a couple of vertices and recall self.
//
#ifdef _DEBUG_
theMeshDS[0] = theMesh1->GetMeshDS(); // debug
theMeshDS[1] = theMesh2->GetMeshDS();
#endif
// =================================================================================
// 1) Is it the case of associating a group member -> another group? (PAL16202, 16203)

View File

@ -487,7 +487,7 @@ void StdMeshersGUI_BlockRenumberCreator::onRemoveBtnClick()
*/
//================================================================================
bool StdMeshersGUI_BlockRenumberCreator::checkParams( QString& msg ) const
bool StdMeshersGUI_BlockRenumberCreator::checkParams( QString& /*msg*/ ) const
{
return true;
}

View File

@ -123,8 +123,9 @@ StdMeshers::blockcs_array* StdMeshers_BlockRenumber_i::GetBlocksOrientation()
*/
//================================================================================
bool StdMeshers_BlockRenumber_i::getObjectsDependOn( std::vector< std::string > & entryArray,
std::vector< int > & subIDArray ) const
bool
StdMeshers_BlockRenumber_i::getObjectsDependOn( std::vector< std::string > & entryArray,
std::vector< int > & /*subIDArray*/ ) const
{
const std::vector< StdMeshers_BlockCS >& bcsVec =
const_cast<StdMeshers_BlockRenumber_i*>(this)->GetImpl()->GetBlocksOrientation();
@ -145,7 +146,7 @@ bool StdMeshers_BlockRenumber_i::getObjectsDependOn( std::vector< std::string >
//================================================================================
bool StdMeshers_BlockRenumber_i::setObjectsDependOn( std::vector< std::string > & entryArray,
std::vector< int > & subIDArray )
std::vector< int > & /*subIDArray*/ )
{
std::vector< StdMeshers_BlockCS > bcsVec( entryArray.size() / 3 );
for ( size_t i = 0; i + 2 < entryArray.size(); i += 3 )

View File

@ -368,7 +368,7 @@ class MGCleanerMonPlugDialog(Ui_MGCleanerPlugDialog,QWidget):
for slig in reversed(text.split(separator)):
lig=slig.strip()
#print "load ResumeData",lig
if lig=="": continue #skip blanck lines
if lig=="": continue #skip blank lines
if lig[0]=="#": break
try:
tit,value=lig.split("=")

View File

@ -9,7 +9,7 @@ These options are not meshing options but allow the user to configure control pa
- **File**
You can change the file used to store your favorite remeshing hypothesis. see paragraph :ref:`hypothesis-label` for further informations.
You can change the file used to store your favorite remeshing hypothesis. see paragraph :ref:`hypothesis-label` for further information.
.. image:: images/Generic.png
:align: center

View File

@ -336,7 +336,7 @@ class MonYamsPlugDialog(Ui_YamsPlugDialog,QWidget):
for slig in reversed(text.split(separator)):
lig=slig.strip()
#print "load ResumeData",lig
if lig=="": continue #skip blanck lines
if lig=="": continue #skip blank lines
if lig[0]=="#": break
try:
tit,value=lig.split("=")