MeVisLab Toolbox Reference
mlPresentationStateBase.h
Go to the documentation of this file.
1 // Copyright (c) Fraunhofer MEVIS, Germany. All rights reserved.
2 // **InsertLicense** code
3 //----------------------------------------------------------------------------------
5 
10 //----------------------------------------------------------------------------------
11 
12 #ifndef __mlPresentationState_H
13 #define __mlPresentationState_H
14 
16 #include "mlBase.h"
17 #include <ThirdPartyWarningsDisable.h>
18 #include <boost/shared_ptr.hpp>
19 #include <dcmtk/dcmdata/dcdatset.h>
20 #include <dcmtk/dcmdata/dcfilefo.h>
21 #include "dcmtk/dcmpstat/dcmpstat.h"
22 #include "dcmtk/dcmpstat/dvpstat.h"
23 #include "dcmtk/dcmpstat/dvpstx.h" // Text objects from presentation states
24 #include "dcmtk/dcmpstat/dvpsgr.h" // Graphic objects from presentation states
25 #include "dcmtk/dcmpstat/dvpscu.h" // Curve objects from presentation states
26 #include <ThirdPartyWarningsRestore.h>
27 
29 typedef boost::shared_ptr<DcmFileFormat> DcmFileFormatPtr;
30 
32 typedef boost::shared_ptr<DVPresentationState> DVPresentationStatePtr;
33 
34 ML_START_NAMESPACE
35 
36 // Forward to pass pointers.
37 class MultiFileVolumeList;
38 
39 // ------------------------------------------------------------------
41 // ------------------------------------------------------------------
43 {
44 public:
45 
49  PresentationState(const std::string &dcmFileName="",
50  MultiFileVolumeList *mfvl=NULL);
51 
53  DVPresentationStatePtr getDVPresentationStateIOD() { return _internalObjectPtr; }
54 
56  bool isValid() { return _internalObjectPtr != NULL; }
57 
61 
62 private:
63 
65  DcmFileFormatPtr _dcmFilePtr;
66 
68  DVPresentationStatePtr _internalObjectPtr;
69 
71  MultiFileVolumeList *_multiFileVolumeList;
72 
75 };
76 
77 ML_END_NAMESPACE
78 
79 #endif // __mlPresentationState_H
80 
Project global and OS specific declarations.
#define ML_MULTIFILE_VOLUME_LIST_DCMTK_OUTPUTS_EXPORT
DLL export macro definition.
Class representing general ML objects that support import/export via strings (setPersistentState() an...
Definition: mlBase.h:62
Class managing a list of MultiFileVolume instances for the DirectDicomImport module; taking ownership...
Base object class for passing DVPresentationState objects between MeVisLab modules.
PresentationState(const std::string &dcmFileName="", MultiFileVolumeList *mfvl=NULL)
Constructor specifying the name of the DICOM file containing the PR document to be wrapped as well as...
const MultiFileVolumeList * getMultiFileVolumeList()
Returns the associated MultiFileVolumeList in which this object lives or NULL if there is none.
DVPresentationStatePtr getDVPresentationStateIOD()
Get the PresentationState dcmtk object.
bool isValid()
Return true if wrapped PresentationStateumentIOD object is valid.
boost::shared_ptr< DcmFileFormat > DcmFileFormatPtr
Boost shared pointer managing a DcmFileFormat object.
boost::shared_ptr< DcmFileFormat > DcmFileFormatPtr
Boost shared pointer managing a DcmFileFormat object.
boost::shared_ptr< DVPresentationState > DVPresentationStatePtr
Boost shared pointer managing a PresentationState object.
#define ML_CLASS_HEADER(className)
Same like ML_CLASS_HEADER_EXPORTED with a non existing export symbol.