polylib.h
Go to the documentation of this file.00001
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _POLYLIB
00026 #define _POLYLIB
00027
00028 #include "../map.h"
00029
00030 #define MAX_POINTS_ON_WINDING 64
00031
00032 winding_t *AllocWinding(int points);
00033 vec_t WindingArea(const winding_t *w);
00034 void WindingCenter(const winding_t *w, vec3_t center);
00035 void ClipWindingEpsilon(const winding_t *in, const vec3_t normal, const vec_t dist,
00036 const vec_t epsilon, winding_t **front, winding_t **back);
00037 winding_t *ChopWinding(winding_t *in, vec3_t normal, vec_t dist);
00038 winding_t *CopyWinding(const winding_t *w);
00039 winding_t *ReverseWinding(const winding_t *w);
00040 winding_t *BaseWindingForPlane(const vec3_t normal, const vec_t dist);
00041 void RemoveColinearPoints(winding_t *w);
00042 void FreeWinding(winding_t *w);
00043 void WindingBounds(const winding_t *w, vec3_t mins, vec3_t maxs);
00044
00045
00046 void ChopWindingInPlace(winding_t **w, const vec3_t normal, const vec_t dist, const vec_t epsilon);
00047
00048
00049 #endif