/*============================================================================= NOTE: THIS FILE IS A HANDMADE WRAPPER FOR THE ManagedITK PROJECT. Project: ManagedITK Program: Insight Segmentation & Registration Toolkit Module: itkManagedPath.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 __itkManagedPath_cxx #define __itkManagedPath_cxx // Include some useful ManagedITK files #include "itkManagedDataObject.cxx" #include "itkManagedIndex.cxx" #include "itkManagedContinuousIndex.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 { #define itkParametricPathInputType System::Double #define itkParametricPathOutputType itkContinuousIndex /// ///This abstract class is a managed replacement for itk::ParametricPath. /// /// ///Represent a path through ND image space. /// public ref class itkParametricPath abstract : itkDataObject { public: ///Get the number of dimensions this path contains. property unsigned int Dimension { virtual unsigned int get( ) = 0; } /// ///Get/set the start of the path. ///For most types of paths, the path will begin at zero. ///This value can be overridden in children, and is necessary for ///iterators to know how to go to the beginning of a path. /// property itkParametricPathInputType StartOfInput { virtual itkParametricPathInputType get( ) = 0; } /// ///Get/set the end of the path. ///This value is sometimes used by IncrementInput() to go to the end of a path. /// property itkParametricPathInputType EndOfInput { virtual itkParametricPathInputType get( ) = 0; } ///Evaluate the path at specified location along the path. virtual itkParametricPathOutputType^ Evaluate ( itkParametricPathInputType input ) = 0; ///Evaluate the path at specified location along the path. virtual itkIndex^ EvaluateToIndex ( itkParametricPathInputType input ) = 0; }; // end ref class } // end namespace itk #endif