#ifndef _LIVOX_GEN1_PCLOUD_STIMULUS_BUFFER_H #define _LIVOX_GEN1_PCLOUD_STIMULUS_BUFFER_H #include #include namespace smo { namespace stim_buff { /** * PcloudStimulusBuffer is a specialized StimulusBuffer for point cloud data. * * This class extends StimulusBuffer to handle point cloud-specific stimulus * frames, particularly those generated from LiDAR point cloud data. It * provides additional functionality for managing point cloud frame metadata * and processing. */ class PcloudStimulusBuffer : public StimulusBuffer { public: explicit PcloudStimulusBuffer(const PcloudFormatDesc& formatDesc); ~PcloudStimulusBuffer(); // Non-copyable, movable PcloudStimulusBuffer(const PcloudStimulusBuffer&) = delete; PcloudStimulusBuffer& operator=(const PcloudStimulusBuffer&) = delete; PcloudStimulusBuffer(PcloudStimulusBuffer&&) = default; PcloudStimulusBuffer& operator=(PcloudStimulusBuffer&&) = default; private: PcloudFormatDesc formatDesc; }; } // namespace stim_buff } // namespace smo #endif // _LIVOX_GEN1_PCLOUD_STIMULUS_BUFFER_H