1
0
Fork 0

Moved the point nudging for fgfs-construct from the generic polygon routines to the clipper.

This commit is contained in:
Ralf Gerlich 2007-12-21 19:21:09 +01:00
parent b48ba44594
commit 09c7327a80
2 changed files with 5 additions and 5 deletions

View file

@ -127,7 +127,7 @@ bool TGClipper::load_polys(const string& path) {
} else { } else {
startz = -9999.0; startz = -9999.0;
} }
p = Point3D(startx, starty, startz); p = Point3D(startx+0.2*SG_EPSILON, starty+0.2*SG_EPSILON, startz);
poly.add_node( i, p ); poly.add_node( i, p );
if ( poly3d ) { if ( poly3d ) {
fixed_elevations.unique_add( p ); fixed_elevations.unique_add( p );
@ -141,7 +141,7 @@ bool TGClipper::load_polys(const string& path) {
} else { } else {
z = -9999.0; z = -9999.0;
} }
p = Point3D( x, y, z ); p = Point3D( x+0.2*SG_EPSILON, y+0.2*SG_EPSILON, z );
poly.add_node( i, p ); poly.add_node( i, p );
if ( poly3d ) { if ( poly3d ) {
fixed_elevations.unique_add( p ); fixed_elevations.unique_add( p );
@ -161,7 +161,7 @@ bool TGClipper::load_polys(const string& path) {
&& (fabs(startz - lastz) < SG_EPSILON) ) { && (fabs(startz - lastz) < SG_EPSILON) ) {
// last point same as first, discard // last point same as first, discard
} else { } else {
p = Point3D( lastx, lasty, lastz ); p = Point3D( lastx+0.2*SG_EPSILON, lasty+0.2*SG_EPSILON, lastz );
poly.add_node( i, p ); poly.add_node( i, p );
if ( poly3d ) { if ( poly3d ) {
fixed_elevations.unique_add( p ); fixed_elevations.unique_add( p );

View file

@ -325,8 +325,8 @@ void make_gpc_poly( const TGPolygon& in, gpc_polygon *out ) {
for ( int j = 0; j < in.contour_size( i ); ++j ) { for ( int j = 0; j < in.contour_size( i ); ++j ) {
p = in.get_pt( i, j ); p = in.get_pt( i, j );
v_list.vertex[j].x = p.x()+2*SG_EPSILON; v_list.vertex[j].x = p.x();
v_list.vertex[j].y = p.y()+2*SG_EPSILON; v_list.vertex[j].y = p.y();
} }
v_list.num_vertices = in.contour_size( i ); v_list.num_vertices = in.contour_size( i );
gpc_add_contour( out, &v_list, in.get_hole_flag( i ) ); gpc_add_contour( out, &v_list, in.get_hole_flag( i ) );