7 #ifndef __vtkPlusIgtlMessageFactory_h 8 #define __vtkPlusIgtlMessageFactory_h 10 #include "PlusConfigure.h" 11 #include "vtkPlusOpenIGTLinkExport.h" 14 #include "vtkObject.h" 17 #include "igtlMessageBase.h" 18 #include "igtlMessageFactory.h" 23 class vtkXMLDataElement;
40 virtual void PrintSelf(ostream& os, vtkIndent indent)
VTK_OVERRIDE;
43 typedef igtl::MessageBase::Pointer (*PointerToMessageBaseNew)();
52 virtual void PrintAvailableMessageTypes(ostream& os, vtkIndent indent);
58 igtl::MessageHeader::Pointer CreateHeaderMessage(
int headerVersion)
const;
64 igtl::MessageBase::Pointer CreateReceiveMessage(igtl::MessageHeader::Pointer headerMsg)
const;
69 igtl::MessageBase::Pointer CreateSendMessage(
const std::string& messageType,
int headerVersion)
const;
80 PlusStatus PackMessages(
int clientId,
const PlusIgtlClientInfo& clientInfo, std::vector<igtl::MessageBase::Pointer>& igtMessages, igsioTrackedFrame& trackedFrame,
81 bool packValidTransformsOnly, vtkIGSIOTransformRepository* transformRepository = NULL);
90 int PackImageMessage(
const PlusIgtlClientInfo& clientInfo, vtkIGSIOTransformRepository& transformRepository,
const std::string& messageType,
91 igtl::MessageBase::Pointer igtlMessage, igsioTrackedFrame& trackedFrame, std::vector<igtl::MessageBase::Pointer>& igtlMessages,
int clientId);
92 #if defined(OpenIGTLink_ENABLE_VIDEOSTREAMING) 93 int PackVideoMessage(
const PlusIgtlClientInfo& clientInfo, vtkIGSIOTransformRepository& transformRepository,
const std::string& messageType,
94 igtl::MessageBase::Pointer igtlMessage, igsioTrackedFrame& trackedFrame, std::vector<igtl::MessageBase::Pointer>& igtlMessages,
int clientId);
96 int PackTransformMessage(
const PlusIgtlClientInfo& clientInfo, vtkIGSIOTransformRepository& transformRepository,
bool packValidTransformsOnly,
97 igtl::MessageBase::Pointer igtlMessage, igsioTrackedFrame& trackedFrame, std::vector<igtl::MessageBase::Pointer>& igtlMessages);
98 int PackTrackingDataMessage(
const PlusIgtlClientInfo& clientInfo, igsioTrackedFrame& trackedFrame, vtkIGSIOTransformRepository& transformRepository,
bool packValidTransformsOnly,
99 igtl::MessageBase::Pointer igtlMessage, std::vector<igtl::MessageBase::Pointer>& igtlMessages);
100 int PackPositionMessage(
const PlusIgtlClientInfo& clientInfo, vtkIGSIOTransformRepository& transformRepository, igtl::MessageBase::Pointer igtlMessage,
101 igsioTrackedFrame& trackedFrame, std::vector<igtl::MessageBase::Pointer>& igtlMessages);
102 int PackTrackedFrameMessage(igtl::MessageBase::Pointer igtlMessage,
const PlusIgtlClientInfo& clientInfo, vtkIGSIOTransformRepository& transformRepository,
103 igsioTrackedFrame& trackedFrame, std::vector<igtl::MessageBase::Pointer>& igtlMessages);
104 int PackUsMessage(igtl::MessageBase::Pointer igtlMessage, igsioTrackedFrame& trackedFrame, std::vector<igtl::MessageBase::Pointer>& igtlMessages);
105 int PackStringMessage(
const PlusIgtlClientInfo& clientInfo, igsioTrackedFrame& trackedFrame, igtl::MessageBase::Pointer igtlMessage, std::vector<igtl::MessageBase::Pointer>& igtlMessages);
106 int PackCommandMessage(igtl::MessageBase::Pointer igtlMessage, std::vector<igtl::MessageBase::Pointer>& igtlMessages);
igtl::MessageFactory::Pointer IgtlFactory
Factory class of supported OpenIGTLink message types.
igtl::MessageBase::Pointer(* PointerToMessageBaseNew)()
This class provides client information for vtkPlusOpenIGTLinkServer.