00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkQuadEdgeMeshEulerOperatorSplitFacetFunction_h
00018 #define __itkQuadEdgeMeshEulerOperatorSplitFacetFunction_h
00019
00020 #include "itkQuadEdgeMeshFunctionBase.h"
00021
00022 namespace itk
00023 {
00024
00034 template < class TMesh, class TQEType >
00035 class ITK_EXPORT QuadEdgeMeshEulerOperatorSplitFacetFunction :
00036 public QuadEdgeMeshFunctionBase< TMesh, TQEType* >
00037 {
00038 public:
00039
00041 typedef QuadEdgeMeshEulerOperatorSplitFacetFunction Self;
00042 typedef QuadEdgeMeshFunctionBase< TMesh, TQEType* > Superclass;
00043 typedef SmartPointer< Self > Pointer;
00044 typedef SmartPointer< const Self > ConstPointer;
00045
00046 itkNewMacro( Self );
00048 itkTypeMacro( QuadEdgeMeshEulerOperatorSplitFacetFunction, QuadEdgeMeshFunctionBase );
00049
00051 typedef TQEType QEType;
00052
00053 typedef typename Superclass::MeshType MeshType;
00054 typedef typename Superclass::OutputType OutputType;
00055 typedef typename Superclass::EdgeCellType EdgeCellType;
00056
00058 virtual OutputType Evaluate( QEType* h, QEType* g );
00059
00060 protected:
00061 QuadEdgeMeshEulerOperatorSplitFacetFunction(){};
00062 ~QuadEdgeMeshEulerOperatorSplitFacetFunction(){};
00063
00064 private:
00065 QuadEdgeMeshEulerOperatorSplitFacetFunction(const Self& );
00066 void operator=(const Self& );
00067
00068 };
00069
00070 }
00071
00072 #include "itkQuadEdgeMeshEulerOperatorSplitFacetFunction.txx"
00073
00074 #endif
00075
00076
00077