Main Page | Class Hierarchy | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

aas_facemerging.h File Reference

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Functions

void AAS_MergeAreaFaces (void)
void AAS_MergeAreaPlaneFaces (void)


Function Documentation

void AAS_MergeAreaFaces void   ) 
 

Definition at line 129 of file aas_facemerging.c.

References AAS_CheckArea(), AAS_TryMergeFaces(), tmp_aas_s::areas, tmp_face_s::frontarea, tmp_area_s::invalid, tmp_area_s::l_next, Log_Write(), tmp_face_s::next, qprintf(), tmp_area_t, tmp_face_t, tmpaasworld, and tmp_area_s::tmpfaces.

Referenced by AAS_Create().

00130 {
00131     int num_facemerges = 0;
00132     int side1, side2, restart;
00133     tmp_area_t *tmparea, *lasttmparea;
00134     tmp_face_t *face1, *face2;
00135 
00136     Log_Write("AAS_MergeAreaFaces\r\n");
00137     qprintf("%6d face merges", num_facemerges);
00138     //NOTE: first convex area is a dummy
00139     lasttmparea = tmpaasworld.areas;
00140     for (tmparea = tmpaasworld.areas; tmparea; tmparea = tmparea->l_next)
00141     {
00142         restart = false;
00143         //
00144         if (tmparea->invalid) continue;
00145         //
00146         for (face1 = tmparea->tmpfaces; face1; face1 = face1->next[side1])
00147         {
00148             side1 = face1->frontarea != tmparea;
00149             for (face2 = face1->next[side1]; face2; face2 = face2->next[side2])
00150             {
00151                 side2 = face2->frontarea != tmparea;
00152                 //if succesfully merged
00153                 if (AAS_TryMergeFaces(face1, face2))
00154                 {
00155                     //start over again after merging two faces
00156                     restart = true;
00157                     num_facemerges++;
00158                     qprintf("\r%6d", num_facemerges);
00159                     AAS_CheckArea(tmparea);
00160                     break;
00161                 } //end if
00162             } //end for
00163             if (restart)
00164             {
00165                 tmparea = lasttmparea;
00166                 break;
00167             } //end if
00168         } //end for
00169         lasttmparea = tmparea;
00170     } //end for
00171     qprintf("\n");
00172     Log_Write("%6d face merges\r\n", num_facemerges);
00173 } //end of the function AAS_MergeAreaFaces

Here is the call graph for this function:

void AAS_MergeAreaPlaneFaces void   ) 
 

Definition at line 250 of file aas_facemerging.c.

References AAS_CanMergePlaneFaces(), AAS_MergePlaneFaces(), tmp_aas_s::areas, tmp_face_s::frontarea, tmp_area_s::invalid, tmp_area_s::l_next, Log_Write(), tmp_face_s::next, tmp_face_s::planenum, qprintf(), tmp_area_t, tmp_face_t, tmpaasworld, and tmp_area_s::tmpfaces.

Referenced by AAS_Create().

00251 {
00252     int num_facemerges = 0;
00253     int side1;
00254     tmp_area_t *tmparea, *nexttmparea;
00255     tmp_face_t *face1;
00256 
00257     Log_Write("AAS_MergePlaneFaces\r\n");
00258     qprintf("%6d plane face merges", num_facemerges);
00259     //NOTE: first convex area is a dummy
00260     for (tmparea = tmpaasworld.areas; tmparea; tmparea = nexttmparea)
00261     {
00262         nexttmparea = tmparea->l_next;
00263         //
00264         if (tmparea->invalid) continue;
00265         //
00266         for (face1 = tmparea->tmpfaces; face1; face1 = face1->next[side1])
00267         {
00268             side1 = face1->frontarea != tmparea;
00269             //
00270             if (AAS_CanMergePlaneFaces(tmparea, face1->planenum))
00271             {
00272                 AAS_MergePlaneFaces(tmparea, face1->planenum);
00273                 nexttmparea = tmparea;
00274                 num_facemerges++;
00275                 qprintf("\r%6d", num_facemerges);
00276                 break;
00277             } //end if
00278         } //end for
00279     } //end for
00280     qprintf("\n");
00281     Log_Write("%6d plane face merges\r\n", num_facemerges);
00282 } //end of the function AAS_MergeAreaPlaneFaces

Here is the call graph for this function:


Generated on Thu Aug 25 12:46:12 2005 for Quake III Arena by  doxygen 1.3.9.1