]> Creatis software - cpPlugins.git/blobdiff - lib/cpPluginsExtensions/Simple3DCurve.h
...
[cpPlugins.git] / lib / cpPluginsExtensions / Simple3DCurve.h
diff --git a/lib/cpPluginsExtensions/Simple3DCurve.h b/lib/cpPluginsExtensions/Simple3DCurve.h
new file mode 100644 (file)
index 0000000..2c18f67
--- /dev/null
@@ -0,0 +1,58 @@
+#ifndef __cpPluginsExtensions__Simple3DCurve__h__
+#define __cpPluginsExtensions__Simple3DCurve__h__
+
+#include <cpPluginsExtensions_Export.h>
+#include <cpPlugins/BaseObjects/DataObject.h>
+#include <vtkSmartPointer.h>
+#include <cpPluginsExtensions/Simple3DCurve_Demanglers.h>
+
+// -------------------------------------------------------------------------
+class vtkPolyDataAlgorithm;
+
+// -------------------------------------------------------------------------
+namespace cpPluginsExtensions
+{
+  /**
+   */
+  class cpPluginsExtensions_EXPORT Simple3DCurve
+    : public cpPlugins::BaseObjects::DataObject
+  {
+  public:
+    typedef Simple3DCurve                      Self;
+    typedef cpPlugins::BaseObjects::DataObject Superclass;
+    typedef itk::SmartPointer< Self >          Pointer;
+    typedef itk::SmartPointer< const Self >    ConstPointer;
+
+  public:
+    itkNewMacro( Self );
+    itkTypeMacro(
+      Simple3DCurve, cpPlugins::BaseObjects::DataObject
+      );
+    cpPlugins_Id_Macro( Simple3DCurve, Object );
+    cpPlugins_Compatibility_Macro;
+
+  public:
+    virtual void SetITK( itk::LightObject* o ) cpPlugins_OVERRIDE;
+    virtual void SetVTK( vtkObjectBase* o ) cpPlugins_OVERRIDE;
+
+  protected:
+    Simple3DCurve( );
+    virtual ~Simple3DCurve( );
+
+    template< class _TSimple3DCurve >
+    inline void _ITK_2_VTK( _TSimple3DCurve* curve );
+
+  private:
+    // Purposely not implemented
+    Simple3DCurve( const Self& );
+    Self& operator=( const Self& );
+
+  protected:
+    vtkSmartPointer< vtkPolyDataAlgorithm > m_ITKvVTK;
+  };
+
+} // ecapseman
+
+#endif // __cpPluginsExtensions__Simple3DCurve__h__
+
+// eof - $RCSfile$