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::EdgeCellType EdgeCellType;
00073 typedef typename MeshType::EdgeListType EdgeListType;
00074
00075 itkNewMacro( Self );
00076 itkTypeMacro( QuadEdgeMeshBoundaryEdgesMeshFunction, FunctionBase );
00077
00078 virtual OutputType Evaluate( const InputType& mesh ) const;
00079
00080 protected:
00081 QuadEdgeMeshBoundaryEdgesMeshFunction( ) { };
00082
00083 private:
00084 QuadEdgeMeshBoundaryEdgesMeshFunction( const Self& );
00085 void operator=( const Self& );
00086 };
00087
00088 }
00089
00090 #ifndef ITK_MANUAL_INSTANTIATION
00091 #include "itkQuadEdgeMeshBoundaryEdgesMeshFunction.txx"
00092 #endif
00093
00094 #endif
00095