mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-01-18 17:50:37 +05:00
Generalize "Cancel Compute" mechanism to be able to report
"Computation canceled" instead of "Algorithm failed" as failure reason + volatile bool _computeCanceled; //!< is set to True while computing to stop it
This commit is contained in:
parent
0a45cd504a
commit
7c5dc4f006
@ -682,11 +682,17 @@ bool SMESH_Algo::Compute(SMESH_Mesh & /*aMesh*/, SMESH_MesherHelper* /*aHelper*/
|
|||||||
return error( COMPERR_BAD_INPUT_MESH, "Mesh built on shape expected");
|
return error( COMPERR_BAD_INPUT_MESH, "Mesh built on shape expected");
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef WITH_SMESH_CANCEL_COMPUTE
|
//=======================================================================
|
||||||
|
//function : CancelCompute
|
||||||
|
//purpose : Sets _computeCanceled to true. It's usage depends on
|
||||||
|
// * implementation of a particular mesher.
|
||||||
|
//=======================================================================
|
||||||
|
|
||||||
void SMESH_Algo::CancelCompute()
|
void SMESH_Algo::CancelCompute()
|
||||||
{
|
{
|
||||||
|
_computeCanceled = true;
|
||||||
|
_error = COMPERR_CANCELED;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
//================================================================================
|
//================================================================================
|
||||||
/*!
|
/*!
|
||||||
@ -748,6 +754,8 @@ void SMESH_Algo::InitComputeError()
|
|||||||
if ( (*elem)->GetID() < 1 )
|
if ( (*elem)->GetID() < 1 )
|
||||||
delete *elem;
|
delete *elem;
|
||||||
_badInputElements.clear();
|
_badInputElements.clear();
|
||||||
|
|
||||||
|
_computeCanceled = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//================================================================================
|
//================================================================================
|
||||||
|
@ -134,9 +134,11 @@ public:
|
|||||||
*/
|
*/
|
||||||
virtual bool Compute(SMESH_Mesh & aMesh, SMESH_MesherHelper* aHelper);
|
virtual bool Compute(SMESH_Mesh & aMesh, SMESH_MesherHelper* aHelper);
|
||||||
|
|
||||||
#ifdef WITH_SMESH_CANCEL_COMPUTE
|
/*!
|
||||||
|
* \brief Sets _computeCanceled to true. It's usage depends on
|
||||||
|
* implementation of a particular mesher.
|
||||||
|
*/
|
||||||
virtual void CancelCompute();
|
virtual void CancelCompute();
|
||||||
#endif
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief evaluates size of prospective mesh on a shape
|
* \brief evaluates size of prospective mesh on a shape
|
||||||
@ -378,6 +380,8 @@ protected:
|
|||||||
int _error; //!< SMESH_ComputeErrorName or anything algo specific
|
int _error; //!< SMESH_ComputeErrorName or anything algo specific
|
||||||
std::string _comment; //!< any text explaining what is wrong in Compute()
|
std::string _comment; //!< any text explaining what is wrong in Compute()
|
||||||
std::list<const SMDS_MeshElement*> _badInputElements; //!< to explain COMPERR_BAD_INPUT_MESH
|
std::list<const SMDS_MeshElement*> _badInputElements; //!< to explain COMPERR_BAD_INPUT_MESH
|
||||||
|
|
||||||
|
volatile bool _computeCanceled; //!< is set to True while computing to stop it
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user