.. _program_listing_file_include_libcaercpp_events_utils.hpp: Program Listing for File utils.hpp ================================== |exhale_lsh| :ref:`Return to documentation for file ` (``include/libcaercpp/events/utils.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef LIBCAER_EVENTS_UTILS_HPP_ #define LIBCAER_EVENTS_UTILS_HPP_ #include "common.hpp" #include "frame.hpp" #include "imu6.hpp" #include "imu9.hpp" #include "polarity.hpp" #include "special.hpp" #include "spike.hpp" #include namespace libcaer { namespace events { namespace utils { inline std::unique_ptr makeUniqueFromCStruct(caerEventPacketHeader packet, bool takeMemoryOwnership); inline std::shared_ptr makeSharedFromCStruct(caerEventPacketHeader packet, bool takeMemoryOwnership); inline enum caer_frame_utils_pixel_color getPixelColor( libcaer::events::FrameEvent::colorFilter cFilter, int32_t x, int32_t y); inline enum caer_frame_utils_pixel_color getPixelColor( enum caer_frame_event_color_filter cFilter, int32_t x, int32_t y); inline std::unique_ptr makeUniqueFromCStruct( caerEventPacketHeader packet, bool takeMemoryOwnership = true) { switch (caerEventPacketHeaderGetEventType(packet)) { case SPECIAL_EVENT: return (std::unique_ptr(new SpecialEventPacket(packet, takeMemoryOwnership))); break; case POLARITY_EVENT: return (std::unique_ptr(new PolarityEventPacket(packet, takeMemoryOwnership))); break; case FRAME_EVENT: return (std::unique_ptr(new FrameEventPacket(packet, takeMemoryOwnership))); break; case IMU6_EVENT: return (std::unique_ptr(new IMU6EventPacket(packet, takeMemoryOwnership))); break; case IMU9_EVENT: return (std::unique_ptr(new IMU9EventPacket(packet, takeMemoryOwnership))); break; case SPIKE_EVENT: return (std::unique_ptr(new SpikeEventPacket(packet, takeMemoryOwnership))); break; default: return (std::unique_ptr(new EventPacket(packet, takeMemoryOwnership))); break; } } inline std::shared_ptr makeSharedFromCStruct( caerEventPacketHeader packet, bool takeMemoryOwnership = true) { switch (caerEventPacketHeaderGetEventType(packet)) { case SPECIAL_EVENT: return (std::make_shared(packet, takeMemoryOwnership)); break; case POLARITY_EVENT: return (std::make_shared(packet, takeMemoryOwnership)); break; case FRAME_EVENT: return (std::make_shared(packet, takeMemoryOwnership)); break; case IMU6_EVENT: return (std::make_shared(packet, takeMemoryOwnership)); break; case IMU9_EVENT: return (std::make_shared(packet, takeMemoryOwnership)); break; case SPIKE_EVENT: return (std::make_shared(packet, takeMemoryOwnership)); break; default: return (std::make_shared(packet, takeMemoryOwnership)); break; } } inline enum caer_frame_utils_pixel_color getPixelColor( libcaer::events::FrameEvent::colorFilter cFilter, int32_t x, int32_t y) { return (caerFrameUtilsPixelColor( static_cast( static_cast::type>(cFilter)), x, y)); } inline enum caer_frame_utils_pixel_color getPixelColor( enum caer_frame_event_color_filter cFilter, int32_t x, int32_t y) { return (caerFrameUtilsPixelColor(cFilter, x, y)); } } // namespace utils } // namespace events } // namespace libcaer #endif /* LIBCAER_EVENTS_UTILS_HPP_ */