GDCM  2.2.0
vtkRTStructSetProperties.h
Go to the documentation of this file.
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 // .NAME vtkRTStructSetProperties - some rtstruct properties.
00015 // .SECTION Description
00016 //
00017 // .SECTION See Also
00018 // vtkGDCMPolyDataReader vtkGDCMPolyDataWriter
00019 
00020 #ifndef VTKRTSTRUCTSETPROPERTIES_H
00021 #define VTKRTSTRUCTSETPROPERTIES_H
00022 
00023 #include "vtkObject.h"
00024 
00025 class vtkRTStructSetPropertiesInternals;
00026 
00027 class VTK_EXPORT vtkRTStructSetProperties : public vtkObject
00028 {
00029 public:
00030   static vtkRTStructSetProperties *New();
00031   vtkTypeRevisionMacro(vtkRTStructSetProperties,vtkObject);
00032   void PrintSelf(ostream& os, vtkIndent indent);
00033 
00034   // Description:
00035   // Convenience method to reset all fields to an emptry string/value
00036   virtual void Clear();
00037 
00038   // Description:
00039   //
00040   vtkSetStringMacro(StructureSetLabel);
00041   vtkGetStringMacro(StructureSetLabel);
00042 
00043   vtkSetStringMacro(StructureSetName);
00044   vtkGetStringMacro(StructureSetName);
00045 
00046   vtkSetStringMacro(StructureSetDate);
00047   vtkGetStringMacro(StructureSetDate);
00048 
00049   vtkSetStringMacro(StructureSetTime);
00050   vtkGetStringMacro(StructureSetTime);
00051 
00052   vtkSetStringMacro(SOPInstanceUID);
00053   vtkGetStringMacro(SOPInstanceUID);
00054 
00055   vtkSetStringMacro(StudyInstanceUID);
00056   vtkGetStringMacro(StudyInstanceUID);
00057 
00058   vtkSetStringMacro(SeriesInstanceUID);
00059   vtkGetStringMacro(SeriesInstanceUID);
00060 
00061   vtkSetStringMacro(ReferenceSeriesInstanceUID);
00062   vtkGetStringMacro(ReferenceSeriesInstanceUID);
00063 
00064   vtkSetStringMacro(ReferenceFrameOfReferenceUID);
00065   vtkGetStringMacro(ReferenceFrameOfReferenceUID);
00066 
00067   // Description:
00068   // Copy the contents of p to this instance.
00069   virtual void DeepCopy(vtkRTStructSetProperties *p);
00070 
00071   void AddContourReferencedFrameOfReference( vtkIdType pdnum, const char *classuid , const char * instanceuid );
00072   const char *GetContourReferencedFrameOfReferenceClassUID( vtkIdType pdnum, vtkIdType id );
00073   const char *GetContourReferencedFrameOfReferenceInstanceUID( vtkIdType pdnum, vtkIdType id );
00074   vtkIdType GetNumberOfContourReferencedFrameOfReferences();
00075   vtkIdType GetNumberOfContourReferencedFrameOfReferences(vtkIdType pdnum);
00076 
00077   void AddReferencedFrameOfReference( const char *classuid , const char * instanceuid );
00078   const char *GetReferencedFrameOfReferenceClassUID( vtkIdType id );
00079   const char *GetReferencedFrameOfReferenceInstanceUID( vtkIdType id );
00080   vtkIdType GetNumberOfReferencedFrameOfReferences();
00081 
00082   void AddStructureSetROI( int roinumber,
00083     const char* refframerefuid,
00084     const char* roiname,
00085     const char* ROIGenerationAlgorithm);
00086   void AddStructureSetROIObservation( int refnumber,
00087     int observationnumber,
00088     const char *rtroiinterpretedtype,
00089     const char *roiinterpreter);
00090 
00091   vtkIdType GetNumberOfStructureSetROIs();
00092   int GetStructureSetObservationNumber(vtkIdType id);
00093   int GetStructureSetROINumber(vtkIdType id);
00094   const char *GetStructureSetROIRefFrameRefUID(vtkIdType);
00095   const char *GetStructureSetROIName(vtkIdType);
00096   const char *GetStructureSetROIGenerationAlgorithm(vtkIdType);
00097   const char *GetStructureSetRTROIInterpretedType(vtkIdType id);
00098 
00099 protected:
00100   vtkRTStructSetProperties();
00101   ~vtkRTStructSetProperties();
00102 
00103   char *StructureSetLabel;
00104   char *StructureSetName;
00105   char *StructureSetDate;
00106   char *StructureSetTime;
00107 
00108   char *SOPInstanceUID;
00109   char *StudyInstanceUID;
00110   char *SeriesInstanceUID;
00111 
00112   char *ReferenceSeriesInstanceUID;
00113   char *ReferenceFrameOfReferenceUID;
00114 
00115   // Description:
00116   // PIMPL Encapsulation for STL containers
00117   //BTX
00118   vtkRTStructSetPropertiesInternals *Internals;
00119   //ETX
00120 
00121 private:
00122   vtkRTStructSetProperties(const vtkRTStructSetProperties&); // Not implemented.
00123   void operator=(const vtkRTStructSetProperties&); // Not implemented.
00124 };
00125 
00126 #endif

Generated on Tue Mar 27 2012 13:33:41 for GDCM by doxygen 1.8.0
SourceForge.net Logo