GDCM 2.2.0

- Main Page
- Related Pages
- Namespaces
- Classes
- Files
- Directories
- Examples

- File List
- File Members

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