23051: [CEA 1470] SMESH NetGen - Local refinement not computed and dumped properly
Add protection against not published shapes passed to SetLocalSizeOnShape()
This commit is contained in:
parent
03ed7cce3e
commit
9b3c975bfe
@ -104,7 +104,8 @@ module NETGENPlugin
|
||||
void SetFuseEdges(in boolean value);
|
||||
boolean GetFuseEdges();
|
||||
|
||||
void SetLocalSizeOnShape(in GEOM::GEOM_Object GeomObj, in double localSize);
|
||||
void SetLocalSizeOnShape(in GEOM::GEOM_Object GeomObj, in double localSize)
|
||||
raises (SALOME::SALOME_Exception);
|
||||
void SetLocalSizeOnEntry(in string entry, in double localSize);
|
||||
double GetLocalSizeOnEntry(in string entry);
|
||||
string_array GetLocalSizeEntries();
|
||||
|
@ -311,9 +311,13 @@ CORBA::Double NETGENPlugin_Hypothesis_i::GetNbSegPerRadius()
|
||||
|
||||
void NETGENPlugin_Hypothesis_i::SetLocalSizeOnShape(GEOM::GEOM_Object_ptr GeomObj,
|
||||
CORBA::Double localSize)
|
||||
throw (SALOME::SALOME_Exception)
|
||||
{
|
||||
string entry;
|
||||
entry = GeomObj->GetStudyEntry();
|
||||
if ( entry.empty() )
|
||||
THROW_SALOME_CORBA_EXCEPTION( "SetLocalSizeOnShape(), shape is not published in study!",
|
||||
SALOME::BAD_PARAM );
|
||||
SetLocalSizeOnEntry(entry.c_str(), localSize);
|
||||
}
|
||||
|
||||
|
@ -79,7 +79,8 @@ class NETGENPLUGIN_EXPORT NETGENPlugin_Hypothesis_i:
|
||||
void SetNbSegPerRadius(CORBA::Double theVal);
|
||||
CORBA::Double GetNbSegPerRadius();
|
||||
|
||||
void SetLocalSizeOnShape(GEOM::GEOM_Object_ptr GeomObj, CORBA::Double localSize);
|
||||
void SetLocalSizeOnShape(GEOM::GEOM_Object_ptr GeomObj, CORBA::Double localSize)
|
||||
throw (SALOME::SALOME_Exception);
|
||||
void SetLocalSizeOnEntry(const char* entry, CORBA::Double localSize);
|
||||
CORBA::Double GetLocalSizeOnEntry(const char* entry);
|
||||
NETGENPlugin::string_array* GetLocalSizeEntries();
|
||||
|
@ -212,8 +212,10 @@ void NETGENPlugin_Mesher::SetDefaultParameters()
|
||||
*
|
||||
*/
|
||||
//=============================================================================
|
||||
|
||||
void SetLocalSize(TopoDS_Shape GeomShape, double LocalSize)
|
||||
{
|
||||
if ( GeomShape.IsNull() ) return;
|
||||
TopAbs_ShapeEnum GeomType = GeomShape.ShapeType();
|
||||
if (GeomType == TopAbs_COMPOUND) {
|
||||
for (TopoDS_Iterator it (GeomShape); it.More(); it.Next()) {
|
||||
|
Loading…
Reference in New Issue
Block a user