/*============================================================================= NOTE: THIS FILE IS A HANDMADE WRAPPER FOR THE ManagedITK PROJECT. Project: ManagedITK Program: Insight Segmentation & Registration Toolkit Module: itkManagedDataObject.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 __itkManagedDataObject_cxx #define __itkManagedDataObject_cxx // Include some useful ManagedITK files #include "itkManagedObject.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 class is a managed replacement for itk::DataObject. /// /// ///A DataObject is an object that represents and provides access to data. ///ProcessObjects (i.e., filters) operate on input data objects, ///producing new data objects as output. ProcessObject and DataObject ///are connected together into data flow pipelines. /// public ref class itkDataObject abstract : itkObject { private: String^ m_Name; protected: ///Protected constructor. itkDataObject( ) : itkObject( ) { this->m_Name = String::Empty; } public: ///Get/set a string describing the data object (typically an abosolute file name). property String^ Name { virtual String^ get() { return this->m_Name; } virtual void set( String^ name ) { this->m_Name = name; } } ///Separate this data object from the pipeline. /// ///This method disconnects a data object from the upstream pipeline. ///Hence an Update() from downstream will not propagate back past this data object. ///To completely isolate this data object from the pipeline, the application must ///remove this data object from any filters which it is connected as the input. /// virtual void DisconnectPipeline ( )=0; }; // end ref class } // end namespace itk #endif