mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 16:12:58 +00:00
[GLU32] Sync with glu 9.0.1 (#2314)
This commit is contained in:
parent
507cda98cf
commit
695946a5cd
10 changed files with 85 additions and 83 deletions
|
@ -381,13 +381,13 @@ ArcTessellator::tessellateNonlinear( Arc *arc, REAL geo_stepsize, REAL arc_steps
|
||||||
#ifndef NOELIMINATION
|
#ifndef NOELIMINATION
|
||||||
int ocanremove = 0;
|
int ocanremove = 0;
|
||||||
#endif
|
#endif
|
||||||
register long order = bezierArc->order;
|
long order = bezierArc->order;
|
||||||
for( step=1, ++vert; step<nsteps; step++, vert++ ) {
|
for( step=1, ++vert; step<nsteps; step++, vert++ ) {
|
||||||
register REAL p = dp * step;
|
REAL p = dp * step;
|
||||||
register REAL u = pow_u[0];
|
REAL u = pow_u[0];
|
||||||
register REAL v = pow_v[0];
|
REAL v = pow_v[0];
|
||||||
register REAL w = pow_w[0];
|
REAL w = pow_w[0];
|
||||||
for( register int i = 1; i < order; i++ ) {
|
for( int i = 1; i < order; i++ ) {
|
||||||
u = u * p + pow_u[i];
|
u = u * p + pow_u[i];
|
||||||
v = v * p + pow_v[i];
|
v = v * p + pow_v[i];
|
||||||
w = w * p + pow_w[i];
|
w = w * p + pow_w[i];
|
||||||
|
@ -444,12 +444,12 @@ ArcTessellator::tessellateNonlinear( Arc *arc, REAL geo_stepsize, REAL arc_steps
|
||||||
#ifndef NOELIMINATION
|
#ifndef NOELIMINATION
|
||||||
int ocanremove = 0;
|
int ocanremove = 0;
|
||||||
#endif
|
#endif
|
||||||
register long order = bezierArc->order;
|
long order = bezierArc->order;
|
||||||
for( step=1, ++vert; step<nsteps; step++, vert++ ) {
|
for( step=1, ++vert; step<nsteps; step++, vert++ ) {
|
||||||
register REAL p = dp * step;
|
REAL p = dp * step;
|
||||||
register REAL u = pow_u[0];
|
REAL u = pow_u[0];
|
||||||
register REAL v = pow_v[0];
|
REAL v = pow_v[0];
|
||||||
for( register int i = 1; i < bezierArc->order; i++ ) {
|
for( int i = 1; i < bezierArc->order; i++ ) {
|
||||||
u = u * p + pow_u[i];
|
u = u * p + pow_u[i];
|
||||||
v = v * p + pow_v[i];
|
v = v * p + pow_v[i];
|
||||||
}
|
}
|
||||||
|
@ -591,9 +591,9 @@ const REAL ArcTessellator::gl_Bernstein[][MAXORDER][MAXORDER] = {
|
||||||
void
|
void
|
||||||
ArcTessellator::trim_power_coeffs( BezierArc *bez_arc, REAL *p, int coord )
|
ArcTessellator::trim_power_coeffs( BezierArc *bez_arc, REAL *p, int coord )
|
||||||
{
|
{
|
||||||
register int stride = bez_arc->stride;
|
int stride = bez_arc->stride;
|
||||||
register int order = bez_arc->order;
|
int order = bez_arc->order;
|
||||||
register REAL *base = bez_arc->cpts + coord;
|
REAL *base = bez_arc->cpts + coord;
|
||||||
|
|
||||||
REAL const (*mat)[MAXORDER][MAXORDER] = &gl_Bernstein[order-1];
|
REAL const (*mat)[MAXORDER][MAXORDER] = &gl_Bernstein[order-1];
|
||||||
REAL const (*lrow)[MAXORDER] = &(*mat)[order];
|
REAL const (*lrow)[MAXORDER] = &(*mat)[order];
|
||||||
|
@ -601,9 +601,9 @@ ArcTessellator::trim_power_coeffs( BezierArc *bez_arc, REAL *p, int coord )
|
||||||
/* WIN32 didn't like the following line within the for-loop */
|
/* WIN32 didn't like the following line within the for-loop */
|
||||||
REAL const (*row)[MAXORDER] = &(*mat)[0];
|
REAL const (*row)[MAXORDER] = &(*mat)[0];
|
||||||
for( ; row != lrow; row++ ) {
|
for( ; row != lrow; row++ ) {
|
||||||
register REAL s = 0.0;
|
REAL s = 0.0;
|
||||||
register REAL *point = base;
|
REAL *point = base;
|
||||||
register REAL const *mlast = *row + order;
|
REAL const *mlast = *row + order;
|
||||||
for( REAL const *m = *row; m != mlast; m++, point += stride )
|
for( REAL const *m = *row; m != mlast; m++, point += stride )
|
||||||
s += *(m) * (*point);
|
s += *(m) * (*point);
|
||||||
*(p++) = s;
|
*(p++) = s;
|
||||||
|
|
|
@ -56,12 +56,12 @@ Subdivider::bbox( TrimVertex *a, TrimVertex *b, TrimVertex *c, int p )
|
||||||
int
|
int
|
||||||
Subdivider::ccwTurn_sr( Arc_ptr j1, Arc_ptr j2 ) // dir = 1
|
Subdivider::ccwTurn_sr( Arc_ptr j1, Arc_ptr j2 ) // dir = 1
|
||||||
{
|
{
|
||||||
register TrimVertex *v1 = &j1->pwlArc->pts[j1->pwlArc->npts-1];
|
TrimVertex *v1 = &j1->pwlArc->pts[j1->pwlArc->npts-1];
|
||||||
register TrimVertex *v1last = &j1->pwlArc->pts[0];
|
TrimVertex *v1last = &j1->pwlArc->pts[0];
|
||||||
register TrimVertex *v2 = &j2->pwlArc->pts[0];
|
TrimVertex *v2 = &j2->pwlArc->pts[0];
|
||||||
register TrimVertex *v2last = &j2->pwlArc->pts[j2->pwlArc->npts-1];
|
TrimVertex *v2last = &j2->pwlArc->pts[j2->pwlArc->npts-1];
|
||||||
register TrimVertex *v1next = v1-1;
|
TrimVertex *v1next = v1-1;
|
||||||
register TrimVertex *v2next = v2+1;
|
TrimVertex *v2next = v2+1;
|
||||||
int sgn;
|
int sgn;
|
||||||
|
|
||||||
assert( v1 != v1last );
|
assert( v1 != v1last );
|
||||||
|
@ -169,12 +169,12 @@ Subdivider::ccwTurn_sr( Arc_ptr j1, Arc_ptr j2 ) // dir = 1
|
||||||
int
|
int
|
||||||
Subdivider::ccwTurn_sl( Arc_ptr j1, Arc_ptr j2 ) // dir = 0
|
Subdivider::ccwTurn_sl( Arc_ptr j1, Arc_ptr j2 ) // dir = 0
|
||||||
{
|
{
|
||||||
register TrimVertex *v1 = &j1->pwlArc->pts[j1->pwlArc->npts-1];
|
TrimVertex *v1 = &j1->pwlArc->pts[j1->pwlArc->npts-1];
|
||||||
register TrimVertex *v1last = &j1->pwlArc->pts[0];
|
TrimVertex *v1last = &j1->pwlArc->pts[0];
|
||||||
register TrimVertex *v2 = &j2->pwlArc->pts[0];
|
TrimVertex *v2 = &j2->pwlArc->pts[0];
|
||||||
register TrimVertex *v2last = &j2->pwlArc->pts[j2->pwlArc->npts-1];
|
TrimVertex *v2last = &j2->pwlArc->pts[j2->pwlArc->npts-1];
|
||||||
register TrimVertex *v1next = v1-1;
|
TrimVertex *v1next = v1-1;
|
||||||
register TrimVertex *v2next = v2+1;
|
TrimVertex *v2next = v2+1;
|
||||||
int sgn;
|
int sgn;
|
||||||
|
|
||||||
assert( v1 != v1last );
|
assert( v1 != v1last );
|
||||||
|
@ -282,12 +282,12 @@ Subdivider::ccwTurn_sl( Arc_ptr j1, Arc_ptr j2 ) // dir = 0
|
||||||
int
|
int
|
||||||
Subdivider::ccwTurn_tr( Arc_ptr j1, Arc_ptr j2 ) // dir = 1
|
Subdivider::ccwTurn_tr( Arc_ptr j1, Arc_ptr j2 ) // dir = 1
|
||||||
{
|
{
|
||||||
register TrimVertex *v1 = &j1->pwlArc->pts[j1->pwlArc->npts-1];
|
TrimVertex *v1 = &j1->pwlArc->pts[j1->pwlArc->npts-1];
|
||||||
register TrimVertex *v1last = &j1->pwlArc->pts[0];
|
TrimVertex *v1last = &j1->pwlArc->pts[0];
|
||||||
register TrimVertex *v2 = &j2->pwlArc->pts[0];
|
TrimVertex *v2 = &j2->pwlArc->pts[0];
|
||||||
register TrimVertex *v2last = &j2->pwlArc->pts[j2->pwlArc->npts-1];
|
TrimVertex *v2last = &j2->pwlArc->pts[j2->pwlArc->npts-1];
|
||||||
register TrimVertex *v1next = v1-1;
|
TrimVertex *v1next = v1-1;
|
||||||
register TrimVertex *v2next = v2+1;
|
TrimVertex *v2next = v2+1;
|
||||||
int sgn;
|
int sgn;
|
||||||
|
|
||||||
assert( v1 != v1last );
|
assert( v1 != v1last );
|
||||||
|
@ -395,12 +395,12 @@ Subdivider::ccwTurn_tr( Arc_ptr j1, Arc_ptr j2 ) // dir = 1
|
||||||
int
|
int
|
||||||
Subdivider::ccwTurn_tl( Arc_ptr j1, Arc_ptr j2 )
|
Subdivider::ccwTurn_tl( Arc_ptr j1, Arc_ptr j2 )
|
||||||
{
|
{
|
||||||
register TrimVertex *v1 = &j1->pwlArc->pts[j1->pwlArc->npts-1];
|
TrimVertex *v1 = &j1->pwlArc->pts[j1->pwlArc->npts-1];
|
||||||
register TrimVertex *v1last = &j1->pwlArc->pts[0];
|
TrimVertex *v1last = &j1->pwlArc->pts[0];
|
||||||
register TrimVertex *v2 = &j2->pwlArc->pts[0];
|
TrimVertex *v2 = &j2->pwlArc->pts[0];
|
||||||
register TrimVertex *v2last = &j2->pwlArc->pts[j2->pwlArc->npts-1];
|
TrimVertex *v2last = &j2->pwlArc->pts[j2->pwlArc->npts-1];
|
||||||
register TrimVertex *v1next = v1-1;
|
TrimVertex *v1next = v1-1;
|
||||||
register TrimVertex *v2next = v2+1;
|
TrimVertex *v2next = v2+1;
|
||||||
int sgn;
|
int sgn;
|
||||||
|
|
||||||
assert( v1 != v1last );
|
assert( v1 != v1last );
|
||||||
|
@ -508,12 +508,10 @@ Subdivider::ccwTurn_tl( Arc_ptr j1, Arc_ptr j2 )
|
||||||
|
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
int
|
int
|
||||||
Subdivider::bbox( register REAL sa, register REAL sb, register REAL sc,
|
Subdivider::bbox( REAL sa, REAL sb, REAL sc, REAL ta, REAL tb, REAL tc )
|
||||||
register REAL ta, register REAL tb, register REAL tc )
|
|
||||||
#else
|
#else
|
||||||
int
|
int
|
||||||
Subdivider::bbox( register REAL sa, register REAL sb, register REAL sc,
|
Subdivider::bbox( REAL sa, REAL sb, REAL sc, REAL , REAL , REAL )
|
||||||
register REAL , register REAL , register REAL )
|
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
|
|
|
@ -139,7 +139,7 @@ Hull::nextupper( GridTrimVertex *gv )
|
||||||
}
|
}
|
||||||
|
|
||||||
GridTrimVertex *
|
GridTrimVertex *
|
||||||
Hull::nextlower( register GridTrimVertex *gv )
|
Hull::nextlower( GridTrimVertex *gv )
|
||||||
{
|
{
|
||||||
if( lower.left ) {
|
if( lower.left ) {
|
||||||
gv->set( lower.left->next() );
|
gv->set( lower.left->next() );
|
||||||
|
|
|
@ -156,7 +156,7 @@ Mapdesc::copyPt( REAL *d, REAL *s )
|
||||||
*--------------------------------------------------------------------------
|
*--------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
Mapdesc::sumPt( REAL *dst, REAL *src1, REAL *src2, register REAL alpha, register REAL beta )
|
Mapdesc::sumPt( REAL *dst, REAL *src1, REAL *src2, REAL alpha, REAL beta )
|
||||||
{
|
{
|
||||||
assert( hcoords > 0 );
|
assert( hcoords > 0 );
|
||||||
switch( hcoords ) {
|
switch( hcoords ) {
|
||||||
|
@ -204,10 +204,10 @@ Mapdesc::clipbits( REAL *p )
|
||||||
assert( inhcoords >= 0 );
|
assert( inhcoords >= 0 );
|
||||||
assert( inhcoords <= 3 );
|
assert( inhcoords <= 3 );
|
||||||
|
|
||||||
register int nc = inhcoords;
|
int nc = inhcoords;
|
||||||
register REAL pw = p[nc];
|
REAL pw = p[nc];
|
||||||
register REAL nw = -pw;
|
REAL nw = -pw;
|
||||||
register unsigned int bits = 0;
|
unsigned int bits = 0;
|
||||||
|
|
||||||
if( pw == 0.0 ) return mask;
|
if( pw == 0.0 ) return mask;
|
||||||
|
|
||||||
|
|
|
@ -276,13 +276,13 @@ Mesher::output( int x )
|
||||||
void
|
void
|
||||||
Mesher::addLast( )
|
Mesher::addLast( )
|
||||||
{
|
{
|
||||||
register int ilast = itop;
|
int ilast = itop;
|
||||||
|
|
||||||
if( lastedge == 0 ) {
|
if( lastedge == 0 ) {
|
||||||
if( equal( 0, 1 ) ) {
|
if( equal( 0, 1 ) ) {
|
||||||
output( ilast );
|
output( ilast );
|
||||||
swapMesh();
|
swapMesh();
|
||||||
for( register int i = 2; i < ilast; i++ ) {
|
for( int i = 2; i < ilast; i++ ) {
|
||||||
swapMesh();
|
swapMesh();
|
||||||
output( i );
|
output( i );
|
||||||
}
|
}
|
||||||
|
@ -290,7 +290,7 @@ Mesher::addLast( )
|
||||||
} else if( equal( ilast-2, ilast-1) ) {
|
} else if( equal( ilast-2, ilast-1) ) {
|
||||||
swapMesh();
|
swapMesh();
|
||||||
output( ilast );
|
output( ilast );
|
||||||
for( register int i = ilast-3; i >= 0; i-- ) {
|
for( int i = ilast-3; i >= 0; i-- ) {
|
||||||
output( i );
|
output( i );
|
||||||
swapMesh();
|
swapMesh();
|
||||||
}
|
}
|
||||||
|
@ -299,7 +299,7 @@ Mesher::addLast( )
|
||||||
closeMesh(); openMesh();
|
closeMesh(); openMesh();
|
||||||
output( ilast );
|
output( ilast );
|
||||||
output( 0 );
|
output( 0 );
|
||||||
for( register int i = 1; i < ilast; i++ ) {
|
for( int i = 1; i < ilast; i++ ) {
|
||||||
swapMesh();
|
swapMesh();
|
||||||
output( i );
|
output( i );
|
||||||
}
|
}
|
||||||
|
@ -309,7 +309,7 @@ Mesher::addLast( )
|
||||||
if( equal( 1, 0) ) {
|
if( equal( 1, 0) ) {
|
||||||
swapMesh();
|
swapMesh();
|
||||||
output( ilast );
|
output( ilast );
|
||||||
for( register int i = 2; i < ilast; i++ ) {
|
for( int i = 2; i < ilast; i++ ) {
|
||||||
output( i );
|
output( i );
|
||||||
swapMesh();
|
swapMesh();
|
||||||
}
|
}
|
||||||
|
@ -317,7 +317,7 @@ Mesher::addLast( )
|
||||||
} else if( equal( ilast-1, ilast-2) ) {
|
} else if( equal( ilast-1, ilast-2) ) {
|
||||||
output( ilast );
|
output( ilast );
|
||||||
swapMesh();
|
swapMesh();
|
||||||
for( register int i = ilast-3; i >= 0; i-- ) {
|
for( int i = ilast-3; i >= 0; i-- ) {
|
||||||
swapMesh();
|
swapMesh();
|
||||||
output( i );
|
output( i );
|
||||||
}
|
}
|
||||||
|
@ -326,7 +326,7 @@ Mesher::addLast( )
|
||||||
closeMesh(); openMesh();
|
closeMesh(); openMesh();
|
||||||
output( 0 );
|
output( 0 );
|
||||||
output( ilast );
|
output( ilast );
|
||||||
for( register int i = 1; i < ilast; i++ ) {
|
for( int i = 1; i < ilast; i++ ) {
|
||||||
output( i );
|
output( i );
|
||||||
swapMesh();
|
swapMesh();
|
||||||
}
|
}
|
||||||
|
@ -334,19 +334,19 @@ Mesher::addLast( )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
closeMesh();
|
closeMesh();
|
||||||
//for( register long k=0; k<=ilast; k++ ) pop( k );
|
//for( long k=0; k<=ilast; k++ ) pop( k );
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
Mesher::addUpper( )
|
Mesher::addUpper( )
|
||||||
{
|
{
|
||||||
register int ilast = itop;
|
int ilast = itop;
|
||||||
|
|
||||||
if( lastedge == 0 ) {
|
if( lastedge == 0 ) {
|
||||||
if( equal( 0, 1 ) ) {
|
if( equal( 0, 1 ) ) {
|
||||||
output( ilast );
|
output( ilast );
|
||||||
swapMesh();
|
swapMesh();
|
||||||
for( register int i = 2; i < ilast; i++ ) {
|
for( int i = 2; i < ilast; i++ ) {
|
||||||
swapMesh();
|
swapMesh();
|
||||||
output( i );
|
output( i );
|
||||||
}
|
}
|
||||||
|
@ -354,7 +354,7 @@ Mesher::addUpper( )
|
||||||
} else if( equal( ilast-2, ilast-1) ) {
|
} else if( equal( ilast-2, ilast-1) ) {
|
||||||
swapMesh();
|
swapMesh();
|
||||||
output( ilast );
|
output( ilast );
|
||||||
for( register int i = ilast-3; i >= 0; i-- ) {
|
for( int i = ilast-3; i >= 0; i-- ) {
|
||||||
output( i );
|
output( i );
|
||||||
swapMesh();
|
swapMesh();
|
||||||
}
|
}
|
||||||
|
@ -363,14 +363,14 @@ Mesher::addUpper( )
|
||||||
closeMesh(); openMesh();
|
closeMesh(); openMesh();
|
||||||
output( ilast );
|
output( ilast );
|
||||||
output( 0 );
|
output( 0 );
|
||||||
for( register int i = 1; i < ilast; i++ ) {
|
for( int i = 1; i < ilast; i++ ) {
|
||||||
swapMesh();
|
swapMesh();
|
||||||
output( i );
|
output( i );
|
||||||
}
|
}
|
||||||
copy( ilast, ilast-1 );
|
copy( ilast, ilast-1 );
|
||||||
}
|
}
|
||||||
lastedge = 1;
|
lastedge = 1;
|
||||||
//for( register long k=0; k<ilast-1; k++ ) pop( k );
|
//for( long k=0; k<ilast-1; k++ ) pop( k );
|
||||||
move( 0, ilast-1 );
|
move( 0, ilast-1 );
|
||||||
move( 1, ilast );
|
move( 1, ilast );
|
||||||
itop = 1;
|
itop = 1;
|
||||||
|
@ -383,7 +383,7 @@ Mesher::addUpper( )
|
||||||
if( equal( ilast-1, ilast-2 ) ) {
|
if( equal( ilast-1, ilast-2 ) ) {
|
||||||
output( ilast );
|
output( ilast );
|
||||||
swapMesh();
|
swapMesh();
|
||||||
for( register int i=ilast-3; i>=itop-1; i-- ) {
|
for( int i=ilast-3; i>=itop-1; i-- ) {
|
||||||
swapMesh();
|
swapMesh();
|
||||||
output( i );
|
output( i );
|
||||||
}
|
}
|
||||||
|
@ -391,7 +391,7 @@ Mesher::addUpper( )
|
||||||
} else if( equal( itop, itop-1 ) ) {
|
} else if( equal( itop, itop-1 ) ) {
|
||||||
swapMesh();
|
swapMesh();
|
||||||
output( ilast );
|
output( ilast );
|
||||||
for( register int i = itop+1; i < ilast; i++ ) {
|
for( int i = itop+1; i < ilast; i++ ) {
|
||||||
output( i );
|
output( i );
|
||||||
swapMesh();
|
swapMesh();
|
||||||
}
|
}
|
||||||
|
@ -400,13 +400,13 @@ Mesher::addUpper( )
|
||||||
closeMesh(); openMesh();
|
closeMesh(); openMesh();
|
||||||
output( ilast );
|
output( ilast );
|
||||||
output( ilast-1 );
|
output( ilast-1 );
|
||||||
for( register int i=ilast-2; i>=itop-1; i-- ) {
|
for( int i=ilast-2; i>=itop-1; i-- ) {
|
||||||
swapMesh();
|
swapMesh();
|
||||||
output( i );
|
output( i );
|
||||||
}
|
}
|
||||||
copy( ilast, itop-1 );
|
copy( ilast, itop-1 );
|
||||||
}
|
}
|
||||||
//for( register int k=itop; k<ilast; k++ ) pop( k );
|
//for( int k=itop; k<ilast; k++ ) pop( k );
|
||||||
move( itop, ilast );
|
move( itop, ilast );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -414,13 +414,13 @@ Mesher::addUpper( )
|
||||||
void
|
void
|
||||||
Mesher::addLower()
|
Mesher::addLower()
|
||||||
{
|
{
|
||||||
register int ilast = itop;
|
int ilast = itop;
|
||||||
|
|
||||||
if( lastedge == 1 ) {
|
if( lastedge == 1 ) {
|
||||||
if( equal( 1, 0) ) {
|
if( equal( 1, 0) ) {
|
||||||
swapMesh();
|
swapMesh();
|
||||||
output( ilast );
|
output( ilast );
|
||||||
for( register int i = 2; i < ilast; i++ ) {
|
for( int i = 2; i < ilast; i++ ) {
|
||||||
output( i );
|
output( i );
|
||||||
swapMesh();
|
swapMesh();
|
||||||
}
|
}
|
||||||
|
@ -428,7 +428,7 @@ Mesher::addLower()
|
||||||
} else if( equal( ilast-1, ilast-2) ) {
|
} else if( equal( ilast-1, ilast-2) ) {
|
||||||
output( ilast );
|
output( ilast );
|
||||||
swapMesh();
|
swapMesh();
|
||||||
for( register int i = ilast-3; i >= 0; i-- ) {
|
for( int i = ilast-3; i >= 0; i-- ) {
|
||||||
swapMesh();
|
swapMesh();
|
||||||
output( i );
|
output( i );
|
||||||
}
|
}
|
||||||
|
@ -437,7 +437,7 @@ Mesher::addLower()
|
||||||
closeMesh(); openMesh();
|
closeMesh(); openMesh();
|
||||||
output( 0 );
|
output( 0 );
|
||||||
output( ilast );
|
output( ilast );
|
||||||
for( register int i = 1; i < ilast; i++ ) {
|
for( int i = 1; i < ilast; i++ ) {
|
||||||
output( i );
|
output( i );
|
||||||
swapMesh();
|
swapMesh();
|
||||||
}
|
}
|
||||||
|
@ -445,7 +445,7 @@ Mesher::addLower()
|
||||||
}
|
}
|
||||||
|
|
||||||
lastedge = 0;
|
lastedge = 0;
|
||||||
//for( register long k=0; k<ilast-1; k++ ) pop( k );
|
//for( long k=0; k<ilast-1; k++ ) pop( k );
|
||||||
move( 0, ilast-1 );
|
move( 0, ilast-1 );
|
||||||
move( 1, ilast );
|
move( 1, ilast );
|
||||||
itop = 1;
|
itop = 1;
|
||||||
|
@ -458,7 +458,7 @@ Mesher::addLower()
|
||||||
if( equal( ilast-2, ilast-1) ) {
|
if( equal( ilast-2, ilast-1) ) {
|
||||||
swapMesh();
|
swapMesh();
|
||||||
output( ilast );
|
output( ilast );
|
||||||
for( register int i=ilast-3; i>=itop-1; i--) {
|
for( int i=ilast-3; i>=itop-1; i--) {
|
||||||
output( i );
|
output( i );
|
||||||
swapMesh( );
|
swapMesh( );
|
||||||
}
|
}
|
||||||
|
@ -466,7 +466,7 @@ Mesher::addLower()
|
||||||
} else if( equal( itop-1, itop) ) {
|
} else if( equal( itop-1, itop) ) {
|
||||||
output( ilast );
|
output( ilast );
|
||||||
swapMesh();
|
swapMesh();
|
||||||
for( register int i=itop+1; i<ilast; i++ ) {
|
for( int i=itop+1; i<ilast; i++ ) {
|
||||||
swapMesh( );
|
swapMesh( );
|
||||||
output( i );
|
output( i );
|
||||||
}
|
}
|
||||||
|
@ -475,13 +475,13 @@ Mesher::addLower()
|
||||||
closeMesh(); openMesh();
|
closeMesh(); openMesh();
|
||||||
output( ilast-1 );
|
output( ilast-1 );
|
||||||
output( ilast );
|
output( ilast );
|
||||||
for( register int i=ilast-2; i>=itop-1; i-- ) {
|
for( int i=ilast-2; i>=itop-1; i-- ) {
|
||||||
output( i );
|
output( i );
|
||||||
swapMesh( );
|
swapMesh( );
|
||||||
}
|
}
|
||||||
copy( itop-1, ilast );
|
copy( itop-1, ilast );
|
||||||
}
|
}
|
||||||
//for( register int k=itop; k<ilast; k++ ) pop( k );
|
//for( int k=itop; k<ilast; k++ ) pop( k );
|
||||||
move( itop, ilast );
|
move( itop, ilast );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -117,7 +117,7 @@ Trimline::getNextPts( REAL vval, Backend& backend )
|
||||||
reset(); swap(); append( tinterp );
|
reset(); swap(); append( tinterp );
|
||||||
assert( tinterp->param[1] >= vval );
|
assert( tinterp->param[1] >= vval );
|
||||||
|
|
||||||
register TrimVertex *p;
|
TrimVertex *p;
|
||||||
for( p=jarcl.getnextpt() ; p->param[1] >= vval; p=jarcl.getnextpt() ) {
|
for( p=jarcl.getnextpt() ; p->param[1] >= vval; p=jarcl.getnextpt() ) {
|
||||||
append( p );
|
append( p );
|
||||||
}
|
}
|
||||||
|
@ -139,7 +139,7 @@ Trimline::getPrevPts( REAL vval, Backend& backend )
|
||||||
reset(); swap(); append( tinterp );
|
reset(); swap(); append( tinterp );
|
||||||
assert( tinterp->param[1] >= vval );
|
assert( tinterp->param[1] >= vval );
|
||||||
|
|
||||||
register TrimVertex *q;
|
TrimVertex *q;
|
||||||
for( q=jarcl.getprevpt(); q->param[1] >= vval; q=jarcl.getprevpt() ) {
|
for( q=jarcl.getprevpt(); q->param[1] >= vval; q=jarcl.getprevpt() ) {
|
||||||
append( q );
|
append( q );
|
||||||
}
|
}
|
||||||
|
@ -165,7 +165,7 @@ Trimline::getNextPts( Arc_ptr botarc )
|
||||||
TrimVertex *lastpt1 = &lastpwl->pts[lastpwl->npts-1];
|
TrimVertex *lastpt1 = &lastpwl->pts[lastpwl->npts-1];
|
||||||
#endif
|
#endif
|
||||||
TrimVertex *lastpt2 = botarc->pwlArc->pts;
|
TrimVertex *lastpt2 = botarc->pwlArc->pts;
|
||||||
register TrimVertex *p = jarcl.getnextpt();
|
TrimVertex *p = jarcl.getnextpt();
|
||||||
for( append( p ); p != lastpt2; append( p ) ) {
|
for( append( p ); p != lastpt2; append( p ) ) {
|
||||||
assert( p != lastpt1 );
|
assert( p != lastpt1 );
|
||||||
p = jarcl.getnextpt();
|
p = jarcl.getnextpt();
|
||||||
|
@ -183,7 +183,7 @@ Trimline::getPrevPts( Arc_ptr botarc )
|
||||||
TrimVertex *lastpt2 = botarc->pwlArc->pts;
|
TrimVertex *lastpt2 = botarc->pwlArc->pts;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
register TrimVertex *q = jarcl.getprevpt();
|
TrimVertex *q = jarcl.getprevpt();
|
||||||
for( append( q ); q != lastpt1; append( q ) ) {
|
for( append( q ); q != lastpt1; append( q ) ) {
|
||||||
assert( q != lastpt2 );
|
assert( q != lastpt2 );
|
||||||
q = jarcl.getprevpt();
|
q = jarcl.getprevpt();
|
||||||
|
|
|
@ -65,6 +65,7 @@ PriorityQ *pqNewPriorityQ( int (*leq)(PQkey key1, PQkey key2) )
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pq->order = NULL;
|
||||||
pq->size = 0;
|
pq->size = 0;
|
||||||
pq->max = INIT_SIZE;
|
pq->max = INIT_SIZE;
|
||||||
pq->initialized = FALSE;
|
pq->initialized = FALSE;
|
||||||
|
|
|
@ -30,6 +30,7 @@
|
||||||
|
|
||||||
#include "gluos.h"
|
#include "gluos.h"
|
||||||
#include "gluint.h"
|
#include "gluint.h"
|
||||||
|
#include <stddef.h>
|
||||||
#include <GL/glu.h>
|
#include <GL/glu.h>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4509,6 +4509,8 @@ static int gluBuild2DMipmapLevelsCore(GLenum target, GLint internalFormat,
|
||||||
glPixelStorei(GL_UNPACK_SKIP_PIXELS, psm.unpack_skip_pixels);
|
glPixelStorei(GL_UNPACK_SKIP_PIXELS, psm.unpack_skip_pixels);
|
||||||
glPixelStorei(GL_UNPACK_ROW_LENGTH, psm.unpack_row_length);
|
glPixelStorei(GL_UNPACK_ROW_LENGTH, psm.unpack_row_length);
|
||||||
glPixelStorei(GL_UNPACK_SWAP_BYTES, psm.unpack_swap_bytes);
|
glPixelStorei(GL_UNPACK_SWAP_BYTES, psm.unpack_swap_bytes);
|
||||||
|
free(srcImage);
|
||||||
|
free(dstImage);
|
||||||
return GLU_OUT_OF_MEMORY;
|
return GLU_OUT_OF_MEMORY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -31,8 +31,8 @@ Used Version: 8.0.4
|
||||||
Website: http://www.mesa3d.org
|
Website: http://www.mesa3d.org
|
||||||
|
|
||||||
Title: Mesa3D glu libary
|
Title: Mesa3D glu libary
|
||||||
Used Version: 9.0
|
Used Version: 9.0.1
|
||||||
Website: ftp://ftp.freedesktop.org/pub/mesa/glu/
|
Website: https://gitlab.freedesktop.org/mesa/glu | ftp://ftp.freedesktop.org/pub/mesa/glu/
|
||||||
|
|
||||||
Title: GNU adns
|
Title: GNU adns
|
||||||
Used Version: 1.0 REV 5
|
Used Version: 1.0 REV 5
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue