ITK  4.2.0
Insight Segmentation and Registration Toolkit
itkQuadEdgeMeshEulerOperatorSplitVertexFunction.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 #ifndef __itkQuadEdgeMeshEulerOperatorSplitVertexFunction_h
19 #define __itkQuadEdgeMeshEulerOperatorSplitVertexFunction_h
20 
22 
23 namespace itk
24 {
38 template< class TMesh, class TQEType >
40  public QuadEdgeMeshFunctionBase< TMesh, TQEType * >
41 {
42 public:
43 
49 
50  itkNewMacro(Self);
53 
55  typedef TQEType QEType;
56 
57  typedef typename Superclass::MeshType MeshType;
58  typedef typename Superclass::OutputType OutputType;
59  typedef typename MeshType::VertexRefType VertexRefType;
60  typedef typename MeshType::EdgeCellType EdgeCellType;
61  typedef typename MeshType::PointIdentifier PointIdentifier;
62 
64  virtual OutputType Evaluate(QEType *e, QEType *f);
65 
66  PointIdentifier GetNewPointID()
67  {
68  return ( this->m_NewPoint );
69  }
70 
71 protected:
73  {
74  m_NewPoint = (PointIdentifier)0;
75  }
76 
78 private:
79  QuadEdgeMeshEulerOperatorSplitVertexFunction(const Self &); //purposely not
80  // implemented
81  void operator=(const Self &); //purposely not
82  // implemented
83 
84  PointIdentifier m_NewPoint; // stock newly created point ID for user.
85 };
86 } // namespace itk
87 
88 #include "itkQuadEdgeMeshEulerOperatorSplitVertexFunction.hxx"
89 
90 #endif
91 
92 // eof - itkQuadEdgeMeshEulerOperatorSplitVertexFunction.h
93