MeVisLab Toolbox Reference
mlDcmDRTBrachyReferencedDoseReferenceSequenceInterface.h
Go to the documentation of this file.
1 // Copyright (c) Fraunhofer MEVIS, Germany. All rights reserved.
2 // **InsertLicense** code
3 //----------------------------------------------------------------------------------
4 //
5 // NOTE:
6 // This file has been generated automatically by
7 // FMEwork/ReleaseMeVis/Configuration/CodeGenerators/dcmtkToMLConverter/convertDcmtkToML.py
8 // using the template file
9 // FMEwork/ReleaseMeVis/Configuration/CodeGenerators/dcmtkToMLConverter/MLDcmtkAccessoriesNew/templates/DcmSequenceInterface.h
10 //
11 // Destination project:
12 // FMEwork/ReleaseMeVis/Sources/Shared/MLDcmtkAccessoriesNew/DcmSequenceInterfaces
13 //
14 //----------------------------------------------------------------------------------
16 
21 //----------------------------------------------------------------------------------
22 
23 #ifndef __mlDcmDRTBrachyReferencedDoseReferenceSequenceInterface_H
24 #define __mlDcmDRTBrachyReferencedDoseReferenceSequenceInterface_H
25 
26 // Local includes
27 #include "mlDcmtkAccessories.h"
28 
29 // Dcmtk includes
30 //#include "mlDcmDRTBrachyReferencedDoseReferenceSequenceInterface.h" //DRTBrachyReferencedDoseReferenceSequence
31 
32 
33 // ML includes
34 #ifndef __mlModuleIncludes_H
35 #include "mlModuleIncludes.h"
36 #endif
37 
38 ML_START_NAMESPACE
39 
40 // ------------------------------------------------------------------
42 // ------------------------------------------------------------------
44 {
45  public:
46 
48  {
49  public:
50 
51  Item() { _dcmItem = DcmtkAccessories::createNewDicomTree(); }
52 
53  Item(DCMTree::TreePtr dcmItem) : _dcmItem(dcmItem) {}
54 
55  Item(const Item &copyDcmItem) : _dcmItem(copyDcmItem.getTreePtr()) {}
56 
57  Item &operator=(const Item &copyDcmItem){ _dcmItem = copyDcmItem.getTreePtr(); return *this; }
58 
59  virtual ~Item() {}
60 
61  DCMTree::TreePtr getTreePtr() const { return _dcmItem; }
62 
63  bool isValid() const { return _dcmItem.get() != nullptr; }
64 
65 
66  // CumulativeDoseReferenceCoefficient (300a,010c) vr=DS, vm=1, type=1C
67  bool getCumulativeDoseReferenceCoefficient(std::string& parameter) const;
68  std::string getCumulativeDoseReferenceCoefficientTag() const { return "(300a,010c)"; }
69  bool setCumulativeDoseReferenceCoefficient(std::string parameter);
70 
71  // ReferencedDoseReferenceNumber (300c,0051) vr=IS, vm=1, type=1C
72  bool getReferencedDoseReferenceNumber(std::string& parameter) const;
73  std::string getReferencedDoseReferenceNumberTag() const { return "(300c,0051)"; }
74  bool setReferencedDoseReferenceNumber(std::string parameter);
75 
76 
77  private:
78 
79  DCMTree::TreePtr _dcmItem;
80 
81  };
82 
84 
86  DcmDRTBrachyReferencedDoseReferenceSequenceInterface(std::vector<DcmDRTBrachyReferencedDoseReferenceSequenceInterface::Item> dcmSequence) : _itemVec(dcmSequence) {}
87 
89  for(size_t i=0; i < treePtrSeq.size(); i++)
90  {
91  _itemVec.push_back(DcmDRTBrachyReferencedDoseReferenceSequenceInterface::Item(treePtrSeq[i]));
92  }
93  }
94 
97  // CumulativeDoseReferenceCoefficient (300a,010c) vr=DS, vm=1, type=1C
98  bool getCumulativeDoseReferenceCoefficient(unsigned long idx, std::string& parameter) const;
99  bool getCumulativeDoseReferenceCoefficient(DCMTree::TreePtr item, std::string& parameter) const;
100  std::string getCumulativeDoseReferenceCoefficientTag() const { return "(300a,010c)"; }
101  bool setCumulativeDoseReferenceCoefficient(unsigned long idx, std::string parameter);
102 
103  // ReferencedDoseReferenceNumber (300c,0051) vr=IS, vm=1, type=1C
104  bool getReferencedDoseReferenceNumber(unsigned long idx, std::string& parameter) const;
105  bool getReferencedDoseReferenceNumber(DCMTree::TreePtr item, std::string& parameter) const;
106  std::string getReferencedDoseReferenceNumberTag() const { return "(300c,0051)"; }
107  bool setReferencedDoseReferenceNumber(unsigned long idx, std::string parameter);
108 
109 
112  void setSequence(std::vector<DcmDRTBrachyReferencedDoseReferenceSequenceInterface::Item> dcmSequence) {
113  _itemVec = dcmSequence;
114  }
115 
118  std::vector<DcmDRTBrachyReferencedDoseReferenceSequenceInterface::Item> getSequence() const {
119  return _itemVec;
120  }
121 
124  bool hasSequence() const {
125  return (_itemVec.size() != 0);
126  }
127 
131  return static_cast<MLint>(_itemVec.size());
132  }
133 
137  if (_itemVec.size() > idx) {
138  return _itemVec[idx];
139  }
141  }
142 
147  return _itemVec[_itemVec.size()-1];
148  }
149 
151  _itemVec.push_back(newItem);
152  }
153 
156  bool insertItem(const size_t idx) {
157  if (_itemVec.size() > idx) {
158  std::vector<DcmDRTBrachyReferencedDoseReferenceSequenceInterface::Item>::iterator it = _itemVec.begin();
159  std::advance(it, idx);
161  return true;
162  }
163  return false;
164  }
165 
168  bool removeItem(const size_t idx) {
169  if ( _itemVec.size() > idx ) {
170  std::vector<DcmDRTBrachyReferencedDoseReferenceSequenceInterface::Item>::iterator it = _itemVec.begin();
171  std::advance(it, idx);
172  _itemVec.erase(it);
173  return true;
174  }
175  return false;
176  }
177 
178  protected:
180  std::vector<DcmDRTBrachyReferencedDoseReferenceSequenceInterface::Item> _itemVec;
181 };
182 
183 ML_END_NAMESPACE
184 
185 #endif // __mlDcmDRTBrachyReferencedDoseReferenceSequenceInterface_H
186 
187 /* MeVis-Hidden-Components-Start */
188 /* MeVis-Hidden-Components-End */
#define MLDCMTKACCESSORIES_EXPORT
bool getReferencedDoseReferenceNumber(std::string &parameter) const
bool getCumulativeDoseReferenceCoefficient(std::string &parameter) const
Class to provide access to DRTBrachyReferencedDoseReferenceSequence.
MLint getNumberOfItems() const
Return number of items the internal sequence consists of.
bool hasSequence() const
Check if the DRTBrachyReferencedDoseReferenceSequence is set.
bool removeItem(const size_t idx)
Removes the indicated item from the sequence.
void setSequence(std::vector< DcmDRTBrachyReferencedDoseReferenceSequenceInterface::Item > dcmSequence)
Set the DRTBrachyReferencedDoseReferenceSequence this interface class provides access to.
bool getReferencedDoseReferenceNumber(unsigned long idx, std::string &parameter) const
bool getReferencedDoseReferenceNumber(DCMTree::TreePtr item, std::string &parameter) const
DcmDRTBrachyReferencedDoseReferenceSequenceInterface(std::vector< DcmDRTBrachyReferencedDoseReferenceSequenceInterface::Item > dcmSequence)
Default Constructor.
std::vector< DcmDRTBrachyReferencedDoseReferenceSequenceInterface::Item > getSequence() const
Return the DRTBrachyReferencedDoseReferenceSequence this interface class provides access to.
bool getCumulativeDoseReferenceCoefficient(DCMTree::TreePtr item, std::string &parameter) const
bool insertItem(const size_t idx)
Insert an item at the indicated position.
bool setReferencedDoseReferenceNumber(unsigned long idx, std::string parameter)
DcmDRTBrachyReferencedDoseReferenceSequenceInterface::Item getItem(const size_t idx) const
Gets the item at the indicated position.
bool getCumulativeDoseReferenceCoefficient(unsigned long idx, std::string &parameter) const
bool setCumulativeDoseReferenceCoefficient(unsigned long idx, std::string parameter)
DcmDRTBrachyReferencedDoseReferenceSequenceInterface::Item & addItem()
Adds a new item to the sequence.
void addItem(DcmDRTBrachyReferencedDoseReferenceSequenceInterface::Item newItem)
std::vector< DcmDRTBrachyReferencedDoseReferenceSequenceInterface::Item > _itemVec
Reference to the wrapped DICOM tree pointer vector.
Class collecting some DICOM helper functionality explicitly for dcmtk.
MLint64 MLint
A signed ML integer type with at least 64 bits used for index calculations on very large images even ...
Definition: mlTypeDefs.h:578
std::vector< TreePtr > TreePtrVector
a vector of TreePtr - used for sequences
Definition: DCMTree_Lib.h:85
boost::shared_ptr< Tree > TreePtr
shared pointer to a DCMTree::Tree
Definition: DCMTree_Lib.h:70