GeoTessCPP: rstt/GeoTessCPP/include/GeoTessMetaData.h Source File

GeoTessCPP 2.2.3 Software to facilitate storage and retrieval of 3D information about the Earth.

GeoTessMetaData.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 GEOTESSMETADATA_OBJECT_H
39 #define GEOTESSMETADATA_OBJECT_H
40
41 // **** _SYSTEM INCLUDES_ ******************************************************
42
43 #include <iostream>
44 #include <string>
45 #include <fstream>
46 #include <vector>
47 #include <set>
48 #include <list>
49 #include <sstream>
50
51 // use standard library objects
52 using namespace std;
53
54 // **** _LOCAL INCLUDES_ *******************************************************
55
56 #include "CPPUtils.h"
57 #include "GeoTessUtils.h"
58 #include "GeoTessDataType.h"
59 #include "GeoTessOptimizationType.h"
60 #include "GeoTessException.h"
61 #include "IFStreamBinary.h"
62 #include "IFStreamAscii.h"
63 #include "EarthShape.h"
64
65 // **** _BEGIN GEOTESS NAMESPACE_ **********************************************
66
67 namespace geotess
68 {
69
70 // **** _FORWARD REFERENCES_ ***************************************************
71
72 // **** _CLASS DEFINITION_ *****************************************************
73
97 class GEOTESS_EXP_IMP GeoTessMetaData
98 {
99 private:
100
101 EarthShape earthShape;
102
106 string description;
107
111 int nLayers;
112
116 int nVertices;
117
122 string* layerNames;
123
128 int* layerTessIds;
129
134 const GeoTessDataType* dataType;
135
141 int nAttributes;
142
147 string* attributeNames;
148
153 string* attributeUnits;
154
160 bool boolAttributeFilter;
161
170 vector<int> attributeFilter;
171
177 vector<int> inputFilter;
178
183 string attributeFilterString;
184
188 string inputModelFile;
189
193 string inputGridFile;
194
198 double loadTimeModel;
199
203 string outputModelFile;
204
208 string outputGridFile;
209
214 double writeTimeModel;
215
219 int refCount;
220
224 bool reuseGrids;
225
229 string modelSoftwareVersion;
230
235 string modelGenerationDate;
236
237 public:
238
256 GeoTessMetaData()
257 : earthShape(), description(""), nLayers(0), nVertices(0), layerNames(NULL), layerTessIds(
258 NULL), dataType(&GeoTessDataType::NONE), nAttributes(-1), attributeNames(
259 NULL), attributeUnits(NULL), boolAttributeFilter(false),
260 inputModelFile("none"), inputGridFile("none"), loadTimeModel(-1.0),
261 outputModelFile("none"), outputGridFile("none"), writeTimeModel(-1.0),
262 refCount(0), reuseGrids(true), modelSoftwareVersion(""), modelGenerationDate("")
263 { }
264
269 GeoTessMetaData(const string &fileName);
270
275 GeoTessMetaData(const GeoTessMetaData& md);
276
282 GeoTessMetaData& operator=(const GeoTessMetaData& other);
283
290 bool operator==(const GeoTessMetaData& other);
291
298 bool operator!=(const GeoTessMetaData& other)
299 {
300 return !(*this == other);
301 }
302
307 static string class_name() { return "GeoTessMetaData"; }
308
312 virtual ~GeoTessMetaData();
313
314 LONG_INT getMemory()
315 {
316 LONG_INT memory = (LONG_INT) sizeof(GeoTessMetaData);
317
318 // EarthShape earthShape;
319 memory += (LONG_INT) sizeof(EarthShape);
320
321 memory += (LONG_INT) (description.length() + attributeFilterString.length()
322 + inputModelFile.length() + inputGridFile.length() + outputModelFile.length()
323 + outputGridFile.length() + modelSoftwareVersion.length() + modelGenerationDate.length());
324
325 // string* layerNames;
326 memory += nLayers * (LONG_INT) sizeof(string);
327 for (int i=0; i<nLayers; ++i)
328 memory += (LONG_INT) layerNames[i].length();
329
330 // int* layerTessIds;
331 memory += nLayers * (LONG_INT)sizeof(int);
332
333 // GeoTessDataType* dataType;
334 memory += nLayers * (int)sizeof(GeoTessDataType);
335
336 // string* attributeNames;
337 // string* attributeUnits;
338 if (nAttributes > 0)
339 {
340 memory += 2 * nAttributes * (LONG_INT) sizeof(string);
341 for (int i=0; i<nAttributes; ++i)
342 {
343 memory += (LONG_INT) attributeNames[i].length();
344 memory += (LONG_INT) attributeUnits[i].length();
345 }
346 }
347
348 // vector<int> attributeFilter;
349 memory += (LONG_INT) (attributeFilter.capacity() * sizeof(int));
350
351 // vector<int> inputFilter;
352 memory += (LONG_INT) (inputFilter.capacity() * sizeof(int));
353
354 return memory;
355 }
356
361 GeoTessMetaData* copy()
362 {
363 GeoTessMetaData* cpy = new GeoTessMetaData(*this);
364 return cpy;
365 }
366
371 bool isGridReuseOn()
372 {
373 return reuseGrids;
374 }
375
381 void setReuseGrids(bool rg)
382 {
383 reuseGrids = rg;
384 }
385
414 EarthShape& getEarthShape() { return earthShape; }
415
442 void setEarthShape(const string& earthShapeName) { earthShape.setEarthShape(earthShapeName); }
443
449 const string& getInputModelFile() const
450 {
451 return inputModelFile;
452 }
453 ;
454
460 const string& getInputGridFile() const
461 {
462 return inputGridFile;
463 }
464
470 double getLoadTimeModel() const
471 {
472 return loadTimeModel;
473 }
474
480 const string& getOutputModelFile() const
481 {
482 return outputModelFile;
483 }
484 ;
485
491 const string& getOutputGridFile() const
492 {
493 return outputGridFile;
494 }
495 ;
496
502 double getWriteTimeModel() const
503 {
504 return writeTimeModel;
505 }
506 ;
507
513 const string& getDescription() const
514 {
515 return description;
516 }
517 ;
518
524 void setDescription(const string& dscr)
525 {
526 description = dscr;
527 description = CPPUtils::stringReplaceAll("\r\n", "\n", description);
528 description = CPPUtils::stringReplaceAll("\r", "\n", description);
529 //description = CPPUtils::stringReplaceAll("\n", CPPUtils::NEWLINE, description);
530
531 // make sure that description ends with a newline by removing
532 // newline from the end if it exists and then adding it on.
533 CPPUtils::removeEOL(description);
534 description += CPPUtils::NEWLINE;
535 }
536
543 void setLayerNames(const string& lyrNms)
544 {
545 vector<string> layrNames;
546 CPPUtils::tokenizeString(lyrNms, ";", layrNames);
547 setLayerNames(layrNames);
548 }
549
555 void setLayerNames(vector<string>& layrNms);
556
562 int getNVertices() const
563 {
564 return nVertices;
565 }
566 ;
567
573 int getNLayers() const
574 {
575 return nLayers;
576 }
577 ;
578
584 int getLayerIndex(const string& layerName) const;
585
591 void getLayerNames(vector<string>& layers)
592 {
593 layers.clear();
594 for (int i=0; i<nLayers; ++i)
595 layers.push_back(layerNames[i]);
596 }
597
603 const string* const getLayerNames()
604 {
605 return layerNames;
606 }
607
613 string getLayerName(const int& layerIndex)
614 {
615 if (layerIndex < 0 || layerIndex >= nLayers)
616 {
617 ostringstream os;
618 os << endl << "ERROR in GeoTessMetaData::getLayerName(int layerIndex)" << endl
619 << "attributeIndex (" << layerIndex << ") is out of range (0-" << nLayers-1 << ")"
620 << endl;
621 throw GeoTessException(os, __FILE__, __LINE__, 6001);
622 }
623
624 return layerNames[layerIndex];
625 }
626
633 string getLayerNamesString();
634
643 void setLayerTessIds(int layrTsIds[])
644 {
645 if (nLayers <= 0)
646 {
647 ostringstream os;
648 os << "Cannot call GeoTessMetaData::setLayerTessIds() "
649 << "before calling GeoTessMetaData::setLayerNames()" << endl;
650 throw GeoTessException(os, __FILE__, __LINE__, 6002);
651 }
652
653 if (layerTessIds != NULL)
654 delete[] layerTessIds;
655 layerTessIds = new int[nLayers];
656 for (int i=0; i<nLayers; ++i)
657 layerTessIds[i] = layrTsIds[i];
658 }
659
665 void setLayerTessIds(vector<int>& layrTsIds);
666
673 const int* getLayerTessIds() const
674 {
675 return layerTessIds;
676 }
677 ;
678
685 int getTessellation(int layer) const
686 {
687 return layerTessIds[layer];
688 }
689
697 void getLayers(const int& tessId, vector<int>& layers)
698 {
699 layers.clear();
700 for (int i=0; i<nLayers; ++i)
701 if (layerTessIds[i] == tessId)
702 layers.push_back(i);
703 }
704
712 int getFirstLayer(const int& tessId)
713 {
714 for (int i=0; i<nLayers; ++i)
715 if (layerTessIds[i] == tessId)
716 return i;
717 return -1;
718 }
719
727 int getLastLayer(const int& tessId)
728 {
729 for (int i=nLayers-1; i >= 0; --i)
730 if (layerTessIds[i] == tessId)
731 return i;
732 return -1;
733 }
734
741 const GeoTessDataType& getDataType() const
742 {
743 return *dataType;
744 }
745
751 void setDataType(const GeoTessDataType& dt);
752
759 void setDataType(const string& dt);
760
766 void getAttributeNames(vector<string>& attributes)
767 {
768 attributes.clear();
769 for (int i = 0; i < nAttributes; ++i)
770 attributes.push_back(attributeNames[i]);
771 }
772
778 void getAttributeUnits(vector<string>& units)
779 {
780 units.clear();
781 for (int i = 0; i < nAttributes; ++i)
782 units.push_back(attributeUnits[i]);
783 }
784
790 const string* const getAttributeNames()
791 {
792 return attributeNames;
793 }
794
800 const string* const getAttributeUnits()
801 {
802 return attributeUnits;
803 }
804
812 void setAttributes(const string& nms, const string& unts)
813 {
814 vector<string> names, units;
815 CPPUtils::tokenizeString(nms, ";", names);
816 CPPUtils::tokenizeString(unts, ";", units);
817 if (names.size() != units.size())
818 {
819 ostringstream os;
820 os << "Error in GeoTessMetaData::setAttributes(const string& nms, const string& unts)" << endl
821 << "Attribute names size (" << names.size()
822 << ") is not equal to units size (" << units.size() << ")" << endl;
823 names.clear(); units.clear();
824 throw GeoTessException(os, __FILE__, __LINE__, 6009);
825 }
826 setAttributes(names, units);
827 }
828
835 void setAttributes(const vector<string>& names, const vector<string>& units);
836
842 int getNAttributes() const
843 {
844 return nAttributes;
845 }
846
853 const string& getAttributeName(int attributeIndex) const
854 {
855 if (attributeIndex < 0 || attributeIndex >= nAttributes)
856 {
857 ostringstream os;
858 os << endl << "ERROR in GeoTessMetaData::getAttributeName(int attributeIndex)" << endl
859 << "attributeIndex (" << attributeIndex << ") is out of range (0-" << nAttributes-1 << ")"
860 << endl;
861 throw GeoTessException(os, __FILE__, __LINE__, 6003);
862 }
863
864 return attributeNames[attributeIndex];
865 }
866
872 int getAttributeIndex(string name);
873
880 string getAttributeNamesString() const;
881
888 string getAttributeUnitsString() const;
889
896 const string& getAttributeUnit(int attributeIndex) const
897 {
898 if (attributeIndex < 0 || attributeIndex >= nAttributes)
899 {
900 ostringstream os;
901 os << endl << "ERROR in GeoTessMetaData::getAttributeUnit(int attributeIndex)" << endl
902 << "attributeIndex (" << attributeIndex << ") is out of range (0-" << nAttributes-1 << ")"
903 << endl;
904 throw GeoTessException(os, __FILE__, __LINE__, 6004);
905 }
906 return attributeUnits[attributeIndex];
907 }
908
915 string getAttributeString(int attributeIndex) const
916 {
917 if (attributeIndex < 0 || attributeIndex >= nAttributes)
918 {
919 ostringstream os;
920 os << endl << "ERROR in GeoTessMetaData::getAttributeUnit(int attributeIndex)" << endl
921 << "attributeIndex (" << attributeIndex << ") is out of range (0-" << nAttributes-1 << ")"
922 << endl;
923 throw GeoTessException(os, __FILE__, __LINE__, 6004);
924 }
925 return attributeNames[attributeIndex] + " (" + attributeUnits[attributeIndex]+")";
926 }
927
932 string toString(const string& className, LONG_INT memory) const;
933
938 string toString() const;
939
946 const string& getModelSoftwareVersion() { return modelSoftwareVersion; }
947
956 const string& getModelGenerationDate()
957 { return modelGenerationDate; }
958
964 void setModelSoftwareVersion(const string& swVersion)
965 { modelSoftwareVersion = swVersion; }
966
973 void setModelGenerationDate(const string& genDate)
974 { modelGenerationDate = genDate; }
975
976 // All methods below this point are public but are not documented in the doxygen documentation.
977 // These are methods that typical applications will never need to call. They have to be
978 // public because other classes in the GeoTess namespace need to access them.
979 //
981
987 bool applyAttributeFilter() { return boolAttributeFilter; }
988
997 vector<int>& getAttributeFilter() { return attributeFilter; }
998
1004 void setAttributeFilter(vector<int>& filter) { inputFilter = filter; }
1005
1011 void checkComplete();
1012
1013 void loadMetaData(IFStreamBinary& input);
1014
1015 void loadMetaData(IFStreamAscii& input);
1016
1017 int getRefCount() { return refCount; }
1018
1022 void addReference() { ++refCount; }
1023
1027 void removeReference()
1028 {
1029 if (isNotReferenced())
1030 {
1031 ostringstream os;
1032 os << endl << "ERROR in GeoTessMetaData::removeReference" << endl
1033 << "Reference count (" << refCount << ") is already zero."
1034 << endl;
1035 throw GeoTessException(os, __FILE__, __LINE__, 6005);
1036 }
1037
1038 --refCount;
1039 }
1040
1044 bool isNotReferenced() { return (refCount == 0) ? true : false; }
1045
1049 void setNVertices(const int& nvert) { nVertices = nvert; }
1050
1056 void setInputModelFile(const string& imf) { inputModelFile = imf; }
1057
1063 void setInputGridFile(const string& igf) { inputGridFile = igf; }
1064
1070 void setLoadTimeModel(double ltm) { loadTimeModel = ltm; }
1071
1077 void setOutputModelFile(const string& omf) { outputModelFile = omf; }
1078
1084 void setOutputGridFile(const string& ogf) { outputGridFile = ogf; }
1085
1091 void setWriteTimeModel(double wtm) { writeTimeModel = wtm; }
1092
1093 // the following methods that involve Optimization type are all deprecated.
1094 // They no longer have any effect since GeoTess is always optimized for speed.
1095 const GeoTessOptimizationType& getOptimizationType() const { return GeoTessOptimizationType::SPEED; }
1096 void setOptimizationType(const GeoTessOptimizationType& ot);
1097 void setOptimizationType(const string& ot);
1098
1100
1101 };
1102 // end class GeoTessMetaData
1103
1104 }// end namespace geotess
1105
1106 #endif // GEOTESSMETADATA_OBJECT_H
geotess::GeoTessMetaData::getLayerIndex
int getLayerIndex(const string &layerName) const
geotess::GeoTessMetaData::setReuseGrids
void setReuseGrids(bool rg)
Definition: GeoTessMetaData.h:381
geotess
Definition: ArrayReuse.h:57
GeoTessException.h
IFStreamBinary.h
geotess::GeoTessMetaData::setModelSoftwareVersion
void setModelSoftwareVersion(const string &swVersion)
Definition: GeoTessMetaData.h:964
geotess::GeoTessMetaData::GeoTessMetaData
GeoTessMetaData(const string &fileName)
geotess::GeoTessMetaData::~GeoTessMetaData
virtual ~GeoTessMetaData()
geotess::GeoTessMetaData::getNAttributes
int getNAttributes() const
Definition: GeoTessMetaData.h:842
geotess::GeoTessMetaData::setEarthShape
void setEarthShape(const string &earthShapeName)
Definition: GeoTessMetaData.h:442
geotess::GeoTessMetaData::setDescription
void setDescription(const string &dscr)
Definition: GeoTessMetaData.h:524
geotess::GeoTessMetaData::setLayerNames
void setLayerNames(vector< string > &layrNms)
geotess::GeoTessMetaData::setLayerNames
void setLayerNames(const string &lyrNms)
Definition: GeoTessMetaData.h:543
geotess::GeoTessMetaData::getTessellation
int getTessellation(int layer) const
Definition: GeoTessMetaData.h:685
geotess::GeoTessMetaData::getLayerTessIds
const int * getLayerTessIds() const
Definition: GeoTessMetaData.h:673
geotess::GeoTessMetaData::getLayerNames
void getLayerNames(vector< string > &layers)
Definition: GeoTessMetaData.h:591
geotess::GeoTessMetaData::getDescription
const string & getDescription() const
Definition: GeoTessMetaData.h:513
geotess::GeoTessMetaData::setDataType
void setDataType(const string &dt)
geotess::GeoTessMetaData::getNVertices
int getNVertices() const
Definition: GeoTessMetaData.h:562
geotess::GeoTessMetaData::getMemory
LONG_INT getMemory()
Definition: GeoTessMetaData.h:314
geotess::GeoTessMetaData::getLayerName
string getLayerName(const int &layerIndex)
Definition: GeoTessMetaData.h:613
GeoTessOptimizationType.h
geotess::GeoTessMetaData::GeoTessMetaData
GeoTessMetaData()
Definition: GeoTessMetaData.h:256
geotess::GeoTessMetaData::setAttributes
void setAttributes(const vector< string > &names, const vector< string > &units)
geotess::GeoTessMetaData::getAttributeNamesString
string getAttributeNamesString() const
geotess::GeoTessMetaData::getModelGenerationDate
const string & getModelGenerationDate()
Definition: GeoTessMetaData.h:956
geotess::GeoTessMetaData::setLayerTessIds
void setLayerTessIds(int layrTsIds[])
Definition: GeoTessMetaData.h:643
geotess::GeoTessMetaData::getAttributeUnit
const string & getAttributeUnit(int attributeIndex) const
Definition: GeoTessMetaData.h:896
GeoTessUtils.h
geotess::GeoTessMetaData::getNLayers
int getNLayers() const
Definition: GeoTessMetaData.h:573
EarthShape.h
geotess::GeoTessMetaData::getLayerNames
const string *const getLayerNames()
Definition: GeoTessMetaData.h:603
geotess::GeoTessMetaData::getWriteTimeModel
double getWriteTimeModel() const
Definition: GeoTessMetaData.h:502
geotess::GeoTessMetaData::setModelGenerationDate
void setModelGenerationDate(const string &genDate)
Definition: GeoTessMetaData.h:973
geotess::EarthShape::setEarthShape
void setEarthShape(const string &earthShape)
Definition: EarthShape.h:187
geotess::GeoTessDataType
Enumeration of supported DataType including DOUBLE, FLOAT, LONG, INT, SHORT and BYTE.
Definition: GeoTessDataType.h:70
LONG_INT
#define LONG_INT
Definition: CPPGlobals.h:113
geotess::GeoTessMetaData::toString
string toString() const
geotess::GeoTessMetaData::getEarthShape
EarthShape & getEarthShape()
Definition: GeoTessMetaData.h:414
geotess::GeoTessMetaData::getLayers
void getLayers(const int &tessId, vector< int > &layers)
Definition: GeoTessMetaData.h:697
geotess::EarthShape
Defines the ellipsoid that is to be used to convert between geocentric and geographic latitude and be...
Definition: EarthShape.h:88
geotess::GeoTessMetaData::class_name
static string class_name()
Definition: GeoTessMetaData.h:307
geotess::GeoTessMetaData::copy
GeoTessMetaData * copy()
Definition: GeoTessMetaData.h:361
geotess::GeoTessMetaData::getLastLayer
int getLastLayer(const int &tessId)
Definition: GeoTessMetaData.h:727
geotess::GeoTessMetaData::getModelSoftwareVersion
const string & getModelSoftwareVersion()
Definition: GeoTessMetaData.h:946
geotess::GeoTessMetaData::toString
string toString(const string &className, LONG_INT memory) const
geotess::GeoTessMetaData::setAttributes
void setAttributes(const string &nms, const string &unts)
Definition: GeoTessMetaData.h:812
geotess::GeoTessMetaData::setLayerTessIds
void setLayerTessIds(vector< int > &layrTsIds)
GEOTESS_EXP_IMP
#define GEOTESS_EXP_IMP
Definition: CPPGlobals.h:73
geotess::GeoTessMetaData::getAttributeName
const string & getAttributeName(int attributeIndex) const
Definition: GeoTessMetaData.h:853
geotess::GeoTessMetaData::GeoTessMetaData
GeoTessMetaData(const GeoTessMetaData &md)
IFStreamAscii.h
geotess::GeoTessMetaData::getAttributeUnitsString
string getAttributeUnitsString() const
geotess::GeoTessMetaData::getOutputGridFile
const string & getOutputGridFile() const
Definition: GeoTessMetaData.h:491
geotess::GeoTessMetaData::setDataType
void setDataType(const GeoTessDataType &dt)
geotess::GeoTessMetaData::getAttributeUnits
void getAttributeUnits(vector< string > &units)
Definition: GeoTessMetaData.h:778
geotess::GeoTessMetaData::operator!=
bool operator!=(const GeoTessMetaData &other)
Definition: GeoTessMetaData.h:298
geotess::GeoTessMetaData::operator=
GeoTessMetaData & operator=(const GeoTessMetaData &other)
geotess::GeoTessMetaData
Basic metadata information about a GeoTessModel.
Definition: GeoTessMetaData.h:98
geotess::GeoTessMetaData::getAttributeIndex
int getAttributeIndex(string name)
geotess::GeoTessMetaData::getAttributeString
string getAttributeString(int attributeIndex) const
Definition: GeoTessMetaData.h:915
geotess::GeoTessMetaData::isGridReuseOn
bool isGridReuseOn()
Definition: GeoTessMetaData.h:371
geotess::GeoTessMetaData::getOutputModelFile
const string & getOutputModelFile() const
Definition: GeoTessMetaData.h:480
geotess::GeoTessMetaData::getLoadTimeModel
double getLoadTimeModel() const
Definition: GeoTessMetaData.h:470
geotess::GeoTessMetaData::getFirstLayer
int getFirstLayer(const int &tessId)
Definition: GeoTessMetaData.h:712
geotess::GeoTessMetaData::getAttributeNames
const string *const getAttributeNames()
Definition: GeoTessMetaData.h:790
geotess::GeoTessMetaData::operator==
bool operator==(const GeoTessMetaData &other)
geotess::GeoTessException
An exception class for all GeoTess objects.
Definition: GeoTessException.h:68
geotess::GeoTessMetaData::getDataType
const GeoTessDataType & getDataType() const
Definition: GeoTessMetaData.h:741
GeoTessDataType.h
geotess::GeoTessMetaData::getAttributeNames
void getAttributeNames(vector< string > &attributes)
Definition: GeoTessMetaData.h:766
geotess::GeoTessMetaData::getAttributeUnits
const string *const getAttributeUnits()
Definition: GeoTessMetaData.h:800
CPPUtils.h
geotess::GeoTessMetaData::getInputGridFile
const string & getInputGridFile() const
Definition: GeoTessMetaData.h:460
geotess::GeoTessMetaData::getLayerNamesString
string getLayerNamesString()
geotess::GeoTessMetaData::getInputModelFile
const string & getInputModelFile() const
Definition: GeoTessMetaData.h:449