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