Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include "mitkPointDataVtkMapper3D.h"
00019
00020 #include <vtkActor.h>
00021 #include <vtkPolyDataMapper.h>
00022 #include <vtkSphereSource.h>
00023 #include <vtkProperty.h>
00024
00025 mitk::PointDataVtkMapper3D::PointDataVtkMapper3D()
00026 {
00027 int i;
00028 float x[6][3] = {{105,0,0},{-105,0,0},{0,105,0},{0,-105,0},{0,0,105},{0,0,-105}};
00029 vtkIdType pts[3][2] = {{0,1},{2,3},{4,5}};
00030 m_PointActor = vtkActor::New();
00031 m_PointMapper = vtkPolyDataMapper::New();
00032
00033 m_PolyData = vtkPolyData::New();
00034 m_Points = vtkPoints::New();
00035 m_CellArray = vtkCellArray::New();
00036
00037 for (i=0;i<6;i++) m_Points->InsertPoint(i,x[i]);
00038 for (i=0;i<3;i++) m_CellArray->InsertNextCell(2,pts[i]);
00039
00040 m_PolyData->SetPoints(m_Points);
00041 m_PolyData->SetLines(m_CellArray);
00042
00043 m_PointMapper->SetInput(m_PolyData);
00044 m_PointActor->SetMapper( m_PointMapper );
00045 m_PointActor->GetProperty()->SetColor(0.0,0.0,1.0);
00046
00047 }
00048
00049 mitk::PointDataVtkMapper3D::~PointDataVtkMapper3D()
00050 {
00051 m_Points->Delete();
00052 m_CellArray->Delete();
00053 m_PolyData->Delete();
00054 m_PointMapper->Delete();
00055 m_PointActor->Delete();
00056 }
00057
00058 vtkProp* mitk::PointDataVtkMapper3D::GetVtkProp(mitk::BaseRenderer* )
00059 {
00060 return m_PointActor;
00061
00062 }
00063
00064 void mitk::PointDataVtkMapper3D::GenerateData()
00065 {
00066
00067 mitk::PointData::Pointer input = dynamic_cast< mitk::PointData* >( this->GetData() );
00068
00069 mitk::Point3D point = input->GetPoint3D();
00070
00071
00072 m_PointActor->SetPosition( point[0], point[1], point[2] );
00073
00074 m_PolyData->Update();
00075
00076 SetVtkMapperImmediateModeRendering(m_PointMapper);
00077
00078 }