• Main Page
  • Modules
  • Namespaces
  • Classes
  • Files
  • File List

D:/Projekt/ECF_trunk/examples/GPMaze/IfVisited.h

00001 #include "AgentEvalOp.h"
00002 
00003 
00004 class IfVisited : public Tree::Primitives::Primitive
00005 {
00006 public:
00007     
00008     IfVisited()
00009     {
00010         nArguments_ = 3;
00011         name_ = "ifv";
00012     }
00013 
00014     void execute(void* evalOp, Tree::Tree& tree)
00015     {
00016         
00017         AgentEvalOp* ant = (AgentEvalOp*) evalOp;
00018 
00019         
00020         if( ant->checkIfVisited() == 0)
00021         {
00022             getNextArgument(evalOp, tree);
00023             tree.iNode_ += tree[tree.iNode_ + 1]->size_;
00024             tree.iNode_ += tree[tree.iNode_ + 1]->size_;
00025         } 
00026         else if(ant->checkIfVisited() == 1) 
00027         {
00028             tree.iNode_ += tree[tree.iNode_ + 1]->size_;
00029             getNextArgument(evalOp, tree);
00030             tree.iNode_ += tree[tree.iNode_ + 1]->size_;
00031         }
00032         else if(ant->checkIfVisited() == 2)
00033         {
00034             tree.iNode_ += tree[tree.iNode_ + 1]->size_;
00035             tree.iNode_ += tree[tree.iNode_ + 1]->size_;
00036             getNextArgument(evalOp, tree);
00037         }
00038     }
00039 
00040     ~IfVisited()
00041     {   }
00042 };

Generated on Fri Jul 13 2012 10:53:29 for ECF by  doxygen 1.7.1