#ifndef __CPM__ALGORITHMS__BASE__FORCEFUNCTION__H__ #define __CPM__ALGORITHMS__BASE__FORCEFUNCTION__H__ #include namespace cpm { namespace Algorithms { namespace Base { /** */ template< class M > class ForceFunction : public itk::FunctionBase< typename M::PointIdentifier, typename M::VectorType > { public: typedef M TMesh; typedef typename M::PointIdentifier TPointId; typedef typename M::VectorType TVector; typedef ForceFunction Self; typedef itk::FunctionBase< TPointId, TVector > Superclass; typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; public: itkTypeMacro( ForceFunction, itkFunctionBase ); itkGetConstObjectMacro( Mesh, M ); itkSetConstObjectMacro( Mesh, M ); protected: ForceFunction( ) : Superclass( ) { } virtual ~ForceFunction( ) { } private: ForceFunction( const Self& ); Self& operator=( const Self& ); protected: typename M::ConstPointer m_Mesh; }; } // ecapseman } // ecapseman } // ecapseman #endif // __CPM__ALGORITHMS__BASE__FORCEFUNCTION__H__ // eof - $RCSfile$