00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkQuadEdgeMeshEulerOperatorDeleteCenterVertexFunction_h
00018 #define __itkQuadEdgeMeshEulerOperatorDeleteCenterVertexFunction_h
00019
00020 #include "itkQuadEdgeMeshFunctionBase.h"
00021
00022 namespace itk
00023 {
00031 template < class TMesh, class TQEType >
00032 class ITK_EXPORT QuadEdgeMeshEulerOperatorDeleteCenterVertexFunction :
00033 public QuadEdgeMeshFunctionBase< TMesh, TQEType* >
00034 {
00035 public:
00036
00038 typedef QuadEdgeMeshEulerOperatorDeleteCenterVertexFunction Self;
00039 typedef QuadEdgeMeshFunctionBase< TMesh, TQEType* > Superclass;
00040 typedef SmartPointer< Self > Pointer;
00041 typedef SmartPointer< const Self > ConstPointer;
00042
00043 itkNewMacro( Self );
00045 itkTypeMacro( QuadEdgeMeshEulerOperatorDeleteCenterVertexFunction, QuadEdgeMeshFunctionBase );
00046
00048 typedef TQEType QEType;
00049
00050 typedef typename Superclass::MeshType MeshType;
00051 typedef typename Superclass::OutputType OutputType;
00052
00053 typedef typename MeshType::PointIdentifier PointIdentifier;
00054 typedef typename MeshType::FaceRefType FaceRefType;
00055
00057 virtual OutputType Evaluate( QEType* e );
00058 PointIdentifier GetOldPointID( )
00059 {
00060 return( this->m_OldPointID );
00061 }
00062 protected:
00063 QuadEdgeMeshEulerOperatorDeleteCenterVertexFunction(){};
00064 ~QuadEdgeMeshEulerOperatorDeleteCenterVertexFunction(){};
00066
00067 private:
00068 QuadEdgeMeshEulerOperatorDeleteCenterVertexFunction(const Self& );
00069
00070 void operator=(const Self& );
00071
00072 PointIdentifier m_OldPointID;
00073
00074 };
00075
00076 }
00077
00078 #include "itkQuadEdgeMeshEulerOperatorDeleteCenterVertexFunction.txx"
00079
00080 #endif
00081
00082
00083