Add PcloudAmbienceStencil, LG1PcloudAmbienceStencil

These two classes represent our first foray into stencil
construction. One of them standardizes PcloudAmbience stencils
across all stimbuffs, and the other specifies the internal
memory constraints and requirements for a LivoxGen1 device's
stencils.
This commit is contained in:
2025-11-26 12:32:42 -04:00
parent ce0456d472
commit 8eb7eaba3d
6 changed files with 125 additions and 31 deletions
+38
View File
@@ -0,0 +1,38 @@
#ifndef _PCLOUD_AMBIENCE_STENCIL_H
#define _PCLOUD_AMBIENCE_STENCIL_H
#include <cstdint>
#include <cstddef>
#include <user/stencil.h>
namespace smo {
namespace stim_buff {
/**
* PcloudAmbienceStencil represents stencils for point cloud ambience data.
* This is a base class for device-specific implementations.
*/
class PcloudAmbienceStencil
: public smo::cologex::Stencil
{
public:
typedef uint32_t PcloudAmbienceStimulusValue;
/**
* RangeDescriptor describes a contiguous range of body spots for
* point cloud ambience stencils.
*/
struct RangeDescriptor : public Stencil::RangeDescriptor
{
uint32_t bodySpot;
size_t nContiguousSpots;
};
PcloudAmbienceStencil() = default;
virtual ~PcloudAmbienceStencil() = default;
};
} // namespace stim_buff
} // namespace smo
#endif // _PCLOUD_AMBIENCE_STENCIL_H