Files
salmanoff/stimBuffApis/livoxGen1/pcloudXyzStimulusBuffer.h
T
hayodea 98a493a8a1 livoxGen1: Add StimBuffs to PcloudStimProd
* PcloudStimulusProducer now has member sh_ptr<StimulusBuffer>s.
* StimulusProducer now has a vector<sh_ptr<StimulusBuffer>s.

Created new stimbuff-type-specific
Pcloud[Xyz|I|Ambience]StimulusBuffer classes for representing each
stim feature exposed by livoxGen1's PcloudStimulusProducer.
2025-11-14 23:19:32 -04:00

42 lines
1.2 KiB
C++

#ifndef _LIVOX_GEN1_PCLOUD_XYZ_STIMULUS_BUFFER_H
#define _LIVOX_GEN1_PCLOUD_XYZ_STIMULUS_BUFFER_H
#include <memory>
#include <user/stimulusBuffer.h>
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(
std::shared_ptr<StimulusProducer>& producer,
const std::shared_ptr<device::DeviceAttachmentSpec>& deviceAttachmentSpec,
int histbuffMs,
const SpMcRingBuffer::InputEngineConstraints& ringBufferConstraints)
: StimulusBuffer(
producer, 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