GNGNode.hpp

Go to the documentation of this file.
00001 //-----------------------------------------------------------------------------
00002 // Author: Jim Holmström
00003 // Date:   2002-02-13
00004 //-----------------------------------------------------------------------------
00005 
00006 #ifndef __GNGNODE_H
00007 #define __GNGNODE_H
00008 
00009 #include <Vector.hpp>
00010 #include "EdgeContainer.hpp"
00011 
00012 class GNGEdge;
00013 
00021 class GNGNode
00022 {
00023 public:
00024   GNGNode();
00025   virtual ~GNGNode();
00026   
00031   virtual void SetReferenceVector(Vector const & referenceVector);
00032 
00037   virtual Vector & GetReferenceVector();
00038 
00043   virtual Vector const & GetReferenceVector() const;
00044   
00049   virtual void SetAccumulatedError(double d);
00050 
00055   virtual double GetAccumulatedError() const;
00056   
00061   virtual void SetUtility(double d);
00062 
00067   virtual double GetUtility() const;
00068   
00073   virtual void AddEdge(GNGEdge & edge);
00074 
00079   virtual void RemoveEdge(GNGEdge const & edge);
00080 
00087   virtual GNGEdge * GetEdgeTo(GNGNode const & node);
00088 
00093   virtual EdgeContainer const & GetEdges() const;
00094   
00099   virtual EdgeContainer & GetEdges();
00100 
00101 protected:
00102   Vector         m_referenceVector;    
00103   EdgeContainer  m_edges;
00104   double         m_accumulatedError;
00105   double         m_utility;
00106   
00107 };
00108 
00109 
00110 class GNGNodeFactory
00111 {
00112 public:
00113   virtual GNGNode * NewNode() { return new GNGNode(); }
00114 };
00115 
00116 #endif

Generated on Mon Mar 22 16:40:47 2004 for GNG_GL by doxygen 1.3.6