Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::MeshSource< TOutputMesh > Class Template Reference
[Data Sources]

Base class for all process objects that output mesh data. More...

#include <itkMeshSource.h>

Inheritance diagram for itk::MeshSource< TOutputMesh >:

Inheritance graph
[legend]
Collaboration diagram for itk::MeshSource< TOutputMesh >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef MeshSource Self
typedef ProcessObject Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef DataObject::Pointer DataObjectPointer
typedef TOutputMesh OutputMeshType
typedef OutputMeshType::Pointer OutputMeshPointer

Public Member Functions

virtual const char * GetClassName () const
void SetOutput (TOutputMesh *output)
virtual DataObjectPointer MakeOutput (unsigned int idx)
OutputMeshTypeGetOutput (void)
OutputMeshTypeGetOutput (unsigned int idx)
virtual void GraftOutput (OutputMeshType *output)

Static Public Member Functions

Pointer New ()

Protected Member Functions

 MeshSource ()
virtual ~MeshSource ()
void PrintSelf (std::ostream &os, Indent indent) const
void GenerateInputRequestedRegion ()

Detailed Description

template<class TOutputMesh>
class itk::MeshSource< TOutputMesh >

Base class for all process objects that output mesh data.

MeshSource is the base class for all process objects that output mesh data. Specifically, this class defines the GetOutput() method that returns a pointer to the output mesh. The class also defines some internal private data members that are used to manage streaming of data.

Definition at line 43 of file itkMeshSource.h.


Member Typedef Documentation

template<class TOutputMesh>
typedef SmartPointer<const Self> itk::MeshSource< TOutputMesh >::ConstPointer
 

Reimplemented from itk::ProcessObject.

Reimplemented in itk::AutomaticTopologyMeshSource< TOutputMesh >, itk::BalloonForceFilter< TInputMesh, TOutputMesh >, itk::BinaryMask3DMeshSource< TOutputMesh >, itk::ConnectedRegionsMeshFilter< TInputMesh, TOutputMesh >, itk::DeformableMesh3DFilter< TInputMesh, TOutputMesh >, itk::SphereMeshSource< TOutputMesh >, itk::VoronoiDiagram2DGenerator< TCoordType >, itk::BinaryMaskToNarrowBandPointSetFilter< TInputImage, TOutputMesh >, itk::ImageToMeshFilter< TInputImage, TOutputMesh >, itk::ImageToParametricSpaceFilter< TInputImage, TOutputMesh >, itk::InteriorExteriorMeshFilter< TInputMesh, TOutputMesh, TSpatialFunction >, itk::ParametricSpaceToImageSpaceMeshFilter< TInputMesh, TOutputMesh >, itk::TransformMeshFilter< TInputMesh, TOutputMesh, TTransform >, and itk::MeshToMeshFilter< TInputMesh, TOutputMesh >.

Definition at line 50 of file itkMeshSource.h.

template<class TOutputMesh>
typedef DataObject::Pointer itk::MeshSource< TOutputMesh >::DataObjectPointer
 

Some convenient typedefs.

Reimplemented from itk::ProcessObject.

Definition at line 59 of file itkMeshSource.h.

template<class TOutputMesh>
typedef OutputMeshType::Pointer itk::MeshSource< TOutputMesh >::OutputMeshPointer
 

Reimplemented in itk::BalloonForceFilter< TInputMesh, TOutputMesh >, itk::BinaryMask3DMeshSource< TOutputMesh >, itk::ConnectedRegionsMeshFilter< TInputMesh, TOutputMesh >, itk::DeformableMesh3DFilter< TInputMesh, TOutputMesh >, itk::SphereMeshSource< TOutputMesh >, itk::BinaryMaskToNarrowBandPointSetFilter< TInputImage, TOutputMesh >, itk::ImageToMeshFilter< TInputImage, TOutputMesh >, itk::ImageToParametricSpaceFilter< TInputImage, TOutputMesh >, itk::InteriorExteriorMeshFilter< TInputMesh, TOutputMesh, TSpatialFunction >, itk::ParametricSpaceToImageSpaceMeshFilter< TInputMesh, TOutputMesh >, and itk::TransformMeshFilter< TInputMesh, TOutputMesh, TTransform >.

Definition at line 61 of file itkMeshSource.h.

template<class TOutputMesh>
typedef TOutputMesh itk::MeshSource< TOutputMesh >::OutputMeshType
 

Reimplemented in itk::BalloonForceFilter< TInputMesh, TOutputMesh >, itk::BinaryMask3DMeshSource< TOutputMesh >, itk::ConnectedRegionsMeshFilter< TInputMesh, TOutputMesh >, itk::DeformableMesh3DFilter< TInputMesh, TOutputMesh >, itk::SphereMeshSource< TOutputMesh >, itk::BinaryMaskToNarrowBandPointSetFilter< TInputImage, TOutputMesh >, itk::ImageToMeshFilter< TInputImage, TOutputMesh >, itk::ImageToParametricSpaceFilter< TInputImage, TOutputMesh >, itk::InteriorExteriorMeshFilter< TInputMesh, TOutputMesh, TSpatialFunction >, itk::ParametricSpaceToImageSpaceMeshFilter< TInputMesh, TOutputMesh >, and itk::TransformMeshFilter< TInputMesh, TOutputMesh, TTransform >.

Definition at line 60 of file itkMeshSource.h.

template<class TOutputMesh>
typedef SmartPointer<Self> itk::MeshSource< TOutputMesh >::Pointer
 

Reimplemented from itk::ProcessObject.

Reimplemented in itk::AutomaticTopologyMeshSource< TOutputMesh >, itk::BalloonForceFilter< TInputMesh, TOutputMesh >, itk::BinaryMask3DMeshSource< TOutputMesh >, itk::ConnectedRegionsMeshFilter< TInputMesh, TOutputMesh >, itk::DeformableMesh3DFilter< TInputMesh, TOutputMesh >, itk::SphereMeshSource< TOutputMesh >, itk::VoronoiDiagram2DGenerator< TCoordType >, itk::BinaryMaskToNarrowBandPointSetFilter< TInputImage, TOutputMesh >, itk::ImageToMeshFilter< TInputImage, TOutputMesh >, itk::ImageToParametricSpaceFilter< TInputImage, TOutputMesh >, itk::InteriorExteriorMeshFilter< TInputMesh, TOutputMesh, TSpatialFunction >, itk::ParametricSpaceToImageSpaceMeshFilter< TInputMesh, TOutputMesh >, itk::TransformMeshFilter< TInputMesh, TOutputMesh, TTransform >, and itk::MeshToMeshFilter< TInputMesh, TOutputMesh >.

Definition at line 49 of file itkMeshSource.h.

template<class TOutputMesh>
typedef MeshSource itk::MeshSource< TOutputMesh >::Self
 

Standard class typedefs.

Reimplemented from itk::ProcessObject.

Reimplemented in itk::AutomaticTopologyMeshSource< TOutputMesh >, itk::BalloonForceFilter< TInputMesh, TOutputMesh >, itk::BinaryMask3DMeshSource< TOutputMesh >, itk::ConnectedRegionsMeshFilter< TInputMesh, TOutputMesh >, itk::DeformableMesh3DFilter< TInputMesh, TOutputMesh >, itk::SphereMeshSource< TOutputMesh >, itk::VoronoiDiagram2DGenerator< TCoordType >, itk::BinaryMaskToNarrowBandPointSetFilter< TInputImage, TOutputMesh >, itk::ImageToMeshFilter< TInputImage, TOutputMesh >, itk::ImageToParametricSpaceFilter< TInputImage, TOutputMesh >, itk::InteriorExteriorMeshFilter< TInputMesh, TOutputMesh, TSpatialFunction >, itk::ParametricSpaceToImageSpaceMeshFilter< TInputMesh, TOutputMesh >, itk::TransformMeshFilter< TInputMesh, TOutputMesh, TTransform >, and itk::MeshToMeshFilter< TInputMesh, TOutputMesh >.

Definition at line 47 of file itkMeshSource.h.

template<class TOutputMesh>
typedef ProcessObject itk::MeshSource< TOutputMesh >::Superclass
 

Reimplemented from itk::ProcessObject.

Reimplemented in itk::AutomaticTopologyMeshSource< TOutputMesh >, itk::BalloonForceFilter< TInputMesh, TOutputMesh >, itk::BinaryMask3DMeshSource< TOutputMesh >, itk::ConnectedRegionsMeshFilter< TInputMesh, TOutputMesh >, itk::DeformableMesh3DFilter< TInputMesh, TOutputMesh >, itk::SphereMeshSource< TOutputMesh >, itk::VoronoiDiagram2DGenerator< TCoordType >, itk::BinaryMaskToNarrowBandPointSetFilter< TInputImage, TOutputMesh >, itk::ImageToMeshFilter< TInputImage, TOutputMesh >, itk::ImageToParametricSpaceFilter< TInputImage, TOutputMesh >, itk::InteriorExteriorMeshFilter< TInputMesh, TOutputMesh, TSpatialFunction >, itk::ParametricSpaceToImageSpaceMeshFilter< TInputMesh, TOutputMesh >, itk::TransformMeshFilter< TInputMesh, TOutputMesh, TTransform >, and itk::MeshToMeshFilter< TInputMesh, TOutputMesh >.

Definition at line 48 of file itkMeshSource.h.


Constructor & Destructor Documentation

template<class TOutputMesh>
itk::MeshSource< TOutputMesh >::MeshSource  )  [protected]
 

template<class TOutputMesh>
virtual itk::MeshSource< TOutputMesh >::~MeshSource  )  [inline, protected, virtual]
 

Definition at line 127 of file itkMeshSource.h.


Member Function Documentation

template<class TOutputMesh>
void itk::MeshSource< TOutputMesh >::GenerateInputRequestedRegion  )  [protected, virtual]
 

Requested region of Mesh is specified as i of N unstructured regions. Since all DataObjects should be able to set the requested region in unstructured form, just copy output->RequestedRegion all inputs.

Reimplemented from itk::ProcessObject.

template<class TOutputMesh>
virtual const char* itk::MeshSource< TOutputMesh >::GetClassName  )  const [virtual]
 

Run-time type information (and related methods).

Reimplemented from itk::ProcessObject.

Reimplemented in itk::AutomaticTopologyMeshSource< TOutputMesh >, itk::BalloonForceFilter< TInputMesh, TOutputMesh >, itk::BinaryMask3DMeshSource< TOutputMesh >, itk::DeformableMesh3DFilter< TInputMesh, TOutputMesh >, itk::SphereMeshSource< TOutputMesh >, itk::VoronoiDiagram2DGenerator< TCoordType >, itk::BinaryMaskToNarrowBandPointSetFilter< TInputImage, TOutputMesh >, itk::ImageToMeshFilter< TInputImage, TOutputMesh >, itk::ImageToParametricSpaceFilter< TInputImage, TOutputMesh >, itk::InteriorExteriorMeshFilter< TInputMesh, TOutputMesh, TSpatialFunction >, itk::ParametricSpaceToImageSpaceMeshFilter< TInputMesh, TOutputMesh >, itk::TransformMeshFilter< TInputMesh, TOutputMesh, TTransform >, and itk::MeshToMeshFilter< TInputMesh, TOutputMesh >.

template<class TOutputMesh>
OutputMeshType* itk::MeshSource< TOutputMesh >::GetOutput unsigned int  idx  ) 
 

Get the mesh output of this process object.

Reimplemented from itk::ProcessObject.

template<class TOutputMesh>
OutputMeshType* itk::MeshSource< TOutputMesh >::GetOutput void   ) 
 

Get the mesh output of this process object.

Reimplemented in itk::ImageToMeshFilter< TInputImage, TOutputMesh >.

template<class TOutputMesh>
virtual void itk::MeshSource< TOutputMesh >::GraftOutput OutputMeshType output  )  [virtual]
 

Graft the specified DataObject onto this ProcessObject's output. This method grabs a handle to the specified DataObject's bulk data to used as its output's own bulk data. It also copies the region ivars (RequestedRegion, BufferedRegion, LargestPossibleRegion) and meta-data (Spacing, Origin) from the specified data object into this filter's output data object. Most importantly, however, it leaves the Source ivar untouched so the original pipeline routing is intact. This method is used when a process object is implemented using a mini-pipeline which is defined in its GenerateData() method. The usage is:

    // setup the mini-pipeline to process the input to this filter
    firstFilterInMiniPipeline->SetInput( this->GetInput() );

    // setup the mini-pipeline to calculate the correct regions
    // and write to the appropriate bulk data block
    lastFilterInMiniPipeline->GraftOutput( this->GetOutput() );

    // execute the mini-pipeline
    lastFilterInMiniPipeline->Update();

    // graft the mini-pipeline output back onto this filter's output.
    // this is needed to get the appropriate regions passed back.
    this->GraftOutput( lastFilterInMiniPipeline->GetOutput() );

For proper pipeline execution, a filter using a mini-pipeline must implement the GenerateInputRequestedRegion(), GenerateOutputRequestedRegion(), GenerateOutputInformation() and EnlargeOutputRequestedRegion() methods as necessary to reflect how the mini-pipeline will execute (in other words, the outer filter's pipeline mechanism must be consistent with what the mini-pipeline will do).

template<class TOutputMesh>
virtual DataObjectPointer itk::MeshSource< TOutputMesh >::MakeOutput unsigned int  idx  )  [virtual]
 

Make a DataObject of the correct type to used as the specified output. Every ProcessObject subclass must be able to create a DataObject that can be used as a specified output. This method is automatically called when DataObject::DisconnectPipeline() is called. DataObject::DisconnectPipeline, disconnects a data object from being an output of its current source. When the data object is disconnected, the ProcessObject needs to construct a replacement output data object so that the ProcessObject is in a valid state. So DataObject::DisconnectPipeline eventually calls ProcessObject::MakeOutput. Note that MakeOutput always returns a SmartPointer to a DataObject. If a subclass of MeshSource has multiple outputs of different types, then that class must provide an implementation of MakeOutput().

Reimplemented from itk::ProcessObject.

Reimplemented in itk::ImageToMeshFilter< TInputImage, TOutputMesh >.

template<class TOutputMesh>
Pointer itk::MeshSource< TOutputMesh >::New  )  [static]
 

Method for creation through the object factory.

Reimplemented from itk::Object.

Reimplemented in itk::AutomaticTopologyMeshSource< TOutputMesh >, itk::BalloonForceFilter< TInputMesh, TOutputMesh >, itk::BinaryMask3DMeshSource< TOutputMesh >, itk::ConnectedRegionsMeshFilter< TInputMesh, TOutputMesh >, itk::DeformableMesh3DFilter< TInputMesh, TOutputMesh >, itk::SphereMeshSource< TOutputMesh >, itk::VoronoiDiagram2DGenerator< TCoordType >, itk::BinaryMaskToNarrowBandPointSetFilter< TInputImage, TOutputMesh >, itk::ImageToParametricSpaceFilter< TInputImage, TOutputMesh >, itk::InteriorExteriorMeshFilter< TInputMesh, TOutputMesh, TSpatialFunction >, itk::ParametricSpaceToImageSpaceMeshFilter< TInputMesh, TOutputMesh >, itk::TransformMeshFilter< TInputMesh, TOutputMesh, TTransform >, and itk::MeshToMeshFilter< TInputMesh, TOutputMesh >.

template<class TOutputMesh>
void itk::MeshSource< TOutputMesh >::PrintSelf std::ostream &  os,
Indent  indent
const [protected, virtual]
 

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from itk::ProcessObject.

Reimplemented in itk::AutomaticTopologyMeshSource< TOutputMesh >, itk::BalloonForceFilter< TInputMesh, TOutputMesh >, itk::BinaryMask3DMeshSource< TOutputMesh >, itk::ConnectedRegionsMeshFilter< TInputMesh, TOutputMesh >, itk::DeformableMesh3DFilter< TInputMesh, TOutputMesh >, itk::SphereMeshSource< TOutputMesh >, itk::VoronoiDiagram2DGenerator< TCoordType >, itk::BinaryMaskToNarrowBandPointSetFilter< TInputImage, TOutputMesh >, itk::ImageToMeshFilter< TInputImage, TOutputMesh >, itk::ImageToParametricSpaceFilter< TInputImage, TOutputMesh >, itk::InteriorExteriorMeshFilter< TInputMesh, TOutputMesh, TSpatialFunction >, itk::ParametricSpaceToImageSpaceMeshFilter< TInputMesh, TOutputMesh >, and itk::TransformMeshFilter< TInputMesh, TOutputMesh, TTransform >.

template<class TOutputMesh>
void itk::MeshSource< TOutputMesh >::SetOutput TOutputMesh *  output  ) 
 

Set the mesh output of this process object. This call is slated to be removed from ITK. You should GraftOutput() and possible DataObject::DisconnectPipeline() to properly change the output.


The documentation for this class was generated from the following file:
Generated at Sat Mar 31 02:57:55 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000