Public Types | Public Member Functions | Protected Member Functions

mitk::NavigationDataToNavigationDataFilter Class Reference

NavigationDataToNavigationDataFilter is the base class of all filters that receive NavigationDatas as input and produce NavigationDatas as output. More...

#include <mitkNavigationDataToNavigationDataFilter.h>

Inheritance diagram for mitk::NavigationDataToNavigationDataFilter:
Inheritance graph
[legend]
Collaboration diagram for mitk::NavigationDataToNavigationDataFilter:
Collaboration graph
[legend]

List of all members.

Public Types

typedef
NavigationDataToNavigationDataFilter 
Self
typedef NavigationDataSource Superclass
typedef itk::SmartPointer< SelfPointer
typedef itk::SmartPointer
< const Self
ConstPointer

Public Member Functions

virtual const char * GetClassName () const
virtual void SetInput (const NavigationData *nd)
 Set the input of this filter.
virtual void SetInput (unsigned int idx, const NavigationData *nd)
 Set input with id idx of this filter.
const NavigationDataGetInput (void) const
 Get the input of this filter.
const NavigationDataGetInput (unsigned int idx) const
 Get the input with id idx of this filter.
const NavigationDataGetInput (std::string navDataName) const
 Get the input with name navDataName of this filter.
DataObjectPointerArraySizeType GetInputIndex (std::string navDataName)
 return the index of the input with name navDataName, throw std::invalid_argument exception if that name was not found

Protected Member Functions

 NavigationDataToNavigationDataFilter ()
virtual ~NavigationDataToNavigationDataFilter ()
void CreateOutputsForAllInputs ()
 Create an output for each input.

Detailed Description

NavigationDataToNavigationDataFilter is the base class of all filters that receive NavigationDatas as input and produce NavigationDatas as output.

Documentation Base class that for all navigation filters that receive NavigationData objects as input and produce NavigationData objects as output. This class defines the input-interface for NavigationDataFilters.

Definition at line 37 of file mitkNavigationDataToNavigationDataFilter.h.


Member Typedef Documentation


Constructor & Destructor Documentation

mitk::NavigationDataToNavigationDataFilter::NavigationDataToNavigationDataFilter (  ) [protected]
mitk::NavigationDataToNavigationDataFilter::~NavigationDataToNavigationDataFilter (  ) [protected, virtual]

Definition at line 27 of file mitkNavigationDataToNavigationDataFilter.cpp.

{
}

Member Function Documentation

void mitk::NavigationDataToNavigationDataFilter::CreateOutputsForAllInputs (  ) [protected]

Create an output for each input.

This Method sets the number of outputs to the number of inputs and creates missing outputs objects.

Warning:
any additional outputs that exist before the method is called are deleted

Definition at line 87 of file mitkNavigationDataToNavigationDataFilter.cpp.

{
  this->SetNumberOfOutputs(this->GetNumberOfInputs());  // create outputs for all inputs
  for (unsigned int idx = 0; idx < this->GetNumberOfOutputs(); ++idx)
    if (this->GetOutput(idx) == NULL)
    {
      DataObjectPointer newOutput = this->MakeOutput(idx);
      this->SetNthOutput(idx, newOutput);
    }
    this->Modified();
}
virtual const char* mitk::NavigationDataToNavigationDataFilter::GetClassName (  ) const [virtual]
const mitk::NavigationData * mitk::NavigationDataToNavigationDataFilter::GetInput ( void   ) const

Get the input of this filter.

Definition at line 49 of file mitkNavigationDataToNavigationDataFilter.cpp.

{
  if (this->GetNumberOfInputs() < 1)
    return NULL;

  return static_cast<const NavigationData*>(this->ProcessObject::GetInput(0));
}
const mitk::NavigationData * mitk::NavigationDataToNavigationDataFilter::GetInput ( unsigned int  idx ) const

Get the input with id idx of this filter.

Definition at line 58 of file mitkNavigationDataToNavigationDataFilter.cpp.

{
  if (this->GetNumberOfInputs() < 1)
    return NULL;

  return static_cast<const NavigationData*>(this->ProcessObject::GetInput(idx));
}
const mitk::NavigationData * mitk::NavigationDataToNavigationDataFilter::GetInput ( std::string  navDataName ) const

Get the input with name navDataName of this filter.

Definition at line 67 of file mitkNavigationDataToNavigationDataFilter.cpp.

{
  const DataObjectPointerArray& inputs = const_cast<Self*>(this)->GetInputs();
  for (DataObjectPointerArray::const_iterator it = inputs.begin(); it != inputs.end(); ++it)
    if (std::string(navDataName) == (static_cast<NavigationData*>(it->GetPointer()))->GetName())
      return static_cast<NavigationData*>(it->GetPointer());
  return NULL;
}
itk::ProcessObject::DataObjectPointerArraySizeType mitk::NavigationDataToNavigationDataFilter::GetInputIndex ( std::string  navDataName )

return the index of the input with name navDataName, throw std::invalid_argument exception if that name was not found

Warning:
if a subclass has inputs that have different data type than mitk::NavigationData, they have to overwrite this method

Definition at line 77 of file mitkNavigationDataToNavigationDataFilter.cpp.

{
  DataObjectPointerArray& outputs = this->GetInputs();
  for (DataObjectPointerArray::size_type i = 0; i < outputs.size(); ++i)
    if (navDataName == (static_cast<NavigationData*>(outputs.at(i).GetPointer()))->GetName())
      return i;
  throw std::invalid_argument("output name does not exist");
}
void mitk::NavigationDataToNavigationDataFilter::SetInput ( unsigned int  idx,
const NavigationData nd 
) [virtual]

Set input with id idx of this filter.

Warning:
: this will set the number of outputs to the number of inputs, deleting any extra outputs that might have been initialized. Subclasses that have a different number of outputs than inputs must overwrite the SetInput methods. If the last input is set to NULL, the number of inputs will be decreased by one (-> removing the last input). If other inputs are set to NULL, the number of inputs will not change.

Reimplemented in mitk::NavigationDataVisualizationFilter.

Definition at line 38 of file mitkNavigationDataToNavigationDataFilter.cpp.

{
  if ((nd == NULL) && (idx == this->GetNumberOfInputs() - 1)) // if the last input is set to NULL, reduce the number of inputs by one
    this->SetNumberOfInputs(this->GetNumberOfInputs() - 1);
  else
    this->ProcessObject::SetNthInput(idx, const_cast<NavigationData*>(nd));   // Process object is not const-correct so the const_cast is required here

  this->CreateOutputsForAllInputs();
}
void mitk::NavigationDataToNavigationDataFilter::SetInput ( const NavigationData nd ) [virtual]

Set the input of this filter.

Warning:
: this will set the number of outputs to the number of inputs, deleting any extra outputs that might have been initialized. Subclasses that have a different number of outputs than inputs must overwrite the SetInput methods.

Reimplemented in mitk::NavigationDataVisualizationFilter.

Definition at line 32 of file mitkNavigationDataToNavigationDataFilter.cpp.

{
  this->SetInput(0, nd);
}

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines