PlusLib  2.9.0
Software library for tracked ultrasound image acquisition, calibration, and processing.
PlusIgtlClientInfo.h
Go to the documentation of this file.
1 /*=Plus=header=begin======================================================
2  Program: Plus
3  Copyright (c) Laboratory for Percutaneous Surgery. All rights reserved.
4  See License.txt for details.
5 =========================================================Plus=header=end*/
6 
7 #ifndef __PlusIgtlClientInfo_h
8 #define __PlusIgtlClientInfo_h
9 
10 // Local includes
11 #include "PlusConfigure.h"
12 #include "vtkPlusOpenIGTLinkExport.h"
13 
14 // IGSIO includes
15 #include <vtkIGSIOFrameConverter.h>
16 
17 // IGTL includes
18 #include <igtlClientSocket.h>
19 
20 // STL includes
21 #include <string>
22 #include <vector>
23 
25 
32 class vtkPlusOpenIGTLinkExport PlusIgtlClientInfo
33 {
34 public:
36  {
41  std::string FourCC;
42  bool Lossless;
45  int Speed;
46  std::string RateControl;
47  std::string DeadlineMode;
50  : FourCC("VP90")
51  , Lossless(false)
52  , MinKeyframeDistance(-1)
53  , MaxKeyframeDistance(-1)
54  , Speed(8)
55  , RateControl("Q")
56  , DeadlineMode("REALTIME")
57  , TargetBitrate(-1)
58  {
59  }
60  };
61 
65  struct ImageStream
66  {
68  std::string Name;
72  vtkSmartPointer<vtkIGSIOFrameConverter> FrameConverter;
74  : FrameConverter(nullptr)
75  {
76  };
77  };
78 
82  struct VideoStream
83  {
85  std::string Name;
91  vtkSmartPointer<vtkIGSIOFrameConverter> FrameConverter;
93  : FrameConverter(nullptr)
94  {
95  };
96  };
97 
99 
101  PlusStatus SetClientInfoFromXmlData(const char* strXmlData);
102 
104  PlusStatus SetClientInfoFromXmlData(vtkXMLDataElement* xmldata);
105 
107  void GetClientInfoInXmlData(std::string& strXmlData);
108 
109  virtual void PrintSelf(ostream& os, vtkIndent indent);
110 
112  int GetClientHeaderVersion() const;
114  void SetClientHeaderVersion(int version);
115 
117  int GetTDATAResolution() const;
119  void SetTDATAResolution(int val);
120 
123  bool GetTDATARequested() const;
126  void SetTDATARequested(bool val);
127 
129  double GetLastTDATASentTimeStamp() const;
131  void SetLastTDATASentTimeStamp(double val);
132 
134  std::vector<std::string> IgtlMessageTypes;
135 
137  std::vector<igsioTransformName> TransformNames;
138 
140  std::vector<std::string> StringNames;
141 
143  std::vector<ImageStream> ImageStreams;
144 
146  std::vector<VideoStream> VideoStreams;
147 
148 protected:
153 };
154 
155 #endif
std::vector< ImageStream > ImageStreams
std::vector< std::string > IgtlMessageTypes
igsioStatus PlusStatus
Definition: PlusCommon.h:40
std::vector< std::string > StringNames
vtkSmartPointer< vtkIGSIOFrameConverter > FrameConverter
std::vector< igsioTransformName > TransformNames
Creates a PlusCommand from a string. If the commands are to be executed on the main thread then call ...
EncodingParameters EncodeVideoParameters
std::vector< VideoStream > VideoStreams
This class provides client information for vtkPlusOpenIGTLinkServer.
vtkSmartPointer< vtkIGSIOFrameConverter > FrameConverter