Cogs.Core
SwathIsoSurfacesBuildMeshTask.h
1#include "SwathBuildMeshTask.h"
2
3namespace Cogs
4{
5 namespace Core
6 {
7 namespace EchoSounder
8 {
9 struct BeamGroupComponent;
10 struct SwathIsoComponent;
11 struct SwathIsoSurfacesData;
12
13
15 {
16 public:
19 const uint32_t chunkIndex,
24
26
27 void operator()();
28
29 protected:
30 const float seabedClipOffset;
31 const bool useDecibel;
32 const bool flipOrientation;
33
34 const float depthSpacing;
35 const float maxDepthUpsample;
36 float overflowThreshold = std::numeric_limits<float>::quiet_NaN();
37 float minVerticalDepth = std::numeric_limits<float>::quiet_NaN();
38 float maxVerticalDepth = std::numeric_limits<float>::quiet_NaN();
39 const float depthOffset;
40 const uint32_t coordSys;
41 float depthStep;
42 float separation;
43 uint32_t sampleCount;
44
45 SwathIsoComponent::TextureDomain uTextureDomain;
46 SwathIsoComponent::TextureDomain vTextureDomain;
47 glm::vec2 uTextureRange;
48 glm::vec2 vTextureRange;
49 std::vector<float> thresholds;
53
54 Cogs::Memory::TypedBuffer<glm::quat> arrayOrientationVessel;
55 Cogs::Memory::TypedBuffer<glm::vec3> arrayPositionVessel;
56
57 void linearizeAndClipValues(std::vector<float>& linearizedThresholds);
58 void clipVerticalMask();
59
60 void depthResample();
61
62 void beamResample(std::vector<glm::vec3>& beamDir);
63
64 void pathResample();
65 };
66 }
67 }
68}
A Context instance contains all the services, systems and runtime components needed to use Cogs.
Definition: Context.h:83
Contains all Cogs related functionality.
Definition: FieldSetter.h:23