#include <game_bsp.h>
Inheritance diagram for cSquare_Area:
Public Member Functions | |
cSquare_Area (cPositive_Rectangle &area) | |
~cSquare_Area () | |
destructeur | |
void | Print () |
affiche sur std::cout les infos sur ce cSquare_Area | |
void | split (cHV_Wall &wall, cSquare_Area **A1, cSquare_Area **A2) |
divise ce cSquare_Area en deux cSquare_Area | |
void | Add_Wall (cHV_Seg &w) |
ajoute à cette piece un mur | |
void | Add_Portal (cPortal *portal) |
ajoute un portal à cette piece | |
void | Add_Paralells_Portals (cPortal *portal1, cPortal *portal2) |
ajoute un portal paralel dans cette piece | |
void | Get_Centre (cPoint2D &p) |
cherche le centre de la zone | |
void | Manage_Paralell_Portals () |
créee un noeud entre deux portails paralelles d'un mur de cette piece | |
Public Attributes | |
cPositive_Rectangle | Bounds |
rectangle representant la zone | |
std::vector< cHV_Seg * > | List_Walls |
la liste des segments qui forment les murs de la piece | |
std::vector< cPortal * > | List_Portals |
la liste des portals de la piece |
herite de cHV_Node pour etre inséré ds l'arbre
convention : les murs et les portals d'un feuille appartiennent à la zone
ils sont situés à la limite du rectangle, mais à l'intérieur !
cela signifie que l'intersection entre deux cSquare_Area est :
-> soit vide
-> soit composée des portals et des murs entre ces deux zones !
Definition at line 35 of file game_bsp.h.
|
constructeur 'area' : cPositive_Rectangle qui represente la zone contenue ds cette feuille Definition at line 41 of file game_bsp.h. References Bounds. |
|
destructeur
Definition at line 18 of file game_bsp.cpp. |
|
ajoute un portal paralel dans cette piece
'portal1' : pointeur vers le premier portal Definition at line 177 of file game_bsp.cpp. References Add_Paralells_Portals(), Bounds, cSeg::Get_p0(), cSeg::Get_p1(), cPositive_Rectangle::In(), List_Portals, and cPortal::Segment. Referenced by Add_Paralells_Portals(). |
|
ajoute un portal à cette piece 'portal' : pointeur vers le portal qu'on rajoute Definition at line 146 of file game_bsp.cpp. References Add_Portal(), cPortal::Add_Voisin(), Bounds, cSeg::Get_p0(), cSeg::Get_p1(), cPositive_Rectangle::In(), List_Portals, cHV_Seg::On_Same_Line(), and cPortal::Segment. Referenced by Add_Portal(), cGame_World::Declare_Portal(), and cGame_World::Split_Portal(). |
|
ajoute à cette piece un mur 'w' : segment qui represente le mur, doit etre contenue dans la frontiere interieure de cette piece Definition at line 80 of file game_bsp.cpp. References Add_Wall(), Bounds, cSeg::Get_p0(), cSeg::Get_p1(), cPositive_Rectangle::In(), and List_Walls. Referenced by Add_Wall(), and cGame_World::Add_Wall_And_Portals(). |
|
cherche le centre de la zone 'p' : contiendra le centre de la zone Definition at line 77 of file game_bsp.h. References Bounds, cRectangle::Get_Centre(), Get_Centre(), and cPositive_Rectangle::In(). Referenced by Get_Centre(), and Manage_Paralell_Portals(). |
|
créee un noeud entre deux portails paralelles d'un mur de cette piece
on cherche les portails paralelles de cette piece Definition at line 93 of file game_bsp.cpp. References Get_Centre(), cSeg::Get_Middle(), cPoint2D::Get_X(), cPoint2D::Get_Y(), cHV_Seg::Is_Horizontal(), List_Portals, cPoint2D::Set(), cHV_Seg::Set(), cPoint2D::X, and cPoint2D::Y. |
|
affiche sur std::cout les infos sur ce cSquare_Area
Reimplemented from cBSP_Node< Divider_Type >. Definition at line 31 of file game_bsp.cpp. References Bounds, List_Portals, and List_Walls. |
|
divise ce cSquare_Area en deux cSquare_Area
les deux objets cSquare_Area sont créés dans cette fonction Definition at line 51 of file game_bsp.cpp. References Bounds, cPoint2D::Get_X(), cPoint2D::Get_Y(), cHV_Wall::Is_Horizontal(), cWall::p0, cRectangle::p0, cRectangle::p1, cPoint2D::Set(), split(), and cPoint2D::Y. Referenced by cGame_World::Decorate_With_Areas(), and split(). |
|
rectangle representant la zone
Definition at line 90 of file game_bsp.h. Referenced by Add_Paralells_Portals(), Add_Portal(), Add_Wall(), cSquare_Area(), cSquare_Area_Debug_Displayer::Display(), Get_Centre(), Print(), and split(). |
|
la liste des portals de la piece
Definition at line 92 of file game_bsp.h. Referenced by Add_Paralells_Portals(), Add_Portal(), cSquare_Area_Debug_Displayer::Display(), cA_Star_Point::Get_List_Neighbors(), Manage_Paralell_Portals(), and Print(). |
|
la liste des segments qui forment les murs de la piece
Definition at line 91 of file game_bsp.h. Referenced by Add_Wall(), cSquare_Area_Debug_Displayer::Display(), cGame_World::Do_Ball_Intersect_Walls(), and Print(). |