00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 #ifndef __itkQuadEdgeMeshBoundaryEdgesMeshFunction_h
00033 #define __itkQuadEdgeMeshBoundaryEdgesMeshFunction_h
00034
00035
00036 #include<itkFunctionBase.h>
00037
00038 namespace itk
00039 {
00040
00052 template< class TMesh >
00053 class ITK_EXPORT QuadEdgeMeshBoundaryEdgesMeshFunction
00054 : public FunctionBase< TMesh, typename TMesh::EdgeListPointerType >
00055 {
00056 public:
00057
00058 typedef QuadEdgeMeshBoundaryEdgesMeshFunction Self;
00059 typedef SmartPointer< Self > Pointer;
00060 typedef SmartPointer< const Self > ConstPointer;
00061 typedef FunctionBase< TMesh,
00062 typename TMesh::EdgeListPointerType > Superclass;
00064
00065
00066 typedef typename Superclass::InputType InputType;
00067 typedef typename Superclass::OutputType OutputType;
00068
00069
00070 typedef InputType MeshType;
00071 typedef typename MeshType::QEPrimal QEPrimal;
00072 typedef typename MeshType::EdgeListType EdgeListType;
00073
00074 itkNewMacro( Self );
00075 itkTypeMacro( QuadEdgeMeshBoundaryEdgesMeshFunction, FunctionBase );
00076
00077 virtual OutputType Evaluate( const InputType& mesh ) const;
00078
00079 protected:
00080 QuadEdgeMeshBoundaryEdgesMeshFunction( ) { };
00081
00082 private:
00083 QuadEdgeMeshBoundaryEdgesMeshFunction( const Self& );
00084 void operator=( const Self& );
00085 };
00086
00087 }
00088
00089 #ifndef ITK_MANUAL_INSTANTIATION
00090 #include "itkQuadEdgeMeshBoundaryEdgesMeshFunction.txx"
00091 #endif
00092
00093 #endif
00094