Lines Matching refs:polygon

43 	bool Clipper::clip(Polygon &polygon, int clipFlagsOr, const DrawCall &draw)  in clip()  argument
47 if(clipFlagsOr & CLIP_NEAR) clipNear(polygon); in clip()
48 if(polygon.n >= 3) { in clip()
49 if(clipFlagsOr & CLIP_FAR) clipFar(polygon); in clip()
50 if(polygon.n >= 3) { in clip()
51 if(clipFlagsOr & CLIP_LEFT) clipLeft(polygon); in clip()
52 if(polygon.n >= 3) { in clip()
53 if(clipFlagsOr & CLIP_RIGHT) clipRight(polygon); in clip()
54 if(polygon.n >= 3) { in clip()
55 if(clipFlagsOr & CLIP_TOP) clipTop(polygon); in clip()
56 if(polygon.n >= 3) { in clip()
57 if(clipFlagsOr & CLIP_BOTTOM) clipBottom(polygon); in clip()
66 if(polygon.n >= 3) { in clip()
67 if(clipFlags & CLIP_PLANE0) clipPlane(polygon, data.clipPlane[0]); in clip()
68 if(polygon.n >= 3) { in clip()
69 if(clipFlags & CLIP_PLANE1) clipPlane(polygon, data.clipPlane[1]); in clip()
70 if(polygon.n >= 3) { in clip()
71 if(clipFlags & CLIP_PLANE2) clipPlane(polygon, data.clipPlane[2]); in clip()
72 if(polygon.n >= 3) { in clip()
73 if(clipFlags & CLIP_PLANE3) clipPlane(polygon, data.clipPlane[3]); in clip()
74 if(polygon.n >= 3) { in clip()
75 if(clipFlags & CLIP_PLANE4) clipPlane(polygon, data.clipPlane[4]); in clip()
76 if(polygon.n >= 3) { in clip()
77 if(clipFlags & CLIP_PLANE5) clipPlane(polygon, data.clipPlane[5]); in clip()
81 return polygon.n >= 3; in clip()
84 void Clipper::clipNear(Polygon &polygon) in clipNear() argument
86 const float4 **V = polygon.P[polygon.i]; in clipNear()
87 const float4 **T = polygon.P[polygon.i + 1]; in clipNear()
91 for(int i = 0; i < polygon.n; i++) in clipNear()
93 int j = i == polygon.n - 1 ? 0 : i + 1; in clipNear()
104 clipEdge(polygon.B[polygon.b], *V[i], *V[j], di, dj); in clipNear()
105 T[t++] = &polygon.B[polygon.b++]; in clipNear()
112 clipEdge(polygon.B[polygon.b], *V[j], *V[i], dj, di); in clipNear()
113 T[t++] = &polygon.B[polygon.b++]; in clipNear()
118 polygon.n = t; in clipNear()
119 polygon.i += 1; in clipNear()
122 void Clipper::clipFar(Polygon &polygon) in clipFar() argument
124 const float4 **V = polygon.P[polygon.i]; in clipFar()
125 const float4 **T = polygon.P[polygon.i + 1]; in clipFar()
129 for(int i = 0; i < polygon.n; i++) in clipFar()
131 int j = i == polygon.n - 1 ? 0 : i + 1; in clipFar()
142 clipEdge(polygon.B[polygon.b], *V[i], *V[j], di, dj); in clipFar()
143 T[t++] = &polygon.B[polygon.b++]; in clipFar()
150 clipEdge(polygon.B[polygon.b], *V[j], *V[i], dj, di); in clipFar()
151 T[t++] = &polygon.B[polygon.b++]; in clipFar()
156 polygon.n = t; in clipFar()
157 polygon.i += 1; in clipFar()
160 void Clipper::clipLeft(Polygon &polygon) in clipLeft() argument
162 const float4 **V = polygon.P[polygon.i]; in clipLeft()
163 const float4 **T = polygon.P[polygon.i + 1]; in clipLeft()
167 for(int i = 0; i < polygon.n; i++) in clipLeft()
169 int j = i == polygon.n - 1 ? 0 : i + 1; in clipLeft()
180 clipEdge(polygon.B[polygon.b], *V[i], *V[j], di, dj); in clipLeft()
181 T[t++] = &polygon.B[polygon.b++]; in clipLeft()
188 clipEdge(polygon.B[polygon.b], *V[j], *V[i], dj, di); in clipLeft()
189 T[t++] = &polygon.B[polygon.b++]; in clipLeft()
194 polygon.n = t; in clipLeft()
195 polygon.i += 1; in clipLeft()
198 void Clipper::clipRight(Polygon &polygon) in clipRight() argument
200 const float4 **V = polygon.P[polygon.i]; in clipRight()
201 const float4 **T = polygon.P[polygon.i + 1]; in clipRight()
205 for(int i = 0; i < polygon.n; i++) in clipRight()
207 int j = i == polygon.n - 1 ? 0 : i + 1; in clipRight()
218 clipEdge(polygon.B[polygon.b], *V[i], *V[j], di, dj); in clipRight()
219 T[t++] = &polygon.B[polygon.b++]; in clipRight()
226 clipEdge(polygon.B[polygon.b], *V[j], *V[i], dj, di); in clipRight()
227 T[t++] = &polygon.B[polygon.b++]; in clipRight()
232 polygon.n = t; in clipRight()
233 polygon.i += 1; in clipRight()
236 void Clipper::clipTop(Polygon &polygon) in clipTop() argument
238 const float4 **V = polygon.P[polygon.i]; in clipTop()
239 const float4 **T = polygon.P[polygon.i + 1]; in clipTop()
243 for(int i = 0; i < polygon.n; i++) in clipTop()
245 int j = i == polygon.n - 1 ? 0 : i + 1; in clipTop()
256 clipEdge(polygon.B[polygon.b], *V[i], *V[j], di, dj); in clipTop()
257 T[t++] = &polygon.B[polygon.b++]; in clipTop()
264 clipEdge(polygon.B[polygon.b], *V[j], *V[i], dj, di); in clipTop()
265 T[t++] = &polygon.B[polygon.b++]; in clipTop()
270 polygon.n = t; in clipTop()
271 polygon.i += 1; in clipTop()
274 void Clipper::clipBottom(Polygon &polygon) in clipBottom() argument
276 const float4 **V = polygon.P[polygon.i]; in clipBottom()
277 const float4 **T = polygon.P[polygon.i + 1]; in clipBottom()
281 for(int i = 0; i < polygon.n; i++) in clipBottom()
283 int j = i == polygon.n - 1 ? 0 : i + 1; in clipBottom()
294 clipEdge(polygon.B[polygon.b], *V[i], *V[j], di, dj); in clipBottom()
295 T[t++] = &polygon.B[polygon.b++]; in clipBottom()
302 clipEdge(polygon.B[polygon.b], *V[j], *V[i], dj, di); in clipBottom()
303 T[t++] = &polygon.B[polygon.b++]; in clipBottom()
308 polygon.n = t; in clipBottom()
309 polygon.i += 1; in clipBottom()
312 void Clipper::clipPlane(Polygon &polygon, const Plane &p) in clipPlane() argument
314 const float4 **V = polygon.P[polygon.i]; in clipPlane()
315 const float4 **T = polygon.P[polygon.i + 1]; in clipPlane()
319 for(int i = 0; i < polygon.n; i++) in clipPlane()
321 int j = i == polygon.n - 1 ? 0 : i + 1; in clipPlane()
332 clipEdge(polygon.B[polygon.b], *V[i], *V[j], di, dj); in clipPlane()
333 T[t++] = &polygon.B[polygon.b++]; in clipPlane()
340 clipEdge(polygon.B[polygon.b], *V[j], *V[i], dj, di); in clipPlane()
341 T[t++] = &polygon.B[polygon.b++]; in clipPlane()
346 polygon.n = t; in clipPlane()
347 polygon.i += 1; in clipPlane()