// clitk
#include "clitkFilterBase.h"
+#include "clitkCommon.h"
//--------------------------------------------------------------------
clitk::FilterBase::FilterBase()
{
- SetVerboseOption(false);
+ SetVerboseOptionFlag(false);
SetCurrentStepNumber(0);
SetCurrentStepBaseId("");
- StopOnErrorOn();
- ResetLastError();
- VerboseWarningOffOn(); // OffOn, it's cool not ?
+ VerboseWarningFlagOn();
+ VerboseWarningFlagOff();
+ VerboseMemoryFlagOff();
SetWarning("");
-}
-//--------------------------------------------------------------------
-
-
-//--------------------------------------------------------------------
-void clitk::FilterBase::ResetLastError()
-{
- m_LastError = "";
-}
-//--------------------------------------------------------------------
-
-
-//--------------------------------------------------------------------
-void clitk::FilterBase::SetLastError(std::string e)
-{
- m_LastError = e;
- if (GetStopOnError()) {
- std::cerr << GetLastError() << std::endl;
- exit(0);
- }
+ VerboseWarningFlagOn();
+ m_IsCancelled = false;
}
//--------------------------------------------------------------------
void clitk::FilterBase::SetWarning(std::string e)
{
m_Warning = e;
- if (!GetVerboseWarningOff()) {
+ if (GetVerboseWarningFlag()) {
std::cout << GetWarning() << std::endl;
}
}
//--------------------------------------------------------------------
void clitk::FilterBase::StartNewStep(std::string s)
{
+ if (Cancelled()) {
+ throw clitk::ExceptionObject("Filter is canceled.");
+ }
+
m_CurrentStepNumber++;
if (GetCurrentStepBaseId() != "") {
std::ostringstream oss;
SetCurrentStepId(oss.str());
}
- if (m_VerboseStep) {
- std::cout << "Step " << GetCurrentStepId() << " -- " << s << std::endl;
+ m_CurrentStepName = "Step "+GetCurrentStepId()+" -- "+s;
+ if (GetVerboseStepFlag()) {
+ std::cout << m_CurrentStepName << std::endl;
+ //"Step " << GetCurrentStepId() << " -- " << s << std::endl;
}
}
//--------------------------------------------------------------------
}
//--------------------------------------------------------------------
+
+//--------------------------------------------------------------------
+void clitk::FilterBase::Cancel()
+{
+ m_IsCancelled = true;
+}
+//--------------------------------------------------------------------
+
+
+//--------------------------------------------------------------------
+bool clitk::FilterBase::Cancelled()
+{
+ return m_IsCancelled;
+}
+//--------------------------------------------------------------------
+
+
+//--------------------------------------------------------------------
+void clitk::FilterBase::StartSubStep() {
+ m_SubstepNumbers.push_back(GetCurrentStepNumber());
+ m_SubstepID.push_back(GetCurrentStepId());
+ SetCurrentStepBaseId(GetCurrentStepId());
+ SetCurrentStepNumber(0);;
+}
+//--------------------------------------------------------------------
+
+
+//--------------------------------------------------------------------
+void clitk::FilterBase::StopSubStep() {
+ int s = m_SubstepNumbers.back();
+ m_SubstepNumbers.pop_back();
+ SetCurrentStepNumber(s);
+ m_SubstepID.pop_back();
+ if (m_SubstepID.size() != 0) {
+ SetCurrentStepBaseId(m_SubstepID.back()); }
+ else SetCurrentStepBaseId("");
+}