19 #ifndef __CEL_TOOLS_CELGRAPH__    20 #define __CEL_TOOLS_CELGRAPH__    22 #include "csutil/csobject.h"    23 #include "csutil/util.h"    24 #include "csutil/hash.h"    25 #include "csutil/redblacktree.h"    26 #include "csutil/weakrefarr.h"    27 #include "csutil/stringarray.h"    28 #include "csutil/eventhandlers.h"    29 #include "iutil/comp.h"    30 #include "iutil/eventh.h"    31 #include "iutil/eventq.h"    32 #include "ivaria/conin.h"    33 #include "ivaria/conout.h"    35 #include "tools/celgraph.h"    47   csRef<iCelNode> successor;
    66   csRefArray<iCelEdge> edges;
    67   csRef<iMapNode> map_node;
    68   csRef<iCelNode> parent;
    76   virtual size_t AddSuccessor (iCelNode* node, 
bool state);
    77   virtual void SetMapNode (iMapNode* node);
    78   virtual void SetParent (iCelNode* par);
    79   virtual void SetName (
const char* n);
    80   virtual void Heuristic (
float cost, iCelNode* goal);
    81   virtual iMapNode* GetMapNode ();
    82   virtual csVector3 GetPosition ();
    85   virtual csArray<iCelNode*> GetSuccessors ();
    86   virtual csArray<iCelNode*> GetAllSuccessors ();
    90   { 
return edges.GetSize(); }
    92   { 
return edges.Get(idx); }
    93   virtual void RemoveEdge (
size_t idx);
    94   virtual size_t AddSuccessor (iCelNode* node, 
bool state, 
float weight);
    95   virtual csRefArray<iCelEdge>* GetEdges ();
   103 celPath, csObject, iCelPath, iComponent>
   106   iObjectRegistry* object_reg;
   108   csRefArray<iMapNode> nodes;
   114   virtual void AddNode (iMapNode* node);
   115   virtual void InsertNode (
size_t pos, iMapNode* node);
   116   virtual iMapNode* Next ();
   117   virtual iMapNode* Previous ();
   118   virtual iMapNode* Current ();
   119   virtual csVector3 CurrentPosition ();
   120   virtual iSector* CurrentSector ();
   121   virtual bool HasNext ();
   122   virtual bool HasPrevious ();
   123   virtual void Restart ();
   124   virtual void Clear ();
   125   virtual bool Initialize (iObjectRegistry* object_reg);
   126   virtual iMapNode* GetFirst ();
   127   virtual iMapNode* GetLast ();
   128   virtual void Invert ();
   130   { 
return nodes.GetSize(); }
   137   celGraph, csObject, iCelGraph, iComponent>
   140   iObjectRegistry* object_reg;
   141    csRefArray <iCelNode> nodes;
   147   virtual bool Initialize (iObjectRegistry* object_reg);
   148   virtual iCelNode* CreateNode (
const char *name, csVector3 &pos);
   149   virtual size_t AddNode (iCelNode* node);
   150   virtual void AddEdge (iCelNode* from, iCelNode* to, 
bool state);
   151   virtual bool AddEdgeByNames (
const char* from, 
const char* to, 
bool state);
   152   virtual iCelNode* GetClosest (csVector3 position);
   153   virtual bool ShortestPath (iCelNode* from, iCelNode* goal, iCelPath* path);
   154   virtual iCelNode* RandomPath (iCelNode* from, 
int distance, iCelPath* path);
   156   { 
return nodes.GetSize(); }
   158   { 
return nodes.Get(idx); }
   159   virtual void RemoveNode (
size_t idx);
   160   virtual void RemoveEdge (iCelNode* from, 
size_t idx);
   161   virtual size_t AddEdge (iCelNode* from, iCelNode* to, 
bool state, 
float weight);
   162   virtual iCelNode* CreateEmptyNode (
size_t& index);
   163   virtual bool ShortestPath2 (iCelNode* from, iCelNode* goal, iCelPath* path);
   166 #endif //__CEL_TOOLS_CELGRAPH__  virtual iCelNode * GetParent()
 
const char * GetName(int id)
 
This is a mapnode Graph for CEL. 
 
virtual size_t GetEdgeCount()
 
virtual float GetWeight() const 
 
This is a mapnode Graph for CEL. 
 
virtual float GetHeuristic()
 
virtual iObject * QueryObject()
 
virtual size_t GetNodeCount()
 
void void Initialize(iObjectRegistry *object_reg)
 
virtual void SetWeight(float weight)
 
virtual void SetState(bool open)
 
virtual iCelNode * GetSuccessor()
 
virtual iCelNode * GetNode(size_t idx)
 
virtual iCelEdge * GetEdge(size_t idx)
 
virtual void SetSuccessor(iCelNode *node)
 
This is a mapnode Path for CEL. 
 
virtual size_t GetNodeCount()
 
virtual iObject * QueryObject()