1 #ifndef __CPPLUGINS__ORTHONORMALBASE__H__
2 #define __CPPLUGINS__ORTHONORMALBASE__H__
4 #include <cpPlugins/DataObject.h>
6 #include <vtkAxesActor.h>
7 #include <vtkSmartPointer.h>
13 class cpPlugins_EXPORT OrthoNormalBase
17 typedef OrthoNormalBase Self;
18 typedef DataObject Superclass;
19 typedef itk::SmartPointer< Self > Pointer;
20 typedef itk::SmartPointer< const Self > ConstPointer;
24 itkTypeMacro( OrthoNormalBase, DataObject );
25 cpPlugins_Id_Macro( OrthoNormalBase, Object );
28 virtual void SetITK( itk::LightObject* o ) ITK_OVERRIDE;
29 virtual void SetVTK( vtkObjectBase* o ) ITK_OVERRIDE;
31 template< class _TMatrix >
32 inline void SetITK( const _TMatrix& m );
34 template< class _TMatrix, class _TVector >
35 inline void SetITK( const _TMatrix& m, const _TVector& v );
39 virtual ~OrthoNormalBase( );
41 virtual void _CreateVTKActor( ) const ITK_OVERRIDE;
44 // Purposely not implemented
45 OrthoNormalBase( const Self& );
46 Self& operator=( const Self& );
49 mutable vtkSmartPointer< vtkAxesActor > m_BaseActor;
54 #include <cpPlugins/OrthoNormalBase.hxx>
56 #endif // __CPPLUGINS__ORTHONORMALBASE__H__