00001 #include "../ECF_base.h"
00002 #include "Tree_c.h"
00003 #include <iostream>
00004
00005
00006 namespace Tree {
00007 namespace Primitives {
00008
00009 Primitive::Primitive()
00010 {
00011
00012 complementName_ = "";
00013 }
00014
00015
00016 Primitive::~Primitive()
00017 { }
00018
00019
00023 bool Primitive::initialize(StateP state)
00024 {
00025 state_ = state;
00026 return true;
00027 }
00028
00029
00036 PrimitiveP Primitive::assignToNode(PrimitiveP primitive)
00037 {
00038 return primitive;
00039 }
00040
00041
00042 void Primitive::setValue(void* value)
00043 {
00044 return;
00045 }
00046
00047
00048 void Primitive::getValue(void* value)
00049 {
00050 return;
00051 }
00052
00053
00060 PrimitiveP Primitive::copyWithNode(PrimitiveP primitive)
00061 {
00062 return primitive;
00063 }
00064
00065
00071 void Primitive::getNextArgument(void* result, Tree& tree)
00072 {
00073 tree.iNode_++;
00074 tree[tree.iNode_]->primitive_->execute(result, tree);
00075 }
00076
00077
00081 int Primitive::getNumberOfArguments()
00082 {
00083 return nArguments_;
00084 }
00085
00086
00090 void Primitive::setName(std::string name)
00091 {
00092 name_ = name;
00093 }
00094
00095
00099 std::string Primitive::getName()
00100 {
00101 return name_;
00102 }
00103
00104
00108 std::string Primitive::getComplementName()
00109 {
00110 return complementName_;
00111 }
00112
00113 }
00114 }