X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=winding.h;h=cc146b9d36de65fb650ba3e916239f8d81bfc7df;hp=c026d40f3988dcaad115013b4f28e9d1e540280a;hb=38977bc61f4c26b91c4a44501b91a77b01764a57;hpb=3094e9e2a364c5840ec444621cc2e7ac71b9e522 diff --git a/winding.h b/winding.h index c026d40f..cc146b9d 100644 --- a/winding.h +++ b/winding.h @@ -5,7 +5,7 @@ typedef struct { int numpoints; - int padding; + int maxpoints; double points[8][3]; // variable sized } winding_t; @@ -15,6 +15,10 @@ void Winding_Free(winding_t *w); winding_t *Winding_NewFromPlane(double normalx, double normaly, double normalz, double dist); winding_t *Winding_Clip(winding_t *in, double splitnormalx, double splitnormaly, double splitnormalz, double splitdist, int keepon); void Winding_Divide(winding_t *in, double splitnormalx, double splitnormaly, double splitnormalz, double splitdist, winding_t **front, winding_t **back); +void BufWinding_NewFromPlane(winding_t *w, double normalx, double normaly, double normalz, double dist); +void BufWinding_Divide(winding_t *in, double splitnormalx, double splitnormaly, double splitnormalz, double splitdist, winding_t *outfront, int *neededfrontpoints, winding_t *outback, int *neededbackpoints); +void Polygon_Divide_Double(int innumpoints, const double *inpoints, double splitnormalx, double splitnormaly, double splitnormalz, double splitdist, int outfrontmaxpoints, double *outfrontpoints, int *neededfrontpoints, int outbackmaxpoints, double *outbackpoints, int *neededbackpoints); +void Polygon_Divide_Float(int innumpoints, const float *inpoints, float splitnormalx, float splitnormaly, float splitnormalz, float splitdist, int outfrontmaxpoints, float *outfrontpoints, int *neededfrontpoints, int outbackmaxpoints, float *outbackpoints, int *neededbackpoints); #endif