]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/OrthoNormalBase.h
Code cleaning
[cpPlugins.git] / lib / cpPlugins / OrthoNormalBase.h
diff --git a/lib/cpPlugins/OrthoNormalBase.h b/lib/cpPlugins/OrthoNormalBase.h
new file mode 100644 (file)
index 0000000..11bf87b
--- /dev/null
@@ -0,0 +1,58 @@
+#ifndef __CPPLUGINS__ORTHONORMALBASE__H__
+#define __CPPLUGINS__ORTHONORMALBASE__H__
+
+#include <cpPlugins/DataObject.h>
+
+#include <vtkAxesActor.h>
+#include <vtkSmartPointer.h>
+
+namespace cpPlugins
+{
+  /**
+   */
+  class cpPlugins_EXPORT OrthoNormalBase
+    : public DataObject
+  {
+  public:
+    typedef OrthoNormalBase                 Self;
+    typedef DataObject                      Superclass;
+    typedef itk::SmartPointer< Self >       Pointer;
+    typedef itk::SmartPointer< const Self > ConstPointer;
+
+  public:
+    itkNewMacro( Self );
+    itkTypeMacro( OrthoNormalBase, DataObject );
+    cpPlugins_Id_Macro( OrthoNormalBase, Object );
+
+  public:
+    virtual void SetITK( itk::LightObject* o ) ITK_OVERRIDE;
+    virtual void SetVTK( vtkObjectBase* o ) ITK_OVERRIDE;
+
+    template< class _TMatrix >
+      inline void SetITK( const _TMatrix& m );
+
+    template< class _TMatrix, class _TVector >
+      inline void SetITK( const _TMatrix& m, const _TVector& v );
+
+  protected:
+    OrthoNormalBase( );
+    virtual ~OrthoNormalBase( );
+
+    virtual void _CreateVTKActor( ) const ITK_OVERRIDE;
+
+  private:
+    // Purposely not implemented
+    OrthoNormalBase( const Self& );
+    Self& operator=( const Self& );
+
+  protected:
+    mutable vtkSmartPointer< vtkAxesActor > m_BaseActor;
+  };
+
+} // ecapseman
+
+#include <cpPlugins/OrthoNormalBase.hxx>
+
+#endif // __CPPLUGINS__ORTHONORMALBASE__H__
+
+// eof - $RCSfile$