forked from ngageoint/csm
-
Notifications
You must be signed in to change notification settings - Fork 13
/
SettableEllipsoid.cpp
71 lines (60 loc) · 1.85 KB
/
SettableEllipsoid.cpp
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
//#############################################################################
//
// FILENAME: SettableEllipsoid.cpp
//
// CLASSIFICATION: Unclassified
//
// DESCRIPTION:
//
// This file provides implementation for methods declared in the
// SettableEllipsoid class.
//
// SOFTWARE HISTORY:
// Date Author Comment
// ----------- ------ -------
// 06-Aug-2016 Krinsky Initial Coding
//
//#############################################################################
#ifndef CSM_LIBRARY
#define CSM_LIBRARY
#endif
#include "SettableEllipsoid.h"
#include "Model.h"
namespace csm
{
//*****************************************************************************
// SettableEllipsoid::SettableEllipsoid()
//*****************************************************************************
SettableEllipsoid::SettableEllipsoid()
{
csm::Ellipsoid wgs84Ellipsoid;
setEllipsoid(wgs84Ellipsoid);
}
//**************************************************************************
// SettableEllipsoid::SettableEllipsoid()
//**************************************************************************
SettableEllipsoid::SettableEllipsoid( const csm::Ellipsoid &ellipsoid )
{
setEllipsoid( ellipsoid );
}
csm::Ellipsoid SettableEllipsoid::getEllipsoid() const
{
return mEllipsoid;
}
void SettableEllipsoid::setEllipsoid(
const csm::Ellipsoid &ellipsoid)
{
mEllipsoid = ellipsoid;
}
Ellipsoid SettableEllipsoid::getEllipsoid(
const csm::Model *model)
{
Ellipsoid ellipse; // By default this is WGS-84
const SettableEllipsoid *ellipseModel = dynamic_cast<const SettableEllipsoid *>(model);
if (ellipseModel != NULL)
{
ellipse = ellipseModel->getEllipsoid();
}
return ellipse;
}
} // namespace csm