NorMIT-nav  18.04
An IGT application
cxMeshTextureData.h
Go to the documentation of this file.
1 /*=========================================================================
2 This file is part of CustusX, an Image Guided Therapy Application.
3 
4 Copyright (c) SINTEF Department of Medical Technology.
5 All rights reserved.
6 
7 CustusX is released under a BSD 3-Clause license.
8 
9 See Lisence.txt (https://github.com/SINTEFMedtek/CustusX/blob/master/License.txt) for details.
10 =========================================================================*/
11 
12 #ifndef MESHTEXTUREDATA_H
13 #define MESHTEXTUREDATA_H
14 
15 #include "cxResourceExport.h"
16 #include "cxStringProperty.h"
18 
19 
20 class QDomNode;
21 
22 namespace cx
23 {
24 
28 class cxResource_EXPORT MeshTextureData : public QObject
29 {
30  Q_OBJECT
31 public:
32  MeshTextureData(PatientModelServicePtr patientModelService);
33  void addXml(QDomNode& dataNode);
34  void parseXml(QDomNode &dataNode);
35 
36  StringPropertyPtr getTextureShape() const;
37  StringPropertySelectImagePtr getTextureImage() const;
38  DoublePropertyPtr getScaleX() const;
39  DoublePropertyPtr getScaleY() const;
40  std::vector<PropertyPtr> getProperties() const;
41  DoublePropertyPtr getPositionX() const;
42  DoublePropertyPtr getPositionY() const;
43  BoolPropertyPtr getRepeat() const;
44 
45  QString getCylinderText() const;
46  QString getPlaneText() const;
47  QString getSphereText() const;
48 
49 signals:
50  void changed();
51 private:
52  void addProperty(PropertyPtr property);
53  void initialize();
54  std::vector<PropertyPtr> mProperties;
55  StringPropertyPtr mTextureShape;
56  StringPropertySelectImagePtr mTextureImage;
57  DoublePropertyPtr mScaleX;
58  DoublePropertyPtr mScaleY;
59  DoublePropertyPtr mPositionX;
60  DoublePropertyPtr mPositionY;
61  BoolPropertyPtr mRepeat;
62  PatientModelServicePtr mPatientModelService;
63  QString mCylinderText;
64  QString mPlaneText;
65  QString mSphereText;
66 };
67 
68 } // namespace cx
69 
70 #endif // MESHTEXTUREDATA_H
boost::shared_ptr< class StringProperty > StringPropertyPtr
boost::shared_ptr< class Property > PropertyPtr
boost::shared_ptr< class PatientModelService > PatientModelServicePtr
boost::shared_ptr< class StringPropertySelectImage > StringPropertySelectImagePtr
boost::shared_ptr< class DoubleProperty > DoublePropertyPtr
boost::shared_ptr< class BoolProperty > BoolPropertyPtr
Namespace for all CustusX production code.