*/
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
+
//===========================================================================
/// Declares a vtkImageAlgorithm-inherited AtomicBlackBox input
-#define BBTK_DECLARE_VTK_IMAGE_ALGORITHM_INPUT(NAME,TYPE) \
- public: \
- TYPE bbGetInput##NAME () \
- { if (mVtkObject) return mVtkObject->GetImageDataInput(0); return 0; } \
- void bbSetInput##NAME (TYPE d) \
- { if (mVtkObject) mVtkObject->SetInput( (vtkDataObject*) d); }
+ #define BBTK_DECLARE_VTK_IMAGE_ALGORITHM_INPUT(NAME,TYPE) \
+ public: \
+ TYPE bbGetInput##NAME () \
+ { if (mVtkObject) return mVtkObject->GetImageDataInput(0); return 0; } \
+ void bbSetInput##NAME (TYPE d) \
+ { if (mVtkObject) mVtkObject->SetInput( (vtkDataObject*) d); }
+#else
+//===========================================================================
+/// Declares a vtkImageAlgorithm-inherited AtomicBlackBox input
+ #define BBTK_DECLARE_VTK_IMAGE_ALGORITHM_INPUT(NAME,TYPE) \
+ public: \
+ TYPE bbGetInput##NAME () \
+ { if (mVtkObject) return mVtkObject->GetImageDataInput(0); return 0; } \
+ void bbSetInput##NAME (TYPE d) \
+ { if (mVtkObject) mVtkObject->SetInputData( (vtkDataObject*) d); }
+
+#endif
+
//===========================================================================
//===========================================================================
//===========================================================================
+
+//EED 2017-01-01 Migration VTK7
+
+#if (VTK_MAJOR_VERSION <= 5)
+
/// Declares a vtkAlgorithm-inherited AtomicBlackBox input
#define BBTK_DECLARE_VTK_INPUT(NAME,TYPE) \
public: \
void bbSetInput##NAME (TYPE d) \
{ if (mVtkObject) mVtkObject->SetInput( (vtkDataObject*) d); }
+#endif
+
+
+
+#if (VTK_MAJOR_VERSION >= 6)
+
+/// Declares a vtkAlgorithm-inherited AtomicBlackBox input
+#define BBTK_DECLARE_VTK_INPUT(NAME,TYPE) \
+ public: \
+ TYPE bbGetInput##NAME () \
+ { if (mVtkObject) return dynamic_cast<TYPE>(mVtkObject->GetInput()); \
+ return 0;} \
+ void bbSetInput##NAME (TYPE d) \
+ { if (mVtkObject) mVtkObject->SetInputData( (vtkDataObject*) d); }
+
+#endif
+
+
//===========================================================================
//===========================================================================