17 #include <vtkLinearTransform.h> 18 #include <vtkPolyData.h> 19 #include <vtkSmartPointer.h> 20 #include <vtkTransformPolyDataFilter.h> 22 #include <itksys/SystemTools.hxx> 28 const std::string &description)
37 vtkSmartPointer<vtkTransformPolyDataFilter> transformPolyData = vtkSmartPointer<vtkTransformPolyDataFilter>::New();
40 if (input->GetVtkPolyData(t) ==
nullptr)
41 return vtkSmartPointer<vtkPolyData>();
44 std::string extension = itksys::SystemTools::GetFilenameExtension(baseName);
45 if (!extension.empty())
47 baseName = baseName.substr(0, baseName.size() - extension.size());
50 std::ostringstream ss;
51 ss.imbue(::std::locale::classic());
54 if (input->GetTimeGeometry()->IsValidTimeStep(t))
56 if (input->GetTimeGeometry()->CountTimeSteps() > 1)
58 const TimeBounds &timebounds = input->GetTimeGeometry()->GetTimeBounds(t);
59 ss << baseName <<
"_S" << std::setprecision(0) << timebounds[0] <<
"_E" << std::setprecision(0) << timebounds[1]
60 <<
"_T" << t << extension;
70 MITK_WARN <<
"Error on write: TimeGeometry invalid of surface " << fileName <<
".";
71 return vtkSmartPointer<vtkPolyData>();
76 transformPolyData->SetInputData(input->GetVtkPolyData(t));
78 transformPolyData->UpdateWholeExtent();
80 vtkSmartPointer<vtkPolyData> polyData = transformPolyData->GetOutput();
88 if (this->
GetInput()->GetTimeGeometry()->CountTimeSteps() > 1)
Class for storing surfaces (vtkPolyData).
itk::FixedArray< ScalarType, 2 > TimeBounds
Standard typedef for time-bounds.
vtkLinearTransform * GetVtkTransform() const
Get the m_IndexToWorldTransform as a vtkLinearTransform.
DataCollection - Class to facilitate loading/accessing structured data.
vtkSmartPointer< vtkPolyData > GetPolyData(unsigned int t, std::string &fileName)
The CustomMimeType class represents a custom mime-type which may be registered as a service object...
ConfidenceLevel
A confidence level describing the confidence of the reader or writer in handling the given data...
const BaseData * GetInput() const override
Get the input data set via SetInput().
ConfidenceLevel GetWriterConfidenceLevel() const override
SurfaceVtkIO(const std::string &baseDataType, const CustomMimeType &mimeType, const std::string &description)
std::string GetOutputLocation() const override
Get the current output location.
ConfidenceLevel GetWriterConfidenceLevel() const override
Abstract class for implementing a reader and writer.
BaseGeometry Describes the geometry of a data object.