Cogs.Core
SwathSeabedBuildMeshTask.h
1#pragma once
2#include "SwathBuildMeshTask.h"
3
4namespace Cogs
5{
6 namespace Core
7 {
8 class Context;
9
10 namespace EchoSounder
11 {
12
14 {
15 public:
16
19 const uint32_t chunkIndex,
24
26
27
28 void operator()();
29
30 protected:
31 const Cogs::Core::EchoSounder::SwathBottomComponent::TextureDomain uTexDom;
32 const Cogs::Core::EchoSounder::SwathBottomComponent::TextureDomain vTexDom;
33 const glm::vec2 uTexRange;
34 const glm::vec2 vTexRange;
35
38
39 void pathResample();
40
41 void beamResample(std::vector<glm::vec3>& beamDir);
42
43 template<typename PType, typename TType, typename DType>
44 void calcVertexPositions(Cogs::Geometry::BoundingBox& bbox, PType& P, TType& T, DType& beamDir);
45
46 template<typename PType, typename NType, typename IType>
47 void calcNormalVectors(PType& P, NType& N, IType& I);
48
49 template<typename PType, typename NType, typename IType>
50 void calcNormalVectors(PType& P, NType& N, IType& I1, IType& I2);
51
52 void calcIndices(std::vector<uint32_t>& indices, std::vector<uint32_t>& supportIndices);
53
54 };
55
56 }
57 }
58}
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