GDCM 2.2.1

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

- File List
- File Members

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 =========================================================================*/
14 // .NAME vtkRTStructSetProperties - some rtstruct properties.
15 // .SECTION Description
16 //
17 // .SECTION See Also
18 // vtkGDCMPolyDataReader vtkGDCMPolyDataWriter
19
20 #ifndef VTKRTSTRUCTSETPROPERTIES_H
21 #define VTKRTSTRUCTSETPROPERTIES_H
22
23 #include "vtkObject.h"
24
25 class vtkRTStructSetPropertiesInternals;
26
27 class VTK_EXPORT vtkRTStructSetProperties : public vtkObject
28 {
29 public:
30 static vtkRTStructSetProperties *New();
31 vtkTypeRevisionMacro(vtkRTStructSetProperties,vtkObject);
32 void PrintSelf(ostream& os, vtkIndent indent);
33
34 // Description:
35 // Convenience method to reset all fields to an emptry string/value
36 virtual void Clear();
37
38 // Description:
39 //
40 vtkSetStringMacro(StructureSetLabel);
41 vtkGetStringMacro(StructureSetLabel);
42
43 vtkSetStringMacro(StructureSetName);
44 vtkGetStringMacro(StructureSetName);
45
46 vtkSetStringMacro(StructureSetDate);
47 vtkGetStringMacro(StructureSetDate);
48
49 vtkSetStringMacro(StructureSetTime);
50 vtkGetStringMacro(StructureSetTime);
51
52 vtkSetStringMacro(SOPInstanceUID);
53 vtkGetStringMacro(SOPInstanceUID);
54
55 vtkSetStringMacro(StudyInstanceUID);
56 vtkGetStringMacro(StudyInstanceUID);
57
58 vtkSetStringMacro(SeriesInstanceUID);
59 vtkGetStringMacro(SeriesInstanceUID);
60
61 vtkSetStringMacro(ReferenceSeriesInstanceUID);
62 vtkGetStringMacro(ReferenceSeriesInstanceUID);
63
64 vtkSetStringMacro(ReferenceFrameOfReferenceUID);
65 vtkGetStringMacro(ReferenceFrameOfReferenceUID);
66
67 // Description:
68 // Copy the contents of p to this instance.
69 virtual void DeepCopy(vtkRTStructSetProperties *p);
70
71 void AddContourReferencedFrameOfReference( vtkIdType pdnum, const char *classuid , const char * instanceuid );
72 const char *GetContourReferencedFrameOfReferenceClassUID( vtkIdType pdnum, vtkIdType id );
73 const char *GetContourReferencedFrameOfReferenceInstanceUID( vtkIdType pdnum, vtkIdType id );
74 vtkIdType GetNumberOfContourReferencedFrameOfReferences();
75 vtkIdType GetNumberOfContourReferencedFrameOfReferences(vtkIdType pdnum);
76
77 void AddReferencedFrameOfReference( const char *classuid , const char * instanceuid );
78 const char *GetReferencedFrameOfReferenceClassUID( vtkIdType id );
79 const char *GetReferencedFrameOfReferenceInstanceUID( vtkIdType id );
80 vtkIdType GetNumberOfReferencedFrameOfReferences();
81
82 void AddStructureSetROI( int roinumber,
83 const char* refframerefuid,
84 const char* roiname,
85 const char* ROIGenerationAlgorithm);
86 void AddStructureSetROIObservation( int refnumber,
87 int observationnumber,
88 const char *rtroiinterpretedtype,
89 const char *roiinterpreter);
90
91 vtkIdType GetNumberOfStructureSetROIs();
92 int GetStructureSetObservationNumber(vtkIdType id);
93 int GetStructureSetROINumber(vtkIdType id);
94 const char *GetStructureSetROIRefFrameRefUID(vtkIdType);
95 const char *GetStructureSetROIName(vtkIdType);
96 const char *GetStructureSetROIGenerationAlgorithm(vtkIdType);
97 const char *GetStructureSetRTROIInterpretedType(vtkIdType id);
98
99 protected:
100 vtkRTStructSetProperties();
101 ~vtkRTStructSetProperties();
102
103 char *StructureSetLabel;
104 char *StructureSetName;
105 char *StructureSetDate;
106 char *StructureSetTime;
107
108 char *SOPInstanceUID;
109 char *StudyInstanceUID;
110 char *SeriesInstanceUID;
111
112 char *ReferenceSeriesInstanceUID;
113 char *ReferenceFrameOfReferenceUID;
114
115 // Description:
116 // PIMPL Encapsulation for STL containers
117 //BTX
118 vtkRTStructSetPropertiesInternals *Internals;
119 //ETX
120
121 private:
122 vtkRTStructSetProperties(const vtkRTStructSetProperties&); // Not implemented.
123 void operator=(const vtkRTStructSetProperties&); // Not implemented.
124 };
125
126 #endif