3#include "Resources/Buffer.h"
5#include "Foundation/ComponentModel/Component.h"
6#include "Foundation/Memory/MemoryBuffer.h"
21 uint32_t coordSys = 0;
22 uint32_t capacity = 0;
23 uint32_t beamCount = 0;
24 uint32_t sampleCount = 0;
25 float depthOffset = 0;
27 bool useDecibel =
true;
28 bool tryPreserve =
true;
29 glm::vec3 transducerAlpha;
30 glm::vec3 transducerOffset;
31 std::vector<float> directionX;
32 std::vector<float> directionY;
33 std::vector<float> beamWidthX;
34 std::vector<float> beamWidthY;
39 uint32_t beamCount = 0;
40 uint32_t sampleCount = 0;
42 int64_t timestamp = 0;
44 glm::quat orientation;
46 const size_t valuesOffset()
const {
return 0; }
47 const size_t valuesSize()
const {
return sizeof(float)*beamCount * sampleCount; }
49 const size_t depthsOffset()
const {
return valuesOffset() + valuesSize(); }
50 const size_t bottomDepthsSize()
const {
return sizeof(float)*beamCount; }
52 const size_t bottomReflectivitiesOffset()
const {
return depthsOffset() + bottomDepthsSize(); }
53 const size_t bottomReflectivitiesSize()
const {
return sizeof(float)*beamCount; }
55 const size_t storageSize()
const {
return bottomReflectivitiesOffset() + bottomReflectivitiesSize(); }
57 float* values() {
return (
float*)((
char*)(storage.data()) + valuesOffset()); }
58 float* bottomDepths() {
return (
float*)((
char*)(storage.data()) + depthsOffset()); }
59 float* bottomReflectivities() {
return (
float*)((
char*)(storage.data()) + bottomReflectivitiesOffset()); }
86 glm::vec4 orientation;
91 std::list<MessageBase*> messages;
93 static void registerType();
102 return "EchoDataSetComponent";
Base class for Component instances.
Provides a weakly referenced view over the contents of a string.
Contains all Cogs related functionality.