Home | nevrax.com |
|
interpret_fuzzy_controler.cppGo to the documentation of this file.00001 00007 /* Copyright, 2000 Nevrax Ltd. 00008 * 00009 * This file is part of NEVRAX NEL. 00010 * NEVRAX NEL is free software; you can redistribute it and/or modify 00011 * it under the terms of the GNU General Public License as published by 00012 * the Free Software Foundation; either version 2, or (at your option) 00013 * any later version. 00014 00015 * NEVRAX NEL is distributed in the hope that it will be useful, but 00016 * WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00018 * General Public License for more details. 00019 00020 * You should have received a copy of the GNU General Public License 00021 * along with NEVRAX NEL; see the file COPYING. If not, write to the 00022 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 00023 * MA 02111-1307, USA. 00024 */ 00025 00026 #include "nel/ai/fuzzy/interpret_fuzzy_controler.h" 00027 #include "nel/ai/fuzzy/fuzzy_script.h" 00028 00029 namespace NLAISCRIPT 00030 { 00031 /* 00032 CFuzzyControlerClass::CFuzzyControlerClass(const NLAIAGENT::IVarName &n) : CAgentClass(n) 00033 { 00034 setBaseMethodCount(((NLAIFUZZY::CFuzzyControlerScript *)(NLAIFUZZY::CFuzzyControlerScript::IdFuzzyControlerScript.getFactory()->getClass()))->getBaseMethodCount()); 00035 setBaseObjectInstance(((NLAIFUZZY::CFuzzyControlerScript *)(NLAIFUZZY::CFuzzyControlerScript::IdFuzzyControlerScript.getFactory()->getClass()))); 00036 } 00037 00038 CFuzzyControlerClass::CFuzzyControlerClass(const NLAIC::CIdentType &id): CAgentClass(id) 00039 { 00040 setBaseMethodCount(((NLAIFUZZY::CFuzzyControlerScript *)(NLAIFUZZY::CFuzzyControlerScript::IdFuzzyControlerScript.getFactory()->getClass()))->getBaseMethodCount()); 00041 setBaseObjectInstance(((NLAIFUZZY::CFuzzyControlerScript *)(NLAIFUZZY::CFuzzyControlerScript::IdFuzzyControlerScript.getFactory()->getClass()))); 00042 } 00043 00044 CFuzzyControlerClass::CFuzzyControlerClass(const NLAIAGENT::IVarName &n, const NLAIAGENT::IVarName &inheritance) : CAgentClass( inheritance ) 00045 { 00046 setBaseMethodCount(((NLAIFUZZY::CFuzzyControlerScript *)(NLAIFUZZY::CFuzzyControlerScript::IdFuzzyControlerScript.getFactory()->getClass()))->getBaseMethodCount()); 00047 setBaseObjectInstance(((NLAIFUZZY::CFuzzyControlerScript *)(NLAIFUZZY::CFuzzyControlerScript::IdFuzzyControlerScript.getFactory()->getClass()))); 00048 } 00049 00050 CFuzzyControlerClass::CFuzzyControlerClass(const CFuzzyControlerClass &c) : CAgentClass( c ) 00051 { 00052 setBaseMethodCount(((NLAIFUZZY::CFuzzyControlerScript *)(NLAIFUZZY::CFuzzyControlerScript::IdFuzzyControlerScript.getFactory()->getClass()))->getBaseMethodCount()); 00053 setBaseObjectInstance(((NLAIFUZZY::CFuzzyControlerScript *)(NLAIFUZZY::CFuzzyControlerScript::IdFuzzyControlerScript.getFactory()->getClass()))); 00054 } 00055 00056 CFuzzyControlerClass::CFuzzyControlerClass() 00057 { 00058 setBaseMethodCount(((NLAIFUZZY::CFuzzyControlerScript *)(NLAIFUZZY::CFuzzyControlerScript::IdFuzzyControlerScript.getFactory()->getClass()))->getBaseMethodCount()); 00059 setBaseObjectInstance(((NLAIFUZZY::CFuzzyControlerScript *)(NLAIFUZZY::CFuzzyControlerScript::IdFuzzyControlerScript.getFactory()->getClass()))); 00060 } 00061 00062 00063 const NLAIC::IBasicType *CFuzzyControlerClass::clone() const 00064 { 00065 NLAIC::IBasicType *clone = new CFuzzyControlerClass(*this); 00066 return clone; 00067 } 00068 00069 const NLAIC::IBasicType *CFuzzyControlerClass::newInstance() const 00070 { 00071 NLAIC::IBasicType *instance = new CFuzzyControlerClass(); 00072 return instance; 00073 } 00074 00075 void CFuzzyControlerClass::getDebugString(char *t) const 00076 { 00077 } 00078 00079 NLAIAGENT::IObjectIA *CFuzzyControlerClass::buildNewInstance() const 00080 { 00081 // Création des composants statiques 00082 std::list<NLAIAGENT::IObjectIA *> components; 00083 createBaseClassComponents( components ); 00084 00085 // Création du message 00086 NLAIFUZZY::CFuzzyControlerScript *instance = new NLAIFUZZY::CFuzzyControlerScript( components, (CFuzzyControlerClass *) this ); 00087 00088 return instance; 00089 } 00090 00091 CFuzzyControlerClass::~CFuzzyControlerClass() 00092 { 00093 } 00094 00095 const std::vector<NLAIAGENT::IObjectIA *> &CFuzzyControlerClass::getInputs() const 00096 { 00097 return _Inputs; 00098 } 00099 00100 const std::vector<NLAIAGENT::IObjectIA *> &CFuzzyControlerClass::getOutputs() const 00101 { 00102 return _Outputs; 00103 } 00104 00105 void CFuzzyControlerClass::addInput(NLAIAGENT::IObjectIA *input) 00106 { 00107 _Inputs.push_back( input ); 00108 } 00109 00110 void CFuzzyControlerClass::addOutput(NLAIAGENT::IObjectIA *output) 00111 { 00112 _Outputs.push_back( output ); 00113 } 00114 00115 const NLAIAGENT::IVarName *CFuzzyControlerClass::getInputName(sint32 id) 00116 { 00117 if ( id > (sint32) _InputNames.size() ) 00118 { 00119 // TODO: throw exception 00120 } 00121 return _InputNames[ id ]; 00122 } 00123 00124 const NLAIAGENT::IVarName *CFuzzyControlerClass::getOutputName(sint32 id) 00125 { 00126 if ( id > (sint32) _OutputNames.size() ) 00127 { 00128 // TODO: throw exception 00129 } 00130 return _OutputNames[ id ]; 00131 } 00132 00133 */ 00134 } |