/*============================================================================= NOTE: THIS FILE IS A HANDMADE WRAPPER FOR THE ManagedITK PROJECT. Project: ManagedITK Program: Insight Segmentation & Registration Toolkit Module: itkManagedMatrixOffsetTransform.cxx Language: C++/CLI Author: Dan Mueller Date: $Date: 2007-09-01 06:17:25 +1000 (Sat, 01 Sep 2007) $ Revision: $Revision: 2 $ Copyright (c) Queensland University of Technology (QUT) 2007. All rights reserved. Portions of this code are covered under the ITK and VTK copyright. See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details. See VTKCopyright.txt or http://www.kitware.com/VTKCopyright.htm for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. =============================================================================*/ #pragma once #pragma warning( disable : 4635 ) // Disable warnings about XML doc comments #ifndef __itkManagedMatrixOffsetTransform_cxx #define __itkManagedMatrixOffsetTransform_cxx // Include some useful ManagedITK files #include "itkManagedTransform.cxx" #include "itkManagedMatrix.cxx" #include "itkManagedOffset.cxx" #include "itkManagedPoint.cxx" #include "itkManagedVector.cxx" // Use some managed namespaces #using #using using namespace System; using namespace System::IO; using namespace System::Reflection; using namespace System::Diagnostics; using namespace System::Collections::Generic; namespace itk { /// ///This abstract class is a managed replacement for itk::MatrixOffsetTransform. /// /// ///This class serves as a base class for transforms that can be expressed ///as a linear transformation plus a constant offset (e.g., affine, similarity ///and rigid transforms). This base class also provides the concept of ///using a center of rotation and a translation instead of an offset. /// public ref class itkMatrixOffsetTransform abstract : itkTransform { public: ///Get/set the matrix. ///To define an affine transform, you must set the matrix, center, and translation OR the matrix and offset. property itkMatrix^ Matrix { virtual itkMatrix^ get() = 0; virtual void set(itkMatrix^ value) = 0; } ///Get/set the offset. ///To define an affine transform, you must set the matrix, center, and translation OR the matrix and offset. property itkVector^ Offset { virtual itkVector^ get() = 0; virtual void set(itkVector^ value) = 0; } ///Get/set the center of rotation. ///To define an affine transform, you must set the matrix, center, and translation OR the matrix and offset. property itkPoint^ Center { virtual itkPoint^ get() = 0; virtual void set(itkPoint^ value) = 0; } ///Get/set the translation. ///To define an affine transform, you must set the matrix, center, and translation OR the matrix and offset. property itkVector^ Translation { virtual itkVector^ get() = 0; virtual void set(itkVector^ value) = 0; } ///Set the matrix to identity and the offset to zeros. virtual void SetIdentity( ) = 0; }; // end ref class } // end namespace itk #endif