//---------------------------------------------------------------------------

#ifndef NodeH
#define NodeH
   
class Signal;

class Node {
  friend class Network;
  protected:
	  PLA data;					// the PLA
	  unsigned int index;		// index of the node, if the network is indexed

	  float delay;		// delay of the node
	  float netdelay;	// delay in the network. For internal purposes, to compute the network delay
  public:
      int tmp;			// general purpose variable. Must not be modified by kernel

	  Node( PLA &_pla );
	  Node( SoPLA &_pla );
	  ~Node();


	  // getters & setters
	  unsigned int GetInputs(void) const { return data.GetInputs(); };
	  unsigned int GetOutputs(void) const { return data.GetOutputs(); };
	  PLA *GetData(void) { return &data; };

};






//---------------------------------------------------------------------------
#endif
