34 #ifndef CXDATAMANAGER_H_
35 #define CXDATAMANAGER_H_
37 #include "org_custusx_core_patientmodel_Export.h"
43 #include <boost/shared_ptr.hpp>
68 class org_custusx_core_patientmodel_EXPORT
DataManager:
public QObject
72 typedef std::map<QString, DataPtr>
DataMap;
74 typedef std::map<QString, MeshPtr>
MeshMap;
75 typedef std::map<QString, VideoSourcePtr>
StreamMap;
83 virtual std::map<QString, ImagePtr> getImages()
const = 0;
86 virtual std::map<QString, MeshPtr> getMeshes()
const = 0;
89 virtual void loadData(
DataPtr data) = 0;
90 virtual DataPtr loadData(
const QString& uid,
const QString& path) = 0;
91 virtual std::map<QString, DataPtr> getData()
const = 0;
92 virtual DataPtr getData(
const QString& uid)
const = 0;
97 virtual Vector3D getCenter()
const = 0;
98 virtual void setCenter(
const Vector3D& center) = 0;
102 virtual QString addLandmark() = 0;
103 virtual void setLandmarkNames(std::vector<QString> names) = 0;
104 virtual void setLandmarkName(QString uid, QString name) = 0;
105 virtual void setLandmarkActive(QString uid,
bool active) = 0;
107 virtual CLINICAL_VIEW getClinicalApplication()
const = 0;
108 virtual void setClinicalApplication(CLINICAL_VIEW application) = 0;
109 virtual void clear() = 0;
110 virtual void removeData(
const QString& uid, QString basePath) = 0;
112 virtual void addXml(QDomNode& parentNode) = 0;
113 virtual void parseXml(QDomNode& datamangerNode, QString absolutePath = QString()) = 0;
119 virtual void generateUidAndName(QString* _uid, QString* _name) = 0;
122 virtual ImagePtr getImage(
const QString& uid)
const;
123 virtual MeshPtr getMesh(
const QString& uid)
const;
127 void centerChanged();
128 void dataAddedOrRemoved();
129 void landmarkPropertiesChanged();
130 void clinicalApplicationChanged();
boost::shared_ptr< class SpaceProvider > SpaceProviderPtr
boost::shared_ptr< class RegistrationHistory > RegistrationHistoryPtr
boost::shared_ptr< class TrackedStream > TrackedStreamPtr
Transform3D Transform3D
Transform3D is a representation of an affine 3D transform.
boost::shared_ptr< class TransferFunctions3DPresets > PresetTransferFunctions3DPtr
boost::shared_ptr< class Image > ImagePtr
std::map< QString, MeshPtr > MeshMap
boost::shared_ptr< class Landmarks > LandmarksPtr
boost::shared_ptr< class Data > DataPtr
std::map< QString, ImagePtr > ImagesMap
boost::shared_ptr< class VideoSource > VideoSourcePtr
Eigen::Vector3d Vector3D
Vector3D is a representation of a point or vector in 3D.
std::map< QString, LandmarkProperty > LandmarkPropertyMap
boost::shared_ptr< class DataFactory > DataFactoryPtr
boost::shared_ptr< class Mesh > MeshPtr
std::map< QString, DataPtr > DataMap
std::map< QString, VideoSourcePtr > StreamMap