GDCM
2.2.3
|
00001 /*========================================================================= 00002 00003 Program: GDCM (Grassroots DICOM). A DICOM library 00004 00005 Copyright (c) 2006-2011 Mathieu Malaterre 00006 All rights reserved. 00007 See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details. 00008 00009 This software is distributed WITHOUT ANY WARRANTY; without even 00010 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00011 PURPOSE. See the above copyright notice for more information. 00012 00013 =========================================================================*/ 00014 #ifndef GDCMSEGMENTWRITER_H 00015 #define GDCMSEGMENTWRITER_H 00016 00017 #include <gdcmWriter.h> 00018 #include <gdcmSegment.h> 00019 00020 namespace gdcm 00021 { 00022 00029 class GDCM_EXPORT SegmentWriter : public Writer 00030 { 00031 public: 00032 typedef std::vector< SmartPointer< Segment > > SegmentVector; 00033 00034 SegmentWriter(); 00035 00036 virtual ~SegmentWriter(); 00037 00039 bool Write(); // Set to protected ? 00040 00041 //** Segment getters/setters **// 00042 unsigned int GetNumberOfSegments() const; 00043 void SetNumberOfSegments(const unsigned int size); 00044 00045 const SegmentVector & GetSegments() const; 00046 SegmentVector & GetSegments(); 00047 SmartPointer< Segment > GetSegment(const unsigned int idx = 0) const; 00048 00049 void AddSegment(SmartPointer< Segment > segment); 00050 00051 void SetSegments(SegmentVector & segments); 00052 00053 protected: 00054 00055 bool PrepareWrite(); 00056 00057 00058 SegmentVector Segments; 00059 }; 00060 00061 } 00062 00063 #endif // GDCMSEGMENTWRITER_H