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
19
20// Forwards.
21class DicomModifyBase;
22
23//----------------------------------------------------------------------------------
27//----------------------------------------------------------------------------------
29public:
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
73private:
76
78 DicomModifyList &operator=(const DicomModifyList&);
79
82 DicomModifyList *_inputPlugin;
83
85 std::vector<DicomModifyBase*> _modifiers;
86
89};
90
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:59
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 ...
const std::vector< DicomModifyBase * > & getModifierList() const
Same as getModifierList() only for constant access.
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 * getInputPlugin() const
Returns the optional plugin to be called by applyModififcations.
~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...
void addModifier(DicomModifyBase *modifier, bool atEnd=true)
Add an object derived from DicomModifyBase which then will be owned (and on destruction deleted) by t...
std::vector< DicomModifyBase * > & getModifierList()
Get direct access to internal list to allow callers direct manipulations which, however,...
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.
Target mlrange_cast(Source arg)
Generic version of checked ML casts.
#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:72