Cogs.Core
Extensions
EchoSounder
Source
Tasks
SwathIsoSurfacesBuildMeshTask.h
1
#include "SwathBuildMeshTask.h"
2
3
namespace
Cogs
4
{
5
namespace
Core
6
{
7
namespace
EchoSounder
8
{
9
struct
BeamGroupComponent;
10
struct
SwathIsoComponent;
11
struct
SwathIsoSurfacesData;
12
13
14
class
SwathIsoSurfacesBuildMeshTask
:
public
SwathBuildMeshTask
15
{
16
public
:
17
SwathIsoSurfacesBuildMeshTask
(
Cogs::Core::Context
* context,
18
Cogs::Core::MeshHandle
& mesh,
19
const
uint32_t chunkIndex,
20
const
Cogs::Core::EchoSounder::BeamGroupComponent
& groupComp,
21
const
Cogs::Core::EchoSounder::SwathIsoComponent
& swathComp,
22
const
Cogs::Core::EchoSounder::SwathIsoSurfacesData
& swathData,
23
const
Cogs::Core::EchoSounder::DataSetData
& dataData);
24
25
SwathIsoSurfacesBuildMeshTask
(
const
SwathIsoSurfacesBuildMeshTask
& other);
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;
50
Cogs::Memory::TypedBuffer<float>
depths;
51
Cogs::Memory::TypedBuffer<float>
values;
52
Cogs::Memory::TypedBuffer<float>
floatTmp;
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
}
Cogs::Core::Context
A Context instance contains all the services, systems and runtime components needed to use Cogs.
Definition:
Context.h:83
Cogs::Core::EchoSounder::SwathBuildMeshTask
Definition:
SwathBuildMeshTask.h:21
Cogs::Core::EchoSounder::SwathIsoSurfacesBuildMeshTask
Definition:
SwathIsoSurfacesBuildMeshTask.h:15
Cogs::Memory::TypedBuffer
Definition:
MemoryBuffer.h:196
Cogs
Contains all Cogs related functionality.
Definition:
FieldSetter.h:23
Cogs::Core::EchoSounder::BeamGroupComponent
Definition:
BeamGroupComponent.h:27
Cogs::Core::EchoSounder::DataSetData
Definition:
DataSetSystem.h:55
Cogs::Core::EchoSounder::SwathIsoComponent
Definition:
SwathIsoComponent.h:14
Cogs::Core::EchoSounder::SwathIsoSurfacesData
Definition:
SwathIsoSystem.h:21
Cogs::Core::ResourceHandle_t< Mesh >
Generated by
1.9.6