ITK  5.0.0
Insight Segmentation and Registration Toolkit
itkTriangleEdgeCellSubdivisionQuadEdgeMeshFilter.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 #ifndef itkTriangleEdgeCellSubdivisionQuadEdgeMeshFilter_h
20 #define itkTriangleEdgeCellSubdivisionQuadEdgeMeshFilter_h
21 
23 
24 namespace itk
25 {
32 template< typename TInputMesh, typename TOutputMesh >
34  public TriangleCellSubdivisionQuadEdgeMeshFilter< TInputMesh, TOutputMesh >
35 {
36 public:
37  ITK_DISALLOW_COPY_AND_ASSIGN(TriangleEdgeCellSubdivisionQuadEdgeMeshFilter);
38 
43 
63 
80 
81  using SubdivisionCellContainer = std::list< InputQEType * >;
82  using SubdivisionCellContainerConstIterator = typename SubdivisionCellContainer::const_iterator;
83 
86  itkGetConstReferenceMacro( EdgesToBeSubdivided, SubdivisionCellContainer );
88 
89  void SetCellsToBeSubdivided( const SubdivisionCellContainer & EdgesList );
90  void AddSubdividedEdge( InputQEType * edge );
91 
92 protected:
95 
96  void AddNewCellPoints( InputCellType * itkNotUsed( cell ) ) override {}
97  virtual void AddNewEdgePoints( InputQEType * edge ) = 0;
98  void GenerateOutputPoints() override;
99 
100  void PrintSelf( std::ostream & os, Indent indent ) const override;
101 
103 };
104 } // end namespace itk
105 
106 #ifndef ITK_MANUAL_INSTANTIATION
107 #include "itkTriangleEdgeCellSubdivisionQuadEdgeMeshFilter.hxx"
108 #endif
109 
110 #endif
typename InputMeshType::CoordRepType InputCoordRepType
typename InputMeshType::CellsContainer InputCellsContainer
typename OutputMeshType::PointsContainerIterator OutputPointsContainerIterator
Light weight base class for most itk classes.
typename Superclass::OutputPointsContainerPointer OutputPointsContainerPointer
TOutputMesh OutputMeshType
Definition: itkMeshSource.h:68
typename Superclass::InputPointsContainerConstIterator InputPointsContainerConstIterator
typename Superclass::InputCellsContainerPointer InputCellsContainerPointer
typename InputMeshType::PointIdentifier InputPointIdentifier
typename OutputMeshType::CoordRepType OutputCoordType
typename Superclass::OutputCellsContainerIterator OutputCellsContainerIterator
typename OutputMeshType::PointIdIterator OutputPointIdIterator
typename Superclass::InputPointsContainerIterator InputPointsContainerIterator
typename OutputMeshType::CellType OutputCellType
void PrintSelf(std::ostream &os, Indent indent) const override
typename InputMeshType::ConstPointer InputMeshConstPointer
virtual void AddNewEdgePoints(InputQEType *edge)=0
typename OutputMeshType::PointIdentifier OutputPointIdentifier
typename InputMeshType::CoordRepType InputCoordType
typename InputMeshType::PointsContainer InputPointsContainer
typename OutputMeshType::CellsContainerIterator OutputCellsContainerIterator
typename OutputMeshType::CoordRepType OutputCoordRepType
typename Superclass::OutputCellsContainerConstIterator OutputCellsContainerConstIterator
typename InputMeshType::Pointer InputMeshPointer
typename InputMeshType::CellsContainerIterator InputCellsContainerIterator
typename InputMeshType::PointsContainerConstIterator InputPointsContainerConstIterator
typename OutputMeshType::CellsContainerPointer OutputCellsContainerPointer
typename Superclass::InputCellsContainerConstIterator InputCellsContainerConstIterator
typename Superclass::OutputCellsContainerPointer OutputCellsContainerPointer
typename OutputMeshType::Pointer OutputMeshPointer
Definition: itkMeshSource.h:69
typename InputMeshType::CellType InputCellType
typename SubdivisionCellContainer::const_iterator SubdivisionCellContainerConstIterator
typename InputMeshType::CellsContainerPointer InputCellsContainerPointer
typename Superclass::InputCellsContainerIterator InputCellsContainerIterator
typename InputMeshType::PointsContainerPointer InputPointsContainerPointer
Control indentation during Print() invocation.
Definition: itkIndent.h:49
typename InputMeshType::PointsContainerIterator InputPointsContainerIterator
typename OutputMeshType::MeshTraits OutputMeshTraits
typename InputMeshType::MeshTraits InputMeshTraits
typename OutputMeshType::CellsContainer OutputCellsContainer
typename InputMeshType::PointIdIterator InputPointIdIterator
typename Superclass::OutputPointsContainerIterator OutputPointsContainerIterator
typename OutputMeshType::PointsContainerPointer OutputPointsContainerPointer
typename InputMeshType::CellsContainerConstIterator InputCellsContainerConstIterator
typename OutputMeshType::CellIdentifier OutputCellIdentifier
typename InputMeshType::CellIdentifier InputCellIdentifier
Abstract class to subdivide triangular surface QuadEdgeMesh.
typename OutputMeshType::CellsContainerConstIterator OutputCellsContainerConstIterator
typename Superclass::InputPointsContainerPointer InputPointsContainerPointer
void SetCellsToBeSubdivided(const SubdivisionCellContainer &EdgesList)