| 843 | } |
| 844 | |
| 845 | vtkSmartPointer<vtkPolyData> mitk::DoseImageVtkMapper2D::CreateOutlinePolyData(mitk::BaseRenderer *renderer) |
| 846 | { |
| 847 | vtkSmartPointer<vtkPoints> points = vtkSmartPointer<vtkPoints>::New(); // the points to draw |
| 848 | vtkSmartPointer<vtkCellArray> lines = vtkSmartPointer<vtkCellArray>::New(); // the lines to connect the points |
| 849 | vtkSmartPointer<vtkUnsignedCharArray> colors = vtkSmartPointer<vtkUnsignedCharArray>::New(); |
| 850 | colors->SetNumberOfComponents(3); |
| 851 | colors->SetName("Colors"); |
| 852 | |
| 853 | float pref; |
| 854 | this->GetDataNode()->GetFloatProperty(mitk::RTConstants::REFERENCE_DOSE_PROPERTY_NAME.c_str(), pref); |
| 855 | |
| 856 | mitk::IsoDoseLevelSetProperty::Pointer propIsoSet = dynamic_cast<mitk::IsoDoseLevelSetProperty *>( |
| 857 | GetDataNode()->GetProperty(mitk::RTConstants::DOSE_ISO_LEVELS_PROPERTY_NAME.c_str())); |
| 858 | mitk::IsoDoseLevelSet::Pointer isoDoseLevelSet = propIsoSet->GetValue(); |
| 859 | |
| 860 | for (mitk::IsoDoseLevelSet::ConstIterator doseIT = isoDoseLevelSet->Begin(); doseIT != isoDoseLevelSet->End(); |
| 861 | ++doseIT) |
| 862 | { |
| 863 | if (doseIT->GetVisibleIsoLine()) |
| 864 | { |
| 865 | this->CreateLevelOutline(renderer, &(doseIT.Value()), pref, points, lines, colors); |
| 866 | } // end of if visible dose value |
| 867 | } // end of loop over all does values |
| 868 | |
| 869 | mitk::IsoDoseLevelVectorProperty::Pointer propfreeIsoVec = dynamic_cast<mitk::IsoDoseLevelVectorProperty *>( |
| 870 | GetDataNode()->GetProperty(mitk::RTConstants::DOSE_FREE_ISO_VALUES_PROPERTY_NAME.c_str())); |
| 871 | mitk::IsoDoseLevelVector::Pointer frereIsoDoseLevelVec = propfreeIsoVec->GetValue(); |
| 872 | |
| 873 | for (mitk::IsoDoseLevelVector::ConstIterator freeDoseIT = frereIsoDoseLevelVec->Begin(); |
| 874 | freeDoseIT != frereIsoDoseLevelVec->End(); |
| 875 | ++freeDoseIT) |
| 876 | { |
| 877 | if (freeDoseIT->Value()->GetVisibleIsoLine()) |
| 878 | { |
| 879 | this->CreateLevelOutline(renderer, freeDoseIT->Value(), pref, points, lines, colors); |
| 880 | } // end of if visible dose value |
| 881 | } // end of loop over all does values |
| 882 | |
| 883 | // Create a polydata to store everything in |
| 884 | vtkSmartPointer<vtkPolyData> polyData = vtkSmartPointer<vtkPolyData>::New(); |
| 885 | // Add the points to the dataset |
| 886 | polyData->SetPoints(points); |
| 887 | // Add the lines to the dataset |
| 888 | polyData->SetLines(lines); |
| 889 | polyData->GetCellData()->SetScalars(colors); |
| 890 | return polyData; |
| 891 | } |
| 892 | |
| 893 | void mitk::DoseImageVtkMapper2D::CreateLevelOutline(mitk::BaseRenderer *renderer, |
| 894 | const mitk::IsoDoseLevel *level, |
nothing calls this directly
no test coverage detected