Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

cPortal Class Reference

noeud pour l'algorithme A* More...

#include <game_graph.h>

Inheritance diagram for cPortal:

cA_Star_Node cParalell_Portal List of all members.

Public Member Functions

 cPortal (int id)
 constructeur

 cPortal (cHV_Seg &seg, cSquare_Area *area, int id)
 constructeur

void Add_Area (cSquare_Area *new_area)
 signale à ce portal qu'il est à la frontiere de la cSquare_Area 'area'

void Remove_Voisin (cA_Star_Node *node)
 enleve le noeud 'node' de la liste des voisins

int Get_Id () const
 retourne l'id de ce portal

float Get_Cost (cA_Star_Node *destination)
 cout pour aller a 'destination' qui est un noeud voisin

float Get_Estimated_Cost (cA_Star_Node *destination)
 cout estimé de ce noeud au noeud 'destination'

void Get_List_Neighbors (cList_A_Star_Nodes &voisinage)
 met ds voisinage la liste des noeuds voisins

bool Is_Similar (cPortal &portal)
 true si le 'portal' a les memes area1 et area2 que celui-ci

void Add_Voisin (cA_Star_Node *node)
 ajoute 'node' à la liste des noeuds voisins


Public Attributes

cSquare_AreaArea1
 premier cSquare_Area que limite ce portal

cSquare_AreaArea2
 second cSquare_Area que limite ce portal

cHV_Seg Segment
 emplacement de ce portal

cList_A_Star_Nodes Voisinage
 liste des noeuds voisins dans le graph pour le A*


Protected Attributes

int Id
 id de ce portal


Friends

std::ostream & operator<< (std::ostream &os, const cPortal &ex)

Detailed Description

noeud pour l'algorithme A*

un portal est une porte entre deux cSquare_Area
un portal s'etend sur un segment, sa position exacte est fixé au milieu de ce segment /************************************************************************************************

Definition at line 60 of file game_graph.h.


Constructor & Destructor Documentation

cPortal::cPortal int  id  ) 
 

constructeur

'id' : id que portera ce cPortal
ce constructeur ne specifie pas entre quels cSquare_Area se trouve le portal
il faudra le specifier plus tard manuellement

Definition at line 38 of file game_graph.cpp.

References Area1, Area2, cPortal(), and Id.

Referenced by cPortal().

cPortal::cPortal cHV_Seg seg,
cSquare_Area area,
int  id
 

constructeur

'seg' : emplacement du segment porteur de ce portal
'area' : une cSquare_Area qui a pour porte ce portal
'id' : id à attribuer à ce portal

Definition at line 46 of file game_graph.cpp.

References Area1, Area2, cPortal(), Id, and Segment.


Member Function Documentation

void cPortal::Add_Area cSquare_Area new_area  ) 
 

signale à ce portal qu'il est à la frontiere de la cSquare_Area 'area'

Definition at line 76 of file game_graph.cpp.

References Add_Area(), Area1, and Area2.

Referenced by Add_Area(), and cGame_World::Declare_Portal().

void cPortal::Add_Voisin cA_Star_Node node  ) 
 

ajoute 'node' à la liste des noeuds voisins

Definition at line 116 of file game_graph.cpp.

References Add_Voisin(), and Voisinage.

Referenced by cSquare_Area::Add_Portal(), Add_Voisin(), and cGame_World::Find_Path().

float cPortal::Get_Cost cA_Star_Node destination  )  [virtual]
 

cout pour aller a 'destination' qui est un noeud voisin

Implements cA_Star_Node.

Definition at line 58 of file game_graph.cpp.

References cList_A_Star_Nodes::Contain(), Get_Distance(), cA_Star_Node::Position, and Voisinage.

float cPortal::Get_Estimated_Cost cA_Star_Node destination  )  [virtual]
 

cout estimé de ce noeud au noeud 'destination'

Implements cA_Star_Node.

Definition at line 67 of file game_graph.cpp.

References Get_Distance(), Get_Estimated_Cost(), and cA_Star_Node::Position.

Referenced by Get_Estimated_Cost().

int cPortal::Get_Id  )  const [inline]
 

retourne l'id de ce portal

Definition at line 84 of file game_graph.h.

References Id.

Referenced by operator<<().

void cPortal::Get_List_Neighbors cList_A_Star_Nodes voisinage  )  [virtual]
 

met ds voisinage la liste des noeuds voisins

Implements cA_Star_Node.

Definition at line 96 of file game_graph.cpp.

References Area1, Area2, Get_List_Neighbors(), and Voisinage.

Referenced by Get_List_Neighbors().

bool cPortal::Is_Similar cPortal portal  ) 
 

true si le 'portal' a les memes area1 et area2 que celui-ci

Definition at line 109 of file game_graph.cpp.

References Area1, Area2, and Is_Similar().

Referenced by Is_Similar().

void cPortal::Remove_Voisin cA_Star_Node node  ) 
 

enleve le noeud 'node' de la liste des voisins

ne fait rien si 'node' ne fait pas partie de la liste des voisins

Definition at line 123 of file game_graph.cpp.

References Remove_Voisin(), and Voisinage.

Referenced by cGame_World::Find_Path(), and Remove_Voisin().


Friends And Related Function Documentation

std::ostream& operator<< std::ostream &  os,
const cPortal ex
[friend]
 

Definition at line 16 of file game_graph.cpp.


Member Data Documentation

cSquare_Area* cPortal::Area1
 

premier cSquare_Area que limite ce portal

Definition at line 96 of file game_graph.h.

Referenced by Add_Area(), cPortal(), Get_List_Neighbors(), Is_Similar(), operator<<(), and cGame_World::Split_Portal().

cSquare_Area* cPortal::Area2
 

second cSquare_Area que limite ce portal

Definition at line 97 of file game_graph.h.

Referenced by Add_Area(), cPortal(), cGame_World::Declare_Portal(), Get_List_Neighbors(), Is_Similar(), and operator<<().

int cPortal::Id [protected]
 

id de ce portal

Definition at line 102 of file game_graph.h.

Referenced by cPortal(), and Get_Id().

cHV_Seg cPortal::Segment
 

emplacement de ce portal

Definition at line 98 of file game_graph.h.

Referenced by cSquare_Area::Add_Paralells_Portals(), cSquare_Area::Add_Portal(), cPortal(), cGame_World::Declare_Portal(), operator<<(), and cGame_World::Split_Portal().

cList_A_Star_Nodes cPortal::Voisinage
 

liste des noeuds voisins dans le graph pour le A*

Definition at line 99 of file game_graph.h.

Referenced by Add_Voisin(), Get_Cost(), Get_List_Neighbors(), and Remove_Voisin().


The documentation for this class was generated from the following files:
Generated on Fri May 21 19:22:37 2004 for LIBELL by doxygen 1.3.7