13 #ifndef IGTLMessageQueue_H 14 #define IGTLMessageQueue_H 16 #include "MitkOpenIGTLinkExports.h" 18 #include "itkObject.h" 19 #include "itkFastMutexLock.h" 26 #include "igtlMessageBase.h" 27 #include "igtlImageMessage.h" 28 #include "igtlStringMessage.h" 29 #include "igtlTrackingDataMessage.h" 30 #include "igtlTransformMessage.h" 43 itkFactorylessNewMacro(Self);
53 void PushSendMessage(mitk::IGTLMessage::Pointer message);
58 void PushMessage(igtl::MessageBase::Pointer message);
63 void PushCommandMessage(igtl::MessageBase::Pointer message);
67 igtl::MessageBase::Pointer PullMiscMessage();
68 igtl::ImageMessage::Pointer PullImage2dMessage();
69 igtl::ImageMessage::Pointer PullImage3dMessage();
70 igtl::TrackingDataMessage::Pointer PullTrackingMessage();
71 igtl::MessageBase::Pointer PullCommandMessage();
72 igtl::StringMessage::Pointer PullStringMessage();
73 igtl::TransformMessage::Pointer PullTransformMessage();
74 mitk::IGTLMessage::Pointer PullSendMessage();
85 std::string GetNextMsgInformationString();
90 std::string GetNextMsgDeviceType();
96 std::string GetLatestMsgInformationString();
101 std::string GetLatestMsgDeviceType();
105 void EnableNoBufferingMode(
bool enable);
itk::FastMutexLock::Pointer m_Mutex
Mutex to take car of the queue.
std::deque< igtl::MessageBase::Pointer > m_CommandQueue
the queue that stores pointer to the inserted messages
BufferingType m_BufferingType
defines the kind of buffering
std::deque< igtl::ImageMessage::Pointer > m_Image3dQueue
std::deque< igtl::MessageBase::Pointer > m_MiscQueue
DataCollection - Class to facilitate loading/accessing structured data.
std::deque< igtl::StringMessage::Pointer > m_StringQueue
Thread safe message queue to store OpenIGTLink messages.
std::deque< igtl::TransformMessage::Pointer > m_TransformQueue
std::deque< mitk::IGTLMessage::Pointer > m_SendQueue
igtl::MessageBase::Pointer m_Latest_Message
BufferingType
Different buffering types Infinit buffering means that you can push as many messages as you want NoBu...
#define mitkClassMacroItkParent(className, SuperClassName)
std::deque< igtl::ImageMessage::Pointer > m_Image2dQueue
std::deque< igtl::TrackingDataMessage::Pointer > m_TrackingDataQueue