]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/DataObjects/Simple3DCurve.h
...
[cpPlugins.git] / lib / cpPlugins / DataObjects / Simple3DCurve.h
diff --git a/lib/cpPlugins/DataObjects/Simple3DCurve.h b/lib/cpPlugins/DataObjects/Simple3DCurve.h
new file mode 100644 (file)
index 0000000..844146d
--- /dev/null
@@ -0,0 +1,60 @@
+#ifndef __cpPlugins__DataObjects__Simple3DCurve__h__
+#define __cpPlugins__DataObjects__Simple3DCurve__h__
+
+#include <cpPlugins/BaseObjects/DataObject.h>
+#include <vtkSmartPointer.h>
+
+// -------------------------------------------------------------------------
+class vtkPolyDataAlgorithm;
+
+// -------------------------------------------------------------------------
+namespace cpPlugins
+{
+  namespace DataObjects
+  {
+    /**
+     */
+    class cpPlugins_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
+
+} // ecapseman
+
+#endif // __cpPlugins__DataObjects__Simple3DCurve__h__
+
+// eof - $RCSfile$