CustusX  18.04
An IGT application
cxIGTLinkUSStatusMessage.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 
13 #ifndef CXIGTLINKUSSTATUSMESSAGE_H_
14 #define CXIGTLINKUSSTATUSMESSAGE_H_
15 
16 #include "igtlMessageBase.h"
17 #include "cxProbeDefinition.h"
18 
19 namespace cx
20 {
21 
43 class IGTLCommon_EXPORT IGTLinkUSStatusMessage : public igtl::MessageBase
44 {
45 public:
47  typedef igtl::MessageBase Superclass;
48  typedef igtl::SmartPointer<Self> Pointer;
49  typedef igtl::SmartPointer<const Self> ConstPointer;
50 
51  igtlTypeMacro(IGTLinkUSStatusMessage, igtl::MessageBase)
52  igtlNewMacro(IGTLinkUSStatusMessage)
53 
54  void SetProbeType(ProbeDefinition::TYPE probeType);
55  int GetProbeType();
56  void SetOrigin(double o[3]);
57  void SetOrigin(double oi, double oj, double ok);
58  void GetOrigin(double o[3]);
59  void GetOrigin(double &oi, double &oj, double &ok);
60  const double* GetOrigin() const;
61  void SetDepthStart(double depthStart);
62  double GetDepthStart();
63  void SetDepthEnd(double depthEnd);
64  double GetDepthEnd();
65  void SetWidth(double width);
66  double GetWidth();
67  void SetDataFormat(std::string dataFormat);
68  std::string GetDataFormat();
69 
70 protected:
72  virtual ~IGTLinkUSStatusMessage();
73 
74  virtual int GetBodyPackSize();
75  virtual int PackBody();
76  virtual int UnpackContent();
77 
78  ProbeDefinition::TYPE mProbeType;
79  double mDataOrigin[3];
80  double mDepthStart;
81  double mDepthEnd;
82  double mWidth;
83  std::string mDataFormat;
84 
85  unsigned char* m_StatusMessage; //All variables are inserted into this before sending
86 };
87 
88 }
89 
90 #endif /* CXIGTLINKUSSTATUSMESSAGE_H_ */
Definition of characteristics for an Ultrasound Probe Sector.
Namespace for all CustusX production code.