MeVisLab Toolbox Reference
mlDicomModifyList.h
Go to the documentation of this file.
1 // Copyright (c) Fraunhofer MEVIS, Germany. All rights reserved.
2 // **InsertLicense** code
3 //----------------------------------------------------------------------------------
6 
11 //----------------------------------------------------------------------------------
12 #pragma once
13 
14 #include "MLDicomModifySystem.h"
15 #include "mlBase.h"
16 #include "mlDicomModifyBase.h"
17 
18 ML_START_NAMESPACE
19 
20 // Forwards.
21 class DicomModifyBase;
22 
23 //----------------------------------------------------------------------------------
27 //----------------------------------------------------------------------------------
29 public:
33 
35  ~DicomModifyList() override;
36 
41  void addModifier(DicomModifyBase* modifier, bool atEnd=true);
42 
44  void clear();
45 
54  virtual std::string applyModifications(DCMTree::TreePtr dcmTree,
55  const FieldContainer *treeInfos=nullptr);
56 
61  inline std::vector<DicomModifyBase*> &getModifierList(){ return _modifiers; }
62 
64  inline const std::vector<DicomModifyBase*> &getModifierList() const { return _modifiers; }
65 
68  void setInputPlugin(DicomModifyList *inputPlugin=nullptr){ _inputPlugin = inputPlugin; }
69 
71  DicomModifyList *getInputPlugin() const { return _inputPlugin; }
72 
73 private:
76 
78  DicomModifyList &operator=(const DicomModifyList&);
79 
82  DicomModifyList *_inputPlugin;
83 
85  std::vector<DicomModifyBase*> _modifiers;
86 
89 };
90 
91 ML_END_NAMESPACE
Project global and OS specific declarations.
#define ML_DICOM_MODIFY_EXPORT
DLL export macro definition.
Class representing general ML objects that support import/export via strings (setPersistentState() an...
Definition: mlBase.h:62
A base class which allows the modification of DICOM tags in a (cloned) DICOM tree.
Class which manages a list of DicomModifyBase or derived objects, with an input for concatenation to ...
void clear()
Makes modifier array empty and deletes all of them.
DicomModifyList()
Constructor creating an empty list of tag modifiers and setting the optional input plugin with a conc...
~DicomModifyList() override
Destructor also destroying all of its stored Modifiers.
void setInputPlugin(DicomModifyList *inputPlugin=nullptr)
Sets an optional plugin to be called by applyModififcations or resets it to nullptr; the input is cal...
std::vector< DicomModifyBase * > & getModifierList()
Get direct access to internal list to allow callers direct manipulations which, however,...
void addModifier(DicomModifyBase *modifier, bool atEnd=true)
Add an object derived from DicomModifyBase which then will be owned (and on destruction deleted) by t...
const std::vector< DicomModifyBase * > & getModifierList() const
Same as getModifierList() only for constant access.
DicomModifyList * getInputPlugin() const
Returns the optional plugin to be called by applyModififcations.
virtual std::string applyModifications(DCMTree::TreePtr dcmTree, const FieldContainer *treeInfos=nullptr)
Apply all DicomModify objects to dcmTree; the operations optionally defined with the input are perfor...
Defines the class FieldContainer to encapsulate a vector of fields for (see class Field).
Header file of a base class which allows the modification of DICOM tags in a (cloned) DICOM tree.
#define ML_CLASS_HEADER(className)
Same like ML_CLASS_HEADER_EXPORTED with a non existing export symbol.
boost::shared_ptr< Tree > TreePtr
shared pointer to a DCMTree::Tree
Definition: DCMTree_Lib.h:70