diff options
author | Andrei Aiordachioaie <a.aiordachioaie@jacobs-university.de> | 2009-08-25 13:33:09 +0200 |
---|---|---|
committer | Peter Baumann <baumann@rasdaman.org> | 2009-08-27 09:38:08 +0200 |
commit | fd66ca862d4499378719e2a635c9f97df28b763d (patch) | |
tree | e11e40b69e30b4d553cd0bcdedb435849c22e0d0 /qlparser/qtmddconfig.hh | |
parent | bb3139b97d956a8455649af82c0f3b705d2a8e55 (diff) | |
download | rasdaman-upstream-fd66ca862d4499378719e2a635c9f97df28b763d.tar.gz rasdaman-upstream-fd66ca862d4499378719e2a635c9f97df28b763d.tar.xz rasdaman-upstream-fd66ca862d4499378719e2a635c9f97df28b763d.zip |
Tiling & Indexing options added to rasql grammar
Diffstat (limited to 'qlparser/qtmddconfig.hh')
-rwxr-xr-x | qlparser/qtmddconfig.hh | 150 |
1 files changed, 150 insertions, 0 deletions
diff --git a/qlparser/qtmddconfig.hh b/qlparser/qtmddconfig.hh new file mode 100755 index 0000000..79c512e --- /dev/null +++ b/qlparser/qtmddconfig.hh @@ -0,0 +1,150 @@ +/* +* This file is part of rasdaman community. +* +* Rasdaman community is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* Rasdaman community is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with rasdaman community. If not, see <http://www.gnu.org/licenses/>. +* +* Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann / +rasdaman GmbH. +* +* For more information please see <http://www.rasdaman.org> +* or contact Peter Baumann via <baumann@rasdaman.com>. +*/ + +/************************************************************* + * + * CHANGE HISTORY (append further entries): + * when who what + * ---------------------------------------------------------- + * 10-11-08 Shams Created the class + * 14-08-09 Andrei Reimplemented the class + * COMMENTS: + * + ************************************************************/ +#ifndef _QTMDDCONFIG_HH_ +#define _QTMDDCONFIG_HH_ + +#include "qlparser/qtconst.hh" +#include "rasodmg/dirdecompose.hh" +#include <iostream> +#ifndef CPPSTDLIB +#include <ospace/string.h> // STL<ToolKit> +#else +#include <string> +using namespace std; +#endif +#include<fstream> + + +class QtMDDConfig: public QtData +{ +private: + int tilingType; + int tileSize; + int borderThreshold; + double interestThreshold; + QtOperation* tileCfg; + QtNode::QtOperationList* box; + std::vector<r_Dir_Decompose>* dDecomp; + int indexType; + int param; // wavelet param + +public: + // Constructors + QtMDDConfig(); + QtMDDConfig( int tilingType, int tileSize, int borderThreshold, + double interestThreshold, QtOperation* tileCfg, + QtNode::QtOperationList* box,std::vector<r_Dir_Decompose>* dDecomp, + int indexType); + QtMDDConfig( int tilingType, int tileSize, int borderThreshold, + double interestThreshold, QtOperation* tileCfg, + QtNode::QtOperationList* box,std::vector<r_Dir_Decompose>* dDecomp); + QtMDDConfig(int index); + + // Getters + int getTileSize(); + int getBorderThreshold(); + double getInterestThreshold(); + std::vector<r_Dir_Decompose>* getDirDecomp(); + int getStorageType(); + int getWltValue(); // Check return type ! + int getIndexType(); + int getTilingType(); + QtNode::QtOperationList* getBboxList(); + QtOperation* getTileCfg(); + + // Setters + void setBorderThreshold(int threshold); + + // Pure virtual methods definition (from class QtData) + virtual QtDataType getDataType() const; + virtual char* getTypeStructure() const; + virtual bool equal(const QtData*) const; + virtual string getSpelling() const; + + enum QtIndexConstants + { + r_DEFAULT_INDEX, + r_A_INDEX, + r_D_INDEX, + r_IT_INDEX, + r_RC_INDEX, + r_RD_INDEX, + r_RPT_INDEX, + r_RRPT_INDEX, + r_TC_INDEX + }; + + enum QtTilingConstants + { + r_DEFAULT_TLG, + r_ALIGNED_TLG, + r_AREAOFINTEREST_TLG, + r_DRLDECOMPSUBTILE_TLG, + r_DRLDECOMP_TLG, + r_REGULAR_TLG, + r_STATISTICSPARAM_TLG, + r_STATISTICS_TLG + }; + + enum QtStorageConstants + { + r_DEFAULT_STG, + r_ARRAY_STG, + r_AUTO_STG, + r_BMP_STG, + r_DEM_STG , + r_HDF5_STG, + r_HDF_STG , + r_JPEG_STG, + r_NTF_STG, + r_PACKBITS_STG, + r_PPM_STG, + r_PNG_STG, + r_RLESEP_STG, + r_RLE_STG, + r_TIFF_STG, + r_TOR_STG , + r_VFF_STG, + r_WLTCOIFLETINT_STG, + r_WLTDAUBECHIESINT_STG, + r_WLTDAUBECHIES_STG, + r_WLTHAAR_STG, + r_WLTLEASTINT_STG, + r_WLTQHAAR_STG, + r_ZLIBSEP_STG, + r_ZLIB_STG + }; +}; + +#endif |