-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcSeisGather.h
More file actions
93 lines (74 loc) · 3.7 KB
/
cSeisGather.h
File metadata and controls
93 lines (74 loc) · 3.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#pragma once
#include <memory>
#include <QVector>
#include <QColor>
#include <QVector3D>
#include "cLocXYZ.h"
#include "cSeisHdr.h"
class cSeisData; //Forward declaration
/// <summary>
/// Class to store seismic trace samples. Samples are sequentially stored in a 1D array
/// with samples for first trace followed by the next.
/// Number of samples in each trace is same and is stored in the m_NumOfSamples parameter
/// Number of traces in the gather is stored in the m_NumOfTraces parameter
/// Location of traces are stored in a member of cSeisHdr type
/// </summary>
class cSeisGather
{
public:
cSeisGather() : m_glTextureID(0), m_glTextureNum(-1), m_glColoMapTextureID(0), m_VAO(0), m_isGthrDisplayed(false), m_isSrcGather(0), m_isTrckVert(true)
{}
//std::shared_ptr< QVector<float> > m_2DSamples = std::make_shared<QVector<float>>(); //Array with samples of all the traces stored sequentially
std::shared_ptr< QVector<unsigned char> > m_SamplesRGB = std::make_shared<QVector<unsigned char>>(); //Array with samples of all the traces stored sequentially
std::shared_ptr<cSeisHdr> m_GatherAttributes = std::make_shared<cSeisHdr>(); //Locations of the traces
std::shared_ptr<cSeisData> m_ptrParent = std::make_unique<cSeisData>(); //A cSeisData object is the parent of the gather
//qreal m_maxNegSeisAmp; //Stores this gather's maximum Negative seismic amplitude
//qreal m_maxPosSeisAmp; //Stores this gather's maximum Positive seismic amplitude
/// <summary>
/// This parameter is updated in the cGLWindow::Load2DSeisTrcTex function.
/// It stores the opengl ID for the loaded 2D texture array.
/// m_glTextureID = 0 indicates invalid value.
/// </summary>
uint m_glTextureID = 0;
/// <summary>
/// This stores the Texture number. It is used in the glActiveTexture functions to
/// activate the correct texture on while Loading texture data and rendering the texture.
/// </summary>
int m_glTextureNum = -1;
/// <summary>
/// The iterator is used when deleting the pointer, in the function cGLWindow::RemoveSeisGath(std::shared_ptr<cSeisGather> gth)
/// </summary>
std::shared_ptr<cSeisGather> m_posItr;
/// <summary>
/// This parameter is updated in the cGLWindow::LoadColorMap function.
/// It stores the opengl ID for the loaded color map as a texture array.
/// m_glColoMapTextureID = 0 indicates invalid value.
/// </summary>
uint m_glColoMapTextureID;
/// <summary>
/// This parameter is updated in the cGLWindow::AddSeisGath function.
/// It stores the Vertex Array Object (VAO) for the loaded seismic gather.
/// m_VAO = 0 indicates invalid value.
/// </summary>
uint m_VAO;
/// <summary>
/// This parameter tracks if the currect gather is already added to the m_LstSeisXZYGths.
/// New gathers are added to the m_LstSeisXZYGths in the cGLWindow::AddSeisGath function.
/// This parameter stops from getting a gather added multiple times.
/// </summary>
bool m_isGthrDisplayed;
/// <summary>
/// This bool defines if the gather has single source and one or more receivers (a source gather) or
/// single receiver and one or more sources (a receiver gather). This is used in cGlWindow class to
/// decided if the trace tracks should be drawn horizontal (CSG) or vertical (CRG)
/// </summary>
bool m_isSrcGather;
/// <summary>
/// This attribute controls how the data traks will be scaled, when OpenGL draws them.
/// </summary>
QVector3D m_smplsTrckScal;
/// <summary>
/// This attribute controls, if the tracks will be drawn vertically or horizontally. TRUE = Vertical
/// </summary>
bool m_isTrckVert;
};