![]() |
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
00001 /*====================================================================== 00002 00003 This file is part of the elastix software. 00004 00005 Copyright (c) University Medical Center Utrecht. All rights reserved. 00006 See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for 00007 details. 00008 00009 This software is distributed WITHOUT ANY WARRANTY; without even 00010 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00011 PURPOSE. See the above copyright notices for more information. 00012 00013 ======================================================================*/ 00014 00015 #ifndef __VectorContainerSource_h 00016 #define __VectorContainerSource_h 00017 00018 #include "itkProcessObject.h" 00019 #include "itkDataObjectDecorator.h" 00020 00021 00022 namespace itk 00023 { 00024 00030 template < class TOutputVectorContainer > 00031 class VectorContainerSource : 00032 public ProcessObject 00033 { 00034 public: 00035 00037 typedef VectorContainerSource Self; 00038 typedef ProcessObject Superclass; 00039 typedef SmartPointer<Self> Pointer; 00040 typedef SmartPointer<const Self> ConstPointer; 00041 00043 itkNewMacro( Self ); 00044 00046 itkTypeMacro( VectorContainerSource, ProcessObject ); 00047 00049 typedef typename Superclass::DataObjectPointer DataObjectPointer; 00050 typedef TOutputVectorContainer OutputVectorContainerType; 00051 typedef typename OutputVectorContainerType::Pointer OutputVectorContainerPointer; 00052 00054 OutputVectorContainerType * GetOutput( void ); 00055 00057 OutputVectorContainerType * GetOutput( unsigned int idx ); 00058 00060 virtual void GraftOutput( DataObject *output ); 00061 00063 virtual void GraftNthOutput( unsigned int idx, DataObject *output ); 00064 00066 virtual DataObjectPointer MakeOutput( unsigned int idx ); 00067 00068 protected: 00069 00071 VectorContainerSource(); 00073 virtual ~VectorContainerSource() {}; 00074 00076 void PrintSelf( std::ostream& os, Indent indent ) const; 00077 00079 void GenerateInputRequestedRegion( void ); 00080 00081 private: 00082 00084 VectorContainerSource( const Self& ); // purposely not implemented 00086 void operator=( const Self& ); // purposely not implemented 00087 00089 int m_GenerateDataRegion; 00090 int m_GenerateDataNumberOfRegions; 00091 00092 }; // end class VectorContainerSource 00093 00094 00095 } // end namespace itk 00096 00097 #ifndef ITK_MANUAL_INSTANTIATION 00098 #include "itkVectorContainerSource.txx" 00099 #endif 00100 00101 #endif // end #ifndef __VectorContainerSource_h 00102
Generated on 11-05-2012 for elastix by ![]() |
![]() |