Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
platform
Space
EcefTangentBasis.h
1
// Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2
3
#pragma once
4
5
#include "Space.h"
6
#include "Streaming.h"
7
#include "VectorMath.h"
8
9
namespace
Eegeo
10
{
11
namespace
Space
12
{
23
class
EcefTangentBasis
24
{
25
public
:
26
EcefTangentBasis
();
27
29
33
EcefTangentBasis
(
const
dv3
& pointEcef,
const
v3
& heading);
34
35
const
dv3
& GetPointEcef()
const
{
return
m_pointEcef; }
36
const
v3
& GetRight()
const
{
return
m_basisRight; }
37
const
v3
& GetUp()
const
{
return
m_basisUp; }
38
const
v3
& GetForward()
const
{
return
m_basisForward; }
39
41
45
void
Set
(
const
dv3
& pointEcef,
const
v3
& heading);
46
47
void
SetPoint(
const
dv3
& pointEcef)
48
{
49
Set
(pointEcef, m_basisForward);
50
}
51
52
void
SetHeading(
const
v3
& heading)
53
{
54
Set
(m_pointEcef, heading);
55
}
56
58
/* ! \param out. An output matrix to store the result
59
*/
60
void
GetBasisOrientationAsMatrix
(
m33
& out)
const
;
61
62
m44
GetEcefToTangentTransform()
const
;
63
64
m44
GetTangentToEcefTransform()
const
;
65
67
69
static
EcefTangentBasis
CreateFromMortonKey
(
const
Eegeo::Streaming::MortonKey
& key);
70
71
private
:
72
EcefTangentBasis
(
dv3
point,
v3
right,
v3
up,
v3
forward);
73
74
dv3
m_pointEcef;
75
v3
m_basisRight;
76
v3
m_basisUp;
77
v3
m_basisForward;
78
};
79
}
80
}
Generated on Sat Jun 10 2023 02:00:34 for eeGeo Platform SDK by
1.8.3.1