diff --git a/stimBuffApis/livoxGen1/livoxGen1.cpp b/stimBuffApis/livoxGen1/livoxGen1.cpp index 0cfe441..08fc436 100644 --- a/stimBuffApis/livoxGen1/livoxGen1.cpp +++ b/stimBuffApis/livoxGen1/livoxGen1.cpp @@ -509,8 +509,8 @@ public: } // Clear specialized buffer members if they match - if (stimProducer.xyzStimulusBuffer == context->stimBuffer) - { stimProducer.xyzStimulusBuffer.reset(); } + if (stimProducer.meshStimulusBuffer == context->stimBuffer) + { stimProducer.meshStimulusBuffer.reset(); } if (stimProducer.iStimulusBuffer == context->stimBuffer) { stimProducer.iStimulusBuffer.reset(); } if (stimProducer.ambienceStimulusBuffer == context->stimBuffer) diff --git a/stimBuffApis/livoxGen1/meshStimulusBuffer.h b/stimBuffApis/livoxGen1/meshStimulusBuffer.h new file mode 100644 index 0000000..3bf3551 --- /dev/null +++ b/stimBuffApis/livoxGen1/meshStimulusBuffer.h @@ -0,0 +1,42 @@ +#ifndef _LIVOX_GEN1_MESH_STIMULUS_BUFFER_H +#define _LIVOX_GEN1_MESH_STIMULUS_BUFFER_H + +#include +#include + +namespace smo { +namespace stim_buff { + +// Forward declaration +class StimulusProducer; + +/** + * MeshStimulusBuffer is a specialized StimulusBuffer for mesh data. + */ +class MeshStimulusBuffer +: public StimulusBuffer +{ +public: + explicit MeshStimulusBuffer( + StimulusProducer& parent, + const std::shared_ptr& deviceAttachmentSpec, + int histbuffMs, + const SpMcRingBuffer::InputEngineConstraints& ringBufferConstraints) + : StimulusBuffer( + parent, deviceAttachmentSpec, histbuffMs, ringBufferConstraints) + {} + + ~MeshStimulusBuffer() = default; + + // Non-copyable, movable + MeshStimulusBuffer(const MeshStimulusBuffer&) = delete; + MeshStimulusBuffer& operator=(const MeshStimulusBuffer&) = delete; + MeshStimulusBuffer(MeshStimulusBuffer&&) = default; + MeshStimulusBuffer& operator=(MeshStimulusBuffer&&) = default; +}; + +} // namespace stim_buff +} // namespace smo + +#endif // _LIVOX_GEN1_MESH_STIMULUS_BUFFER_H + diff --git a/stimBuffApis/livoxGen1/pcloudStimulusProducer.cpp b/stimBuffApis/livoxGen1/pcloudStimulusProducer.cpp index cdcd265..ad0bc78 100644 --- a/stimBuffApis/livoxGen1/pcloudStimulusProducer.cpp +++ b/stimBuffApis/livoxGen1/pcloudStimulusProducer.cpp @@ -117,14 +117,14 @@ PcloudStimulusProducer::getOrCreateAttachedStimulusBuffer( if (existingBuffer) { return existingBuffer; } - // Create new PcloudXyzStimulusBuffer (for now, always use XYZ type) - auto buffer = std::make_shared( + // Create new MeshStimulusBuffer (for now, always use XYZ type) + auto buffer = std::make_shared( *this, deviceAttachmentSpec, histbuffMs, openClInputConstraints); // Add to collection attachedStimulusBuffers.push_back(buffer); // Update specialized member - xyzStimulusBuffer = buffer; + meshStimulusBuffer = buffer; return buffer; } diff --git a/stimBuffApis/livoxGen1/pcloudStimulusProducer.h b/stimBuffApis/livoxGen1/pcloudStimulusProducer.h index e52caa2..0abedd2 100644 --- a/stimBuffApis/livoxGen1/pcloudStimulusProducer.h +++ b/stimBuffApis/livoxGen1/pcloudStimulusProducer.h @@ -11,7 +11,7 @@ #include #include "ioUringAssemblyEngine.h" #include "openClCollatingAndMeshingEngine.h" -#include "pcloudXyzStimulusBuffer.h" +#include "meshStimulusBuffer.h" #include "pcloudIStimulusBuffer.h" #include "pcloudAmbienceStimulusBuffer.h" @@ -83,7 +83,7 @@ public: IoUringAssemblyEngine ioUringAssemblyEngine; StagingBuffer collationBuffer; StimulusFrame tempStimulusFrame; - std::shared_ptr xyzStimulusBuffer; + std::shared_ptr meshStimulusBuffer; std::shared_ptr iStimulusBuffer; std::shared_ptr ambienceStimulusBuffer; diff --git a/stimBuffApis/livoxGen1/pcloudXyzStimulusBuffer.h b/stimBuffApis/livoxGen1/pcloudXyzStimulusBuffer.h deleted file mode 100644 index 5ce17ab..0000000 --- a/stimBuffApis/livoxGen1/pcloudXyzStimulusBuffer.h +++ /dev/null @@ -1,41 +0,0 @@ -#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