//=========================================================================== // // Parameter: - // Returns: - // Changes Globals: - //=========================================================================== qboolean AAS_FindHashedEdge(int v1num, int v2num, int *edgenum) { int e, hash; aas_edge_t *edge; hash = AAS_HashEdge(v1num, v2num); for (e = aas_hashedges[hash]; e >= 0; e = aas_edgechain[e]) { edge = &aasworld.edges[e]; if (edge->v[0] == v1num) { if (edge->v[1] == v2num) { *edgenum = e; return true; } //end if } //end if else if (edge->v[1] == v1num) { if (edge->v[0] == v2num) { //negative for a reversed edge *edgenum = -e; return true; } //end if } //end else } //end for return false; } //end of the function AAS_FindHashedPlane
//=========================================================================== // // Parameter: - // Returns: - // Changes Globals: - //=========================================================================== void AAS_AddEdgeToHash( int edgenum ) { int hash; aas_edge_t *edge; edge = &( *aasworld ).edges[edgenum]; hash = AAS_HashEdge( edge->v[0], edge->v[1] ); aas_edgechain[edgenum] = aas_hashedges[hash]; aas_hashedges[hash] = edgenum; } //end of the function AAS_AddEdgeToHash