00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef __mitkMeshToMeshFilter_h
00012 #define __mitkMeshToMeshFilter_h
00013
00014 #include "mitkFilter.h"
00015 #include "mitkRCPtr.h"
00016 #include "mitkMesh.h"
00017 #include "mitkOoCGlobalSettings.h"
00018
00024 class MITK_COMMON_API mitkMeshToMeshFilter : public mitkFilter
00025 {
00026 public:
00027 MITK_TYPE(mitkMeshToMeshFilter, mitkFilter)
00028
00029 virtual void PrintSelf(ostream &os);
00030
00035 void SetInput(mitkMesh *mesh) { m_InData = mesh; }
00036
00041 mitkMesh* GetInput() { return m_InData; }
00042
00052 void SetOoCSupport(char const *diskPath=mitkOoCGlobalSettings::DiskCachePath, unsigned int bufBlockNum = mitkOoCGlobalSettings::BufferedSliceNumber, bool supportOoC = true);
00053
00058 mitkMesh* GetOutput()
00059 { if (m_OutData) return m_OutData; return (m_OutData=this->_createOutMesh()); }
00060
00065 void SetOutputMesh(mitkMesh *mesh);
00066
00067 protected:
00068 mitkMeshToMeshFilter();
00069 virtual ~mitkMeshToMeshFilter();
00070
00071 virtual mitkMesh* _createOutMesh() = 0;
00072
00073 mitkRCPtr<mitkMesh> m_InData;
00074 mitkMesh *m_OutData;
00075
00076 mitkString *m_DiskPath;
00077 unsigned int m_BufferedBlockNum;
00078
00079 bool m_NeedOoC;
00080
00081
00082 private:
00083 mitkMeshToMeshFilter(const mitkMeshToMeshFilter&);
00084 void operator = (const mitkMeshToMeshFilter&);
00085
00086 };
00087
00088
00089
00090
00091
00092
00093 #endif
00094