MCPcopy Create free account
hub / github.com/MITK/MITK / CreateOutlinePolyData

Method CreateOutlinePolyData

Modules/RT/src/mitkDoseImageVtkMapper2D.cpp:845–891  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

843}
844
845vtkSmartPointer<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
893void mitk::DoseImageVtkMapper2D::CreateLevelOutline(mitk::BaseRenderer *renderer,
894 const mitk::IsoDoseLevel *level,

Callers

nothing calls this directly

Calls 11

CreateLevelOutlineMethod · 0.95
ValueMethod · 0.80
NewFunction · 0.50
SetNameMethod · 0.45
GetFloatPropertyMethod · 0.45
GetDataNodeMethod · 0.45
GetPropertyMethod · 0.45
GetValueMethod · 0.45
BeginMethod · 0.45
EndMethod · 0.45
SetPointsMethod · 0.45

Tested by

no test coverage detected