#ifndef __CPM__ALGORITHMS__QUADEDGE__MESHZIPFUNCTION__H__ #define __CPM__ALGORITHMS__QUADEDGE__MESHZIPFUNCTION__H__ #include namespace cpm { namespace Algorithms { namespace QuadEdge { /** */ template< typename M > class MeshZipFunction : public MeshFunctionBase< M, typename M::TPrimalEdge*, typename M::TPrimalEdge::TPrimalGeometry > { public: typedef typename M::TPrimalEdge TEdge; typedef typename TEdge::TPrimalGeometry TGeometry; typedef MeshZipFunction Self; typedef MeshFunctionBase< M, TEdge*, TGeometry > Superclass; typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; typedef M TMesh; typedef typename Superclass::TInput TInput; typedef typename Superclass::TOutput TOutput; public: itkNewMacro( Self ); itkTypeMacro( MeshZipFunction, MeshFunctionBase ); public: virtual TOutput Evaluate( const TInput& e ); protected: MeshZipFunction( ); virtual ~MeshZipFunction( ); private: // Purposely not implemented MeshZipFunction( const Self& ); void operator=( const Self& ); }; } // ecapseman } // ecapseman } // ecapseman #include #endif // __CPM__ALGORITHMS__QUADEDGE__MESHZIPFUNCTION__H__ // eof - $RCSfile$