#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().