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

Loading...
Searching...
No Matches
GeoTessMetaData.h
Go to the documentation of this file.
1//- ****************************************************************************
2//-
3//- Copyright 2009 Sandia Corporation. Under the terms of Contract
4//- DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government
5//- 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//- * Redistributions of source code must retain the above copyright notice,
14//- this list of conditions and the following disclaimer.
15//- * Redistributions in binary form must reproduce the above copyright
16//- notice, this list of conditions and the following disclaimer in the
17//- documentation and/or other materials provided with the distribution.
18//- * Neither the name of Sandia National Laboratories nor the names of its
19//- contributors may be used to endorse or promote products derived from
20//- this software without specific prior written permission.
21//-
22//- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23//- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24//- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25//- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
26//- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
27//- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
28//- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
29//- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30//- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
31//- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32//- POSSIBILITY OF SUCH DAMAGE.
33//-
34//- ****************************************************************************
35
36#ifndef GEOTESSMETADATA_OBJECT_H
37#define GEOTESSMETADATA_OBJECT_H
38
39// **** _SYSTEM INCLUDES_ ******************************************************
40
41#include <iostream>
42#include <string>
43#include <fstream>
44#include <vector>
45#include <set>
46#include <list>
47#include <sstream>
48#include <map>
49
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 "GeoTessException.h"
60#include "IFStreamBinary.h"
61#include "IFStreamAscii.h"
62#include "EarthShape.h"
63
64// **** _BEGIN GEOTESS NAMESPACE_ **********************************************
65
66 namespace geotess
67{
68
69// **** _FORWARD REFERENCES_ ***************************************************
70
71// **** _CLASS DEFINITION_ *****************************************************
72
96 class GEOTESS_EXP_IMP GeoTessMetaData
97{
98 private:
99
100 EarthShape earthShape;
101
102 int modelFileFormat;
103
107 string description;
108
112 int nLayers;
113
117 int nVertices;
118
123 string* layerNames;
124
129 int* layerTessIds;
130
135 const GeoTessDataType* dataType;
136
142 int nAttributes;
143
148 string* attributeNames;
149
154 string* attributeUnits;
155
161 bool boolAttributeFilter;
162
171 vector<int> attributeFilter;
172
178 vector<int> inputFilter;
179
184 string attributeFilterString;
185
189 string inputModelFile;
190
194 string inputGridFile;
195
199 double loadTimeModel;
200
204 string outputModelFile;
205
209 string outputGridFile;
210
215 double writeTimeModel;
216
220 int refCount;
221
225 bool reuseGrids;
226
230 string modelSoftwareVersion;
231
236 string modelGenerationDate;
237
238 map<string, string> properties;
239
240 public:
241
259 GeoTessMetaData()
260 : earthShape(), description(""), nLayers(0), nVertices(0), layerNames(NULL), layerTessIds(
261 NULL), dataType(&GeoTessDataType::NONE), nAttributes(-1), attributeNames(
262 NULL), attributeUnits(NULL), boolAttributeFilter(false),
263 inputModelFile("none"), inputGridFile("none"), loadTimeModel(-1.0),
264 outputModelFile("none"), outputGridFile("none"), writeTimeModel(-1.0),
265 refCount(0), reuseGrids(true), modelSoftwareVersion(""), modelGenerationDate("")
266 { }
267
272 GeoTessMetaData(const string &fileName);
273
278 GeoTessMetaData(const GeoTessMetaData& md);
279
285 GeoTessMetaData& operator=(const GeoTessMetaData& other);
286
293 bool operator==(const GeoTessMetaData& other);
294
301 bool operator!=(const GeoTessMetaData& other)
302 {
303 return !(*this == other);
304 }
305
310 static string class_name() { return "GeoTessMetaData"; }
311
315 virtual ~GeoTessMetaData();
316
317 LONG_INT getMemory()
318 {
319 LONG_INT memory = (LONG_INT) sizeof(GeoTessMetaData);
320
321 // EarthShape earthShape;
322 memory += (LONG_INT) sizeof(EarthShape);
323
324 memory += (LONG_INT) (description.length() + attributeFilterString.length()
325 + inputModelFile.length() + inputGridFile.length() + outputModelFile.length()
326 + outputGridFile.length() + modelSoftwareVersion.length() + modelGenerationDate.length());
327
328 // string* layerNames;
329 memory += nLayers * (LONG_INT) sizeof(string);
330 for (int i=0; i<nLayers; ++i)
331 memory += (LONG_INT) layerNames[i].length();
332
333 // int* layerTessIds;
334 memory += nLayers * (LONG_INT)sizeof(int);
335
336 // GeoTessDataType* dataType;
337 memory += nLayers * (int)sizeof(GeoTessDataType);
338
339 // string* attributeNames;
340 // string* attributeUnits;
341 if (nAttributes > 0)
342 {
343 memory += 2 * nAttributes * (LONG_INT) sizeof(string);
344 for (int i=0; i<nAttributes; ++i)
345 {
346 memory += (LONG_INT) attributeNames[i].length();
347 memory += (LONG_INT) attributeUnits[i].length();
348 }
349 }
350
351 // vector<int> attributeFilter;
352 memory += (LONG_INT) (attributeFilter.capacity() * sizeof(int));
353
354 // vector<int> inputFilter;
355 memory += (LONG_INT) (inputFilter.capacity() * sizeof(int));
356
357 return memory;
358 }
359
364 GeoTessMetaData* copy()
365 {
366 GeoTessMetaData* cpy = new GeoTessMetaData(*this);
367 return cpy;
368 }
369
374 bool isGridReuseOn()
375 {
376 return reuseGrids;
377 }
378
384 void setReuseGrids(bool rg)
385 {
386 reuseGrids = rg;
387 }
388
417 EarthShape& getEarthShape() { return earthShape; }
418
445 void setEarthShape(const string& earthShapeName) { earthShape.setEarthShape(earthShapeName); }
446
452 const string& getInputModelFile() const
453 {
454 return inputModelFile;
455 }
456
462 const string& getInputGridFile() const
463 {
464 return inputGridFile;
465 }
466
472 double getLoadTimeModel() const
473 {
474 return loadTimeModel;
475 }
476
482 const string& getOutputModelFile() const
483 {
484 return outputModelFile;
485 }
486 ;
487
493 const string& getOutputGridFile() const
494 {
495 return outputGridFile;
496 }
497 ;
498
504 double getWriteTimeModel() const
505 {
506 return writeTimeModel;
507 }
508 ;
509
515 const string& getDescription() const
516 {
517 return description;
518 }
519 ;
520
526 void setDescription(const string& dscr)
527 {
528 description = dscr;
529 description = CPPUtils::stringReplaceAll("\r\n", "\n", description);
530 description = CPPUtils::stringReplaceAll("\r", "\n", description);
531 //description = CPPUtils::stringReplaceAll("\n", CPPUtils::NEWLINE, description);
532
533 // make sure that description ends with a newline by removing
534 // newline from the end if it exists and then adding it on.
535 CPPUtils::removeEOL(description);
536 description += CPPUtils::NEWLINE;
537 }
538
545 void setLayerNames(const string& lyrNms)
546 {
547 vector<string> layrNames;
548 CPPUtils::tokenizeString(lyrNms, ";", layrNames);
549 setLayerNames(layrNames);
550 }
551
557 void setLayerNames(vector<string>& layrNms);
558
564 int getNVertices() const
565 {
566 return nVertices;
567 }
568
574 int getNLayers() const
575 {
576 return nLayers;
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 properties["attributeNames"] = nms;
829 properties["attributeUnits"] = unts;
830 }
831
838 void setAttributes(const vector<string>& names, const vector<string>& units);
839
845 int getNAttributes() const
846 {
847 return nAttributes;
848 }
849
856 const string& getAttributeName(int attributeIndex) const
857 {
858 if (attributeIndex < 0 || attributeIndex >= nAttributes)
859 {
860 ostringstream os;
861 os << endl << "ERROR in GeoTessMetaData::getAttributeName(int attributeIndex)" << endl
862 << "attributeIndex (" << attributeIndex << ") is out of range (0-" << nAttributes-1 << ")"
863 << endl;
864 throw GeoTessException(os, __FILE__, __LINE__, 6003);
865 }
866
867 return attributeNames[attributeIndex];
868 }
869
875 int getAttributeIndex(string name);
876
883 string getAttributeNamesString() const;
884
891 string getAttributeUnitsString() const;
892
899 const string& getAttributeUnit(int attributeIndex) const
900 {
901 if (attributeIndex < 0 || attributeIndex >= nAttributes)
902 {
903 ostringstream os;
904 os << endl << "ERROR in GeoTessMetaData::getAttributeUnit(int attributeIndex)" << endl
905 << "attributeIndex (" << attributeIndex << ") is out of range (0-" << nAttributes-1 << ")"
906 << endl;
907 throw GeoTessException(os, __FILE__, __LINE__, 6004);
908 }
909 return attributeUnits[attributeIndex];
910 }
911
918 string getAttributeString(int attributeIndex) const
919 {
920 if (attributeIndex < 0 || attributeIndex >= nAttributes)
921 {
922 ostringstream os;
923 os << endl << "ERROR in GeoTessMetaData::getAttributeUnit(int attributeIndex)" << endl
924 << "attributeIndex (" << attributeIndex << ") is out of range (0-" << nAttributes-1 << ")"
925 << endl;
926 throw GeoTessException(os, __FILE__, __LINE__, 6004);
927 }
928 return attributeNames[attributeIndex] + " (" + attributeUnits[attributeIndex]+")";
929 }
930
935 string toString(const string& className, LONG_INT memory) const;
936
941 string toString() const;
942
949 const string& getModelSoftwareVersion() { return modelSoftwareVersion; }
950
959 const string& getModelGenerationDate()
960 { return modelGenerationDate; }
961
967 void setModelSoftwareVersion(const string& swVersion)
968 { modelSoftwareVersion = swVersion; }
969
976 void setModelGenerationDate(const string& genDate)
977 { modelGenerationDate = genDate; }
978
979 // All methods below this point are public but are not documented in the doxygen documentation.
980 // These are methods that typical applications will never need to call. They have to be
981 // public because other classes in the GeoTess namespace need to access them.
982 //
984
990 bool applyAttributeFilter() { return boolAttributeFilter; }
991
1000 vector<int>& getAttributeFilter() { return attributeFilter; }
1001
1007 void setAttributeFilter(vector<int>& filter) { inputFilter = filter; }
1008
1014 void checkComplete();
1015
1016 void loadMetaData(IFStreamBinary& input);
1017
1018 void loadMetaData(IFStreamAscii& input);
1019
1020 void writeMetaData(IFStreamAscii& output, const string& modelClassName,
1021 int nVertices);
1022
1023 void writeMetaData(IFStreamBinary& output, const string& modelClassName,
1024 int nVertices);
1025
1026 int getRefCount() { return refCount; }
1027
1031 void addReference() { ++refCount; }
1032
1036 void removeReference()
1037 {
1038 if (isNotReferenced())
1039 {
1040 ostringstream os;
1041 os << endl << "ERROR in GeoTessMetaData::removeReference" << endl
1042 << "Reference count (" << refCount << ") is already zero."
1043 << endl;
1044 throw GeoTessException(os, __FILE__, __LINE__, 6005);
1045 }
1046
1047 --refCount;
1048 }
1049
1053 bool isNotReferenced() { return (refCount == 0) ? true : false; }
1054
1055 const map<string, string>& getProperties() { return properties; }
1056
1060 void setNVertices(const int& nvert) { nVertices = nvert; }
1061
1067 void setInputModelFile(const string& imf) { inputModelFile = imf; }
1068
1074 void setInputGridFile(const string& igf) { inputGridFile = igf; }
1075
1081 void setLoadTimeModel(double ltm) { loadTimeModel = ltm; }
1082
1088 void setOutputModelFile(const string& omf) { outputModelFile = omf; }
1089
1095 void setOutputGridFile(const string& ogf) { outputGridFile = ogf; }
1096
1102 void setWriteTimeModel(double wtm) { writeTimeModel = wtm; }
1103
1104 int getModelFileFormat() { return modelFileFormat; }
1105
1106 void setModelFileFormat(int version) { modelFileFormat = version; }
1107
1109
1110};
1111// end class GeoTessMetaData
1112
1113}// end namespace geotess
1114
1115#endif // GEOTESSMETADATA_OBJECT_H
GEOTESS_EXP_IMP
#define GEOTESS_EXP_IMP
Definition CPPGlobals.h:71
LONG_INT
#define LONG_INT
Definition CPPGlobals.h:111
CPPUtils.h
EarthShape.h
GeoTessDataType.h
GeoTessException.h
GeoTessUtils.h
IFStreamAscii.h
IFStreamBinary.h
geotess::CPPUtils::NEWLINE
static string const NEWLINE
Definition CPPUtils.h:368
geotess::CPPUtils::stringReplaceAll
static string stringReplaceAll(const string &sf, const string &sr, const string &s)
geotess::CPPUtils::removeEOL
static void removeEOL(string &s)
Definition CPPUtils.h:439
geotess::CPPUtils::tokenizeString
static void tokenizeString(const string &str, const string &delim, vector< string > &tokens)
geotess::EarthShape
Defines the ellipsoid that is to be used to convert between geocentric and geographic latitude and be...
Definition EarthShape.h:86
geotess::GeoTessDataType
Enumeration of supported DataType including DOUBLE, FLOAT, LONG, INT, SHORT and BYTE.
Definition GeoTessDataType.h:68
geotess::GeoTessException
An exception class for all GeoTess objects.
Definition GeoTessException.h:66
geotess::GeoTessMetaData::getAttributeUnitsString
string getAttributeUnitsString() const
geotess::GeoTessMetaData::GeoTessMetaData
GeoTessMetaData(const string &fileName)
geotess::GeoTessMetaData::setLayerNames
void setLayerNames(vector< string > &layrNms)
geotess::GeoTessMetaData::setDescription
void setDescription(const string &dscr)
Definition GeoTessMetaData.h:526
geotess::GeoTessMetaData::getInputGridFile
const string & getInputGridFile() const
Definition GeoTessMetaData.h:462
geotess::GeoTessMetaData::getModelGenerationDate
const string & getModelGenerationDate()
Definition GeoTessMetaData.h:959
geotess::GeoTessMetaData::setDataType
void setDataType(const string &dt)
geotess::GeoTessMetaData::getLayerNames
void getLayerNames(vector< string > &layers)
Definition GeoTessMetaData.h:591
geotess::GeoTessMetaData::getLayerNames
const string *const getLayerNames()
Definition GeoTessMetaData.h:603
geotess::GeoTessMetaData::getMemory
LONG_INT getMemory()
Definition GeoTessMetaData.h:317
geotess::GeoTessMetaData::getLayerNamesString
string getLayerNamesString()
geotess::GeoTessMetaData::setAttributes
void setAttributes(const vector< string > &names, const vector< string > &units)
geotess::GeoTessMetaData::getDescription
const string & getDescription() const
Definition GeoTessMetaData.h:515
geotess::GeoTessMetaData::getOutputGridFile
const string & getOutputGridFile() const
Definition GeoTessMetaData.h:493
geotess::GeoTessMetaData::getModelSoftwareVersion
const string & getModelSoftwareVersion()
Definition GeoTessMetaData.h:949
geotess::GeoTessMetaData::getLayers
void getLayers(const int &tessId, vector< int > &layers)
Definition GeoTessMetaData.h:697
geotess::GeoTessMetaData::getLayerTessIds
const int * getLayerTessIds() const
Definition GeoTessMetaData.h:673
geotess::GeoTessMetaData::getNAttributes
int getNAttributes() const
Definition GeoTessMetaData.h:845
geotess::GeoTessMetaData::operator==
bool operator==(const GeoTessMetaData &other)
geotess::GeoTessMetaData::setLayerTessIds
void setLayerTessIds(vector< int > &layrTsIds)
geotess::GeoTessMetaData::getEarthShape
EarthShape & getEarthShape()
Definition GeoTessMetaData.h:417
geotess::GeoTessMetaData::getFirstLayer
int getFirstLayer(const int &tessId)
Definition GeoTessMetaData.h:712
geotess::GeoTessMetaData::setDataType
void setDataType(const GeoTessDataType &dt)
geotess::GeoTessMetaData::getLayerIndex
int getLayerIndex(const string &layerName) const
geotess::GeoTessMetaData::getAttributeNames
void getAttributeNames(vector< string > &attributes)
Definition GeoTessMetaData.h:766
geotess::GeoTessMetaData::getAttributeName
const string & getAttributeName(int attributeIndex) const
Definition GeoTessMetaData.h:856
geotess::GeoTessMetaData::setEarthShape
void setEarthShape(const string &earthShapeName)
Definition GeoTessMetaData.h:445
geotess::GeoTessMetaData::getAttributeNames
const string *const getAttributeNames()
Definition GeoTessMetaData.h:790
geotess::GeoTessMetaData::isGridReuseOn
bool isGridReuseOn()
Definition GeoTessMetaData.h:374
geotess::GeoTessMetaData::getWriteTimeModel
double getWriteTimeModel() const
Definition GeoTessMetaData.h:504
geotess::GeoTessMetaData::getInputModelFile
const string & getInputModelFile() const
Definition GeoTessMetaData.h:452
geotess::GeoTessMetaData::GeoTessMetaData
GeoTessMetaData(const GeoTessMetaData &md)
geotess::GeoTessMetaData::getLayerName
string getLayerName(const int &layerIndex)
Definition GeoTessMetaData.h:613
geotess::GeoTessMetaData::copy
GeoTessMetaData * copy()
Definition GeoTessMetaData.h:364
geotess::GeoTessMetaData::setModelGenerationDate
void setModelGenerationDate(const string &genDate)
Definition GeoTessMetaData.h:976
geotess::GeoTessMetaData::operator=
GeoTessMetaData & operator=(const GeoTessMetaData &other)
geotess::GeoTessMetaData::GeoTessMetaData
GeoTessMetaData()
Definition GeoTessMetaData.h:259
geotess::GeoTessMetaData::getNVertices
int getNVertices() const
Definition GeoTessMetaData.h:564
geotess::GeoTessMetaData::getAttributeUnits
const string *const getAttributeUnits()
Definition GeoTessMetaData.h:800
geotess::GeoTessMetaData::getNLayers
int getNLayers() const
Definition GeoTessMetaData.h:574
geotess::GeoTessMetaData::class_name
static string class_name()
Definition GeoTessMetaData.h:310
geotess::GeoTessMetaData::setAttributes
void setAttributes(const string &nms, const string &unts)
Definition GeoTessMetaData.h:812
geotess::GeoTessMetaData::getLoadTimeModel
double getLoadTimeModel() const
Definition GeoTessMetaData.h:472
geotess::GeoTessMetaData::toString
string toString(const string &className, LONG_INT memory) const
geotess::GeoTessMetaData::getAttributeNamesString
string getAttributeNamesString() const
geotess::GeoTessMetaData::setModelSoftwareVersion
void setModelSoftwareVersion(const string &swVersion)
Definition GeoTessMetaData.h:967
geotess::GeoTessMetaData::~GeoTessMetaData
virtual ~GeoTessMetaData()
geotess::GeoTessMetaData::getAttributeUnits
void getAttributeUnits(vector< string > &units)
Definition GeoTessMetaData.h:778
geotess::GeoTessMetaData::getAttributeUnit
const string & getAttributeUnit(int attributeIndex) const
Definition GeoTessMetaData.h:899
geotess::GeoTessMetaData::getAttributeString
string getAttributeString(int attributeIndex) const
Definition GeoTessMetaData.h:918
geotess::GeoTessMetaData::setLayerNames
void setLayerNames(const string &lyrNms)
Definition GeoTessMetaData.h:545
geotess::GeoTessMetaData::getDataType
const GeoTessDataType & getDataType() const
Definition GeoTessMetaData.h:741
geotess::GeoTessMetaData::setLayerTessIds
void setLayerTessIds(int layrTsIds[])
Definition GeoTessMetaData.h:643
geotess::GeoTessMetaData::getAttributeIndex
int getAttributeIndex(string name)
geotess::GeoTessMetaData::getTessellation
int getTessellation(int layer) const
Definition GeoTessMetaData.h:685
geotess::GeoTessMetaData::getLastLayer
int getLastLayer(const int &tessId)
Definition GeoTessMetaData.h:727
geotess::GeoTessMetaData::setReuseGrids
void setReuseGrids(bool rg)
Definition GeoTessMetaData.h:384
geotess::GeoTessMetaData::getOutputModelFile
const string & getOutputModelFile() const
Definition GeoTessMetaData.h:482
geotess::GeoTessMetaData::operator!=
bool operator!=(const GeoTessMetaData &other)
Definition GeoTessMetaData.h:301
geotess::GeoTessMetaData::toString
string toString() const
geotess
Definition ArrayReuse.h:55