Merge from V6_main 11/02/2013

This commit is contained in:
vsr 2013-02-12 14:44:36 +00:00
parent 137d476bda
commit 2b9909cbae
5 changed files with 28 additions and 12 deletions

View File

@ -94,6 +94,8 @@ each other.
NETGEN differ from those in the 1D mesh generated by Regular_1D
algorithm, resulting in different 2D and 3D meshes.
\note In the case where two points are geometrically confounded, a single node is generated.
*/

View File

@ -41,12 +41,18 @@ extern "C"
SMESHGUI_GenericHypothesisCreator* GetHypothesisCreator( const QString& aHypType )
{
SMESHGUI_GenericHypothesisCreator* aCreator = NULL;
if( aHypType=="NETGEN_Parameters_2D" || aHypType=="NETGEN_Parameters" ||
aHypType=="NETGEN_Parameters_2D_ONLY" || aHypType=="NETGEN_Parameters_3D" )
if( aHypType=="NETGEN_Parameters_2D" || // 1D-2D
aHypType=="NETGEN_Parameters" || // 1D-2D-3D
aHypType=="NETGEN_Parameters_2D_ONLY" || // 2D
aHypType=="NETGEN_Parameters_3D" ) // 3D
{
aCreator = new NETGENPluginGUI_HypothesisCreator( aHypType );
}
else if ( aHypType=="NETGEN_SimpleParameters_2D" ||
aHypType=="NETGEN_SimpleParameters_3D" )
{
aCreator = new NETGENPluginGUI_SimpleCreator( aHypType );
}
return aCreator;
}
}

View File

@ -206,7 +206,7 @@ QFrame* NETGENPluginGUI_HypothesisCreator::buildFrame()
row++;
}
myAllowQuadrangles = 0;
if ( true /*myIs2D*/ ) // issue 0021676
if ( myIs2D || !myIsONLY ) // issue 0021676
{
myAllowQuadrangles = new QCheckBox( tr( "NETGEN_ALLOW_QUADRANGLES" ), GroupC1 );
aGroupLayout->addWidget( myAllowQuadrangles, row, 0 );

View File

@ -230,12 +230,10 @@ void NETGENPlugin_Mesher::SetParameters(const NETGENPlugin_Hypothesis* hyp)
GEOM::GEOM_Object_var aGeomObj;
TopoDS_Shape S = TopoDS_Shape();
SALOMEDS::SObject_var aSObj = myStudy->FindObjectID( entry.c_str() );
SALOMEDS::GenericAttribute_var anAttr;
if (!aSObj->_is_nil() && aSObj->FindAttribute(anAttr, "AttributeIOR")) {
SALOMEDS::AttributeIOR_var anIOR = SALOMEDS::AttributeIOR::_narrow(anAttr);
CORBA::String_var aVal = anIOR->Value();
CORBA::Object_var obj = myStudy->ConvertIORToObject(aVal);
if (!aSObj->_is_nil()) {
CORBA::Object_var obj = aSObj->GetObject();
aGeomObj = GEOM::GEOM_Object::_narrow(obj);
aSObj->UnRegister();
}
if ( !aGeomObj->_is_nil() )
S = smeshGen_i->GeomObjectToShape( aGeomObj.in() );
@ -322,10 +320,9 @@ namespace
map< SMESH_subMesh*, set< int > >& addedEdgeSM2Faces)
{
// get ordered EDGEs
TopoDS_Vertex v1;
list< TopoDS_Edge > edges;
list< int > nbEdgesInWire;
int nbWires = SMESH_Block::GetOrderedEdges( face, v1, edges, nbEdgesInWire);
int nbWires = SMESH_Block::GetOrderedEdges( face, edges, nbEdgesInWire);
// find <edge> within <edges>
list< TopoDS_Edge >::iterator eItFwd = edges.begin();
@ -2031,7 +2028,9 @@ namespace
std::string text(netgen::NgException& ex)
{
SMESH_Comment str("NgException");
str << " at " << netgen::multithread.task << ": " << ex.What();
if ( strlen( netgen::multithread.task ) > 0 )
str << " at " << netgen::multithread.task;
str << ": " << ex.What();
return str;
}
}

View File

@ -403,10 +403,19 @@ bool NETGENPlugin_NETGEN_3D::compute(SMESH_Mesh& aMesh,
str << ": " << ex.GetMessageString();
error(str);
}
catch (netgen::NgException exc)
{
SMESH_Comment str("NgException");
if ( strlen( netgen::multithread.task ) > 0 )
str << " at " << netgen::multithread.task;
str << ": " << exc.What();
error(str);
}
catch (...)
{
SMESH_Comment str("Exception in netgen::OCCGenerateMesh()");
str << " at " << netgen::multithread.task;
if ( strlen( netgen::multithread.task ) > 0 )
str << " at " << netgen::multithread.task;
error(str);
}