#include <mitkVectorImageVtkGlyphMapper3D.h>


Public Types | |
| enum | GlyphType { LineGlyph, ArrowGlyph } |
| typedef VectorImageVtkGlyphMapper3D | Self |
| typedef VtkMapper3D | Superclass |
| typedef itk::SmartPointer< Self > | Pointer |
| typedef itk::SmartPointer < const Self > | ConstPointer |
Public Member Functions | |
| virtual const char * | GetClassName () const |
| virtual void | SetMaximumNumberOfPoints (unsigned int _arg) |
| virtual unsigned int | GetMaximumNumberOfPoints () |
| virtual void | SetUseMaskPoints (bool _arg) |
| virtual bool | GetUseMaskPoints () |
| virtual void | UseMaskPointsOn () |
| virtual void | UseMaskPointsOff () |
| virtual void | SetRandomMode (bool _arg) |
| virtual bool | GetRandomMode () |
| virtual void | RandomModeOn () |
| virtual void | RandomModeOff () |
| virtual vtkProp * | GetVtkProp (mitk::BaseRenderer *renderer) |
Static Public Member Functions | |
| static Pointer | New () |
Protected Member Functions | |
| VectorImageVtkGlyphMapper3D () | |
| virtual | ~VectorImageVtkGlyphMapper3D () |
| virtual void | GenerateData () |
| virtual void | GenerateData (mitk::BaseRenderer *renderer) |
| Image * | GetInput () |
Protected Attributes | |
| vtkMaskedGlyph3D * | m_Glyph3DGenerator |
| vtkActor * | m_Glyph3DActor |
| vtkPolyDataMapper * | m_Glyph3DMapper |
| GlyphType | m_GlyphType |
| unsigned int | m_MaximumNumberOfPoints |
| bool | m_UseMaskPoints |
| bool | m_RandomMode |
Definition at line 35 of file mitkVectorImageVtkGlyphMapper3D.h.
| typedef itk::SmartPointer<const Self> mitk::VectorImageVtkGlyphMapper3D::ConstPointer |
Reimplemented from mitk::VtkMapper3D.
Definition at line 38 of file mitkVectorImageVtkGlyphMapper3D.h.
| typedef itk::SmartPointer<Self> mitk::VectorImageVtkGlyphMapper3D::Pointer |
Reimplemented from mitk::VtkMapper3D.
Definition at line 38 of file mitkVectorImageVtkGlyphMapper3D.h.
Reimplemented from mitk::VtkMapper3D.
Definition at line 38 of file mitkVectorImageVtkGlyphMapper3D.h.
Reimplemented from mitk::VtkMapper3D.
Definition at line 38 of file mitkVectorImageVtkGlyphMapper3D.h.
Definition at line 42 of file mitkVectorImageVtkGlyphMapper3D.h.
{LineGlyph, ArrowGlyph};
| mitk::VectorImageVtkGlyphMapper3D::VectorImageVtkGlyphMapper3D | ( | ) | [protected] |
Constructor. Doesn't do anything...
Definition at line 36 of file mitkVectorImageVtkGlyphMapper3D.cpp.
References ArrowGlyph, m_Glyph3DActor, m_Glyph3DGenerator, m_Glyph3DMapper, m_GlyphType, m_MaximumNumberOfPoints, m_RandomMode, m_UseMaskPoints, and New().
{
m_RandomMode = true;
m_UseMaskPoints = true;
m_MaximumNumberOfPoints = 5000;
m_GlyphType = ArrowGlyph;
m_Glyph3DGenerator = vtkMaskedGlyph3D::New();
m_Glyph3DMapper = vtkPolyDataMapper::New();
m_Glyph3DActor = vtkActor::New();
}
| mitk::VectorImageVtkGlyphMapper3D::~VectorImageVtkGlyphMapper3D | ( | ) | [protected, virtual] |
Destructor
Definition at line 55 of file mitkVectorImageVtkGlyphMapper3D.cpp.
{
if ( m_Glyph3DMapper != NULL )
m_Glyph3DMapper->Delete();
if ( m_Glyph3DGenerator != NULL )
m_Glyph3DGenerator->Delete();
}
| void mitk::VectorImageVtkGlyphMapper3D::GenerateData | ( | ) | [protected, virtual] |
Generate a vtkPolyData by creating vectors as glyphs
Reimplemented from mitk::Mapper.
Definition at line 67 of file mitkVectorImageVtkGlyphMapper3D.cpp.
References mitk::LookupTableProperty::New(), mitk::LookupTable::New(), and mitk::LookupTableProperty::SetLookupTable().
{
//
// get the input image...
//
mitk::Image::Pointer mitkImage = this->GetInput();
if ( mitkImage.GetPointer() == NULL )
{
itkWarningMacro( << "VectorImage is null !" );
return ;
}
//
// make sure, that the input image is an vector image
//
if ( mitkImage->GetPixelType().GetNumberOfComponents() <= 1 )
{
itkWarningMacro( << "VectorImage has only one scalar component!" );
return ;
}
vtkImageData* vtkImage = mitkImage->GetVtkImageData();
//
// make sure, that we have point data with more than 1 component (as vectors)
//
vtkPointData* pointData = vtkImage->GetPointData();
if ( pointData == NULL )
{
itkWarningMacro( << "vtkImage->GetPointData() returns NULL!" );
return ;
}
if ( pointData->GetNumberOfArrays() == 0 )
{
itkWarningMacro( << "vtkImage->GetPointData()->GetNumberOfArrays() is 0!" );
return ;
}
else if ( pointData->GetArrayName( 0 ) == NULL )
{
vtkImage->GetPointData() ->GetArray( 0 ) ->SetName( "vector" );
}
if ( vtkImage->GetNumberOfPoints() != 0 )
{
//
// create the glyph, which has to be shown at each point
// of the masked image
//
vtkPolyData* glyph;
if ( m_GlyphType == LineGlyph )
{
vtkLineSource * lineSource = vtkLineSource::New();
lineSource->Update();
glyph = lineSource->GetOutput();
}
else if ( m_GlyphType == ArrowGlyph )
{
vtkArrowSource * arrowSource = vtkArrowSource::New();
arrowSource->Update();
glyph = arrowSource->GetOutput();
}
else
{
// Use a vtkLineSource as default, if the GlyphType is
// unknown
itkWarningMacro( << "unknown glyph type!" );
vtkLineSource * lineSource = vtkLineSource::New();
lineSource->Update();
glyph = lineSource->GetOutput();
}
m_RandomMode = false;
m_UseMaskPoints = false;
m_MaximumNumberOfPoints = 80*80*80;
//
// set up the actual glyphing filter
//
m_Glyph3DGenerator->SetSource( glyph );
m_Glyph3DGenerator->SetInput( vtkImage );
//m_Glyph3DGenerator->SetInputConnection(m_Cutter->GetOutputPort());
m_Glyph3DGenerator->SetInputArrayToProcess (1, 0,0, vtkDataObject::FIELD_ASSOCIATION_POINTS , "vector");
//m_Glyph3DGenerator->SelectInputVectors( vtkImage->GetPointData() ->GetArray( 0 ) ->GetName() );
m_Glyph3DGenerator->OrientOn();
m_Glyph3DGenerator->SetVectorModeToUseVector();
m_Glyph3DGenerator->SetScaleFactor( 0.00392156862745 );
m_Glyph3DGenerator->SetScaleModeToScaleByVector();
m_Glyph3DGenerator->SetUseMaskPoints( m_UseMaskPoints );
m_Glyph3DGenerator->SetRandomMode( m_RandomMode );
m_Glyph3DGenerator->SetMaximumNumberOfPoints( m_MaximumNumberOfPoints );
m_Glyph3DGenerator->Update();
m_Glyph3DMapper->SetInput( m_Glyph3DGenerator->GetOutput() );
m_Glyph3DActor->SetMapper( m_Glyph3DMapper );
if (GetDataNode()->GetProperty("LookupTable"))
{
mitk::LookupTable::Pointer mitkLookupTable = mitk::LookupTable::New();
m_Glyph3DMapper->Update();
mitkLookupTable->SetVtkLookupTable(dynamic_cast<vtkLookupTable*>(m_Glyph3DMapper->GetLookupTable()));
mitk::LookupTableProperty::Pointer LookupTableProp = mitk::LookupTableProperty::New( mitkLookupTable );
GetDataNode()->SetProperty( "LookupTable", LookupTableProp );
}
else
{
mitk::LookupTableProperty::Pointer mitkLutProp = dynamic_cast<mitk::LookupTableProperty*>(GetDataNode()->GetProperty("LookupTable"));
if (mitkLutProp.IsNotNull())
m_Glyph3DMapper->SetLookupTable( mitkLutProp->GetLookupTable()->GetVtkLookupTable() );
}
//vtkDataSetWriter* writer = vtkDataSetWriter::New();
//writer->SetInput( vtkImage );
//writer->SetFileName( "out.vtk" );
//writer->Update();
}
}
| void mitk::VectorImageVtkGlyphMapper3D::GenerateData | ( | mitk::BaseRenderer * | renderer ) | [protected, virtual] |
This method is called, each time a specific renderer is updated.
Reimplemented from mitk::Mapper.
Definition at line 188 of file mitkVectorImageVtkGlyphMapper3D.cpp.
{
if ( IsVisible( renderer ) == false )
{
if ( m_Glyph3DActor != NULL )
m_Glyph3DActor->VisibilityOff();
return ;
}
else
{
if ( m_Glyph3DActor != NULL )
m_Glyph3DActor->VisibilityOn();
}
}
| virtual const char* mitk::VectorImageVtkGlyphMapper3D::GetClassName | ( | ) | const [virtual] |
Reimplemented from mitk::VtkMapper3D.
| mitk::Image * mitk::VectorImageVtkGlyphMapper3D::GetInput | ( | void | ) | [protected] |
Returns the input data object of the given filter. In this case, a mitk::Image is returned.
Definition at line 208 of file mitkVectorImageVtkGlyphMapper3D.cpp.
{
return const_cast<mitk::Image*>( dynamic_cast<mitk::Image*>( this->GetData() ) );
}
| virtual unsigned int mitk::VectorImageVtkGlyphMapper3D::GetMaximumNumberOfPoints | ( | ) | [virtual] |
| virtual bool mitk::VectorImageVtkGlyphMapper3D::GetRandomMode | ( | ) | [virtual] |
| virtual bool mitk::VectorImageVtkGlyphMapper3D::GetUseMaskPoints | ( | ) | [virtual] |
| vtkProp * mitk::VectorImageVtkGlyphMapper3D::GetVtkProp | ( | mitk::BaseRenderer * | renderer ) | [virtual] |
Implements mitk::VtkMapper3D.
Definition at line 47 of file mitkVectorImageVtkGlyphMapper3D.cpp.
{
return m_Glyph3DActor;
}
| static Pointer mitk::VectorImageVtkGlyphMapper3D::New | ( | ) | [static] |
Referenced by VectorImageVtkGlyphMapper3D().
| virtual void mitk::VectorImageVtkGlyphMapper3D::RandomModeOff | ( | ) | [virtual] |
| virtual void mitk::VectorImageVtkGlyphMapper3D::RandomModeOn | ( | ) | [virtual] |
| virtual void mitk::VectorImageVtkGlyphMapper3D::SetMaximumNumberOfPoints | ( | unsigned int | _arg ) | [virtual] |
| virtual void mitk::VectorImageVtkGlyphMapper3D::SetRandomMode | ( | bool | _arg ) | [virtual] |
| virtual void mitk::VectorImageVtkGlyphMapper3D::SetUseMaskPoints | ( | bool | _arg ) | [virtual] |
| virtual void mitk::VectorImageVtkGlyphMapper3D::UseMaskPointsOff | ( | ) | [virtual] |
| virtual void mitk::VectorImageVtkGlyphMapper3D::UseMaskPointsOn | ( | ) | [virtual] |
vtkActor* mitk::VectorImageVtkGlyphMapper3D::m_Glyph3DActor [protected] |
Definition at line 85 of file mitkVectorImageVtkGlyphMapper3D.h.
Referenced by VectorImageVtkGlyphMapper3D().
Definition at line 84 of file mitkVectorImageVtkGlyphMapper3D.h.
Referenced by VectorImageVtkGlyphMapper3D().
vtkPolyDataMapper* mitk::VectorImageVtkGlyphMapper3D::m_Glyph3DMapper [protected] |
Definition at line 86 of file mitkVectorImageVtkGlyphMapper3D.h.
Referenced by VectorImageVtkGlyphMapper3D().
Definition at line 88 of file mitkVectorImageVtkGlyphMapper3D.h.
Referenced by VectorImageVtkGlyphMapper3D().
unsigned int mitk::VectorImageVtkGlyphMapper3D::m_MaximumNumberOfPoints [protected] |
Definition at line 89 of file mitkVectorImageVtkGlyphMapper3D.h.
Referenced by VectorImageVtkGlyphMapper3D().
bool mitk::VectorImageVtkGlyphMapper3D::m_RandomMode [protected] |
Definition at line 91 of file mitkVectorImageVtkGlyphMapper3D.h.
Referenced by VectorImageVtkGlyphMapper3D().
bool mitk::VectorImageVtkGlyphMapper3D::m_UseMaskPoints [protected] |
Definition at line 90 of file mitkVectorImageVtkGlyphMapper3D.h.
Referenced by VectorImageVtkGlyphMapper3D().
1.7.2