/* 
 * Thomas Pantzer: net2robot.h, v0.1b  23.9.97 22:29 
 * Thomas Pantzer: net2robot.h, v0.4.7  8.6.99 16:32 
 * 
 * 
 * Copyright 1997 by Thomas Pantzer
 * 
 * Permission to use, copy, modify, and distribute this software for noncommercial 
 * use and without fee is hereby granted, provided that the above copyright notice 
 * appear in all copies and that both that copyright notice and this permission 
 * notice appear in supporting documentation, and that the name of the Author not be 
 * used in advertising or publicity pertaining to distribution of the software 
 * without specific, written prior permission. The Author makes no representations about
 * the suitability of this software for any purpose.  It is provided "as is" 
 * without expressed or implied warranty. 
 * 
 * 
 * pantec@aix520.informatik.uni-leipzig.de   (Thomas Pantzer) 
 * 
 */



#ifndef _NET2ROBOT_H
#define _NET2ROBOT_H


#include "neuronal.h"
#include "khepera.h"
//#include "floatsize.h"


class t_IO_Neuron : public t_Neuron {

public:
   RobotContext *Robot;
   double *main_speed;

   void Init(RobotContext *R, int, double, double, int, double, double *speed);

   virtual void WriteOutput(int stamp);
   virtual double Activation(int stamp);
};


class t_RobotNet {
public:

  RobotContext *Robot;
  int in_cnt, out_cnt, age;
  double *main_speed;
  t_Neuron *next, *actual, *root;

  virtual void Init(RobotContext *Robot, double *speed);
  void Done(void);
 
  //                procedure Draw;
  void Load(const char *);
  t_Neuron *GetNeuron(int, int);
  void CutSynapse(t_Neuron *, t_Neuron *);
  void CutNeuron(t_Neuron *);
  virtual void Show(void);
  
  void Processing(void);
};




#endif







/**/
/**/
/**/
/**/
/**/
/**/
/**/
/**/
/*****  End Of File  ****************************/
