summaryrefslogtreecommitdiffstats
path: root/qlparser/qtmddcfgop.cc
diff options
context:
space:
mode:
Diffstat (limited to 'qlparser/qtmddcfgop.cc')
-rwxr-xr-xqlparser/qtmddcfgop.cc124
1 files changed, 124 insertions, 0 deletions
diff --git a/qlparser/qtmddcfgop.cc b/qlparser/qtmddcfgop.cc
new file mode 100755
index 0000000..69637af
--- /dev/null
+++ b/qlparser/qtmddcfgop.cc
@@ -0,0 +1,124 @@
+/*
+* 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
+ * COMMENTS:
+ *
+ ************************************************************/
+
+#include "qlparser/qtmddcfgop.hh"
+#include "qlparser/qtconst.hh"
+#include "qlparser/qtmddconfig.hh"
+#include <iostream>
+#ifndef CPPSTDLIB
+#include <ospace/string.h> // STL<ToolKit>
+#else
+#include <string>
+using namespace std;
+#endif
+#include<fstream>
+
+
+
+QtMddCfgOp::QtMddCfgOp()
+ : QtOperation(),
+ input(NULL)
+{
+}
+
+
+QtMddCfgOp::QtMddCfgOp( QtOperation* inputInit )
+ : QtOperation(),
+ input( inputInit )
+{
+ if( input )
+ input->setParent( this );
+}
+
+QtMddCfgOp::QtMddCfgOp( int tilingType, int tileSize, int borderThreshold,
+ double interestThreshold, QtOperation* tileCfg, QtNode::QtOperationList* box,std::vector<r_Dir_Decompose>* dDecomp,
+ int indexType)
+{
+ mddCfgObj = new QtMDDConfig(tilingType,tileSize, borderThreshold, interestThreshold, tileCfg, box, dDecomp, indexType);
+
+}
+
+QtMddCfgOp::QtMddCfgOp( int tilingType, int tileSize, int borderThreshold,
+ double interestThreshold, QtOperation* tileCfg, QtNode::QtOperationList* box,std::vector<r_Dir_Decompose>* dDecomp)
+{
+ mddCfgObj = new QtMDDConfig(tilingType,tileSize, borderThreshold, interestThreshold, tileCfg, box, dDecomp, QtMDDConfig::r_DEFAULT_INDEX);
+
+}
+
+QtMddCfgOp::QtMddCfgOp(int index)
+ : QtOperation()
+{
+ mddCfgObj = new QtMDDConfig(QtMDDConfig::r_DEFAULT_TLG, -1, -1, -1, NULL, NULL,NULL,index);
+
+}
+
+QtMddCfgOp::~QtMddCfgOp()
+{
+ if( input )
+ {
+ delete input;
+ input=NULL;
+ }
+}
+
+
+void
+QtMddCfgOp::optimizeLoad( QtTrimList* trimList )
+{
+ RMDBCLASS( "QtMddCfgOp", "optimizeLoad( QtTrimList* )", "qlparser", __FILE__, __LINE__ )
+
+ // by default, pass load domain to the input
+ if( input )
+ input->optimizeLoad( trimList );
+ else
+ {
+ delete trimList;
+ trimList=NULL;
+ }
+}
+
+QtMDDConfig*
+QtMddCfgOp::evaluate(QtDataList* inputList)
+{
+ QtMDDConfig* retvalue = NULL;
+ for (int i = 0 ; i < inputList->size() ; i++){
+ retvalue = (QtMDDConfig*)inputList->at(i);
+ }
+ return retvalue;
+}
+
+QtMDDConfig*
+QtMddCfgOp::getMddConfig()
+{
+ return mddCfgObj;
+}