using System; using System.Collections.Generic; using System.Text; namespace SharpImage.Rendering { /// /// Decorate an object to appear like an itkDataObject for use with ITK pipelines. /// /// class siDataObjectDecorator : itk.itkDataObject where TObject : class { #region Construction and Disposal //===================================================================== /// /// Default constructor. /// public siDataObjectDecorator(TObject obj) : base() { this.m_Object = obj; } //===================================================================== #endregion #region Properties //===================================================================== #region Object //===================================================================== private TObject m_Object = null; /// /// Get/set the actual itkSceneSpatialObject associated with this decorator. /// public TObject Object { get { return m_Object; } set { m_Object = value; } } //===================================================================== #endregion #region MTime //===================================================================== public override uint MTime { get { return 0; } } //===================================================================== #endregion #region SmartPointer //===================================================================== unsafe public override void* NativePointer { get { return (void*)0; } set { /* Nothing to do: siSpatialObjects are fully managed. */ } } //===================================================================== #endregion #region MangledTypeString //===================================================================== public override string MangledTypeString { get { return "None"; } } //===================================================================== #endregion #region Size //===================================================================== private itk.itkSize m_Size = new itk.itkSize(0, 0, 0); /// /// Gets/sets the size of the scene. The default size is [0, 0, 0]. /// virtual public itk.itkSize Size { get { return this.m_Size; } set { this.m_Size = value; } } //===================================================================== #endregion #region Spacing //===================================================================== private itk.itkSpacing m_Spacing = new itk.itkSpacing(1.0, 1.0, 1.0); /// /// Gets/sets the spacing of the scene. The default spacing is [1.0, 1.0, 1.0]. /// virtual public itk.itkSpacing Spacing { get { return this.m_Spacing; } set { this.m_Spacing = value; } } //===================================================================== #endregion #region Origin //===================================================================== private itk.itkPoint m_Origin = new itk.itkPoint(0, 0, 0); /// /// Gets/sets the origin of the scene. The default Origin is [0, 0, 0]. /// virtual public itk.itkPoint Origin { get { return this.m_Origin; } set { this.m_Origin = value; } } //===================================================================== #endregion //===================================================================== #endregion #region Public Methods //===================================================================== public override void AddAnyEventObserver() { throw new NotSupportedException("The method or operation is not supported."); } public override void RemoveAllObservers() { throw new NotSupportedException("The method or operation is not supported."); } public override void DisconnectPipeline() { throw new NotSupportedException("The method or operation is not supported."); } //===================================================================== #endregion } }