30typedef struct winding_s {
36#define MAX_POINTS_ON_WINDING 64
winding_t * ChopWinding(winding_t *in, vec3_t normal, vec_t dist)
void FreeWinding(winding_t *w)
bool WindingIsTiny(winding_t *w)
Returns true if the winding would be crunched out of existance by the vertex snapping.
winding_t * ReverseWinding(const winding_t *w)
void ChopWindingInPlace(winding_t **w, const vec3_t normal, const vec_t dist, const vec_t epsilon)
winding_t * AllocWinding(int points)
Allocate a new winding (polygon).
void RemoveColinearPoints(winding_t *w)
bool WindingIsHuge(const winding_t *w)
Returns true if the winding still has one of the points from basewinding for plane.
winding_t * BaseWindingForPlane(const vec3_t normal, const vec_t dist)
void WindingCenter(const winding_t *w, vec3_t center)
void WindingBounds(const winding_t *w, vec3_t mins, vec3_t maxs)
bool FixWinding(winding_t *w)
removes degenerate edges from a winding
vec_t WindingArea(const winding_t *w)
winding_t * CopyWinding(const winding_t *w)
Copy a winding with all its points allocated.
void ClipWindingEpsilon(const winding_t *in, const vec3_t normal, const vec_t dist, const vec_t epsilon, winding_t **front, winding_t **back)
for storing the vertices of the side of a brush or other polygon