Cogs.Core
Extensions
EchoSounder
Source
Tasks
SinglePingIsoSurfacesTasks.h
1
#pragma once
2
#include <glm/glm.hpp>
3
#include <glm/gtc/quaternion.hpp>
4
#include <memory>
5
#include <vector>
6
#include "../Systems/DataSetSystem.h"
7
8
namespace
Cogs
9
{
10
namespace
Core
11
{
12
class
Context;
13
14
namespace
EchoSounder
15
{
16
struct
BeamGroupComponent;
17
struct
PingIsoComponent;
18
struct
SinglePingIsoSurfacesData;
19
struct
DataSetComponent;
20
struct
DataSetData;
21
22
struct
SinglePingIsoSurfacesPersistent;
23
24
struct
SinglePingIsoSurfacesMainTask
25
{
26
// Copied in constructor
27
std::shared_ptr<SinglePingIsoSurfacesPersistent> persistent;
28
Context
* context;
29
uint32_t index;
30
std::vector<float> thresholds;
31
bool
flipOrientation;
32
bool
beamMinorClosed;
33
PingMetaData
metaPing;
34
uint32_t layers;
35
uint32_t beamCount;
36
uint32_t beamMinorCount;
37
uint32_t beamMajorCount;
38
uint32_t sampleCount;
39
uint32_t coordSys;
40
float
capSeparation;
41
float
seabedClipOffset;
42
float
depthOffset;
43
float
depthStep;
44
bool
logarithmicUnit;
45
float
depthStepResample;
46
float
beamStepResample;
47
float
maxBeamUpsample;
48
float
overflowThreshold;
49
float
minVerticalDepth;
50
float
maxVerticalDepth;
51
52
std::vector<float> directionX;
// Separated, major.
53
std::vector<float> directionY;
// Separated, minor.
54
55
std::vector<glm::vec3> rayDir;
56
std::vector<float> depths;
57
int
sampleCountResample = 0;
58
59
SinglePingIsoSurfacesMainTask
(
Context
* context,
60
const
PingIsoComponent
* isoComp,
const
SinglePingIsoSurfacesData
* isoData,
61
const
BeamGroupComponent
* groupComp,
62
const
DataSetComponent
* dataComp,
const
DataSetData
* dataData);
63
64
// Working memory
65
std::vector<float> linearThresholds;
66
std::vector<int> vertexOffsets;
67
std::vector<int> vertexCounts;
68
std::vector<int> indexOffsets;
69
std::vector<int> indexCounts;
70
std::vector<int> cellCounts;
71
72
void
operator()();
73
};
74
}
75
}
76
}
Cogs::Core::Context
A Context instance contains all the services, systems and runtime components needed to use Cogs.
Definition:
Context.h:83
Cogs
Contains all Cogs related functionality.
Definition:
FieldSetter.h:23
Cogs::Core::EchoSounder::BeamGroupComponent
Definition:
BeamGroupComponent.h:27
Cogs::Core::EchoSounder::DataSetComponent
Definition:
DataSetComponent.h:90
Cogs::Core::EchoSounder::DataSetData
Definition:
DataSetSystem.h:55
Cogs::Core::EchoSounder::PingIsoComponent
Definition:
PingIsoComponent.h:17
Cogs::Core::EchoSounder::PingMetaData
Definition:
DataSetSystem.h:15
Cogs::Core::EchoSounder::SinglePingIsoSurfacesData
Definition:
PingIsoSystem.h:44
Cogs::Core::EchoSounder::SinglePingIsoSurfacesMainTask
Definition:
SinglePingIsoSurfacesTasks.h:25
Generated by
1.9.6