25 #ifndef INCLUDED_ImagingComponent_h_GUID_BA26C922_01FD_43B3_8EB7_A9AB2777CEBC 26 #define INCLUDED_ImagingComponent_h_GUID_BA26C922_01FD_43B3_8EB7_A9AB2777CEBC 29 #include <osvr/Common/Export.h> 35 #include <osvr/Common/ImagingComponentConfig.h> 38 #include <vrpn_BaseClass.h> 45 typedef shared_ptr<OSVR_ImageBufferElement> ImageBufferPtr;
49 ImageBufferPtr buffer;
56 static const char *identifier();
58 #ifdef OSVR_COMMON_IN_PROCESS_IMAGING 59 class ImagePlacedInProcessMemory
63 static const char *identifier();
70 static const char *identifier();
81 static OSVR_COMMON_EXPORT shared_ptr<ImagingComponent>
91 #ifdef OSVR_COMMON_IN_PROCESS_IMAGING 92 messages::ImagePlacedInProcessMemory imagePlacedInProcessMemory;
97 OSVR_COMMON_EXPORT
void sendImageData(
101 typedef std::function<void(
ImageData const &,
103 OSVR_COMMON_EXPORT
void registerImageHandler(ImageHandler cb);
107 virtual void m_parentSet();
121 #ifdef OSVR_COMMON_IN_PROCESS_IMAGING 129 static int VRPN_CALLBACK
130 m_handleImageRegion(
void *userdata, vrpn_HANDLERPARAM p);
132 static int VRPN_CALLBACK
133 m_handleImagePlacedInSharedMemory(
void *userdata, vrpn_HANDLERPARAM p);
135 #ifdef OSVR_COMMON_IN_PROCESS_IMAGING 136 static int VRPN_CALLBACK
137 m_handleImagePlacedInProcessMemory(
void *userdata, vrpn_HANDLERPARAM p);
144 std::vector<ImageHandler> m_cb;
147 std::vector<IPCRingBufferPtr> m_shmBuf;
152 #endif // INCLUDED_ImagingComponent_h_GUID_BA26C922_01FD_43B3_8EB7_A9AB2777CEBC
uint32_t OSVR_ChannelCount
The integer type specifying a number of channels/sensors or a channel/sensor index.
Definition: ChannelCountC.h:51
Handles spatial transformations.
Definition: SerializationTraitExample_Complicated.h:40
Definition: CommonComponent.h:44
The main namespace for all C++ elements of the framework, internal and external.
Definition: namespace_osvr.dox:3
Definition: DeviceComponent.h:42
CRTP class template wrapping message-specific data and/or logic.
Definition: MessageRegistration.h:44
Definition: ImagingComponent.h:46
Definition: ImagingComponent.cpp:171
messages::ImageRegion imageRegion
Message from server to client, containing some image data.
Definition: ImagingComponent.h:85
BaseDevice component.
Definition: ImagingComponent.h:75
messages::ImagePlacedInSharedMemory imagePlacedInSharedMemory
Message from server to client, notifying of image data in the shared memory ring buffer.
Definition: ImagingComponent.h:89
Definition: ImagingComponent.cpp:60
Standardized, portable parallel to struct timeval for representing both absolute times and time inter...
Definition: TimeValueC.h:81
Definition: ImagingComponent.h:52
unsigned char OSVR_ImageBufferElement
Type for raw buffer access to image data.
Definition: ImagingReportTypesC.h:53
Definition: ImagingComponent.h:66