3 #if !defined (_WIN32) && !defined (__CYGWIN__) && !(defined (__APPLE__) || defined (MACOSX ) ) && !defined (BSD) && !defined(__HAIKU__)
12 #define WHICHSID( v ) ( ( (v.x*a+v.y*b+v.z*c+d) > 0 )*2-1 )
17 for (
int i = 0;
i < numvertex;
i++)
20 count = (rand()%2)*2-1;
21 return ( (count > 0)*2 )-1;
31 int numtris, numquads;
35 int numtqx[2] = {0, 0};
36 int numtqy[2] = {0, 0};
42 Vector xmax, xmin, ymax, ymin;
43 xmax = ymax =
Vector( -FLT_MAX, -FLT_MAX, -FLT_MAX );
44 xmin = ymin =
Vector( FLT_MAX, FLT_MAX, FLT_MAX );
51 for (
int l = 0; l < 2; l++) {
52 for (i = 0; i < last; i++) {
53 if ( ( !(numtqy[l] < last/3
54 && numtqx[l] > 2*last/3) )
55 && ( (numtqx[l] < last/3
56 && numtqy[l] > 2*last/3) ||
whichside( &Orig[offset+i*inc], inc, a, b, c, d ) ==
PFRONT ) ) {
58 for (j = 0; j < inc; j++) {
65 for (j = 0; j < inc; j++) {
80 if ( ( !(numtqx[0] || numtqx[1]) ) || ( !(numtqy[0] || numtqy[1]) ) ) {
103 x->
Decal.push_back( NULL );
105 for (
unsigned int i = 0; i <
Decal.size(); i++)
115 y->
Decal.push_back( NULL );
117 for (
unsigned int i = 0; i <
Decal.size(); i++)
121 if (numtqx[0] && numtqx[1]) {
127 assert( numtqx[0] || numtqx[1] );
128 x->
vlist =
new GFXVertexList( &polytypes[exist], numtqx[exist], X, 1, &numtqx[exist],
true, 0 );
130 if (numtqy[0] || numtqy[1]) {
136 assert( numtqx[0] || numtqx[1] );
137 y->
vlist =
new GFXVertexList( &polytypes[exis], numtqy[exis], Y, 1, &numtqy[exis],
true, 0 );
188 for (
int l = 0; l < 2; l++) {
189 for (i = 0; i < last; i++) {
190 polys.push_back( tmppolygon );
191 for (
int j = 0;
j < 3;
j++) {
192 vv.i = tmpres[offset+i*inc+
j].
x;
193 vv.j = tmpres[offset+i*inc+
j].
y;
194 vv.k = tmpres[offset+i*inc+
j].
z;
195 polys[polys.size()-1].v.push_back( vv );
198 for (
int j = 1;
j < 4;
j++) {
199 vv.i = tmpres[offset+i*inc+
j].
x;
200 vv.j = tmpres[offset+i*inc+
j].
y;
201 vv.k = tmpres[offset+i*inc+
j].
z;
202 polys[polys.size()-1].v.push_back( vv );