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

be_aas_sample.h

Go to the documentation of this file.
00001 /*
00002 ===========================================================================
00003 Copyright (C) 1999-2005 Id Software, Inc.
00004 
00005 This file is part of Quake III Arena source code.
00006 
00007 Quake III Arena source code is free software; you can redistribute it
00008 and/or modify it under the terms of the GNU General Public License as
00009 published by the Free Software Foundation; either version 2 of the License,
00010 or (at your option) any later version.
00011 
00012 Quake III Arena source code is distributed in the hope that it will be
00013 useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015 GNU General Public License for more details.
00016 
00017 You should have received a copy of the GNU General Public License
00018 along with Foobar; if not, write to the Free Software
00019 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00020 ===========================================================================
00021 */
00022 
00023 /*****************************************************************************
00024  * name:        be_aas_sample.h
00025  *
00026  * desc:        AAS
00027  *
00028  * $Archive: /source/code/botlib/be_aas_sample.h $
00029  *
00030  *****************************************************************************/
00031 
00032 #ifdef AASINTERN
00033 void AAS_InitAASLinkHeap(void);
00034 void AAS_InitAASLinkedEntities(void);
00035 void AAS_FreeAASLinkHeap(void);
00036 void AAS_FreeAASLinkedEntities(void);
00037 aas_face_t *AAS_AreaGroundFace(int areanum, vec3_t point);
00038 aas_face_t *AAS_TraceEndFace(aas_trace_t *trace);
00039 aas_plane_t *AAS_PlaneFromNum(int planenum);
00040 aas_link_t *AAS_AASLinkEntity(vec3_t absmins, vec3_t absmaxs, int entnum);
00041 aas_link_t *AAS_LinkEntityClientBBox(vec3_t absmins, vec3_t absmaxs, int entnum, int presencetype);
00042 qboolean AAS_PointInsideFace(int facenum, vec3_t point, float epsilon);
00043 qboolean AAS_InsideFace(aas_face_t *face, vec3_t pnormal, vec3_t point, float epsilon);
00044 void AAS_UnlinkFromAreas(aas_link_t *areas);
00045 #endif //AASINTERN
00046 
00047 //returns the mins and maxs of the bounding box for the given presence type
00048 void AAS_PresenceTypeBoundingBox(int presencetype, vec3_t mins, vec3_t maxs);
00049 //returns the cluster the area is in (negative portal number if the area is a portal)
00050 int AAS_AreaCluster(int areanum);
00051 //returns the presence type(s) of the area
00052 int AAS_AreaPresenceType(int areanum);
00053 //returns the presence type(s) at the given point
00054 int AAS_PointPresenceType(vec3_t point);
00055 //returns the result of the trace of a client bbox
00056 aas_trace_t AAS_TraceClientBBox(vec3_t start, vec3_t end, int presencetype, int passent);
00057 //stores the areas the trace went through and returns the number of passed areas
00058 int AAS_TraceAreas(vec3_t start, vec3_t end, int *areas, vec3_t *points, int maxareas);
00059 //returns the areas the bounding box is in
00060 int AAS_BBoxAreas(vec3_t absmins, vec3_t absmaxs, int *areas, int maxareas);
00061 //return area information
00062 int AAS_AreaInfo( int areanum, aas_areainfo_t *info );
00063 //returns the area the point is in
00064 int AAS_PointAreaNum(vec3_t point);
00065 //
00066 int AAS_PointReachabilityAreaIndex( vec3_t point );
00067 //returns the plane the given face is in
00068 void AAS_FacePlane(int facenum, vec3_t normal, float *dist);
00069 

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