GDCM
2.2.0
|
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 GDCMSURFACEWRITER_H 00015 #define GDCMSURFACEWRITER_H 00016 00017 #include <gdcmSegmentWriter.h> 00018 #include <gdcmSurface.h> 00019 00020 namespace gdcm 00021 { 00022 00029 class GDCM_EXPORT SurfaceWriter : public SegmentWriter 00030 { 00031 public: 00032 SurfaceWriter(); 00033 00034 virtual ~SurfaceWriter(); 00035 00036 // const Surface & GetSurface() const { return *SurfaceData; } 00037 // Surface & GetSurface() { return *SurfaceData; } 00038 // void SetSurface(Surface const & segment); 00039 00041 bool Write(); // Execute() 00042 00043 unsigned long GetNumberOfSurfaces(); 00044 void SetNumberOfSurfaces(const unsigned long nb); 00045 00046 protected: 00047 00048 bool PrepareWrite(); 00049 00050 void ComputeNumberOfSurfaces(); 00051 00052 bool PrepareWritePointMacro(SmartPointer< Surface > surface, 00053 DataSet & surfaceDS, 00054 const TransferSyntax & ts); 00055 00056 //0066 0001 UL 1 Number of Surfaces 00057 unsigned long NumberOfSurfaces; 00058 }; 00059 00060 } 00061 00062 #endif // GDCMSURFACEWRITER_H