Index: Core/Code/Rendering/mitkSurfaceMapper2D.cpp =================================================================== --- Core/Code/Rendering/mitkSurfaceMapper2D.cpp (revision 21081) +++ Core/Code/Rendering/mitkSurfaceMapper2D.cpp (working copy) @@ -27,6 +27,8 @@ #include "mitkVtkScalarModeProperty.h" #include "mitkAbstractTransformGeometry.h" #include "mitkLookupTableProperty.h" +#include "mitkPointSet.h" +#include "mitkPointSetMapper2D.h" #include #include @@ -280,15 +282,18 @@ //set data into cutter m_Cutter->SetInput(vtkpolydata); + m_Cutter->Update(); // m_Cutter->GenerateCutScalarsOff(); // m_Cutter->SetSortByToSortByCell(); - m_Stripper->SetInput( m_Cutter->GetOutput() ); - // calculate the cut - m_Stripper->Update(); + // Stripper will remove cell data from input + //m_Stripper->SetInput( m_Cutter->GetOutput() ); + //// calculate the cut + //m_Stripper->Update(); // traverse the cut contour - PaintCells(renderer, m_Stripper->GetOutput(), worldGeometry, renderer->GetDisplayGeometry(), vtktransform, lut, vtkpolydata); + //PaintCells(renderer, m_Stripper->GetOutput(), worldGeometry, renderer->GetDisplayGeometry(), vtktransform, lut, vtkpolydata); + PaintCells(renderer, m_Cutter->GetOutput(), worldGeometry, renderer->GetDisplayGeometry(), vtktransform, lut, vtkpolydata); } } @@ -471,6 +476,31 @@ } } + if ( numberOfLines == 0 && contour->GetNumberOfPoints() != 0 ) + { + mitk::PointSet::Pointer pointSet = mitk::PointSet::New( ); + vtkPoints *pointsVtk = contour->GetPoints( ); + for( int i = 0; i < pointsVtk->GetNumberOfPoints( ); i++ ) + { + double x[ 3 ]; + pointsVtk->GetPoint( i, x ); + p[ 0 ] = (mitk::Point3D::ValueType) x[ 0 ]; + p[ 1 ] = (mitk::Point3D::ValueType) x[ 1 ]; + p[ 2 ] = (mitk::Point3D::ValueType) x[ 2 ]; + pointSet->InsertPoint( i, p ); + } + + mitk::DataTreeNode::Pointer node; + node = mitk::DataTreeNode::New(); + mitk::PointSetMapper2D::SetDefaultProperties( node ); + node->SetData( pointSet ); + + mitk::PointSetMapper2D::Pointer mapper; + mapper = mitk::PointSetMapper2D::New( ); + mapper->SetDataTreeNode( node ); + mapper->Paint( renderer ); + } + glEnd(); glLineWidth(1.0); }