File indexing completed on 2025-01-18 10:04:05
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef _IMeshTools_ModelAlgo_HeaderFile
0017 #define _IMeshTools_ModelAlgo_HeaderFile
0018
0019 #include <Standard_Transient.hxx>
0020 #include <Message_ProgressRange.hxx>
0021
0022 class IMeshData_Model;
0023 struct IMeshTools_Parameters;
0024
0025
0026 class IMeshTools_ModelAlgo : public Standard_Transient
0027 {
0028 public:
0029
0030
0031 virtual ~IMeshTools_ModelAlgo()
0032 {
0033 }
0034
0035
0036 Standard_Boolean Perform (
0037 const Handle (IMeshData_Model)& theModel,
0038 const IMeshTools_Parameters& theParameters,
0039 const Message_ProgressRange& theRange)
0040 {
0041 try
0042 {
0043 OCC_CATCH_SIGNALS
0044
0045 return performInternal (theModel, theParameters, theRange);
0046 }
0047 catch (Standard_Failure const&)
0048 {
0049 return Standard_False;
0050 }
0051 }
0052
0053 DEFINE_STANDARD_RTTIEXT(IMeshTools_ModelAlgo, Standard_Transient)
0054
0055 protected:
0056
0057
0058 IMeshTools_ModelAlgo()
0059 {
0060 }
0061
0062
0063 Standard_EXPORT virtual Standard_Boolean performInternal (
0064 const Handle (IMeshData_Model)& theModel,
0065 const IMeshTools_Parameters& theParameters,
0066 const Message_ProgressRange& theRange) = 0;
0067 };
0068
0069 #endif