#ifndef _LIVOX_GEN1_PCLOUD_XYZ_STIMULUS_BUFFER_H #define _LIVOX_GEN1_PCLOUD_XYZ_STIMULUS_BUFFER_H #include #include namespace smo { namespace stim_buff { // Forward declaration class StimulusProducer; /** * PcloudXyzStimulusBuffer is a specialized StimulusBuffer for XYZ point cloud data. */ class PcloudXyzStimulusBuffer : public StimulusBuffer { public: explicit PcloudXyzStimulusBuffer( StimulusProducer& parent, const std::shared_ptr& deviceAttachmentSpec, int histbuffMs, const SpMcRingBuffer::InputEngineConstraints& ringBufferConstraints) : StimulusBuffer( parent, deviceAttachmentSpec, histbuffMs, ringBufferConstraints) {} ~PcloudXyzStimulusBuffer() = default; // Non-copyable, movable PcloudXyzStimulusBuffer(const PcloudXyzStimulusBuffer&) = delete; PcloudXyzStimulusBuffer& operator=(const PcloudXyzStimulusBuffer&) = delete; PcloudXyzStimulusBuffer(PcloudXyzStimulusBuffer&&) = default; PcloudXyzStimulusBuffer& operator=(PcloudXyzStimulusBuffer&&) = default; }; } // namespace stim_buff } // namespace smo #endif // _LIVOX_GEN1_PCLOUD_XYZ_STIMULUS_BUFFER_H