Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef _MITK_CONTOUR_SET_H_
00020 #define _MITK_CONTOUR_SET_H_
00021
00022 #include "mitkCommon.h"
00023 #include "MitkExtExports.h"
00024 #include "mitkBaseData.h"
00025 #include "mitkContour.h"
00026 #include <map>
00027
00028 namespace mitk
00029 {
00030
00035 class MitkExt_EXPORT ContourSet : public BaseData
00036 {
00037 public:
00038 mitkClassMacro(ContourSet, BaseData);
00039
00040 itkNewMacro(Self);
00041
00042 typedef std::map<unsigned long,Contour::Pointer> ContourVectorType;
00043 typedef ContourVectorType::iterator ContourIterator;
00044 typedef itk::BoundingBox<unsigned long, 3, ScalarType> BoundingBoxType;
00045
00049 void Initialize();
00050
00054 void AddContour(unsigned int index, mitk::Contour::Pointer contour);
00055
00059 void RemoveContour(unsigned long index);
00060
00064 unsigned int GetNumberOfContours();
00065
00069 ContourVectorType GetContours();
00070
00074 virtual void UpdateOutputInformation();
00075
00079 virtual void SetRequestedRegionToLargestPossibleRegion();
00080
00084 virtual bool RequestedRegionIsOutsideOfTheBufferedRegion();
00085
00089 virtual bool VerifyRequestedRegion();
00090
00094 virtual void SetRequestedRegion(itk::DataObject *data);
00095
00096 protected:
00097 ContourSet();
00098 virtual ~ContourSet();
00099
00100 private:
00101
00105 BoundingBoxType::Pointer m_BoundingBox;
00106
00107 ContourVectorType m_ContourVector;
00108
00109 unsigned int m_NumberOfContours;
00110
00111 };
00112
00113 }
00114
00115 #endif //_MITK_CONTOUR_SET_H_