]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/DataObjects/OrthoNormalBase.h
f15e64ae7814a40f91ab81e65750e4b422d5d128
[cpPlugins.git] / lib / cpPlugins / DataObjects / OrthoNormalBase.h
1 #ifndef __cpPlugins__DataObjects__OrthoNormalBase__h__
2 #define __cpPlugins__DataObjects__OrthoNormalBase__h__
3
4 #include <cpPlugins/BaseObjects/DataObject.h>
5
6 namespace cpPlugins
7 {
8   namespace DataObjects
9   {
10     /**
11      */
12     class cpPlugins_EXPORT OrthoNormalBase
13       : public cpPlugins::BaseObjects::DataObject
14     {
15     public:
16       typedef OrthoNormalBase                    Self;
17       typedef cpPlugins::BaseObjects::DataObject Superclass;
18       typedef itk::SmartPointer< Self >          Pointer;
19       typedef itk::SmartPointer< const Self >    ConstPointer;
20
21     public:
22       itkNewMacro( Self );
23       itkTypeMacro( OrthoNormalBase, DataObject );
24       cpPlugins_Id_Macro( OrthoNormalBase, Object );
25       cpPlugins_Compatibility_Macro;
26
27     public:
28       virtual void SetITK( itk::LightObject* o ) cpPlugins_OVERRIDE;
29       virtual void SetVTK( vtkObjectBase* o ) cpPlugins_OVERRIDE;
30
31       template< class _TMatrix >
32         inline void SetITK( const _TMatrix& m );
33
34       template< class _TMatrix, class _TVector >
35         inline void SetITK( const _TMatrix& m, const _TVector& v );
36
37     protected:
38       OrthoNormalBase( );
39       virtual ~OrthoNormalBase( );
40
41     private:
42       // Purposely not implemented
43       OrthoNormalBase( const Self& );
44       Self& operator=( const Self& );
45     };
46
47   } // ecapseman
48
49 } // ecapseman
50
51 #include <cpPlugins/DataObjects/OrthoNormalBase.hxx>
52
53 #endif // __cpPlugins__DataObjects__OrthoNormalBase__h__
54
55 // eof - $RCSfile$