ITK  5.0.0
Insight Segmentation and Registration Toolkit
itkMeshToMeshFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright Insight Software Consortium
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  * http://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 /*=========================================================================
19  *
20  * Portions of this file are subject to the VTK Toolkit Version 3 copyright.
21  *
22  * Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
23  *
24  * For complete copyright, license and disclaimer of warranty information
25  * please refer to the NOTICE file at the top of the ITK source tree.
26  *
27  *=========================================================================*/
28 #ifndef itkMeshToMeshFilter_h
29 #define itkMeshToMeshFilter_h
30 
31 #include "itkMeshSource.h"
32 
33 namespace itk
34 {
46 template< typename TInputMesh, typename TOutputMesh >
47 class ITK_TEMPLATE_EXPORT MeshToMeshFilter:public MeshSource< TOutputMesh >
48 {
49 public:
50  ITK_DISALLOW_COPY_AND_ASSIGN(MeshToMeshFilter);
51 
57 
59  itkNewMacro(Self);
60 
62  itkTypeMacro(MeshToMeshFilter, MeshSource);
63 
65  using InputMeshType = TInputMesh;
66  using InputMeshPointer = typename InputMeshType::Pointer;
67  using OutputMeshType = TOutputMesh;
68  using OutputMeshPointer = typename OutputMeshType::Pointer;
69 
71  using Superclass::SetInput;
72  void SetInput(const InputMeshType *input);
73 
75  const InputMeshType * GetInput() const;
76 
77  const InputMeshType * GetInput(unsigned int idx) const;
78 
79 protected:
81  ~MeshToMeshFilter() override = default;
82 
83  void CopyInputMeshToOutputMeshPoints();
84 
85  void CopyInputMeshToOutputMeshPointData();
86 
87  void CopyInputMeshToOutputMeshCellLinks();
88 
89  void CopyInputMeshToOutputMeshCells();
90 
91  void CopyInputMeshToOutputMeshCellData();
92 };
93 } // end namespace itk
94 
95 #ifndef ITK_MANUAL_INSTANTIATION
96 #include "itkMeshToMeshFilter.hxx"
97 #endif
98 
99 #endif
Light weight base class for most itk classes.
MeshToMeshFilter is the base class for all process objects that output mesh data, and require mesh da...
Base class for all process objects that output mesh data.
Definition: itkMeshSource.h:49
typename OutputMeshType::Pointer OutputMeshPointer
Definition: itkMeshSource.h:69