GeoTessCPP
2.2.3
Software to facilitate storage and retrieval of 3D information about the Earth.
GeoTessOptimizationType.h
Go to the documentation of this file.
1
//- ****************************************************************************
2
//-
3
//- Copyright 2009 National Technology & Engineering Solutions of Sandia, LLC
4
//- (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the U.S.
5
//- Government retains certain rights in this software.
6
//-
7
//- BSD Open Source License
8
//- All rights reserved.
9
//-
10
//- Redistribution and use in source and binary forms, with or without
11
//- modification, are permitted provided that the following conditions are met:
12
//-
13
//- 1. Redistributions of source code must retain the above copyright notice,
14
//- this list of conditions and the following disclaimer.
15
//-
16
//- 2. Redistributions in binary form must reproduce the above copyright
17
//- notice, this list of conditions and the following disclaimer in the
18
//- documentation and/or other materials provided with the distribution.
19
//-
20
//- 3. Neither the name of the copyright holder nor the names of its
21
//- contributors may be used to endorse or promote products derived from
22
//- this software without specific prior written permission.
23
//-
24
//- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25
//- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26
//- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27
//- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
28
//- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29
//- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30
//- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31
//- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32
//- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33
//- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34
//- POSSIBILITY OF SUCH DAMAGE.
35
//-
36
//- ****************************************************************************
37
38
#ifndef OPTIMIZATIONTYPE_OBJECT_H
39
#define OPTIMIZATIONTYPE_OBJECT_H
40
41
// **** _SYSTEM INCLUDES_ ******************************************************
42
43
#include <iostream>
44
#include <string>
45
46
// use standard library objects
47
using namespace
std;
48
49
// **** _LOCAL INCLUDES_ *******************************************************
50
51
#include "
GeoTessEnumType.h
"
52
53
// **** _BEGIN GEOTESS NAMESPACE_ **********************************************
54
55
namespace
geotess
56
{
57
58
// **** _FORWARD REFERENCES_ ***************************************************
59
60
// **** _CLASS DEFINITION_ *****************************************************
61
68
class
GEOTESS_EXP_IMP
GeoTessOptimizationType
:
public
GeoTessEnumType
69
{
70
private
:
71
75
GeoTessOptimizationType
() :
GeoTessEnumType
()
76
{
77
}
78
82
GeoTessOptimizationType
(
const
GeoTessOptimizationType
& ot) :
GeoTessEnumType
(ot)
83
{
84
}
85
89
GeoTessOptimizationType
& operator=(
const
GeoTessOptimizationType
& ot)
90
{
91
return
*
this
;
92
}
93
97
static
const
int
aSize;
98
103
static
inline
int
nextOrdinal()
104
{
105
static
int
firstOrdinal = 0;
106
return
firstOrdinal++;
107
}
108
114
GeoTessOptimizationType
(
const
string
& name)
115
:
GeoTessEnumType
(name, nextOrdinal())
116
{
117
}
118
119
public
:
120
124
static
const
GeoTessOptimizationType
SPEED
;
125
static
const
GeoTessOptimizationType
MEMORY
;
126
130
static
const
GeoTessOptimizationType
* aArray[];
131
135
virtual
~GeoTessOptimizationType
()
136
{
137
}
138
139
// /**
140
// * Assignment Operator.
141
// */
142
// OptimizationType& OptimizationType::operator=(const OptimizationType& ot)
143
// {
144
// EnumType::operator=(ot);
145
//
146
// return *this;
147
// }
148
156
static
const
GeoTessOptimizationType
*
valueOf
(
const
string
& s)
157
{
158
return
(
const
GeoTessOptimizationType
*) GeoTessEnumType::valueOf(s,
159
(
GeoTessEnumType
const
*
const
*
const
) aArray, aSize);
160
}
161
;
162
166
static
GeoTessOptimizationType
const
*
const
*
const
values
()
167
{
168
return
aArray;
169
}
170
174
static
int
size
()
175
{
176
return
aSize;
177
}
178
179
};
180
// end class OptimizationType
181
182
}
// end namespace geotess
183
184
#endif // OPTIMIZATIONTYPE_OBJECT_H
geotess
Definition:
ArrayReuse.h:57
GeoTessEnumType.h
geotess::GeoTessEnumType
The base class for all "enum" types.
Definition:
GeoTessEnumType.h:70
geotess::GeoTessOptimizationType::MEMORY
static const GeoTessOptimizationType MEMORY
Definition:
GeoTessOptimizationType.h:125
geotess::GeoTessOptimizationType::valueOf
static const GeoTessOptimizationType * valueOf(const string &s)
Definition:
GeoTessOptimizationType.h:156
geotess::GeoTessOptimizationType::SPEED
static const GeoTessOptimizationType SPEED
Definition:
GeoTessOptimizationType.h:124
geotess::GeoTessOptimizationType::~GeoTessOptimizationType
virtual ~GeoTessOptimizationType()
Definition:
GeoTessOptimizationType.h:135
GEOTESS_EXP_IMP
#define GEOTESS_EXP_IMP
Definition:
CPPGlobals.h:73
geotess::GeoTessOptimizationType::values
static GeoTessOptimizationType const *const *const values()
Definition:
GeoTessOptimizationType.h:166
geotess::GeoTessOptimizationType::size
static int size()
Definition:
GeoTessOptimizationType.h:174
geotess::GeoTessOptimizationType
Enumeration of the optimization strategies supported by GeoTess including OptimizationType::SPEED and...
Definition:
GeoTessOptimizationType.h:69
rstt
GeoTessCPP
include
GeoTessOptimizationType.h
Generated by
1.8.18