Passing commit
Check for chain destination vs origin comparison only before intersection Force move vertex horizontally if within VERTEX_TOLERANCE of another vertex Share chains across partitions that are being combined
This commit is contained in:
@@ -141,8 +141,8 @@ public class MeshingTest2 extends JPanel {
|
||||
// System.out.println( "Remaining: " + limit );
|
||||
// }
|
||||
// }
|
||||
final List< Plane > planes = mesh( new File( CHUNK_DIR, "world,-2,1" ) );
|
||||
masterPlanes.add( planes.get( 218 ) );
|
||||
final List< Plane > planes = mesh( new File( CHUNK_DIR, "world,-4,-6" ) );
|
||||
masterPlanes.add( planes.get( 177 ) );
|
||||
|
||||
// masterPlanes.add( getTestPlane() );
|
||||
|
||||
@@ -277,30 +277,38 @@ public class MeshingTest2 extends JPanel {
|
||||
public void onPreChainMergeEvent( Collection< Chain > chains ) {
|
||||
data.selectedChains = chains;
|
||||
|
||||
final List< Chain > sorted = new ArrayList< Chain >( chains );
|
||||
Collections.sort( sorted, ( a, b ) -> {
|
||||
final double diff = a.getStart().getX() - b.getStart().getX();
|
||||
if ( Math.abs( diff ) < 1e-7 ) {
|
||||
return Double.compare( a.getStart().getY(), b.getStart().getY() );
|
||||
}
|
||||
return Double.compare( diff, 0 );
|
||||
} );
|
||||
for ( Chain chain : sorted ) {
|
||||
System.out.println( "c: " + chain.getPoints() );
|
||||
}
|
||||
|
||||
final Set< Point > points = new HashSet< Point >();
|
||||
for ( Chain chain : chains ) {
|
||||
for ( int i = 1; i < chain.getPoints().size() - 1; ++i ) {
|
||||
if ( !points.add( chain.getPoints().get( i ) ) ) {
|
||||
System.out.println( "Intersection at " + chain.getPoints().get( i ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
// final List< Chain > sorted = new ArrayList< Chain >( chains );
|
||||
// Collections.sort( sorted, ( a, b ) -> {
|
||||
// final double diff = a.getStart().getX() - b.getStart().getX();
|
||||
// if ( Math.abs( diff ) < 1e-7 ) {
|
||||
// return Double.compare( a.getStart().getY(), b.getStart().getY() );
|
||||
// }
|
||||
// return Double.compare( diff, 0 );
|
||||
// } );
|
||||
// for ( Chain chain : sorted ) {
|
||||
// System.out.println( "c: " + chain.getPoints() );
|
||||
// }
|
||||
//
|
||||
// final Set< Point > points = new HashSet< Point >();
|
||||
// for ( Chain chain : chains ) {
|
||||
// for ( int i = 1; i < chain.getPoints().size() - 1; ++i ) {
|
||||
// if ( !points.add( chain.getPoints().get( i ) ) ) {
|
||||
// System.out.println( "Intersection at " + chain.getPoints().get( i ) );
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPartitionEvent( Collection< Polygon > polygons ) {
|
||||
data.polygons = polygons;
|
||||
}
|
||||
} );
|
||||
|
||||
data.polygons = mesh.mesh();
|
||||
|
||||
final Collection< Polygon > triangles = mesh.mesh();
|
||||
if ( !triangles.isEmpty() ) {
|
||||
data.polygons = triangles;
|
||||
}
|
||||
|
||||
// final List< Point > points = new ArrayList< Point >( data.vertices );
|
||||
// Collections.sort( points, ( a, b ) -> {
|
||||
|
||||
Reference in New Issue
Block a user