ITK  6.0.0
Insight Toolkit
itkQuadEdgeMeshScalarDataVTKPolyDataWriter.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright NumFOCUS
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * https://www.apache.org/licenses/LICENSE-2.0.txt
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *=========================================================================*/
18#ifndef itkQuadEdgeMeshScalarDataVTKPolyDataWriter_h
19#define itkQuadEdgeMeshScalarDataVTKPolyDataWriter_h
20
22#include <fstream>
23
24namespace itk
25{
36template <typename TMesh>
37class ITK_TEMPLATE_EXPORT QuadEdgeMeshScalarDataVTKPolyDataWriter : public VTKPolyDataWriter<TMesh>
38{
39public:
40 ITK_DISALLOW_COPY_AND_MOVE(QuadEdgeMeshScalarDataVTKPolyDataWriter);
41
46
48 itkOverrideGetNameOfClassMacro(QuadEdgeMeshScalarDataVTKPolyDataWriter);
49
51 itkNewMacro(Self);
52
53 using MeshType = TMesh;
55 using CellType = typename MeshType::CellType;
56
57 using PointsContainerPointer = typename MeshType::PointsContainerPointer;
58 using PointsContainerIterator = typename MeshType::PointsContainerIterator;
59
60 using PointDataContainerPointer = typename MeshType::PointDataContainerPointer;
61 using PointDataContainerConstPointer = typename MeshType::PointDataContainerConstPointer;
62 using PointDataContainerIterator = typename MeshType::PointDataContainerIterator;
63
64 using CellsContainer = typename MeshType::CellsContainer;
67 using CellsContainerIterator = typename CellsContainer::Iterator;
68 using CellsContainerConstIterator = typename CellsContainer::ConstIterator;
69
70 using CellDataContainer = typename MeshType::CellDataContainer;
71 using CellDataContainerIterator = typename CellDataContainer::Iterator;
72 using CellDataContainerConstIterator = typename CellDataContainer::ConstIterator;
75
77 itkSetStringMacro(CellDataName);
78 itkGetStringMacro(CellDataName);
82 itkSetStringMacro(PointDataName);
83 itkGetStringMacro(PointDataName);
86protected:
89
90 std::string m_CellDataName{};
91 std::string m_PointDataName{};
92
93 void
94 GenerateData() override;
95
96 void
98
99 void
101};
102} // namespace itk
103
104#ifndef ITK_MANUAL_INSTANTIATION
105# include "itkQuadEdgeMeshScalarDataVTKPolyDataWriter.hxx"
106#endif
107
108#endif
Light weight base class for most itk classes.
This class saves a QuadMesh into a VTK-legacy file format, including its scalar data associated with ...
typename MeshType::PointDataContainerPointer PointDataContainerPointer
typename MeshType::PointsContainerIterator PointsContainerIterator
typename MeshType::PointDataContainerConstPointer PointDataContainerConstPointer
typename CellDataContainer::ConstPointer CellDataContainerConstPointer
~QuadEdgeMeshScalarDataVTKPolyDataWriter() override=default
typename MeshType::PointDataContainerIterator PointDataContainerIterator
typename CellDataContainer::ConstIterator CellDataContainerConstIterator
Writes an itkMesh to a file in VTK file format.
SmartPointer< const Self > ConstPointer
SmartPointer< Self > Pointer
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....