vtkgdcm
vtkRTStructSetProperties.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: GDCM (Grassroots DICOM). A DICOM library
4 
5  Copyright (c) 2006-2011 Mathieu Malaterre
6  All rights reserved.
7  See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
8 
9  This software is distributed WITHOUT ANY WARRANTY; without even
10  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  PURPOSE. See the above copyright notice for more information.
12 
13 =========================================================================*/
23 #ifndef VTKRTSTRUCTSETPROPERTIES_H
24 #define VTKRTSTRUCTSETPROPERTIES_H
25 
26 #include "vtkObject.h"
27 
28 class vtkRTStructSetPropertiesInternals;
29 
30 class VTK_EXPORT vtkRTStructSetProperties : public vtkObject
31 {
32 public:
33  static vtkRTStructSetProperties *New();
34  vtkTypeMacro(vtkRTStructSetProperties,vtkObject);
35  void PrintSelf(ostream& os, vtkIndent indent);
36 
40  virtual void Clear();
41 
43 
46  vtkSetStringMacro(StructureSetLabel);
47  vtkGetStringMacro(StructureSetLabel);
49 
50  vtkSetStringMacro(StructureSetName);
51  vtkGetStringMacro(StructureSetName);
52 
53  vtkSetStringMacro(StructureSetDate);
54  vtkGetStringMacro(StructureSetDate);
55 
56  vtkSetStringMacro(StructureSetTime);
57  vtkGetStringMacro(StructureSetTime);
58 
59  vtkSetStringMacro(SOPInstanceUID);
60  vtkGetStringMacro(SOPInstanceUID);
61 
62  vtkSetStringMacro(StudyInstanceUID);
63  vtkGetStringMacro(StudyInstanceUID);
64 
65  vtkSetStringMacro(SeriesInstanceUID);
66  vtkGetStringMacro(SeriesInstanceUID);
67 
68  vtkSetStringMacro(ReferenceSeriesInstanceUID);
69  vtkGetStringMacro(ReferenceSeriesInstanceUID);
70 
71  vtkSetStringMacro(ReferenceFrameOfReferenceUID);
72  vtkGetStringMacro(ReferenceFrameOfReferenceUID);
73 
77  virtual void DeepCopy(vtkRTStructSetProperties *p);
78 
79  void AddContourReferencedFrameOfReference( vtkIdType pdnum, const char *classuid , const char * instanceuid );
80  const char *GetContourReferencedFrameOfReferenceClassUID( vtkIdType pdnum, vtkIdType id );
81  const char *GetContourReferencedFrameOfReferenceInstanceUID( vtkIdType pdnum, vtkIdType id );
82  vtkIdType GetNumberOfContourReferencedFrameOfReferences();
83  vtkIdType GetNumberOfContourReferencedFrameOfReferences(vtkIdType pdnum);
84 
85  void AddReferencedFrameOfReference( const char *classuid , const char * instanceuid );
86  const char *GetReferencedFrameOfReferenceClassUID( vtkIdType id );
87  const char *GetReferencedFrameOfReferenceInstanceUID( vtkIdType id );
88  vtkIdType GetNumberOfReferencedFrameOfReferences();
89 
90  void AddStructureSetROI( int roinumber,
91  const char* refframerefuid,
92  const char* roiname,
93  const char* ROIGenerationAlgorithm,
94  const char* ROIDescription = 0
95  );
96  void AddStructureSetROIObservation( int refnumber,
97  int observationnumber,
98  const char *rtroiinterpretedtype,
99  const char *roiinterpreter,
100  const char *roiobservationlabel = 0
101  );
102 
103  vtkIdType GetNumberOfStructureSetROIs();
104  int GetStructureSetObservationNumber(vtkIdType id);
105  int GetStructureSetROINumber(vtkIdType id);
106  const char *GetStructureSetROIRefFrameRefUID(vtkIdType);
107  const char *GetStructureSetROIName(vtkIdType);
108  const char *GetStructureSetROIGenerationAlgorithm(vtkIdType);
109  const char *GetStructureSetROIDescription(vtkIdType id);
110  const char *GetStructureSetRTROIInterpretedType(vtkIdType id);
111  const char *GetStructureSetROIObservationLabel(vtkIdType id);
112 
113 protected:
116 
121 
125 
128 
133  vtkRTStructSetPropertiesInternals *Internals;
134  //ETX
135 
136 private:
137  vtkRTStructSetProperties(const vtkRTStructSetProperties&); // Not implemented.
138  void operator=(const vtkRTStructSetProperties&); // Not implemented.
139 };
140 
141 #endif
some rtstruct properties.
vtkRTStructSetPropertiesInternals * Internals
PIMPL Encapsulation for STL containers BTX.