]> Creatis software - cpPlugins.git/blobdiff - plugins/VTKWidgets/SplineWidget.h
yet another refactoring
[cpPlugins.git] / plugins / VTKWidgets / SplineWidget.h
diff --git a/plugins/VTKWidgets/SplineWidget.h b/plugins/VTKWidgets/SplineWidget.h
new file mode 100644 (file)
index 0000000..6822323
--- /dev/null
@@ -0,0 +1,83 @@
+#ifndef __cpPluginsVTKWidgets__SplineWidget__h__
+#define __cpPluginsVTKWidgets__SplineWidget__h__
+
+#include <cpPlugins_VTKWidgets_Export.h>
+#include <cpPlugins/Pipeline/Widget.h>
+
+#include <vtkSmartPointer.h>
+
+/* TODO
+   #include <cpExtensions/Interaction/SplineWidget.h>
+   #include <cpExtensions/Interaction/ImageSlicePointPlacer.h>
+   #include <cpExtensions/Visualization/WindowLevelImageActor.h>
+   #include <vtkImageSlice.h>
+   #include <vtkPointHandleRepresentation3D.h>
+   #include <vtkSeedRepresentation.h>
+   #include <map>
+*/
+
+// -------------------------------------------------------------------------
+class vtkPolyData;
+
+// -------------------------------------------------------------------------
+namespace cpPluginsVTKWidgets
+{
+  /**
+   */
+  class cpPlugins_VTKWidgets_EXPORT SplineWidget
+    : public cpPlugins::Pipeline::Widget
+  {
+    cpPluginsObject( SplineWidget, cpPlugins::Pipeline::Widget, Widgets );
+
+  public:
+    virtual void Clear( ) cpPlugins_OVERRIDE;
+    virtual void SetEnabled( bool v ) cpPlugins_OVERRIDE;
+    virtual bool GetEnabled( ) const cpPlugins_OVERRIDE;
+
+  protected:
+    bool m_Configured;
+    vtkSmartPointer< vtkPolyData > m_Contour;
+
+    /* TODO:
+       public:
+       typedef cpExtensions::Visualization::WindowLevelImageActor TImageActor;
+
+       public:
+       struct TWidgetData
+       {
+       typedef cpExtensions::Interaction::SplineWidget            _TWidget;
+       typedef cpExtensions::Interaction::ImageSlicePointPlacer _TPlacer;
+
+       std::vector< vtkSmartPointer< _TWidget > >                       Widgets;
+       std::vector< vtkSmartPointer< _TPlacer > >                       Placers;
+       std::vector< vtkSmartPointer< vtkPointHandleRepresentation3D > > Handles;
+       std::vector< vtkSmartPointer< vtkSeedRepresentation > >  Representations;
+       unsigned int ActualWidgetId;
+       vtkSmartPointer< vtkCommand > Command;
+
+       TWidgetData(
+       SplineWidget* seedWidget,
+       TImageActor* actor,
+       vtkRenderWindowInteractor* iren
+       );
+       virtual ~TWidgetData( );
+       };
+
+       protected:
+       void _Configure( );
+
+       template< class _TImage >
+       inline void _GD0_Image( _TImage* image );
+
+       protected:
+       std::map< vtkProp*, vtkRenderWindowInteractor* > m_Props;
+       std::vector< TWidgetData* > m_Widgets;
+       bool m_Configured;
+    */
+  };
+
+} // ecapseman
+
+#endif // __cpPluginsVTKWidgets__SplineWidget__h__
+
+// eof - $RCSfile$